@angular/core 16.0.0-next.2 → 16.0.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/esm2020/src/application_ref.mjs +95 -87
  2. package/esm2020/src/application_tokens.mjs +59 -21
  3. package/esm2020/src/change_detection/change_detector_ref.mjs +4 -4
  4. package/esm2020/src/compiler/compiler_facade_interface.mjs +1 -1
  5. package/esm2020/src/core.mjs +2 -2
  6. package/esm2020/src/core_private_export.mjs +3 -3
  7. package/esm2020/src/core_reactivity_export_internal.mjs +1 -1
  8. package/esm2020/src/core_render3_private_export.mjs +1 -2
  9. package/esm2020/src/di/contextual.mjs +37 -0
  10. package/esm2020/src/di/index.mjs +2 -1
  11. package/esm2020/src/di/r3_injector.mjs +8 -1
  12. package/esm2020/src/errors.mjs +1 -1
  13. package/esm2020/src/hydration/annotate.mjs +250 -6
  14. package/esm2020/src/hydration/api.mjs +22 -1
  15. package/esm2020/src/hydration/cleanup.mjs +101 -0
  16. package/esm2020/src/hydration/compression.mjs +69 -0
  17. package/esm2020/src/hydration/error_handling.mjs +362 -12
  18. package/esm2020/src/hydration/interfaces.mjs +25 -2
  19. package/esm2020/src/hydration/node_lookup_utils.mjs +217 -17
  20. package/esm2020/src/hydration/skip_hydration.mjs +16 -1
  21. package/esm2020/src/hydration/utils.mjs +95 -7
  22. package/esm2020/src/hydration/views.mjs +84 -0
  23. package/esm2020/src/linker/destroy_ref.mjs +5 -2
  24. package/esm2020/src/linker/template_ref.mjs +17 -2
  25. package/esm2020/src/linker/view_container_ref.mjs +111 -35
  26. package/esm2020/src/metadata/directives.mjs +8 -3
  27. package/esm2020/src/render3/component_ref.mjs +2 -2
  28. package/esm2020/src/render3/definition.mjs +114 -45
  29. package/esm2020/src/render3/instructions/element.mjs +31 -14
  30. package/esm2020/src/render3/instructions/element_container.mjs +9 -13
  31. package/esm2020/src/render3/instructions/element_validation.mjs +2 -2
  32. package/esm2020/src/render3/instructions/projection.mjs +7 -4
  33. package/esm2020/src/render3/instructions/shared.mjs +53 -16
  34. package/esm2020/src/render3/instructions/template.mjs +54 -6
  35. package/esm2020/src/render3/instructions/text.mjs +6 -6
  36. package/esm2020/src/render3/interfaces/container.mjs +3 -2
  37. package/esm2020/src/render3/interfaces/public_definitions.mjs +1 -1
  38. package/esm2020/src/render3/interfaces/type_checks.mjs +5 -2
  39. package/esm2020/src/render3/interfaces/view.mjs +1 -1
  40. package/esm2020/src/render3/jit/module.mjs +3 -2
  41. package/esm2020/src/render3/ng_module_ref.mjs +9 -5
  42. package/esm2020/src/render3/node_manipulation.mjs +2 -2
  43. package/esm2020/src/render3/node_selector_matcher.mjs +17 -5
  44. package/esm2020/src/render3/util/discovery_utils.mjs +3 -2
  45. package/esm2020/src/render3/util/view_utils.mjs +12 -1
  46. package/esm2020/src/render3/view_ref.mjs +1 -1
  47. package/esm2020/src/signals/index.mjs +2 -1
  48. package/esm2020/src/signals/src/computed.mjs +3 -3
  49. package/esm2020/src/signals/src/effect.mjs +1 -3
  50. package/esm2020/src/signals/src/signal.mjs +3 -3
  51. package/esm2020/src/signals/src/watch.mjs +3 -3
  52. package/esm2020/src/signals/src/weak_ref.mjs +18 -2
  53. package/esm2020/src/util/ng_dev_mode.mjs +3 -1
  54. package/esm2020/src/version.mjs +1 -1
  55. package/esm2020/src/zone/ng_zone.mjs +62 -1
  56. package/esm2020/testing/src/logger.mjs +3 -3
  57. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  58. package/esm2020/testing/src/test_bed_compiler.mjs +15 -10
  59. package/fesm2015/core.mjs +3339 -1754
  60. package/fesm2015/core.mjs.map +1 -1
  61. package/fesm2015/testing.mjs +2619 -1376
  62. package/fesm2015/testing.mjs.map +1 -1
  63. package/fesm2020/core.mjs +3348 -1760
  64. package/fesm2020/core.mjs.map +1 -1
  65. package/fesm2020/testing.mjs +2569 -1322
  66. package/fesm2020/testing.mjs.map +1 -1
  67. package/index.d.ts +564 -682
  68. package/package.json +1 -1
  69. package/schematics/migrations/relative-link-resolution/bundle.js +7 -7
  70. package/schematics/migrations/router-link-with-href/bundle.js +10 -10
  71. package/schematics/ng-generate/standalone-migration/bundle.js +644 -448
  72. package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
  73. package/testing/index.d.ts +1 -1
@@ -59,7 +59,7 @@ var __async = (__this, __arguments, generator) => {
59
59
  });
60
60
  };
61
61
 
62
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/index.mjs
62
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/index.mjs
63
63
  var standalone_migration_exports = {};
64
64
  __export(standalone_migration_exports, {
65
65
  default: () => standalone_migration_default
@@ -67,10 +67,10 @@ __export(standalone_migration_exports, {
67
67
  module.exports = __toCommonJS(standalone_migration_exports);
68
68
  var import_schematics = require("@angular-devkit/schematics");
69
69
 
70
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/compiler_host.mjs
70
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/compiler_host.mjs
71
71
  var import_typescript = __toESM(require("typescript"), 1);
72
72
 
73
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/invalid_file_system.mjs
73
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/invalid_file_system.mjs
74
74
  var InvalidFileSystem = class {
75
75
  exists(path3) {
76
76
  throw makeError();
@@ -158,7 +158,7 @@ function makeError() {
158
158
  return new Error("FileSystem has not been configured. Please call `setFileSystem()` before calling this method.");
159
159
  }
160
160
 
161
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/util.mjs
161
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/util.mjs
162
162
  var TS_DTS_JS_EXTENSION = /(?:\.d)?\.ts$|\.js$/;
163
163
  function stripExtension(path3) {
164
164
  return path3.replace(TS_DTS_JS_EXTENSION, "");
@@ -171,7 +171,7 @@ function getSourceFileOrError(program, fileName) {
171
171
  return sf;
172
172
  }
173
173
 
174
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/helpers.mjs
174
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/helpers.mjs
175
175
  var fs = new InvalidFileSystem();
176
176
  function getFileSystem() {
177
177
  return fs;
@@ -215,7 +215,7 @@ function toRelativeImport(relativePath) {
215
215
  return isLocalRelativePath(relativePath) ? `./${relativePath}` : relativePath;
216
216
  }
217
217
 
218
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/logical.mjs
218
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/logical.mjs
219
219
  var LogicalProjectPath = {
220
220
  relativePathBetween: function(from, to) {
221
221
  const relativePath = relative(dirname(resolve(from)), resolve(to));
@@ -261,7 +261,7 @@ function isWithinBasePath(base, path3) {
261
261
  return isLocalRelativePath(relative(base, path3));
262
262
  }
263
263
 
264
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/node_js_file_system.mjs
264
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/file_system/src/node_js_file_system.mjs
265
265
  var import_fs = __toESM(require("fs"), 1);
266
266
  var import_module = __toESM(require("module"), 1);
267
267
  var p = __toESM(require("path"), 1);
@@ -369,7 +369,7 @@ function toggleCase(str) {
369
369
  return str.replace(/\w/g, (ch) => ch.toUpperCase() === ch ? ch.toLowerCase() : ch.toUpperCase());
370
370
  }
371
371
 
372
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/selector.mjs
372
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/selector.mjs
373
373
  var _SELECTOR_REGEXP = new RegExp(
374
374
  `(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,
375
375
  "g"
@@ -677,7 +677,7 @@ var SelectorContext = class {
677
677
  }
678
678
  };
679
679
 
680
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/core.mjs
680
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/core.mjs
681
681
  var emitDistinctChangesOnlyDefaultValue = true;
682
682
  var ViewEncapsulation;
683
683
  (function(ViewEncapsulation2) {
@@ -740,7 +740,7 @@ function parseSelectorToR3Selector(selector) {
740
740
  return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];
741
741
  }
742
742
 
743
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/big_integer.mjs
743
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/big_integer.mjs
744
744
  var BigInteger = class {
745
745
  static zero() {
746
746
  return new BigInteger([0]);
@@ -832,7 +832,7 @@ var BigIntExponentiation = class {
832
832
  }
833
833
  };
834
834
 
835
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
835
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
836
836
  var textEncoder;
837
837
  function digest(message) {
838
838
  return message.id || computeDigest(message);
@@ -1095,7 +1095,7 @@ function wordsToDecimalString(hi, lo) {
1095
1095
  return decimal.toString();
1096
1096
  }
1097
1097
 
1098
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
1098
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
1099
1099
  var TypeModifier;
1100
1100
  (function(TypeModifier2) {
1101
1101
  TypeModifier2[TypeModifier2["None"] = 0] = "None";
@@ -1922,7 +1922,7 @@ function serializeTags(tags) {
1922
1922
  return out;
1923
1923
  }
1924
1924
 
1925
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1925
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1926
1926
  var CONSTANT_PREFIX = "_c";
1927
1927
  var UNKNOWN_VALUE_KEY = variable("<unknown>");
1928
1928
  var KEY_CONTEXT = {};
@@ -2090,7 +2090,7 @@ function isLongStringLiteral(expr) {
2090
2090
  return expr instanceof LiteralExpr && typeof expr.value === "string" && expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;
2091
2091
  }
2092
2092
 
2093
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
2093
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
2094
2094
  var CORE = "@angular/core";
2095
2095
  var Identifiers = class {
2096
2096
  };
@@ -2294,7 +2294,7 @@ Identifiers.trustConstantHtml = { name: "\u0275\u0275trustConstantHtml", moduleN
2294
2294
  Identifiers.trustConstantResourceUrl = { name: "\u0275\u0275trustConstantResourceUrl", moduleName: CORE };
2295
2295
  Identifiers.validateIframeAttribute = { name: "\u0275\u0275validateIframeAttribute", moduleName: CORE };
2296
2296
 
2297
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/util.mjs
2297
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/util.mjs
2298
2298
  var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
2299
2299
  function dashCaseToCamelCase(input) {
2300
2300
  return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());
@@ -2382,7 +2382,7 @@ function partitionArray(arr, conditionFn) {
2382
2382
  return [truthy, falsy];
2383
2383
  }
2384
2384
 
2385
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2385
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2386
2386
  var VERSION = 3;
2387
2387
  var JS_B64_PREFIX = "# sourceMappingURL=data:application/json;base64,";
2388
2388
  var SourceMapGenerator = class {
@@ -2511,7 +2511,7 @@ function toBase64Digit(value) {
2511
2511
  return B64_DIGITS[value];
2512
2512
  }
2513
2513
 
2514
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
2514
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
2515
2515
  var _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\|\n|\r|\$/g;
2516
2516
  var _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;
2517
2517
  var _INDENT_WITH = " ";
@@ -2986,7 +2986,7 @@ function _createIndent(count) {
2986
2986
  return res;
2987
2987
  }
2988
2988
 
2989
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/util.mjs
2989
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/util.mjs
2990
2990
  function typeWithParameters(type, numParams) {
2991
2991
  if (numParams === 0) {
2992
2992
  return expressionType(type);
@@ -3054,7 +3054,7 @@ function generateForwardRef(expr) {
3054
3054
  return importExpr(Identifiers.forwardRef).callFn([fn([], [new ReturnStatement(expr)])]);
3055
3055
  }
3056
3056
 
3057
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3057
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3058
3058
  var R3FactoryDelegateType;
3059
3059
  (function(R3FactoryDelegateType2) {
3060
3060
  R3FactoryDelegateType2[R3FactoryDelegateType2["Class"] = 0] = "Class";
@@ -3199,7 +3199,7 @@ function getInjectFn(target) {
3199
3199
  }
3200
3200
  }
3201
3201
 
3202
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
3202
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
3203
3203
  var Comment = class {
3204
3204
  constructor(value, sourceSpan) {
3205
3205
  this.value = value;
@@ -3421,7 +3421,7 @@ function visitAll(visitor, nodes) {
3421
3421
  return result;
3422
3422
  }
3423
3423
 
3424
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
3424
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
3425
3425
  var Message = class {
3426
3426
  constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {
3427
3427
  this.nodes = nodes;
@@ -3584,7 +3584,7 @@ var LocalizeMessageStringVisitor = class {
3584
3584
  }
3585
3585
  };
3586
3586
 
3587
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/serializer.mjs
3587
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/serializer.mjs
3588
3588
  var Serializer = class {
3589
3589
  createNameMapper(message) {
3590
3590
  return null;
@@ -3636,7 +3636,7 @@ var SimplePlaceholderMapper = class extends RecurseVisitor {
3636
3636
  }
3637
3637
  };
3638
3638
 
3639
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
3639
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
3640
3640
  var _Visitor = class {
3641
3641
  visitTag(tag) {
3642
3642
  const strAttrs = this._serializeAttributes(tag.attrs);
@@ -3724,7 +3724,7 @@ function escapeXml(text) {
3724
3724
  return _ESCAPED_CHARS.reduce((text2, entry) => text2.replace(entry[0], entry[1]), text);
3725
3725
  }
3726
3726
 
3727
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
3727
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
3728
3728
  var _MESSAGES_TAG = "messagebundle";
3729
3729
  var _MESSAGE_TAG = "msg";
3730
3730
  var _PLACEHOLDER_TAG = "ph";
@@ -3867,7 +3867,7 @@ function toPublicName(internalName) {
3867
3867
  return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, "_");
3868
3868
  }
3869
3869
 
3870
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
3870
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
3871
3871
  var CLOSURE_TRANSLATION_VAR_PREFIX = "MSG_";
3872
3872
  var TRANSLATION_VAR_PREFIX = "i18n_";
3873
3873
  var I18N_ATTR = "i18n";
@@ -3969,7 +3969,7 @@ function declareI18nVariable(variable2) {
3969
3969
  return new DeclareVarStmt(variable2.name, void 0, INFERRED_TYPE, void 0, variable2.sourceSpan);
3970
3970
  }
3971
3971
 
3972
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
3972
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
3973
3973
  var UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;
3974
3974
  var TEMPORARY_NAME = "_t";
3975
3975
  var CONTEXT_NAME = "ctx";
@@ -4055,27 +4055,27 @@ function asLiteral(value) {
4055
4055
  }
4056
4056
  return literal(value, INFERRED_TYPE);
4057
4057
  }
4058
- function conditionallyCreateMapObjectLiteral(keys, keepDeclared) {
4059
- if (Object.getOwnPropertyNames(keys).length > 0) {
4060
- return mapToExpression(keys, keepDeclared);
4058
+ function conditionallyCreateDirectiveBindingLiteral(map, keepDeclared) {
4059
+ const keys = Object.getOwnPropertyNames(map);
4060
+ if (keys.length === 0) {
4061
+ return null;
4061
4062
  }
4062
- return null;
4063
- }
4064
- function mapToExpression(map, keepDeclared) {
4065
- return literalMap(Object.getOwnPropertyNames(map).map((key) => {
4063
+ return literalMap(keys.map((key) => {
4066
4064
  const value = map[key];
4067
4065
  let declaredName;
4068
4066
  let publicName;
4069
4067
  let minifiedName;
4070
4068
  let needsDeclaredName;
4071
- if (Array.isArray(value)) {
4072
- [publicName, declaredName] = value;
4069
+ if (typeof value === "string") {
4070
+ declaredName = key;
4073
4071
  minifiedName = key;
4074
- needsDeclaredName = publicName !== declaredName;
4075
- } else {
4076
- minifiedName = declaredName = key;
4077
4072
  publicName = value;
4078
4073
  needsDeclaredName = false;
4074
+ } else {
4075
+ minifiedName = key;
4076
+ declaredName = value.classPropertyName;
4077
+ publicName = value.bindingPropertyName;
4078
+ needsDeclaredName = publicName !== declaredName;
4079
4079
  }
4080
4080
  return {
4081
4081
  key: minifiedName,
@@ -4175,7 +4175,7 @@ function getInstructionStatements(instructions) {
4175
4175
  return statements;
4176
4176
  }
4177
4177
 
4178
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
4178
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
4179
4179
  function compileInjectable(meta, resolveForwardRefs) {
4180
4180
  let result = null;
4181
4181
  const factoryMeta = {
@@ -4264,7 +4264,7 @@ function createFactoryFunction(type) {
4264
4264
  return fn([new FnParam("t", DYNAMIC_TYPE)], [new ReturnStatement(type.prop("\u0275fac").callFn([variable("t")]))]);
4265
4265
  }
4266
4266
 
4267
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/assertions.mjs
4267
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/assertions.mjs
4268
4268
  var UNUSABLE_INTERPOLATION_REGEXPS = [
4269
4269
  /^\s*$/,
4270
4270
  /[<>]/,
@@ -4286,7 +4286,7 @@ function assertInterpolationSymbols(identifier, value) {
4286
4286
  }
4287
4287
  }
4288
4288
 
4289
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/interpolation_config.mjs
4289
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/interpolation_config.mjs
4290
4290
  var InterpolationConfig = class {
4291
4291
  static fromArray(markers) {
4292
4292
  if (!markers) {
@@ -4302,7 +4302,7 @@ var InterpolationConfig = class {
4302
4302
  };
4303
4303
  var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig("{{", "}}");
4304
4304
 
4305
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/chars.mjs
4305
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/chars.mjs
4306
4306
  var $EOF = 0;
4307
4307
  var $BSPACE = 8;
4308
4308
  var $TAB = 9;
@@ -4383,7 +4383,7 @@ function isQuote(code) {
4383
4383
  return code === $SQ || code === $DQ || code === $BT;
4384
4384
  }
4385
4385
 
4386
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/parse_util.mjs
4386
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/parse_util.mjs
4387
4387
  var ParseLocation = class {
4388
4388
  constructor(file, offset, line, col) {
4389
4389
  this.file = file;
@@ -4530,7 +4530,7 @@ function sanitizeIdentifier(name) {
4530
4530
  return name.replace(/\W/g, "_");
4531
4531
  }
4532
4532
 
4533
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
4533
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
4534
4534
  var makeTemplateObjectPolyfill = '(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})';
4535
4535
  var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
4536
4536
  constructor() {
@@ -4601,7 +4601,7 @@ var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
4601
4601
  }
4602
4602
  };
4603
4603
 
4604
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
4604
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
4605
4605
  var policy;
4606
4606
  function getPolicy() {
4607
4607
  if (policy === void 0) {
@@ -4638,7 +4638,7 @@ function newTrustedFunctionForJIT(...args) {
4638
4638
  return fn2.bind(_global);
4639
4639
  }
4640
4640
 
4641
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
4641
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
4642
4642
  var JitEvaluator = class {
4643
4643
  evaluateStatements(sourceUrl, statements, refResolver, createSourceMaps) {
4644
4644
  const converter = new JitEmitterVisitor(refResolver);
@@ -4729,7 +4729,7 @@ function isUseStrictStatement(statement) {
4729
4729
  return statement.isEquivalent(literal("use strict").toStmt());
4730
4730
  }
4731
4731
 
4732
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
4732
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
4733
4733
  function compileInjector(meta) {
4734
4734
  const definitionMap = new DefinitionMap();
4735
4735
  if (meta.providers !== null) {
@@ -4746,7 +4746,7 @@ function createInjectorType(meta) {
4746
4746
  return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.type)]));
4747
4747
  }
4748
4748
 
4749
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
4749
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
4750
4750
  var R3JitReflector = class {
4751
4751
  constructor(context) {
4752
4752
  this.context = context;
@@ -4762,7 +4762,7 @@ var R3JitReflector = class {
4762
4762
  }
4763
4763
  };
4764
4764
 
4765
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
4765
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
4766
4766
  var R3SelectorScopeMode;
4767
4767
  (function(R3SelectorScopeMode2) {
4768
4768
  R3SelectorScopeMode2[R3SelectorScopeMode2["Inline"] = 0] = "Inline";
@@ -4875,7 +4875,7 @@ function tupleOfTypes(types) {
4875
4875
  return types.length > 0 ? expressionType(literalArr(typeofTypes)) : NONE_TYPE;
4876
4876
  }
4877
4877
 
4878
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
4878
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
4879
4879
  function compilePipeFromMetadata(metadata) {
4880
4880
  const definitionMapValues = [];
4881
4881
  definitionMapValues.push({ key: "name", value: literal(metadata.pipeName), quoted: false });
@@ -4896,7 +4896,7 @@ function createPipeType(metadata) {
4896
4896
  ]));
4897
4897
  }
4898
4898
 
4899
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
4899
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
4900
4900
  var R3TemplateDependencyKind;
4901
4901
  (function(R3TemplateDependencyKind2) {
4902
4902
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["Directive"] = 0] = "Directive";
@@ -4904,7 +4904,7 @@ var R3TemplateDependencyKind;
4904
4904
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["NgModule"] = 2] = "NgModule";
4905
4905
  })(R3TemplateDependencyKind || (R3TemplateDependencyKind = {}));
4906
4906
 
4907
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
4907
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
4908
4908
  var ParserError = class {
4909
4909
  constructor(message, input, errLocation, ctxLocation) {
4910
4910
  this.input = input;
@@ -5570,7 +5570,7 @@ var BoundElementProperty = class {
5570
5570
  }
5571
5571
  };
5572
5572
 
5573
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/compiler_util/expression_converter.mjs
5573
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/compiler_util/expression_converter.mjs
5574
5574
  var EventHandlerVars = class {
5575
5575
  };
5576
5576
  EventHandlerVars.event = variable("$event");
@@ -6188,7 +6188,7 @@ var BuiltinFunctionCall = class extends Call {
6188
6188
  }
6189
6189
  };
6190
6190
 
6191
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
6191
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
6192
6192
  var _SECURITY_SCHEMA;
6193
6193
  function SECURITY_SCHEMA() {
6194
6194
  if (!_SECURITY_SCHEMA) {
@@ -6246,7 +6246,7 @@ function isIframeSecuritySensitiveAttr(attrName) {
6246
6246
  return IFRAME_SECURITY_SENSITIVE_ATTRS.has(attrName.toLowerCase());
6247
6247
  }
6248
6248
 
6249
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/shadow_css.mjs
6249
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/shadow_css.mjs
6250
6250
  var animationKeywords = /* @__PURE__ */ new Set([
6251
6251
  "inherit",
6252
6252
  "initial",
@@ -6706,7 +6706,7 @@ function repeatGroups(groups, multiples) {
6706
6706
  }
6707
6707
  }
6708
6708
 
6709
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/style_parser.mjs
6709
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/style_parser.mjs
6710
6710
  function parse(value) {
6711
6711
  const styles = [];
6712
6712
  let i = 0;
@@ -6782,7 +6782,7 @@ function hyphenate(value) {
6782
6782
  }).toLowerCase();
6783
6783
  }
6784
6784
 
6785
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/styling_builder.mjs
6785
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/styling_builder.mjs
6786
6786
  var IMPORTANT_FLAG = "!important";
6787
6787
  var MIN_STYLING_BINDING_SLOTS_REQUIRED = 2;
6788
6788
  var StylingBuilder = class {
@@ -7115,7 +7115,7 @@ function isEmptyExpression(ast) {
7115
7115
  return ast instanceof EmptyExpr;
7116
7116
  }
7117
7117
 
7118
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
7118
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
7119
7119
  var TokenType;
7120
7120
  (function(TokenType2) {
7121
7121
  TokenType2[TokenType2["Character"] = 0] = "Character";
@@ -7476,7 +7476,7 @@ function parseIntAutoRadix(text) {
7476
7476
  return result;
7477
7477
  }
7478
7478
 
7479
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
7479
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
7480
7480
  var SplitInterpolation = class {
7481
7481
  constructor(strings, expressions, offsets) {
7482
7482
  this.strings = strings;
@@ -8370,7 +8370,7 @@ function getIndexMapForOriginalTemplate(interpolatedTokens) {
8370
8370
  return offsetMap;
8371
8371
  }
8372
8372
 
8373
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
8373
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
8374
8374
  var NodeWithI18n = class {
8375
8375
  constructor(sourceSpan, i18n) {
8376
8376
  this.sourceSpan = sourceSpan;
@@ -8458,7 +8458,7 @@ function visitAll2(visitor, nodes, context = null) {
8458
8458
  return result;
8459
8459
  }
8460
8460
 
8461
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
8461
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
8462
8462
  var TagContentType;
8463
8463
  (function(TagContentType2) {
8464
8464
  TagContentType2[TagContentType2["RAW_TEXT"] = 0] = "RAW_TEXT";
@@ -8491,11 +8491,11 @@ function mergeNsAndName(prefix, localName) {
8491
8491
  return prefix ? `:${prefix}:${localName}` : localName;
8492
8492
  }
8493
8493
 
8494
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
8494
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
8495
8495
  var ElementSchemaRegistry = class {
8496
8496
  };
8497
8497
 
8498
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
8498
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
8499
8499
  var BOOLEAN = "boolean";
8500
8500
  var NUMBER = "number";
8501
8501
  var STRING = "string";
@@ -8848,7 +8848,7 @@ function _isPixelDimensionStyle(prop) {
8848
8848
  }
8849
8849
  }
8850
8850
 
8851
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
8851
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
8852
8852
  var HtmlTagDefinition = class {
8853
8853
  constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false, canSelfClose = false } = {}) {
8854
8854
  this.closedByChildren = {};
@@ -8966,7 +8966,7 @@ function getHtmlTagDefinition(tagName) {
8966
8966
  return (_b = (_a = TAG_DEFINITIONS[tagName]) != null ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) != null ? _b : DEFAULT_TAG_DEFINITION;
8967
8967
  }
8968
8968
 
8969
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
8969
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
8970
8970
  var NAMED_ENTITIES = {
8971
8971
  "AElig": "\xC6",
8972
8972
  "AMP": "&",
@@ -11097,7 +11097,7 @@ var NAMED_ENTITIES = {
11097
11097
  var NGSP_UNICODE = "\uE500";
11098
11098
  NAMED_ENTITIES["ngsp"] = NGSP_UNICODE;
11099
11099
 
11100
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
11100
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
11101
11101
  var TokenError = class extends ParseError {
11102
11102
  constructor(errorMsg, tokenType, span) {
11103
11103
  super(span, errorMsg);
@@ -11932,7 +11932,7 @@ var CursorError = class {
11932
11932
  }
11933
11933
  };
11934
11934
 
11935
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
11935
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
11936
11936
  var TreeError = class extends ParseError {
11937
11937
  static create(elementName, span, msg) {
11938
11938
  return new TreeError(elementName, span, msg);
@@ -12259,7 +12259,7 @@ function decodeEntity(match, entity) {
12259
12259
  return match;
12260
12260
  }
12261
12261
 
12262
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
12262
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
12263
12263
  var HtmlParser = class extends Parser2 {
12264
12264
  constructor() {
12265
12265
  super(getHtmlTagDefinition);
@@ -12269,7 +12269,7 @@ var HtmlParser = class extends Parser2 {
12269
12269
  }
12270
12270
  };
12271
12271
 
12272
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
12272
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
12273
12273
  var PRESERVE_WS_ATTR_NAME = "ngPreserveWhitespaces";
12274
12274
  var SKIP_WS_TRIM_TAGS = /* @__PURE__ */ new Set(["pre", "template", "textarea", "script", "style"]);
12275
12275
  var WS_CHARS = " \f\n\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF";
@@ -12329,7 +12329,7 @@ function visitAllWithSiblings(visitor, nodes) {
12329
12329
  return result;
12330
12330
  }
12331
12331
 
12332
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/map_util.mjs
12332
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/map_util.mjs
12333
12333
  function mapLiteral(obj, quoted = false) {
12334
12334
  return literalMap(Object.keys(obj).map((key) => ({
12335
12335
  key,
@@ -12338,7 +12338,7 @@ function mapLiteral(obj, quoted = false) {
12338
12338
  })));
12339
12339
  }
12340
12340
 
12341
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
12341
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
12342
12342
  var TRUSTED_TYPES_SINKS = /* @__PURE__ */ new Set([
12343
12343
  "iframe|srcdoc",
12344
12344
  "*|innerhtml",
@@ -12353,7 +12353,7 @@ function isTrustedTypesSink(tagName, propName) {
12353
12353
  return TRUSTED_TYPES_SINKS.has(tagName + "|" + propName) || TRUSTED_TYPES_SINKS.has("*|" + propName);
12354
12354
  }
12355
12355
 
12356
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
12356
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
12357
12357
  var PROPERTY_PARTS_SEPARATOR = ".";
12358
12358
  var ATTRIBUTE_PREFIX = "attr";
12359
12359
  var CLASS_PREFIX = "class";
@@ -12673,7 +12673,7 @@ function moveParseSourceSpan(sourceSpan, absoluteSpan) {
12673
12673
  return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);
12674
12674
  }
12675
12675
 
12676
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
12676
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
12677
12677
  function isStyleUrlResolvable(url) {
12678
12678
  if (url == null || url.length === 0 || url[0] == "/")
12679
12679
  return false;
@@ -12682,7 +12682,7 @@ function isStyleUrlResolvable(url) {
12682
12682
  }
12683
12683
  var URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;
12684
12684
 
12685
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
12685
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
12686
12686
  var NG_CONTENT_SELECT_ATTR = "select";
12687
12687
  var LINK_ELEMENT = "link";
12688
12688
  var LINK_STYLE_REL_ATTR = "rel";
@@ -12752,7 +12752,7 @@ function normalizeNgContentSelect(selectAttr) {
12752
12752
  return selectAttr;
12753
12753
  }
12754
12754
 
12755
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
12755
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
12756
12756
  var BIND_NAME_REGEXP = /^(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*)$/;
12757
12757
  var KW_BIND_IDX = 1;
12758
12758
  var KW_LET_IDX = 2;
@@ -13100,7 +13100,7 @@ function textContents(node) {
13100
13100
  }
13101
13101
  }
13102
13102
 
13103
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/context.mjs
13103
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/context.mjs
13104
13104
  var TagType;
13105
13105
  (function(TagType2) {
13106
13106
  TagType2[TagType2["ELEMENT"] = 0] = "ELEMENT";
@@ -13235,7 +13235,7 @@ function serializePlaceholderValue(value) {
13235
13235
  }
13236
13236
  }
13237
13237
 
13238
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
13238
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
13239
13239
  var IcuSerializerVisitor = class {
13240
13240
  visitText(text) {
13241
13241
  return text.value;
@@ -13266,7 +13266,7 @@ function serializeIcuNode(icu) {
13266
13266
  return icu.visit(serializer);
13267
13267
  }
13268
13268
 
13269
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
13269
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
13270
13270
  var TAG_TO_PLACEHOLDER_NAMES = {
13271
13271
  "A": "LINK",
13272
13272
  "B": "BOLD_TEXT",
@@ -13360,7 +13360,7 @@ var PlaceholderRegistry = class {
13360
13360
  }
13361
13361
  };
13362
13362
 
13363
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
13363
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
13364
13364
  var _expParser = new Parser(new Lexer());
13365
13365
  function createI18nMessageFactory(interpolationConfig) {
13366
13366
  const visitor = new _I18nVisitor(_expParser, interpolationConfig);
@@ -13515,14 +13515,14 @@ function extractPlaceholderName(input) {
13515
13515
  return input.split(_CUSTOM_PH_EXP)[2];
13516
13516
  }
13517
13517
 
13518
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
13518
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
13519
13519
  var I18nError = class extends ParseError {
13520
13520
  constructor(span, msg) {
13521
13521
  super(span, msg);
13522
13522
  }
13523
13523
  };
13524
13524
 
13525
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
13525
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
13526
13526
  var setI18nRefs = (htmlNode, i18nNode) => {
13527
13527
  if (htmlNode instanceof NodeWithI18n) {
13528
13528
  if (i18nNode instanceof IcuPlaceholder && htmlNode.i18n instanceof Message) {
@@ -13671,7 +13671,7 @@ function i18nMetaToJSDoc(meta) {
13671
13671
  return jsDocComment(tags);
13672
13672
  }
13673
13673
 
13674
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
13674
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
13675
13675
  var GOOG_GET_MSG = "goog.getMsg";
13676
13676
  function createGoogleGetMsgStatements(variable2, message, closureVar, placeholderValues) {
13677
13677
  const messageString = serializeI18nMessageForGetMsg(message);
@@ -13719,7 +13719,7 @@ function serializeI18nMessageForGetMsg(message) {
13719
13719
  return message.nodes.map((node) => node.visit(serializerVisitor2, null)).join("");
13720
13720
  }
13721
13721
 
13722
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
13722
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
13723
13723
  function createLocalizeStatements(variable2, message, params) {
13724
13724
  const { messageParts, placeHolders } = serializeI18nMessageForLocalize(message);
13725
13725
  const sourceSpan = getSourceSpan(message);
@@ -13802,7 +13802,7 @@ function createEmptyMessagePart(location) {
13802
13802
  return new LiteralPiece("", new ParseSourceSpan(location, location));
13803
13803
  }
13804
13804
 
13805
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
13805
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
13806
13806
  var NG_CONTENT_SELECT_ATTR2 = "select";
13807
13807
  var NG_PROJECT_AS_ATTR_NAME = "ngProjectAs";
13808
13808
  var EVENT_BINDING_SCOPE_GLOBALS = /* @__PURE__ */ new Set(["$event"]);
@@ -15104,7 +15104,7 @@ function createClosureModeGuard() {
15104
15104
  return typeofExpr(variable(NG_I18N_CLOSURE_MODE)).notIdentical(literal("undefined", STRING_TYPE)).and(variable(NG_I18N_CLOSURE_MODE));
15105
15105
  }
15106
15106
 
15107
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
15107
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
15108
15108
  var ATTR_REGEX = /attr\.([^\]]+)/;
15109
15109
  var COMPONENT_VARIABLE = "%COMP%";
15110
15110
  var HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
@@ -15123,8 +15123,8 @@ function baseDirectiveFields(meta, constantPool, bindingParser) {
15123
15123
  definitionMap.set("viewQuery", createViewQueriesFunction(meta.viewQueries, constantPool, meta.name));
15124
15124
  }
15125
15125
  definitionMap.set("hostBindings", createHostBindingsFunction(meta.host, meta.typeSourceSpan, bindingParser, constantPool, meta.selector || "", meta.name, definitionMap));
15126
- definitionMap.set("inputs", conditionallyCreateMapObjectLiteral(meta.inputs, true));
15127
- definitionMap.set("outputs", conditionallyCreateMapObjectLiteral(meta.outputs));
15126
+ definitionMap.set("inputs", conditionallyCreateDirectiveBindingLiteral(meta.inputs, true));
15127
+ definitionMap.set("outputs", conditionallyCreateDirectiveBindingLiteral(meta.outputs));
15128
15128
  if (meta.exportAs !== null) {
15129
15129
  definitionMap.set("exportAs", literalArr(meta.exportAs.map((e) => literal(e))));
15130
15130
  }
@@ -15320,11 +15320,24 @@ function createBaseDirectiveTypeParams(meta) {
15320
15320
  typeWithParameters(meta.type.type, meta.typeArgumentCount),
15321
15321
  selectorForType !== null ? stringAsType(selectorForType) : NONE_TYPE,
15322
15322
  meta.exportAs !== null ? stringArrayAsType(meta.exportAs) : NONE_TYPE,
15323
- expressionType(stringMapAsLiteralExpression(meta.inputs)),
15323
+ expressionType(getInputsTypeExpression(meta)),
15324
15324
  expressionType(stringMapAsLiteralExpression(meta.outputs)),
15325
15325
  stringArrayAsType(meta.queries.map((q) => q.propertyName))
15326
15326
  ];
15327
15327
  }
15328
+ function getInputsTypeExpression(meta) {
15329
+ return literalMap(Object.keys(meta.inputs).map((key) => {
15330
+ const value = meta.inputs[key];
15331
+ return {
15332
+ key,
15333
+ value: literalMap([
15334
+ { key: "alias", value: literal(value.bindingPropertyName), quoted: true },
15335
+ { key: "required", value: literal(value.required), quoted: true }
15336
+ ]),
15337
+ quoted: true
15338
+ };
15339
+ }));
15340
+ }
15328
15341
  function createDirectiveType(meta) {
15329
15342
  const typeParams = createBaseDirectiveTypeParams(meta);
15330
15343
  typeParams.push(NONE_TYPE);
@@ -15623,11 +15636,11 @@ function createHostDirectivesMappingArray(mapping) {
15623
15636
  return elements.length > 0 ? literalArr(elements) : null;
15624
15637
  }
15625
15638
 
15626
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/resource_loader.mjs
15639
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/resource_loader.mjs
15627
15640
  var ResourceLoader = class {
15628
15641
  };
15629
15642
 
15630
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
15643
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
15631
15644
  var CompilerFacadeImpl = class {
15632
15645
  constructor(jitEvaluator = new JitEvaluator()) {
15633
15646
  this.jitEvaluator = jitEvaluator;
@@ -15834,8 +15847,8 @@ function convertQueryPredicate(predicate) {
15834
15847
  return Array.isArray(predicate) ? predicate : createMayBeForwardRefExpression(new WrappedNodeExpr(predicate), 1);
15835
15848
  }
15836
15849
  function convertDirectiveFacadeToMetadata(facade) {
15837
- const inputsFromMetadata = parseInputOutputs(facade.inputs || []);
15838
- const outputsFromMetadata = parseInputOutputs(facade.outputs || []);
15850
+ const inputsFromMetadata = parseInputsArray(facade.inputs || []);
15851
+ const outputsFromMetadata = parseMappingStringArray(facade.outputs || []);
15839
15852
  const propMetadata = facade.propMetadata;
15840
15853
  const inputsFromType = {};
15841
15854
  const outputsFromType = {};
@@ -15843,9 +15856,13 @@ function convertDirectiveFacadeToMetadata(facade) {
15843
15856
  if (propMetadata.hasOwnProperty(field)) {
15844
15857
  propMetadata[field].forEach((ann) => {
15845
15858
  if (isInput(ann)) {
15846
- inputsFromType[field] = ann.bindingPropertyName ? [ann.bindingPropertyName, field] : field;
15859
+ inputsFromType[field] = {
15860
+ bindingPropertyName: ann.alias || field,
15861
+ classPropertyName: field,
15862
+ required: ann.required || false
15863
+ };
15847
15864
  } else if (isOutput(ann)) {
15848
- outputsFromType[field] = ann.bindingPropertyName || field;
15865
+ outputsFromType[field] = ann.alias || field;
15849
15866
  }
15850
15867
  });
15851
15868
  }
@@ -15867,26 +15884,26 @@ function convertDirectiveFacadeToMetadata(facade) {
15867
15884
  });
15868
15885
  }
15869
15886
  function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
15870
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
15887
+ var _a, _b, _c, _d, _e, _f, _g, _h;
15871
15888
  return {
15872
15889
  name: declaration.type.name,
15873
15890
  type: wrapReference(declaration.type),
15874
15891
  typeSourceSpan,
15875
15892
  internalType: new WrappedNodeExpr(declaration.type),
15876
15893
  selector: (_a = declaration.selector) != null ? _a : null,
15877
- inputs: (_b = declaration.inputs) != null ? _b : {},
15878
- outputs: (_c = declaration.outputs) != null ? _c : {},
15894
+ inputs: declaration.inputs ? inputsMappingToInputMetadata(declaration.inputs) : {},
15895
+ outputs: (_b = declaration.outputs) != null ? _b : {},
15879
15896
  host: convertHostDeclarationToMetadata(declaration.host),
15880
- queries: ((_d = declaration.queries) != null ? _d : []).map(convertQueryDeclarationToMetadata),
15881
- viewQueries: ((_e = declaration.viewQueries) != null ? _e : []).map(convertQueryDeclarationToMetadata),
15897
+ queries: ((_c = declaration.queries) != null ? _c : []).map(convertQueryDeclarationToMetadata),
15898
+ viewQueries: ((_d = declaration.viewQueries) != null ? _d : []).map(convertQueryDeclarationToMetadata),
15882
15899
  providers: declaration.providers !== void 0 ? new WrappedNodeExpr(declaration.providers) : null,
15883
- exportAs: (_f = declaration.exportAs) != null ? _f : null,
15884
- usesInheritance: (_g = declaration.usesInheritance) != null ? _g : false,
15885
- lifecycle: { usesOnChanges: (_h = declaration.usesOnChanges) != null ? _h : false },
15900
+ exportAs: (_e = declaration.exportAs) != null ? _e : null,
15901
+ usesInheritance: (_f = declaration.usesInheritance) != null ? _f : false,
15902
+ lifecycle: { usesOnChanges: (_g = declaration.usesOnChanges) != null ? _g : false },
15886
15903
  deps: null,
15887
15904
  typeArgumentCount: 0,
15888
15905
  fullInheritance: false,
15889
- isStandalone: (_i = declaration.isStandalone) != null ? _i : false,
15906
+ isStandalone: (_h = declaration.isStandalone) != null ? _h : false,
15890
15907
  hostDirectives: convertHostDirectivesToMetadata(declaration)
15891
15908
  };
15892
15909
  }
@@ -15914,8 +15931,8 @@ function convertHostDirectivesToMetadata(metadata) {
15914
15931
  } : {
15915
15932
  directive: wrapReference(hostDirective.directive),
15916
15933
  isForwardReference: false,
15917
- inputs: hostDirective.inputs ? parseInputOutputs(hostDirective.inputs) : null,
15918
- outputs: hostDirective.outputs ? parseInputOutputs(hostDirective.outputs) : null
15934
+ inputs: hostDirective.inputs ? parseMappingStringArray(hostDirective.inputs) : null,
15935
+ outputs: hostDirective.outputs ? parseMappingStringArray(hostDirective.outputs) : null
15919
15936
  };
15920
15937
  });
15921
15938
  }
@@ -16076,13 +16093,39 @@ function isInput(value) {
16076
16093
  function isOutput(value) {
16077
16094
  return value.ngMetadataName === "Output";
16078
16095
  }
16079
- function parseInputOutputs(values) {
16096
+ function inputsMappingToInputMetadata(inputs) {
16097
+ return Object.keys(inputs).reduce((result, key) => {
16098
+ const value = inputs[key];
16099
+ result[key] = typeof value === "string" ? { bindingPropertyName: value, classPropertyName: value, required: false } : { bindingPropertyName: value[0], classPropertyName: value[1], required: false };
16100
+ return result;
16101
+ }, {});
16102
+ }
16103
+ function parseInputsArray(values) {
16104
+ return values.reduce((results, value) => {
16105
+ if (typeof value === "string") {
16106
+ const [bindingPropertyName, classPropertyName] = parseMappingString(value);
16107
+ results[classPropertyName] = { bindingPropertyName, classPropertyName, required: false };
16108
+ } else {
16109
+ results[value.name] = {
16110
+ bindingPropertyName: value.alias || value.name,
16111
+ classPropertyName: value.name,
16112
+ required: value.required || false
16113
+ };
16114
+ }
16115
+ return results;
16116
+ }, {});
16117
+ }
16118
+ function parseMappingStringArray(values) {
16080
16119
  return values.reduce((results, value) => {
16081
- const [field, property] = value.split(":", 2).map((str) => str.trim());
16082
- results[field] = property || field;
16120
+ const [alias, fieldName] = parseMappingString(value);
16121
+ results[fieldName] = alias;
16083
16122
  return results;
16084
16123
  }, {});
16085
16124
  }
16125
+ function parseMappingString(value) {
16126
+ const [fieldName, bindingPropertyName] = value.split(":", 2).map((str) => str.trim());
16127
+ return [bindingPropertyName != null ? bindingPropertyName : fieldName, fieldName];
16128
+ }
16086
16129
  function convertDeclarePipeFacadeToMetadata(declaration) {
16087
16130
  var _a, _b;
16088
16131
  return {
@@ -16110,10 +16153,10 @@ function publishFacade(global2) {
16110
16153
  ng.\u0275compilerFacade = new CompilerFacadeImpl();
16111
16154
  }
16112
16155
 
16113
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
16114
- var VERSION2 = new Version("16.0.0-next.2");
16156
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/version.mjs
16157
+ var VERSION2 = new Version("16.0.0-next.4");
16115
16158
 
16116
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
16159
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
16117
16160
  var _I18N_ATTR = "i18n";
16118
16161
  var _I18N_ATTR_PREFIX = "i18n-";
16119
16162
  var _I18N_COMMENT_PREFIX_REGEXP = /^i18n:?/;
@@ -16417,7 +16460,7 @@ function _parseMessageMeta(i18n) {
16417
16460
  return { meaning, description, id: id.trim() };
16418
16461
  }
16419
16462
 
16420
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
16463
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
16421
16464
  var XmlTagDefinition = class {
16422
16465
  constructor() {
16423
16466
  this.closedByParent = false;
@@ -16441,7 +16484,7 @@ function getXmlTagDefinition(tagName) {
16441
16484
  return _TAG_DEFINITION;
16442
16485
  }
16443
16486
 
16444
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/xml_parser.mjs
16487
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/xml_parser.mjs
16445
16488
  var XmlParser = class extends Parser2 {
16446
16489
  constructor() {
16447
16490
  super(getXmlTagDefinition);
@@ -16451,7 +16494,7 @@ var XmlParser = class extends Parser2 {
16451
16494
  }
16452
16495
  };
16453
16496
 
16454
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xliff.mjs
16497
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xliff.mjs
16455
16498
  var _VERSION = "1.2";
16456
16499
  var _XMLNS = "urn:oasis:names:tc:xliff:document:1.2";
16457
16500
  var _DEFAULT_SOURCE_LANG = "en";
@@ -16691,7 +16734,7 @@ function getCtypeForTag(tag) {
16691
16734
  }
16692
16735
  }
16693
16736
 
16694
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xliff2.mjs
16737
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xliff2.mjs
16695
16738
  var _VERSION2 = "2.0";
16696
16739
  var _XMLNS2 = "urn:oasis:names:tc:xliff:document:2.0";
16697
16740
  var _DEFAULT_SOURCE_LANG2 = "en";
@@ -16979,7 +17022,7 @@ function getTypeForTag(tag) {
16979
17022
  }
16980
17023
  }
16981
17024
 
16982
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/message_bundle.mjs
17025
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/message_bundle.mjs
16983
17026
  var MessageBundle = class {
16984
17027
  constructor(_htmlParser, _implicitTags, _implicitAttrs, _locale = null) {
16985
17028
  this._htmlParser = _htmlParser;
@@ -17046,7 +17089,7 @@ var MapPlaceholderNames = class extends CloneVisitor {
17046
17089
  }
17047
17090
  };
17048
17091
 
17049
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
17092
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
17050
17093
  var FactoryTarget2;
17051
17094
  (function(FactoryTarget3) {
17052
17095
  FactoryTarget3[FactoryTarget3["Directive"] = 0] = "Directive";
@@ -17056,7 +17099,7 @@ var FactoryTarget2;
17056
17099
  FactoryTarget3[FactoryTarget3["NgModule"] = 4] = "NgModule";
17057
17100
  })(FactoryTarget2 || (FactoryTarget2 = {}));
17058
17101
 
17059
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
17102
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
17060
17103
  var R3TargetBinder = class {
17061
17104
  constructor(directiveMatcher) {
17062
17105
  this.directiveMatcher = directiveMatcher;
@@ -17408,7 +17451,7 @@ function extractTemplateEntities(rootScope) {
17408
17451
  return templateEntities;
17409
17452
  }
17410
17453
 
17411
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_class_metadata_compiler.mjs
17454
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_class_metadata_compiler.mjs
17412
17455
  function compileClassMetadata(metadata) {
17413
17456
  var _a, _b;
17414
17457
  const fnCall = importExpr(Identifiers.setClassMetadata).callFn([
@@ -17421,12 +17464,12 @@ function compileClassMetadata(metadata) {
17421
17464
  return iife.callFn([]);
17422
17465
  }
17423
17466
 
17424
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/class_metadata.mjs
17467
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/class_metadata.mjs
17425
17468
  var MINIMUM_PARTIAL_LINKER_VERSION = "12.0.0";
17426
17469
  function compileDeclareClassMetadata(metadata) {
17427
17470
  const definitionMap = new DefinitionMap();
17428
17471
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION));
17429
- definitionMap.set("version", literal("16.0.0-next.2"));
17472
+ definitionMap.set("version", literal("16.0.0-next.4"));
17430
17473
  definitionMap.set("ngImport", importExpr(Identifiers.core));
17431
17474
  definitionMap.set("type", metadata.type);
17432
17475
  definitionMap.set("decorators", metadata.decorators);
@@ -17435,7 +17478,7 @@ function compileDeclareClassMetadata(metadata) {
17435
17478
  return importExpr(Identifiers.declareClassMetadata).callFn([definitionMap.toLiteralMap()]);
17436
17479
  }
17437
17480
 
17438
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/util.mjs
17481
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/util.mjs
17439
17482
  function toOptionalLiteralArray(values, mapper) {
17440
17483
  if (values === null || values.length === 0) {
17441
17484
  return null;
@@ -17483,7 +17526,7 @@ function compileDependency(dep) {
17483
17526
  return depMeta.toLiteralMap();
17484
17527
  }
17485
17528
 
17486
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/directive.mjs
17529
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/directive.mjs
17487
17530
  var MINIMUM_PARTIAL_LINKER_VERSION2 = "14.0.0";
17488
17531
  function compileDeclareDirectiveFromMetadata(meta) {
17489
17532
  const definitionMap = createDirectiveDefinitionMap(meta);
@@ -17495,7 +17538,7 @@ function createDirectiveDefinitionMap(meta) {
17495
17538
  var _a;
17496
17539
  const definitionMap = new DefinitionMap();
17497
17540
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION2));
17498
- definitionMap.set("version", literal("16.0.0-next.2"));
17541
+ definitionMap.set("version", literal("16.0.0-next.4"));
17499
17542
  definitionMap.set("type", meta.internalType);
17500
17543
  if (meta.isStandalone) {
17501
17544
  definitionMap.set("isStandalone", literal(meta.isStandalone));
@@ -17503,8 +17546,8 @@ function createDirectiveDefinitionMap(meta) {
17503
17546
  if (meta.selector !== null) {
17504
17547
  definitionMap.set("selector", literal(meta.selector));
17505
17548
  }
17506
- definitionMap.set("inputs", conditionallyCreateMapObjectLiteral(meta.inputs, true));
17507
- definitionMap.set("outputs", conditionallyCreateMapObjectLiteral(meta.outputs));
17549
+ definitionMap.set("inputs", conditionallyCreateDirectiveBindingLiteral(meta.inputs, true));
17550
+ definitionMap.set("outputs", conditionallyCreateDirectiveBindingLiteral(meta.outputs));
17508
17551
  definitionMap.set("host", compileHostMetadata(meta.host));
17509
17552
  definitionMap.set("providers", meta.providers);
17510
17553
  if (meta.queries.length > 0) {
@@ -17585,7 +17628,7 @@ function createHostDirectives(hostDirectives) {
17585
17628
  return literalArr(expressions);
17586
17629
  }
17587
17630
 
17588
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/component.mjs
17631
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/component.mjs
17589
17632
  function compileDeclareComponentFromMetadata(meta, template, additionalTemplateInfo) {
17590
17633
  const definitionMap = createComponentDefinitionMap(meta, template, additionalTemplateInfo);
17591
17634
  const expression = importExpr(Identifiers.declareComponent).callFn([definitionMap.toLiteralMap()]);
@@ -17672,12 +17715,12 @@ function compileUsedDependenciesMetadata(meta) {
17672
17715
  });
17673
17716
  }
17674
17717
 
17675
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/factory.mjs
17718
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/factory.mjs
17676
17719
  var MINIMUM_PARTIAL_LINKER_VERSION3 = "12.0.0";
17677
17720
  function compileDeclareFactoryFunction(meta) {
17678
17721
  const definitionMap = new DefinitionMap();
17679
17722
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION3));
17680
- definitionMap.set("version", literal("16.0.0-next.2"));
17723
+ definitionMap.set("version", literal("16.0.0-next.4"));
17681
17724
  definitionMap.set("ngImport", importExpr(Identifiers.core));
17682
17725
  definitionMap.set("type", meta.internalType);
17683
17726
  definitionMap.set("deps", compileDependencies(meta.deps));
@@ -17689,7 +17732,7 @@ function compileDeclareFactoryFunction(meta) {
17689
17732
  };
17690
17733
  }
17691
17734
 
17692
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/injectable.mjs
17735
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/injectable.mjs
17693
17736
  var MINIMUM_PARTIAL_LINKER_VERSION4 = "12.0.0";
17694
17737
  function compileDeclareInjectableFromMetadata(meta) {
17695
17738
  const definitionMap = createInjectableDefinitionMap(meta);
@@ -17700,7 +17743,7 @@ function compileDeclareInjectableFromMetadata(meta) {
17700
17743
  function createInjectableDefinitionMap(meta) {
17701
17744
  const definitionMap = new DefinitionMap();
17702
17745
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION4));
17703
- definitionMap.set("version", literal("16.0.0-next.2"));
17746
+ definitionMap.set("version", literal("16.0.0-next.4"));
17704
17747
  definitionMap.set("ngImport", importExpr(Identifiers.core));
17705
17748
  definitionMap.set("type", meta.internalType);
17706
17749
  if (meta.providedIn !== void 0) {
@@ -17727,7 +17770,7 @@ function createInjectableDefinitionMap(meta) {
17727
17770
  return definitionMap;
17728
17771
  }
17729
17772
 
17730
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/injector.mjs
17773
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/injector.mjs
17731
17774
  var MINIMUM_PARTIAL_LINKER_VERSION5 = "12.0.0";
17732
17775
  function compileDeclareInjectorFromMetadata(meta) {
17733
17776
  const definitionMap = createInjectorDefinitionMap(meta);
@@ -17738,7 +17781,7 @@ function compileDeclareInjectorFromMetadata(meta) {
17738
17781
  function createInjectorDefinitionMap(meta) {
17739
17782
  const definitionMap = new DefinitionMap();
17740
17783
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION5));
17741
- definitionMap.set("version", literal("16.0.0-next.2"));
17784
+ definitionMap.set("version", literal("16.0.0-next.4"));
17742
17785
  definitionMap.set("ngImport", importExpr(Identifiers.core));
17743
17786
  definitionMap.set("type", meta.internalType);
17744
17787
  definitionMap.set("providers", meta.providers);
@@ -17748,7 +17791,7 @@ function createInjectorDefinitionMap(meta) {
17748
17791
  return definitionMap;
17749
17792
  }
17750
17793
 
17751
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/ng_module.mjs
17794
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/ng_module.mjs
17752
17795
  var MINIMUM_PARTIAL_LINKER_VERSION6 = "14.0.0";
17753
17796
  function compileDeclareNgModuleFromMetadata(meta) {
17754
17797
  const definitionMap = createNgModuleDefinitionMap(meta);
@@ -17759,7 +17802,7 @@ function compileDeclareNgModuleFromMetadata(meta) {
17759
17802
  function createNgModuleDefinitionMap(meta) {
17760
17803
  const definitionMap = new DefinitionMap();
17761
17804
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION6));
17762
- definitionMap.set("version", literal("16.0.0-next.2"));
17805
+ definitionMap.set("version", literal("16.0.0-next.4"));
17763
17806
  definitionMap.set("ngImport", importExpr(Identifiers.core));
17764
17807
  definitionMap.set("type", meta.internalType);
17765
17808
  if (meta.bootstrap.length > 0) {
@@ -17783,7 +17826,7 @@ function createNgModuleDefinitionMap(meta) {
17783
17826
  return definitionMap;
17784
17827
  }
17785
17828
 
17786
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/pipe.mjs
17829
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/pipe.mjs
17787
17830
  var MINIMUM_PARTIAL_LINKER_VERSION7 = "14.0.0";
17788
17831
  function compileDeclarePipeFromMetadata(meta) {
17789
17832
  const definitionMap = createPipeDefinitionMap(meta);
@@ -17794,7 +17837,7 @@ function compileDeclarePipeFromMetadata(meta) {
17794
17837
  function createPipeDefinitionMap(meta) {
17795
17838
  const definitionMap = new DefinitionMap();
17796
17839
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION7));
17797
- definitionMap.set("version", literal("16.0.0-next.2"));
17840
+ definitionMap.set("version", literal("16.0.0-next.4"));
17798
17841
  definitionMap.set("ngImport", importExpr(Identifiers.core));
17799
17842
  definitionMap.set("type", meta.internalType);
17800
17843
  if (meta.isStandalone) {
@@ -17807,13 +17850,13 @@ function createPipeDefinitionMap(meta) {
17807
17850
  return definitionMap;
17808
17851
  }
17809
17852
 
17810
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/compiler.mjs
17853
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/compiler.mjs
17811
17854
  publishFacade(_global);
17812
17855
 
17813
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version.mjs
17814
- var VERSION3 = new Version("16.0.0-next.2");
17856
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version.mjs
17857
+ var VERSION3 = new Version("16.0.0-next.4");
17815
17858
 
17816
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
17859
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
17817
17860
  var EmitFlags;
17818
17861
  (function(EmitFlags2) {
17819
17862
  EmitFlags2[EmitFlags2["DTS"] = 1] = "DTS";
@@ -17825,13 +17868,13 @@ var EmitFlags;
17825
17868
  EmitFlags2[EmitFlags2["All"] = 31] = "All";
17826
17869
  })(EmitFlags || (EmitFlags = {}));
17827
17870
 
17828
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
17871
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
17829
17872
  var import_typescript2 = __toESM(require("typescript"), 1);
17830
17873
 
17831
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
17874
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
17832
17875
  var import_typescript94 = __toESM(require("typescript"), 1);
17833
17876
 
17834
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
17877
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
17835
17878
  var path = __toESM(require("path"), 1);
17836
17879
  function i18nGetExtension(formatName) {
17837
17880
  const format = formatName.toLowerCase();
@@ -17881,10 +17924,10 @@ function getPathNormalizer(basePath) {
17881
17924
  };
17882
17925
  }
17883
17926
 
17884
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
17927
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
17885
17928
  var import_typescript3 = __toESM(require("typescript"), 1);
17886
17929
 
17887
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
17930
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
17888
17931
  function toNumbers(value) {
17889
17932
  const suffixIndex = value.lastIndexOf("-");
17890
17933
  return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
@@ -17919,7 +17962,7 @@ function compareVersions(v1, v2) {
17919
17962
  return compareNumbers(toNumbers(v1), toNumbers(v2));
17920
17963
  }
17921
17964
 
17922
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
17965
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
17923
17966
  var MIN_TS_VERSION = "4.9.3";
17924
17967
  var MAX_TS_VERSION = "5.1.0";
17925
17968
  var tsVersion = import_typescript3.default.version;
@@ -17932,13 +17975,13 @@ function verifySupportedTypeScriptVersion() {
17932
17975
  checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
17933
17976
  }
17934
17977
 
17935
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
17978
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
17936
17979
  var import_typescript90 = __toESM(require("typescript"), 1);
17937
17980
 
17938
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
17981
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
17939
17982
  var import_typescript19 = __toESM(require("typescript"), 1);
17940
17983
 
17941
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.mjs
17984
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.mjs
17942
17985
  var ErrorCode;
17943
17986
  (function(ErrorCode2) {
17944
17987
  ErrorCode2[ErrorCode2["DECORATOR_ARG_NOT_LITERAL"] = 1001] = "DECORATOR_ARG_NOT_LITERAL";
@@ -17966,6 +18009,7 @@ var ErrorCode;
17966
18009
  ErrorCode2[ErrorCode2["INJECTABLE_INHERITS_INVALID_CONSTRUCTOR"] = 2016] = "INJECTABLE_INHERITS_INVALID_CONSTRUCTOR";
17967
18010
  ErrorCode2[ErrorCode2["HOST_DIRECTIVE_UNDEFINED_BINDING"] = 2017] = "HOST_DIRECTIVE_UNDEFINED_BINDING";
17968
18011
  ErrorCode2[ErrorCode2["HOST_DIRECTIVE_CONFLICTING_ALIAS"] = 2018] = "HOST_DIRECTIVE_CONFLICTING_ALIAS";
18012
+ ErrorCode2[ErrorCode2["HOST_DIRECTIVE_MISSING_REQUIRED_BINDING"] = 2019] = "HOST_DIRECTIVE_MISSING_REQUIRED_BINDING";
17969
18013
  ErrorCode2[ErrorCode2["SYMBOL_NOT_EXPORTED"] = 3001] = "SYMBOL_NOT_EXPORTED";
17970
18014
  ErrorCode2[ErrorCode2["IMPORT_CYCLE_DETECTED"] = 3003] = "IMPORT_CYCLE_DETECTED";
17971
18015
  ErrorCode2[ErrorCode2["IMPORT_GENERATION_FAILURE"] = 3004] = "IMPORT_GENERATION_FAILURE";
@@ -17994,6 +18038,7 @@ var ErrorCode;
17994
18038
  ErrorCode2[ErrorCode2["WRITE_TO_READ_ONLY_VARIABLE"] = 8005] = "WRITE_TO_READ_ONLY_VARIABLE";
17995
18039
  ErrorCode2[ErrorCode2["DUPLICATE_VARIABLE_DECLARATION"] = 8006] = "DUPLICATE_VARIABLE_DECLARATION";
17996
18040
  ErrorCode2[ErrorCode2["SPLIT_TWO_WAY_BINDING"] = 8007] = "SPLIT_TWO_WAY_BINDING";
18041
+ ErrorCode2[ErrorCode2["MISSING_REQUIRED_INPUTS"] = 8008] = "MISSING_REQUIRED_INPUTS";
17997
18042
  ErrorCode2[ErrorCode2["INVALID_BANANA_IN_BOX"] = 8101] = "INVALID_BANANA_IN_BOX";
17998
18043
  ErrorCode2[ErrorCode2["NULLISH_COALESCING_NOT_NULLABLE"] = 8102] = "NULLISH_COALESCING_NOT_NULLABLE";
17999
18044
  ErrorCode2[ErrorCode2["MISSING_CONTROL_FLOW_DIRECTIVE"] = 8103] = "MISSING_CONTROL_FLOW_DIRECTIVE";
@@ -18008,7 +18053,7 @@ var ErrorCode;
18008
18053
  ErrorCode2[ErrorCode2["SUGGEST_SUBOPTIMAL_TYPE_INFERENCE"] = 10002] = "SUGGEST_SUBOPTIMAL_TYPE_INFERENCE";
18009
18054
  })(ErrorCode || (ErrorCode = {}));
18010
18055
 
18011
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/docs.mjs
18056
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/docs.mjs
18012
18057
  var COMPILER_ERRORS_WITH_GUIDES = /* @__PURE__ */ new Set([
18013
18058
  ErrorCode.DECORATOR_ARG_NOT_LITERAL,
18014
18059
  ErrorCode.IMPORT_CYCLE_DETECTED,
@@ -18020,15 +18065,15 @@ var COMPILER_ERRORS_WITH_GUIDES = /* @__PURE__ */ new Set([
18020
18065
  ErrorCode.WARN_NGMODULE_ID_UNNECESSARY
18021
18066
  ]);
18022
18067
 
18023
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error.mjs
18068
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error.mjs
18024
18069
  var import_typescript4 = __toESM(require("typescript"), 1);
18025
18070
 
18026
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/util.mjs
18071
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/util.mjs
18027
18072
  function ngErrorCode(code) {
18028
18073
  return parseInt("-99" + code);
18029
18074
  }
18030
18075
 
18031
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error.mjs
18076
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error.mjs
18032
18077
  var FatalDiagnosticError = class {
18033
18078
  constructor(code, node, message, relatedInformation) {
18034
18079
  this.code = code;
@@ -18084,10 +18129,10 @@ function addDiagnosticChain(messageText, add) {
18084
18129
  return messageText;
18085
18130
  }
18086
18131
 
18087
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error_details_base_url.mjs
18132
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/error_details_base_url.mjs
18088
18133
  var ERROR_DETAILS_PAGE_BASE_URL = "https://angular.io/errors";
18089
18134
 
18090
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/extended_template_diagnostic_name.mjs
18135
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/diagnostics/src/extended_template_diagnostic_name.mjs
18091
18136
  var ExtendedTemplateDiagnosticName;
18092
18137
  (function(ExtendedTemplateDiagnosticName2) {
18093
18138
  ExtendedTemplateDiagnosticName2["INVALID_BANANA_IN_BOX"] = "invalidBananaInBox";
@@ -18099,7 +18144,7 @@ var ExtendedTemplateDiagnosticName;
18099
18144
  ExtendedTemplateDiagnosticName2["SUFFIX_NOT_SUPPORTED"] = "suffixNotSupported";
18100
18145
  })(ExtendedTemplateDiagnosticName || (ExtendedTemplateDiagnosticName = {}));
18101
18146
 
18102
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/host.mjs
18147
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/host.mjs
18103
18148
  var import_typescript5 = __toESM(require("typescript"), 1);
18104
18149
  var Decorator = {
18105
18150
  nodeForError: (decorator) => {
@@ -18134,7 +18179,7 @@ function isConcreteDeclaration(decl) {
18134
18179
  return decl.kind === 0;
18135
18180
  }
18136
18181
 
18137
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/type_to_value.mjs
18182
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/type_to_value.mjs
18138
18183
  var import_typescript6 = __toESM(require("typescript"), 1);
18139
18184
  function typeToValue(typeNode, checker) {
18140
18185
  if (typeNode === null) {
@@ -18300,10 +18345,10 @@ function extractModuleName(node) {
18300
18345
  return node.moduleSpecifier.text;
18301
18346
  }
18302
18347
 
18303
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
18348
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
18304
18349
  var import_typescript8 = __toESM(require("typescript"), 1);
18305
18350
 
18306
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/util.mjs
18351
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/util.mjs
18307
18352
  var import_typescript7 = __toESM(require("typescript"), 1);
18308
18353
  function isNamedClassDeclaration(node) {
18309
18354
  return import_typescript7.default.isClassDeclaration(node) && isIdentifier(node.name);
@@ -18312,7 +18357,7 @@ function isIdentifier(node) {
18312
18357
  return node !== void 0 && import_typescript7.default.isIdentifier(node);
18313
18358
  }
18314
18359
 
18315
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
18360
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
18316
18361
  var TypeScriptReflectionHost = class {
18317
18362
  constructor(checker) {
18318
18363
  this.checker = checker;
@@ -18748,13 +18793,13 @@ function getExportedName(decl, originalId) {
18748
18793
  }
18749
18794
  var LocalExportedDeclarations = Symbol("LocalExportedDeclarations");
18750
18795
 
18751
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
18796
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
18752
18797
  var import_typescript18 = __toESM(require("typescript"), 1);
18753
18798
 
18754
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
18799
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
18755
18800
  var import_typescript12 = __toESM(require("typescript"), 1);
18756
18801
 
18757
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/typescript.mjs
18802
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/typescript.mjs
18758
18803
  var import_typescript10 = __toESM(require("typescript"), 1);
18759
18804
  var TS = /\.tsx?$/i;
18760
18805
  var D_TS = /\.d\.ts$/i;
@@ -18855,7 +18900,7 @@ function toUnredirectedSourceFile(sf) {
18855
18900
  return redirectInfo.unredirected;
18856
18901
  }
18857
18902
 
18858
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/find_export.mjs
18903
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/find_export.mjs
18859
18904
  function findExportedNameOfNode(target, file, reflector) {
18860
18905
  const exports = reflector.getExportsOfModule(file);
18861
18906
  if (exports === null) {
@@ -18875,7 +18920,7 @@ function findExportedNameOfNode(target, file, reflector) {
18875
18920
  return foundExportName;
18876
18921
  }
18877
18922
 
18878
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
18923
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
18879
18924
  var ImportFlags;
18880
18925
  (function(ImportFlags2) {
18881
18926
  ImportFlags2[ImportFlags2["None"] = 0] = "None";
@@ -19091,7 +19136,7 @@ var UnifiedModulesStrategy = class {
19091
19136
  }
19092
19137
  };
19093
19138
 
19094
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/alias.mjs
19139
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/alias.mjs
19095
19140
  var CHARS_TO_ESCAPE = /[^a-zA-Z0-9/_]/g;
19096
19141
  var UnifiedModulesAliasingHost = class {
19097
19142
  constructor(unifiedModulesHost) {
@@ -19158,7 +19203,7 @@ var AliasStrategy = class {
19158
19203
  }
19159
19204
  };
19160
19205
 
19161
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/path.mjs
19206
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/path.mjs
19162
19207
  function relativePathBetween(from, to) {
19163
19208
  const relativePath = stripExtension(relative(dirname(resolve(from)), resolve(to)));
19164
19209
  return relativePath !== "" ? toRelativeImport(relativePath) : null;
@@ -19167,7 +19212,7 @@ function normalizeSeparators2(path3) {
19167
19212
  return path3.replace(/\\/g, "/");
19168
19213
  }
19169
19214
 
19170
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/core.mjs
19215
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/core.mjs
19171
19216
  var NoopImportRewriter = class {
19172
19217
  shouldImportSymbol(symbol, specifier) {
19173
19218
  return true;
@@ -19225,7 +19270,7 @@ function validateAndRewriteCoreSymbol(name) {
19225
19270
  return CORE_SUPPORTED_SYMBOLS.get(name);
19226
19271
  }
19227
19272
 
19228
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/patch_alias_reference_resolution.mjs
19273
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/patch_alias_reference_resolution.mjs
19229
19274
  var import_typescript14 = __toESM(require("typescript"), 1);
19230
19275
  var patchedReferencedAliasesSymbol = Symbol("patchedReferencedAliases");
19231
19276
  function loadIsReferencedAliasDeclarationPatch(context) {
@@ -19260,7 +19305,7 @@ function throwIncompatibleTransformationContextError() {
19260
19305
  throw Error("Angular compiler is incompatible with this version of the TypeScript compiler.\n\nIf you recently updated TypeScript and this issue surfaces now, consider downgrading.\n\nPlease report an issue on the Angular repositories when this issue surfaces and you are using a supposedly compatible TypeScript version.");
19261
19306
  }
19262
19307
 
19263
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/default.mjs
19308
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/default.mjs
19264
19309
  var DefaultImportDeclaration = Symbol("DefaultImportDeclaration");
19265
19310
  function attachDefaultImportDeclaration(expr, importDecl) {
19266
19311
  expr[DefaultImportDeclaration] = importDecl;
@@ -19301,7 +19346,7 @@ var DefaultImportTracker = class {
19301
19346
  }
19302
19347
  };
19303
19348
 
19304
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/references.mjs
19349
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/references.mjs
19305
19350
  var Reference2 = class {
19306
19351
  constructor(node, bestGuessOwningModule = null) {
19307
19352
  this.node = node;
@@ -19364,7 +19409,7 @@ var Reference2 = class {
19364
19409
  }
19365
19410
  };
19366
19411
 
19367
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/resolver.mjs
19412
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/resolver.mjs
19368
19413
  var ModuleResolver = class {
19369
19414
  constructor(program, compilerOptions, host, moduleResolutionCache) {
19370
19415
  this.program = program;
@@ -19381,7 +19426,7 @@ var ModuleResolver = class {
19381
19426
  }
19382
19427
  };
19383
19428
 
19384
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
19429
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
19385
19430
  function valueReferenceToExpression(valueRef) {
19386
19431
  if (valueRef.kind === 2) {
19387
19432
  return null;
@@ -19618,7 +19663,7 @@ function isAbstractClassDeclaration(clazz) {
19618
19663
  return import_typescript18.default.canHaveModifiers(clazz) && clazz.modifiers !== void 0 ? clazz.modifiers.some((mod) => mod.kind === import_typescript18.default.SyntaxKind.AbstractKeyword) : false;
19619
19664
  }
19620
19665
 
19621
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
19666
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
19622
19667
  function getConstructorDependencies(clazz, reflector, isCore) {
19623
19668
  const deps = [];
19624
19669
  const errors = [];
@@ -19760,10 +19805,10 @@ function createUnsuitableInjectionTokenError(clazz, error2) {
19760
19805
  return new FatalDiagnosticError(ErrorCode.PARAM_MISSING_TOKEN, param.nameNode, chain, hints);
19761
19806
  }
19762
19807
 
19763
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
19808
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
19764
19809
  var import_typescript27 = __toESM(require("typescript"), 1);
19765
19810
 
19766
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
19811
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
19767
19812
  var MetaKind;
19768
19813
  (function(MetaKind2) {
19769
19814
  MetaKind2[MetaKind2["Directive"] = 0] = "Directive";
@@ -19776,10 +19821,10 @@ var MatchSource;
19776
19821
  MatchSource2[MatchSource2["HostDirective"] = 1] = "HostDirective";
19777
19822
  })(MatchSource || (MatchSource = {}));
19778
19823
 
19779
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
19824
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
19780
19825
  var import_typescript22 = __toESM(require("typescript"), 1);
19781
19826
 
19782
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
19827
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
19783
19828
  var ClassPropertyMapping = class {
19784
19829
  constructor(forwardMap) {
19785
19830
  this.forwardMap = forwardMap;
@@ -19792,8 +19837,14 @@ var ClassPropertyMapping = class {
19792
19837
  const forwardMap = /* @__PURE__ */ new Map();
19793
19838
  for (const classPropertyName of Object.keys(obj)) {
19794
19839
  const value = obj[classPropertyName];
19795
- const bindingPropertyName = Array.isArray(value) ? value[0] : value;
19796
- const inputOrOutput = { classPropertyName, bindingPropertyName };
19840
+ let inputOrOutput;
19841
+ if (typeof value === "string") {
19842
+ inputOrOutput = { classPropertyName, bindingPropertyName: value };
19843
+ } else if (Array.isArray(value)) {
19844
+ inputOrOutput = { classPropertyName, bindingPropertyName: value[0] };
19845
+ } else {
19846
+ inputOrOutput = value;
19847
+ }
19797
19848
  forwardMap.set(classPropertyName, inputOrOutput);
19798
19849
  }
19799
19850
  return new ClassPropertyMapping(forwardMap);
@@ -19830,17 +19881,13 @@ var ClassPropertyMapping = class {
19830
19881
  toJointMappedObject() {
19831
19882
  const obj = {};
19832
19883
  for (const [classPropertyName, inputOrOutput] of this.forwardMap) {
19833
- if (inputOrOutput.bindingPropertyName === classPropertyName) {
19834
- obj[classPropertyName] = inputOrOutput.bindingPropertyName;
19835
- } else {
19836
- obj[classPropertyName] = [inputOrOutput.bindingPropertyName, classPropertyName];
19837
- }
19884
+ obj[classPropertyName] = inputOrOutput;
19838
19885
  }
19839
19886
  return obj;
19840
19887
  }
19841
19888
  *[Symbol.iterator]() {
19842
- for (const [classPropertyName, inputOrOutput] of this.forwardMap.entries()) {
19843
- yield [classPropertyName, inputOrOutput.bindingPropertyName];
19889
+ for (const inputOrOutput of this.forwardMap.values()) {
19890
+ yield inputOrOutput;
19844
19891
  }
19845
19892
  }
19846
19893
  };
@@ -19855,7 +19902,7 @@ function reverseMapFromForwardMap(forwardMap) {
19855
19902
  return reverseMap;
19856
19903
  }
19857
19904
 
19858
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
19905
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
19859
19906
  var import_typescript20 = __toESM(require("typescript"), 1);
19860
19907
  function extractReferencesFromType(checker, def, bestGuessOwningModule) {
19861
19908
  if (!import_typescript20.default.isTupleTypeNode(def)) {
@@ -20037,7 +20084,7 @@ function hasInjectableFields(clazz, host) {
20037
20084
  return members.some(({ isStatic, name }) => isStatic && (name === "\u0275prov" || name === "\u0275fac"));
20038
20085
  }
20039
20086
 
20040
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
20087
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
20041
20088
  var DtsMetadataReader = class {
20042
20089
  constructor(checker, reflector) {
20043
20090
  this.checker = checker;
@@ -20080,7 +20127,7 @@ var DtsMetadataReader = class {
20080
20127
  return param.typeValueReference.kind === 1 && param.typeValueReference.moduleName === "@angular/core" && param.typeValueReference.importedName === "TemplateRef";
20081
20128
  });
20082
20129
  const isStandalone = def.type.typeArguments.length > 7 && ((_a = readBooleanType(def.type.typeArguments[7])) != null ? _a : false);
20083
- const inputs = ClassPropertyMapping.fromMappedObject(readMapType(def.type.typeArguments[3], readStringType));
20130
+ const inputs = ClassPropertyMapping.fromMappedObject(readInputsType(def.type.typeArguments[3]));
20084
20131
  const outputs = ClassPropertyMapping.fromMappedObject(readMapType(def.type.typeArguments[4], readStringType));
20085
20132
  const hostDirectives = def.type.typeArguments.length > 8 ? readHostDirectivesType(this.checker, def.type.typeArguments[8], ref.bestGuessOwningModule) : null;
20086
20133
  return __spreadProps(__spreadValues({
@@ -20130,6 +20177,35 @@ var DtsMetadataReader = class {
20130
20177
  };
20131
20178
  }
20132
20179
  };
20180
+ function readInputsType(type) {
20181
+ const inputsMap = {};
20182
+ if (import_typescript22.default.isTypeLiteralNode(type)) {
20183
+ for (const member of type.members) {
20184
+ if (!import_typescript22.default.isPropertySignature(member) || member.type === void 0 || member.name === void 0 || !import_typescript22.default.isStringLiteral(member.name) && !import_typescript22.default.isIdentifier(member.name)) {
20185
+ continue;
20186
+ }
20187
+ const stringValue = readStringType(member.type);
20188
+ if (stringValue != null) {
20189
+ inputsMap[member.name.text] = {
20190
+ bindingPropertyName: stringValue,
20191
+ classPropertyName: member.name.text,
20192
+ required: false
20193
+ };
20194
+ } else {
20195
+ const config = readMapType(member.type, (innerValue) => {
20196
+ var _a;
20197
+ return (_a = readStringType(innerValue)) != null ? _a : readBooleanType(innerValue);
20198
+ });
20199
+ inputsMap[member.name.text] = {
20200
+ classPropertyName: member.name.text,
20201
+ bindingPropertyName: config.alias,
20202
+ required: config.required
20203
+ };
20204
+ }
20205
+ }
20206
+ }
20207
+ return inputsMap;
20208
+ }
20133
20209
  function readBaseClass2(clazz, checker, reflector) {
20134
20210
  if (!isNamedClassDeclaration(clazz)) {
20135
20211
  return reflector.hasBaseClass(clazz) ? "dynamic" : null;
@@ -20176,7 +20252,7 @@ function readHostDirectivesType(checker, type, bestGuessOwningModule) {
20176
20252
  return result.length > 0 ? result : null;
20177
20253
  }
20178
20254
 
20179
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
20255
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
20180
20256
  function flattenInheritedDirectiveMetadata(reader, dir) {
20181
20257
  const topMeta = reader.getDirectiveMetadata(dir);
20182
20258
  if (topMeta === null) {
@@ -20233,7 +20309,7 @@ function flattenInheritedDirectiveMetadata(reader, dir) {
20233
20309
  });
20234
20310
  }
20235
20311
 
20236
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
20312
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
20237
20313
  var LocalMetadataRegistry = class {
20238
20314
  constructor() {
20239
20315
  this.directives = /* @__PURE__ */ new Map();
@@ -20290,7 +20366,7 @@ var CompoundMetadataRegistry = class {
20290
20366
  }
20291
20367
  };
20292
20368
 
20293
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
20369
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
20294
20370
  var ResourceRegistry = class {
20295
20371
  constructor() {
20296
20372
  this.externalTemplateToComponentsMap = /* @__PURE__ */ new Map();
@@ -20355,7 +20431,7 @@ var ResourceRegistry = class {
20355
20431
  }
20356
20432
  };
20357
20433
 
20358
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/host_directives_resolver.mjs
20434
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/host_directives_resolver.mjs
20359
20435
  var EMPTY_ARRAY = [];
20360
20436
  var HostDirectivesResolver = class {
20361
20437
  constructor(metaReader) {
@@ -20381,13 +20457,13 @@ var HostDirectivesResolver = class {
20381
20457
  }
20382
20458
  results.push(__spreadProps(__spreadValues({}, hostMeta), {
20383
20459
  matchSource: MatchSource.HostDirective,
20384
- inputs: this.filterMappings(hostMeta.inputs, current.inputs),
20385
- outputs: this.filterMappings(hostMeta.outputs, current.outputs)
20460
+ inputs: ClassPropertyMapping.fromMappedObject(this.filterMappings(hostMeta.inputs, current.inputs, resolveInput)),
20461
+ outputs: ClassPropertyMapping.fromMappedObject(this.filterMappings(hostMeta.outputs, current.outputs, resolveOutput))
20386
20462
  }));
20387
20463
  }
20388
20464
  return results;
20389
20465
  }
20390
- filterMappings(source, allowedProperties) {
20466
+ filterMappings(source, allowedProperties, valueResolver) {
20391
20467
  const result = {};
20392
20468
  if (allowedProperties !== null) {
20393
20469
  for (const publicName in allowedProperties) {
@@ -20395,20 +20471,30 @@ var HostDirectivesResolver = class {
20395
20471
  const bindings = source.getByBindingPropertyName(publicName);
20396
20472
  if (bindings !== null) {
20397
20473
  for (const binding of bindings) {
20398
- result[binding.classPropertyName] = allowedProperties[publicName];
20474
+ result[binding.classPropertyName] = valueResolver(allowedProperties[publicName], binding);
20399
20475
  }
20400
20476
  }
20401
20477
  }
20402
20478
  }
20403
20479
  }
20404
- return ClassPropertyMapping.fromMappedObject(result);
20480
+ return result;
20405
20481
  }
20406
20482
  };
20483
+ function resolveInput(bindingName, binding) {
20484
+ return {
20485
+ bindingPropertyName: bindingName,
20486
+ classPropertyName: binding.classPropertyName,
20487
+ required: binding.required
20488
+ };
20489
+ }
20490
+ function resolveOutput(bindingName) {
20491
+ return bindingName;
20492
+ }
20407
20493
 
20408
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
20494
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
20409
20495
  var import_typescript24 = __toESM(require("typescript"), 1);
20410
20496
 
20411
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
20497
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
20412
20498
  var DynamicValue = class {
20413
20499
  constructor(node, reason, code) {
20414
20500
  this.node = node;
@@ -20498,7 +20584,7 @@ var DynamicValue = class {
20498
20584
  }
20499
20585
  };
20500
20586
 
20501
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
20587
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
20502
20588
  var ResolvedModule = class {
20503
20589
  constructor(exports, evaluate) {
20504
20590
  this.exports = exports;
@@ -20528,7 +20614,7 @@ var EnumValue = class {
20528
20614
  var KnownFn = class {
20529
20615
  };
20530
20616
 
20531
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
20617
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
20532
20618
  function describeResolvedType(value, maxDepth = 1) {
20533
20619
  var _a, _b;
20534
20620
  if (value === null) {
@@ -20657,10 +20743,10 @@ function getContainerNode(node) {
20657
20743
  return node.getSourceFile();
20658
20744
  }
20659
20745
 
20660
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
20746
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
20661
20747
  var import_typescript25 = __toESM(require("typescript"), 1);
20662
20748
 
20663
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
20749
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
20664
20750
  var ArraySliceBuiltinFn = class extends KnownFn {
20665
20751
  constructor(lhs) {
20666
20752
  super();
@@ -20731,7 +20817,7 @@ var ObjectAssignBuiltinFn = class extends KnownFn {
20731
20817
  }
20732
20818
  };
20733
20819
 
20734
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/ts_helpers.mjs
20820
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/ts_helpers.mjs
20735
20821
  var AssignHelperFn = class extends ObjectAssignBuiltinFn {
20736
20822
  };
20737
20823
  var SpreadHelperFn = class extends KnownFn {
@@ -20784,7 +20870,7 @@ var ReadHelperFn = class extends KnownFn {
20784
20870
  }
20785
20871
  };
20786
20872
 
20787
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/known_declaration.mjs
20873
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/known_declaration.mjs
20788
20874
  var jsGlobalObjectValue = /* @__PURE__ */ new Map([["assign", new ObjectAssignBuiltinFn()]]);
20789
20875
  var assignTsHelperFn = new AssignHelperFn();
20790
20876
  var spreadTsHelperFn = new SpreadHelperFn();
@@ -20808,14 +20894,14 @@ function resolveKnownDeclaration(decl) {
20808
20894
  }
20809
20895
  }
20810
20896
 
20811
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
20897
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
20812
20898
  var SyntheticValue = class {
20813
20899
  constructor(value) {
20814
20900
  this.value = value;
20815
20901
  }
20816
20902
  };
20817
20903
 
20818
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
20904
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
20819
20905
  function literalBinaryOp(op) {
20820
20906
  return { op, literal: true };
20821
20907
  }
@@ -21413,7 +21499,7 @@ function owningModule(context, override = null) {
21413
21499
  }
21414
21500
  }
21415
21501
 
21416
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
21502
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
21417
21503
  var PartialEvaluator = class {
21418
21504
  constructor(host, checker, dependencyTracker) {
21419
21505
  this.host = host;
@@ -21433,7 +21519,7 @@ var PartialEvaluator = class {
21433
21519
  }
21434
21520
  };
21435
21521
 
21436
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
21522
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
21437
21523
  function makeDuplicateDeclarationError(node, data, kind) {
21438
21524
  const context = [];
21439
21525
  for (const decl of data) {
@@ -21521,19 +21607,28 @@ function validateHostDirectives(origin, hostDirectives, metaReader) {
21521
21607
  if (hostMeta.isComponent) {
21522
21608
  diagnostics.push(makeDiagnostic(ErrorCode.HOST_DIRECTIVE_COMPONENT, current.directive.getOriginForDiagnostics(origin), `Host directive ${hostMeta.name} cannot be a component`));
21523
21609
  }
21524
- validateHostDirectiveMappings("input", current, hostMeta, origin, diagnostics);
21525
- validateHostDirectiveMappings("output", current, hostMeta, origin, diagnostics);
21610
+ const requiredInputNames = Array.from(hostMeta.inputs).filter((input) => input.required).map((input) => input.classPropertyName);
21611
+ validateHostDirectiveMappings("input", current, hostMeta, origin, diagnostics, requiredInputNames.length > 0 ? new Set(requiredInputNames) : null);
21612
+ validateHostDirectiveMappings("output", current, hostMeta, origin, diagnostics, null);
21526
21613
  }
21527
21614
  return diagnostics;
21528
21615
  }
21529
- function validateHostDirectiveMappings(bindingType, hostDirectiveMeta, meta, origin, diagnostics) {
21616
+ function validateHostDirectiveMappings(bindingType, hostDirectiveMeta, meta, origin, diagnostics, requiredBindings) {
21530
21617
  const className = meta.name;
21531
21618
  const hostDirectiveMappings = bindingType === "input" ? hostDirectiveMeta.inputs : hostDirectiveMeta.outputs;
21532
21619
  const existingBindings = bindingType === "input" ? meta.inputs : meta.outputs;
21620
+ const exposedRequiredBindings = /* @__PURE__ */ new Set();
21533
21621
  for (const publicName in hostDirectiveMappings) {
21534
21622
  if (hostDirectiveMappings.hasOwnProperty(publicName)) {
21535
- if (!existingBindings.hasBindingPropertyName(publicName)) {
21623
+ const bindings = existingBindings.getByBindingPropertyName(publicName);
21624
+ if (bindings === null) {
21536
21625
  diagnostics.push(makeDiagnostic(ErrorCode.HOST_DIRECTIVE_UNDEFINED_BINDING, hostDirectiveMeta.directive.getOriginForDiagnostics(origin), `Directive ${className} does not have an ${bindingType} with a public name of ${publicName}.`));
21626
+ } else if (requiredBindings !== null) {
21627
+ for (const field of bindings) {
21628
+ if (requiredBindings.has(field.classPropertyName)) {
21629
+ exposedRequiredBindings.add(field.classPropertyName);
21630
+ }
21631
+ }
21537
21632
  }
21538
21633
  const remappedPublicName = hostDirectiveMappings[publicName];
21539
21634
  const bindingsForPublicName = existingBindings.getByBindingPropertyName(remappedPublicName);
@@ -21546,6 +21641,18 @@ function validateHostDirectiveMappings(bindingType, hostDirectiveMeta, meta, ori
21546
21641
  }
21547
21642
  }
21548
21643
  }
21644
+ if (requiredBindings !== null && requiredBindings.size !== exposedRequiredBindings.size) {
21645
+ const missingBindings = [];
21646
+ for (const publicName of requiredBindings) {
21647
+ if (!exposedRequiredBindings.has(publicName)) {
21648
+ const name = existingBindings.getByClassPropertyName(publicName);
21649
+ if (name) {
21650
+ missingBindings.push(`'${name.bindingPropertyName}'`);
21651
+ }
21652
+ }
21653
+ }
21654
+ diagnostics.push(makeDiagnostic(ErrorCode.HOST_DIRECTIVE_MISSING_REQUIRED_BINDING, hostDirectiveMeta.directive.getOriginForDiagnostics(origin), `Required ${bindingType}${missingBindings.length === 1 ? "" : "s"} ${missingBindings.join(", ")} from host directive ${className} must be exposed.`));
21655
+ }
21549
21656
  }
21550
21657
  function getUndecoratedClassWithAngularFeaturesDiagnostic(node) {
21551
21658
  return makeDiagnostic(ErrorCode.UNDECORATED_CLASS_USING_ANGULAR_FEATURES, node.name, `Class is using Angular features but is not decorated. Please add an explicit Angular decorator.`);
@@ -21608,7 +21715,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, kind) {
21608
21715
  return makeDiagnostic(ErrorCode.DIRECTIVE_INHERITS_UNDECORATED_CTOR, node.name, `The ${kind.toLowerCase()} ${node.name.text} inherits its constructor from ${baseClassName}, but the latter does not have an Angular decorator of its own. Dependency injection will not be able to resolve the parameters of ${baseClassName}'s constructor. Either add a @${baseNeedsDecorator} decorator to ${baseClassName}, or add an explicit constructor to ${node.name.text}.`);
21609
21716
  }
21610
21717
 
21611
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
21718
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
21612
21719
  var import_typescript29 = __toESM(require("typescript"), 1);
21613
21720
  function resolveEnumValue(evaluator, metadata, field, enumSymbolName) {
21614
21721
  let resolved = null;
@@ -21641,7 +21748,7 @@ function resolveLiteral(decorator, literalCache) {
21641
21748
  return meta;
21642
21749
  }
21643
21750
 
21644
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
21751
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
21645
21752
  function compileNgFactoryDefField(metadata) {
21646
21753
  const res = compileFactoryFunction(metadata);
21647
21754
  return { name: "\u0275fac", initializer: res.expression, statements: res.statements, type: res.type };
@@ -21651,7 +21758,7 @@ function compileDeclareFactory(metadata) {
21651
21758
  return { name: "\u0275fac", initializer: res.expression, statements: res.statements, type: res.type };
21652
21759
  }
21653
21760
 
21654
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/injectable_registry.mjs
21761
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/injectable_registry.mjs
21655
21762
  var InjectableClassRegistry = class {
21656
21763
  constructor(host, isCore) {
21657
21764
  this.host = host;
@@ -21677,7 +21784,7 @@ var InjectableClassRegistry = class {
21677
21784
  }
21678
21785
  };
21679
21786
 
21680
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
21787
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
21681
21788
  var import_typescript30 = __toESM(require("typescript"), 1);
21682
21789
  function extractClassMetadata(clazz, reflection, isCore, annotateForClosureCompiler, angularDecoratorTransform = (dec) => dec) {
21683
21790
  if (!reflection.isClass(clazz)) {
@@ -21763,13 +21870,13 @@ function removeIdentifierReferences(node, name) {
21763
21870
  return result.transformed[0];
21764
21871
  }
21765
21872
 
21766
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
21873
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
21767
21874
  var NoopReferencesRegistry = class {
21768
21875
  add(source, ...references) {
21769
21876
  }
21770
21877
  };
21771
21878
 
21772
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
21879
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
21773
21880
  function extractSchemas(rawExpr, evaluator, context) {
21774
21881
  const schemas = [];
21775
21882
  const result = evaluator.evaluate(rawExpr);
@@ -21798,10 +21905,10 @@ function extractSchemas(rawExpr, evaluator, context) {
21798
21905
  return schemas;
21799
21906
  }
21800
21907
 
21801
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
21908
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
21802
21909
  var import_typescript51 = __toESM(require("typescript"), 1);
21803
21910
 
21804
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
21911
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
21805
21912
  var import_typescript31 = __toESM(require("typescript"), 1);
21806
21913
  var SemanticSymbol = class {
21807
21914
  constructor(decl) {
@@ -21817,7 +21924,7 @@ function getSymbolIdentifier(decl) {
21817
21924
  return decl.name.text;
21818
21925
  }
21819
21926
 
21820
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
21927
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
21821
21928
  var OpaqueSymbol = class extends SemanticSymbol {
21822
21929
  isPublicApiAffected() {
21823
21930
  return false;
@@ -21959,10 +22066,10 @@ function getImportPath(expr) {
21959
22066
  }
21960
22067
  }
21961
22068
 
21962
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
22069
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
21963
22070
  var import_typescript32 = __toESM(require("typescript"), 1);
21964
22071
 
21965
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
22072
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
21966
22073
  function isSymbolEqual(a, b) {
21967
22074
  if (a.decl === b.decl) {
21968
22075
  return true;
@@ -22012,7 +22119,7 @@ function isSetEqual(a, b, equalityTester = referenceEquality) {
22012
22119
  return true;
22013
22120
  }
22014
22121
 
22015
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
22122
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
22016
22123
  function extractSemanticTypeParameters(node) {
22017
22124
  if (!import_typescript32.default.isClassDeclaration(node) || node.typeParameters === void 0) {
22018
22125
  return null;
@@ -22032,7 +22139,7 @@ function isTypeParameterEqual(a, b) {
22032
22139
  return a.hasGenericTypeBound === b.hasGenericTypeBound;
22033
22140
  }
22034
22141
 
22035
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/api.mjs
22142
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/api.mjs
22036
22143
  var PerfPhase;
22037
22144
  (function(PerfPhase2) {
22038
22145
  PerfPhase2[PerfPhase2["Unaccounted"] = 0] = "Unaccounted";
@@ -22099,7 +22206,7 @@ var PerfCheckpoint;
22099
22206
  PerfCheckpoint2[PerfCheckpoint2["LAST"] = 9] = "LAST";
22100
22207
  })(PerfCheckpoint || (PerfCheckpoint = {}));
22101
22208
 
22102
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/noop.mjs
22209
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/noop.mjs
22103
22210
  var NoopPerfRecorder = class {
22104
22211
  eventCount() {
22105
22212
  }
@@ -22116,7 +22223,7 @@ var NoopPerfRecorder = class {
22116
22223
  };
22117
22224
  var NOOP_PERF_RECORDER = new NoopPerfRecorder();
22118
22225
 
22119
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/clock.mjs
22226
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/clock.mjs
22120
22227
  function mark() {
22121
22228
  return process.hrtime();
22122
22229
  }
@@ -22125,7 +22232,7 @@ function timeSinceInMicros(mark2) {
22125
22232
  return delta[0] * 1e6 + Math.floor(delta[1] / 1e3);
22126
22233
  }
22127
22234
 
22128
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/recorder.mjs
22235
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/recorder.mjs
22129
22236
  var ActivePerfRecorder = class {
22130
22237
  static zeroedToNow() {
22131
22238
  return new ActivePerfRecorder(mark());
@@ -22219,14 +22326,14 @@ var DelegatingPerfRecorder = class {
22219
22326
  }
22220
22327
  };
22221
22328
 
22222
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
22329
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
22223
22330
  var ComponentScopeKind;
22224
22331
  (function(ComponentScopeKind2) {
22225
22332
  ComponentScopeKind2[ComponentScopeKind2["NgModule"] = 0] = "NgModule";
22226
22333
  ComponentScopeKind2[ComponentScopeKind2["Standalone"] = 1] = "Standalone";
22227
22334
  })(ComponentScopeKind || (ComponentScopeKind = {}));
22228
22335
 
22229
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
22336
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
22230
22337
  var CompoundComponentScopeReader = class {
22231
22338
  constructor(readers) {
22232
22339
  this.readers = readers;
@@ -22251,7 +22358,7 @@ var CompoundComponentScopeReader = class {
22251
22358
  }
22252
22359
  };
22253
22360
 
22254
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
22361
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
22255
22362
  var MetadataDtsModuleScopeResolver = class {
22256
22363
  constructor(dtsMetaReader, aliasingHost) {
22257
22364
  this.dtsMetaReader = dtsMetaReader;
@@ -22326,10 +22433,10 @@ var MetadataDtsModuleScopeResolver = class {
22326
22433
  }
22327
22434
  };
22328
22435
 
22329
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
22436
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
22330
22437
  var import_typescript33 = __toESM(require("typescript"), 1);
22331
22438
 
22332
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
22439
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
22333
22440
  function getDiagnosticNode(ref, rawExpr) {
22334
22441
  return rawExpr !== null ? ref.getOriginForDiagnostics(rawExpr) : ref.node.name;
22335
22442
  }
@@ -22352,7 +22459,7 @@ function makeUnknownComponentImportDiagnostic(ref, rawExpr) {
22352
22459
  return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, getDiagnosticNode(ref, rawExpr), `Component imports must be standalone components, directives, pipes, or must be NgModules.`);
22353
22460
  }
22354
22461
 
22355
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
22462
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
22356
22463
  var LocalModuleScopeRegistry = class {
22357
22464
  constructor(localReader, fullReader, dependencyScopeReader, refEmitter, aliasingHost) {
22358
22465
  this.localReader = localReader;
@@ -22691,7 +22798,7 @@ function reexportCollision(module3, refA, refB) {
22691
22798
  ]);
22692
22799
  }
22693
22800
 
22694
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
22801
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
22695
22802
  var import_typescript35 = __toESM(require("typescript"), 1);
22696
22803
  var TypeCheckScopeRegistry = class {
22697
22804
  constructor(scopeReader, metaReader, hostDirectivesResolver) {
@@ -22759,7 +22866,7 @@ var TypeCheckScopeRegistry = class {
22759
22866
  }
22760
22867
  };
22761
22868
 
22762
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
22869
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
22763
22870
  var CompilationMode;
22764
22871
  (function(CompilationMode2) {
22765
22872
  CompilationMode2[CompilationMode2["FULL"] = 0] = "FULL";
@@ -22777,7 +22884,7 @@ var HandlerFlags;
22777
22884
  HandlerFlags2[HandlerFlags2["FULL_INHERITANCE"] = 1] = "FULL_INHERITANCE";
22778
22885
  })(HandlerFlags || (HandlerFlags = {}));
22779
22886
 
22780
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
22887
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
22781
22888
  var import_typescript36 = __toESM(require("typescript"), 1);
22782
22889
  function aliasTransformFactory(exportStatements) {
22783
22890
  return () => {
@@ -22800,10 +22907,10 @@ function aliasTransformFactory(exportStatements) {
22800
22907
  };
22801
22908
  }
22802
22909
 
22803
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
22910
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
22804
22911
  var import_typescript37 = __toESM(require("typescript"), 1);
22805
22912
 
22806
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
22913
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
22807
22914
  var TraitState;
22808
22915
  (function(TraitState2) {
22809
22916
  TraitState2[TraitState2["Pending"] = 0] = "Pending";
@@ -22858,7 +22965,7 @@ var TraitImpl = class {
22858
22965
  }
22859
22966
  };
22860
22967
 
22861
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
22968
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
22862
22969
  var TraitCompiler = class {
22863
22970
  constructor(handlers, reflector, perf, incrementalBuild, compileNonExportedClasses, compilationMode, dtsTransforms, semanticDepGraphUpdater, sourceFileTypeIdentifier) {
22864
22971
  this.handlers = handlers;
@@ -23302,10 +23409,10 @@ function containsErrors(diagnostics) {
23302
23409
  return diagnostics !== null && diagnostics.some((diag) => diag.category === import_typescript37.default.DiagnosticCategory.Error);
23303
23410
  }
23304
23411
 
23305
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
23412
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
23306
23413
  var import_typescript43 = __toESM(require("typescript"), 1);
23307
23414
 
23308
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/context.mjs
23415
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/context.mjs
23309
23416
  var Context = class {
23310
23417
  constructor(isStatement) {
23311
23418
  this.isStatement = isStatement;
@@ -23318,7 +23425,7 @@ var Context = class {
23318
23425
  }
23319
23426
  };
23320
23427
 
23321
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/import_manager.mjs
23428
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/import_manager.mjs
23322
23429
  var import_typescript39 = __toESM(require("typescript"), 1);
23323
23430
  var ImportManager = class {
23324
23431
  constructor(rewriter = new NoopImportRewriter(), prefix = "i") {
@@ -23354,7 +23461,7 @@ var ImportManager = class {
23354
23461
  }
23355
23462
  };
23356
23463
 
23357
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/translator.mjs
23464
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/translator.mjs
23358
23465
  var UNARY_OPERATORS2 = /* @__PURE__ */ new Map([
23359
23466
  [UnaryOperator.Minus, "-"],
23360
23467
  [UnaryOperator.Plus, "+"]
@@ -23585,7 +23692,7 @@ function createRange(span) {
23585
23692
  };
23586
23693
  }
23587
23694
 
23588
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/type_translator.mjs
23695
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/type_translator.mjs
23589
23696
  var import_typescript40 = __toESM(require("typescript"), 1);
23590
23697
  function translateType(type, imports) {
23591
23698
  return type.visitType(new TypeTranslatorVisitor(imports), new Context(false));
@@ -23760,7 +23867,7 @@ var TypeTranslatorVisitor = class {
23760
23867
  }
23761
23868
  };
23762
23869
 
23763
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/typescript_ast_factory.mjs
23870
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/typescript_ast_factory.mjs
23764
23871
  var import_typescript41 = __toESM(require("typescript"), 1);
23765
23872
  var PureAnnotation;
23766
23873
  (function(PureAnnotation2) {
@@ -23943,7 +24050,7 @@ function attachComments(statement, leadingComments) {
23943
24050
  }
23944
24051
  }
23945
24052
 
23946
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/typescript_translator.mjs
24053
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/typescript_translator.mjs
23947
24054
  function translateExpression(expression, imports, options = {}) {
23948
24055
  return expression.visitExpression(new ExpressionTranslatorVisitor(new TypeScriptAstFactory(options.annotateForClosureCompiler === true), imports, options), new Context(false));
23949
24056
  }
@@ -23951,7 +24058,7 @@ function translateStatement(statement, imports, options = {}) {
23951
24058
  return statement.visitStatement(new ExpressionTranslatorVisitor(new TypeScriptAstFactory(options.annotateForClosureCompiler === true), imports, options), new Context(true));
23952
24059
  }
23953
24060
 
23954
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
24061
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
23955
24062
  var import_typescript42 = __toESM(require("typescript"), 1);
23956
24063
  function addImports(importManager, sf, extraStatements = []) {
23957
24064
  const addedImports = importManager.getAllImports(sf.fileName).map((i) => {
@@ -23987,7 +24094,7 @@ function isImportStatement(stmt) {
23987
24094
  return import_typescript42.default.isImportDeclaration(stmt) || import_typescript42.default.isImportEqualsDeclaration(stmt) || import_typescript42.default.isNamespaceImport(stmt);
23988
24095
  }
23989
24096
 
23990
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
24097
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
23991
24098
  var DtsTransformRegistry = class {
23992
24099
  constructor() {
23993
24100
  this.ivyDeclarationTransforms = /* @__PURE__ */ new Map();
@@ -24132,10 +24239,10 @@ function markForEmitAsSingleLine(node) {
24132
24239
  import_typescript43.default.forEachChild(node, markForEmitAsSingleLine);
24133
24240
  }
24134
24241
 
24135
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
24242
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
24136
24243
  var import_typescript45 = __toESM(require("typescript"), 1);
24137
24244
 
24138
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
24245
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
24139
24246
  var import_typescript44 = __toESM(require("typescript"), 1);
24140
24247
  function visit(node, visitor, context) {
24141
24248
  return visitor._visit(node, context);
@@ -24196,7 +24303,7 @@ var Visitor = class {
24196
24303
  }
24197
24304
  };
24198
24305
 
24199
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
24306
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
24200
24307
  var NO_DECORATORS = /* @__PURE__ */ new Set();
24201
24308
  var CLOSURE_FILE_OVERVIEW_REGEXP = /\s+@fileoverview\s+/i;
24202
24309
  function ivyTransformFactory(compilation, reflector, importRewriter, defaultImportTracker, perf, isCore, isClosureCompilerEnabled) {
@@ -24404,7 +24511,7 @@ function nodeArrayFromDecoratorsArray(decorators) {
24404
24511
  return array;
24405
24512
  }
24406
24513
 
24407
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
24514
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
24408
24515
  var import_typescript46 = __toESM(require("typescript"), 1);
24409
24516
  var EMPTY_OBJECT = {};
24410
24517
  var QUERY_TYPES = /* @__PURE__ */ new Set([
@@ -24432,10 +24539,12 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, refEmi
24432
24539
  const members = reflector.getMembersOfClass(clazz);
24433
24540
  const decoratedElements = members.filter((member) => !member.isStatic && member.decorators !== null);
24434
24541
  const coreModule = isCore ? void 0 : "@angular/core";
24435
- const inputsFromMeta = parseFieldToPropertyMapping(directive, "inputs", evaluator);
24436
- const inputsFromFields = parseDecoratedFields(filterToMembersWithDecorator(decoratedElements, "Input", coreModule), evaluator, resolveInput);
24437
- const outputsFromMeta = parseFieldToPropertyMapping(directive, "outputs", evaluator);
24438
- const outputsFromFields = parseDecoratedFields(filterToMembersWithDecorator(decoratedElements, "Output", coreModule), evaluator, resolveOutput);
24542
+ const inputsFromMeta = parseInputsArray2(directive, evaluator);
24543
+ const inputsFromFields = parseInputFields(filterToMembersWithDecorator(decoratedElements, "Input", coreModule), evaluator);
24544
+ const inputs = ClassPropertyMapping.fromMappedObject(__spreadValues(__spreadValues({}, inputsFromMeta), inputsFromFields));
24545
+ const outputsFromMeta = parseOutputsArray(directive, evaluator);
24546
+ const outputsFromFields = parseOutputFields(filterToMembersWithDecorator(decoratedElements, "Output", coreModule), evaluator);
24547
+ const outputs = ClassPropertyMapping.fromMappedObject(__spreadValues(__spreadValues({}, outputsFromMeta), outputsFromFields));
24439
24548
  const contentChildFromFields = queriesFromFields(filterToMembersWithDecorator(decoratedElements, "ContentChild", coreModule), reflector, evaluator);
24440
24549
  const contentChildrenFromFields = queriesFromFields(filterToMembersWithDecorator(decoratedElements, "ContentChildren", coreModule), reflector, evaluator);
24441
24550
  const queries = [...contentChildFromFields, ...contentChildrenFromFields];
@@ -24487,8 +24596,6 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, refEmi
24487
24596
  const sourceFile = clazz.getSourceFile();
24488
24597
  const type = wrapTypeReference(reflector, clazz);
24489
24598
  const internalType = new WrappedNodeExpr(reflector.getInternalNameOfClass(clazz));
24490
- const inputs = ClassPropertyMapping.fromMappedObject(__spreadValues(__spreadValues({}, inputsFromMeta), inputsFromFields));
24491
- const outputs = ClassPropertyMapping.fromMappedObject(__spreadValues(__spreadValues({}, outputsFromMeta), outputsFromFields));
24492
24599
  const rawHostDirectives = directive.get("hostDirectives") || null;
24493
24600
  const hostDirectives = rawHostDirectives === null ? null : extractHostDirectives(rawHostDirectives, evaluator);
24494
24601
  const metadata = {
@@ -24668,7 +24775,7 @@ function extractQueriesFromDecorator(queryData, reflector, evaluator, isCore) {
24668
24775
  });
24669
24776
  return { content, view };
24670
24777
  }
24671
- function parseFieldArrayValue(directive, field, evaluator) {
24778
+ function parseFieldStringArrayValue(directive, field, evaluator) {
24672
24779
  if (!directive.has(field)) {
24673
24780
  return null;
24674
24781
  }
@@ -24708,44 +24815,98 @@ function queriesFromFields(fields, reflector, evaluator) {
24708
24815
  function isPropertyTypeMember(member) {
24709
24816
  return member.kind === ClassMemberKind.Getter || member.kind === ClassMemberKind.Setter || member.kind === ClassMemberKind.Property;
24710
24817
  }
24711
- function parseFieldToPropertyMapping(directive, field, evaluator) {
24712
- const metaValues = parseFieldArrayValue(directive, field, evaluator);
24713
- return metaValues ? parseInputOutputMappingArray(metaValues) : EMPTY_OBJECT;
24714
- }
24715
- function parseInputOutputMappingArray(values) {
24818
+ function parseMappingStringArray2(values) {
24716
24819
  return values.reduce((results, value) => {
24717
24820
  if (typeof value !== "string") {
24718
24821
  throw new Error("Mapping value must be a string");
24719
24822
  }
24720
- const [field, property] = value.split(":", 2).map((str) => str.trim());
24721
- results[field] = property || field;
24823
+ const [bindingPropertyName, fieldName] = parseMappingString2(value);
24824
+ results[fieldName] = bindingPropertyName;
24722
24825
  return results;
24723
24826
  }, {});
24724
24827
  }
24725
- function parseDecoratedFields(fields, evaluator, mapValueResolver) {
24726
- return fields.reduce((results, field) => {
24828
+ function parseMappingString2(value) {
24829
+ const [fieldName, bindingPropertyName] = value.split(":", 2).map((str) => str.trim());
24830
+ return [bindingPropertyName != null ? bindingPropertyName : fieldName, fieldName];
24831
+ }
24832
+ function parseDecoratedFields(fields, evaluator, callback) {
24833
+ for (const field of fields) {
24727
24834
  const fieldName = field.member.name;
24728
- field.decorators.forEach((decorator) => {
24729
- if (decorator.args == null || decorator.args.length === 0) {
24730
- results[fieldName] = fieldName;
24731
- } else if (decorator.args.length === 1) {
24732
- const property = evaluator.evaluate(decorator.args[0]);
24733
- if (typeof property !== "string") {
24734
- throw createValueHasWrongTypeError(Decorator.nodeForError(decorator), property, `@${decorator.name} decorator argument must resolve to a string`);
24735
- }
24736
- results[fieldName] = mapValueResolver(property, fieldName);
24737
- } else {
24835
+ for (const decorator of field.decorators) {
24836
+ if (decorator.args != null && decorator.args.length > 1) {
24738
24837
  throw new FatalDiagnosticError(ErrorCode.DECORATOR_ARITY_WRONG, Decorator.nodeForError(decorator), `@${decorator.name} can have at most one argument, got ${decorator.args.length} argument(s)`);
24739
24838
  }
24740
- });
24741
- return results;
24742
- }, {});
24839
+ const value = decorator.args != null && decorator.args.length > 0 ? evaluator.evaluate(decorator.args[0]) : null;
24840
+ callback(fieldName, value, decorator);
24841
+ }
24842
+ }
24743
24843
  }
24744
- function resolveInput(publicName, internalName) {
24745
- return [publicName, internalName];
24844
+ function parseInputsArray2(decoratorMetadata, evaluator) {
24845
+ const inputsField = decoratorMetadata.get("inputs");
24846
+ if (inputsField === void 0) {
24847
+ return {};
24848
+ }
24849
+ const inputs = {};
24850
+ const inputsArray = evaluator.evaluate(inputsField);
24851
+ if (!Array.isArray(inputsArray)) {
24852
+ throw createValueHasWrongTypeError(inputsField, inputsArray, `Failed to resolve @Directive.inputs to an array`);
24853
+ }
24854
+ for (let i = 0; i < inputsArray.length; i++) {
24855
+ const value = inputsArray[i];
24856
+ if (typeof value === "string") {
24857
+ const [bindingPropertyName, classPropertyName] = parseMappingString2(value);
24858
+ inputs[classPropertyName] = { bindingPropertyName, classPropertyName, required: false };
24859
+ } else if (value instanceof Map) {
24860
+ const name = value.get("name");
24861
+ const alias = value.get("alias");
24862
+ const required = value.get("required");
24863
+ if (typeof name !== "string") {
24864
+ throw createValueHasWrongTypeError(inputsField, name, `Value at position ${i} of @Directive.inputs array must have a "name" property`);
24865
+ }
24866
+ inputs[name] = {
24867
+ classPropertyName: name,
24868
+ bindingPropertyName: typeof alias === "string" ? alias : name,
24869
+ required: required === true
24870
+ };
24871
+ } else {
24872
+ throw createValueHasWrongTypeError(inputsField, value, `@Directive.inputs array can only contain strings or object literals`);
24873
+ }
24874
+ }
24875
+ return inputs;
24876
+ }
24877
+ function parseInputFields(inputMembers, evaluator) {
24878
+ const inputs = {};
24879
+ parseDecoratedFields(inputMembers, evaluator, (classPropertyName, options, decorator) => {
24880
+ let bindingPropertyName;
24881
+ let required = false;
24882
+ if (options === null) {
24883
+ bindingPropertyName = classPropertyName;
24884
+ } else if (typeof options === "string") {
24885
+ bindingPropertyName = options;
24886
+ } else if (options instanceof Map) {
24887
+ const aliasInConfig = options.get("alias");
24888
+ bindingPropertyName = typeof aliasInConfig === "string" ? aliasInConfig : classPropertyName;
24889
+ required = options.get("required") === true;
24890
+ } else {
24891
+ throw createValueHasWrongTypeError(Decorator.nodeForError(decorator), options, `@${decorator.name} decorator argument must resolve to a string or an object literal`);
24892
+ }
24893
+ inputs[classPropertyName] = { bindingPropertyName, classPropertyName, required };
24894
+ });
24895
+ return inputs;
24746
24896
  }
24747
- function resolveOutput(publicName, internalName) {
24748
- return publicName;
24897
+ function parseOutputsArray(directive, evaluator) {
24898
+ const metaValues = parseFieldStringArrayValue(directive, "outputs", evaluator);
24899
+ return metaValues ? parseMappingStringArray2(metaValues) : EMPTY_OBJECT;
24900
+ }
24901
+ function parseOutputFields(outputMembers, evaluator) {
24902
+ const outputs = {};
24903
+ parseDecoratedFields(outputMembers, evaluator, (fieldName, bindingPropertyName, decorator) => {
24904
+ if (bindingPropertyName != null && typeof bindingPropertyName !== "string") {
24905
+ throw createValueHasWrongTypeError(Decorator.nodeForError(decorator), bindingPropertyName, `@${decorator.name} decorator argument must resolve to a string`);
24906
+ }
24907
+ outputs[fieldName] = bindingPropertyName != null ? bindingPropertyName : fieldName;
24908
+ });
24909
+ return outputs;
24749
24910
  }
24750
24911
  function evaluateHostExpressionBindings(hostExpr, evaluator) {
24751
24912
  const hostMetaMap = evaluator.evaluate(hostExpr);
@@ -24806,7 +24967,7 @@ function parseHostDirectivesMapping(field, resolvedValue, classReference, source
24806
24967
  const nameForErrors = `@Directive.hostDirectives.${classReference.name.text}.${field}`;
24807
24968
  const rawInputs = resolvedValue.get(field);
24808
24969
  if (isStringArrayOrDie(rawInputs, nameForErrors, sourceExpression)) {
24809
- return parseInputOutputMappingArray(rawInputs);
24970
+ return parseMappingStringArray2(rawInputs);
24810
24971
  }
24811
24972
  }
24812
24973
  return null;
@@ -24820,7 +24981,7 @@ function toHostDirectiveMetadata(hostDirective, context, refEmitter) {
24820
24981
  };
24821
24982
  }
24822
24983
 
24823
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
24984
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
24824
24985
  var DirectiveSymbol = class extends SemanticSymbol {
24825
24986
  constructor(decl, selector, inputs, outputs, exportAs, typeCheckMeta, typeParameters) {
24826
24987
  super(decl);
@@ -24845,7 +25006,7 @@ var DirectiveSymbol = class extends SemanticSymbol {
24845
25006
  if (!(previousSymbol instanceof DirectiveSymbol)) {
24846
25007
  return true;
24847
25008
  }
24848
- if (!isArrayEqual(Array.from(this.inputs), Array.from(previousSymbol.inputs), isInputMappingEqual) || !isArrayEqual(Array.from(this.outputs), Array.from(previousSymbol.outputs), isInputMappingEqual)) {
25009
+ if (!isArrayEqual(Array.from(this.inputs), Array.from(previousSymbol.inputs), isInputMappingEqual) || !isArrayEqual(Array.from(this.outputs), Array.from(previousSymbol.outputs), isInputOrOutputEqual)) {
24849
25010
  return true;
24850
25011
  }
24851
25012
  if (!areTypeParametersEqual(this.typeParameters, previousSymbol.typeParameters)) {
@@ -24861,7 +25022,10 @@ var DirectiveSymbol = class extends SemanticSymbol {
24861
25022
  }
24862
25023
  };
24863
25024
  function isInputMappingEqual(current, previous) {
24864
- return current[0] === previous[0] && current[1] === previous[1];
25025
+ return isInputOrOutputEqual(current, previous) && current.required === previous.required;
25026
+ }
25027
+ function isInputOrOutputEqual(current, previous) {
25028
+ return current.classPropertyName === previous.classPropertyName && current.bindingPropertyName === previous.bindingPropertyName;
24865
25029
  }
24866
25030
  function isTypeCheckMetaEqual(current, previous) {
24867
25031
  if (current.hasNgTemplateContextGuard !== previous.hasNgTemplateContextGuard) {
@@ -24897,7 +25061,7 @@ function isBaseClassEqual(current, previous) {
24897
25061
  return isSymbolEqual(current, previous);
24898
25062
  }
24899
25063
 
24900
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
25064
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
24901
25065
  var FIELD_DECORATORS = [
24902
25066
  "Input",
24903
25067
  "Output",
@@ -25056,10 +25220,10 @@ var DirectiveDecoratorHandler = class {
25056
25220
  }
25057
25221
  };
25058
25222
 
25059
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
25223
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
25060
25224
  var import_typescript48 = __toESM(require("typescript"), 1);
25061
25225
 
25062
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
25226
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
25063
25227
  var import_typescript47 = __toESM(require("typescript"), 1);
25064
25228
  function createModuleWithProvidersResolver(reflector, isCore) {
25065
25229
  function _reflectModuleFromTypeParam(type, node) {
@@ -25126,7 +25290,7 @@ function isResolvedModuleWithProviders(sv) {
25126
25290
  return typeof sv.value === "object" && sv.value != null && sv.value.hasOwnProperty("ngModule") && sv.value.hasOwnProperty("mwpCall");
25127
25291
  }
25128
25292
 
25129
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
25293
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
25130
25294
  var NgModuleSymbol = class extends SemanticSymbol {
25131
25295
  constructor() {
25132
25296
  super(...arguments);
@@ -25622,7 +25786,7 @@ function isSyntheticReference(ref) {
25622
25786
  return ref.synthetic;
25623
25787
  }
25624
25788
 
25625
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
25789
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
25626
25790
  function makeCyclicImportInfo(ref, type, cycle) {
25627
25791
  const name = ref.debugName || "(unknown)";
25628
25792
  const path3 = cycle.getPath().map((sf) => sf.fileName).join(" -> ");
@@ -25645,7 +25809,7 @@ function checkCustomElementSelectorForErrors(selector) {
25645
25809
  return null;
25646
25810
  }
25647
25811
 
25648
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
25812
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
25649
25813
  var import_typescript50 = __toESM(require("typescript"), 1);
25650
25814
  function getTemplateDeclarationNodeForError(declaration) {
25651
25815
  switch (declaration.isInline) {
@@ -25960,7 +26124,7 @@ function _extractTemplateStyleUrls(template) {
25960
26124
  return template.styleUrls.map((url) => ({ url, source: 1, nodeForError }));
25961
26125
  }
25962
26126
 
25963
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
26127
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
25964
26128
  var ComponentSymbol = class extends DirectiveSymbol {
25965
26129
  constructor() {
25966
26130
  super(...arguments);
@@ -25995,7 +26159,7 @@ var ComponentSymbol = class extends DirectiveSymbol {
25995
26159
  }
25996
26160
  };
25997
26161
 
25998
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
26162
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
25999
26163
  function collectAnimationNames(value, animationTriggerNames) {
26000
26164
  if (value instanceof Map) {
26001
26165
  const name = value.get("name");
@@ -26071,7 +26235,7 @@ function isLikelyModuleWithProviders(value) {
26071
26235
  return false;
26072
26236
  }
26073
26237
 
26074
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
26238
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
26075
26239
  var EMPTY_ARRAY2 = [];
26076
26240
  var ComponentDecoratorHandler = class {
26077
26241
  constructor(reflector, evaluator, metaRegistry, metaReader, scopeReader, dtsScopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, resourceLoader, rootDirs, defaultPreserveWhitespaces, i18nUseExternalIds, enableI18nLegacyMessageIdFormat, usePoisonedData, i18nNormalizeLineEndingsInICUs, moduleResolver, cycleAnalyzer, cycleHandlingStrategy, refEmitter, depTracker, injectableRegistry, semanticDepGraphUpdater, annotateForClosureCompiler, perf, hostDirectivesResolver) {
@@ -26154,7 +26318,7 @@ var ComponentDecoratorHandler = class {
26154
26318
  const componentStyleUrls = extractComponentStyleUrls(this.evaluator, component);
26155
26319
  let inlineStyles;
26156
26320
  if (component.has("styles")) {
26157
- const litStyles = parseFieldArrayValue(component, "styles", this.evaluator);
26321
+ const litStyles = parseFieldStringArrayValue(component, "styles", this.evaluator);
26158
26322
  if (litStyles === null) {
26159
26323
  this.preanalyzeStylesCache.set(node, null);
26160
26324
  } else {
@@ -26313,7 +26477,7 @@ var ComponentDecoratorHandler = class {
26313
26477
  throw new Error("Inline resource processing requires asynchronous preanalyze.");
26314
26478
  }
26315
26479
  if (component.has("styles")) {
26316
- const litStyles = parseFieldArrayValue(component, "styles", this.evaluator);
26480
+ const litStyles = parseFieldStringArrayValue(component, "styles", this.evaluator);
26317
26481
  if (litStyles !== null) {
26318
26482
  inlineStyles = [...litStyles];
26319
26483
  styles.push(...litStyles);
@@ -26717,7 +26881,7 @@ function validateStandaloneImports(importRefs, importExpr2, metaReader, scopeRea
26717
26881
  return diagnostics;
26718
26882
  }
26719
26883
 
26720
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
26884
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
26721
26885
  var import_typescript53 = __toESM(require("typescript"), 1);
26722
26886
  var InjectableDecoratorHandler = class {
26723
26887
  constructor(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, perf, errorOnDuplicateProv = true) {
@@ -26933,7 +27097,7 @@ function getDep(dep, reflector) {
26933
27097
  return meta;
26934
27098
  }
26935
27099
 
26936
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
27100
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
26937
27101
  var import_typescript54 = __toESM(require("typescript"), 1);
26938
27102
  var PipeSymbol = class extends SemanticSymbol {
26939
27103
  constructor(decl, name) {
@@ -27078,7 +27242,7 @@ var PipeDecoratorHandler = class {
27078
27242
  }
27079
27243
  };
27080
27244
 
27081
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
27245
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
27082
27246
  var CycleAnalyzer = class {
27083
27247
  constructor(importGraph) {
27084
27248
  this.importGraph = importGraph;
@@ -27149,7 +27313,7 @@ var Cycle = class {
27149
27313
  }
27150
27314
  };
27151
27315
 
27152
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
27316
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
27153
27317
  var import_typescript55 = __toESM(require("typescript"), 1);
27154
27318
  var ImportGraph = class {
27155
27319
  constructor(checker, perf) {
@@ -27241,7 +27405,7 @@ var Found = class {
27241
27405
  }
27242
27406
  };
27243
27407
 
27244
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
27408
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
27245
27409
  var import_typescript56 = __toESM(require("typescript"), 1);
27246
27410
  var FlatIndexGenerator = class {
27247
27411
  constructor(entryPoint, relativeFlatIndexPath, moduleName) {
@@ -27266,7 +27430,7 @@ export * from '${relativeEntryPoint}';
27266
27430
  }
27267
27431
  };
27268
27432
 
27269
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
27433
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
27270
27434
  function findFlatIndexEntryPoint(rootFiles) {
27271
27435
  const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
27272
27436
  let resolvedEntryPoint = null;
@@ -27282,7 +27446,7 @@ function findFlatIndexEntryPoint(rootFiles) {
27282
27446
  return resolvedEntryPoint;
27283
27447
  }
27284
27448
 
27285
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
27449
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
27286
27450
  var import_typescript58 = __toESM(require("typescript"), 1);
27287
27451
  function checkForPrivateExports(entryPoint, checker, refGraph) {
27288
27452
  const diagnostics = [];
@@ -27362,7 +27526,7 @@ function getDescriptorOfDeclaration(decl) {
27362
27526
  }
27363
27527
  }
27364
27528
 
27365
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
27529
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
27366
27530
  var ReferenceGraph = class {
27367
27531
  constructor() {
27368
27532
  this.references = /* @__PURE__ */ new Map();
@@ -27416,7 +27580,7 @@ var ReferenceGraph = class {
27416
27580
  }
27417
27581
  };
27418
27582
 
27419
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
27583
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
27420
27584
  var NgOriginalFile = Symbol("NgOriginalFile");
27421
27585
  var UpdateMode;
27422
27586
  (function(UpdateMode2) {
@@ -27424,13 +27588,13 @@ var UpdateMode;
27424
27588
  UpdateMode2[UpdateMode2["Incremental"] = 1] = "Incremental";
27425
27589
  })(UpdateMode || (UpdateMode = {}));
27426
27590
 
27427
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
27591
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
27428
27592
  var import_typescript62 = __toESM(require("typescript"), 1);
27429
27593
 
27430
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
27594
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
27431
27595
  var import_typescript59 = __toESM(require("typescript"), 1);
27432
27596
 
27433
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
27597
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
27434
27598
  var NgExtension = Symbol("NgExtension");
27435
27599
  function isExtended(sf) {
27436
27600
  return sf[NgExtension] !== void 0;
@@ -27490,13 +27654,13 @@ function retagTsFile(sf) {
27490
27654
  }
27491
27655
  }
27492
27656
 
27493
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
27657
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
27494
27658
  var TS_EXTENSIONS = /\.tsx?$/i;
27495
27659
  function makeShimFileName(fileName, suffix) {
27496
27660
  return absoluteFrom(fileName.replace(TS_EXTENSIONS, suffix));
27497
27661
  }
27498
27662
 
27499
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
27663
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
27500
27664
  var ShimAdapter = class {
27501
27665
  constructor(delegate, tsRootFiles, topLevelGenerators, perFileGenerators, oldProgram) {
27502
27666
  this.delegate = delegate;
@@ -27591,7 +27755,7 @@ var ShimAdapter = class {
27591
27755
  }
27592
27756
  };
27593
27757
 
27594
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
27758
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
27595
27759
  var ShimReferenceTagger = class {
27596
27760
  constructor(shimExtensions) {
27597
27761
  this.tagged = /* @__PURE__ */ new Set();
@@ -27625,7 +27789,7 @@ var ShimReferenceTagger = class {
27625
27789
  }
27626
27790
  };
27627
27791
 
27628
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
27792
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
27629
27793
  var DelegatingCompilerHost = class {
27630
27794
  constructor(delegate) {
27631
27795
  this.delegate = delegate;
@@ -27738,7 +27902,7 @@ var TsCreateProgramDriver = class {
27738
27902
  }
27739
27903
  };
27740
27904
 
27741
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
27905
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
27742
27906
  var FileDependencyGraph = class {
27743
27907
  constructor() {
27744
27908
  this.nodes = /* @__PURE__ */ new Map();
@@ -27805,7 +27969,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
27805
27969
  return false;
27806
27970
  }
27807
27971
 
27808
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
27972
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
27809
27973
  var IncrementalStateKind;
27810
27974
  (function(IncrementalStateKind2) {
27811
27975
  IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
@@ -27813,7 +27977,7 @@ var IncrementalStateKind;
27813
27977
  IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
27814
27978
  })(IncrementalStateKind || (IncrementalStateKind = {}));
27815
27979
 
27816
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
27980
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
27817
27981
  var PhaseKind;
27818
27982
  (function(PhaseKind2) {
27819
27983
  PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
@@ -28014,7 +28178,7 @@ function toOriginalSourceFile(sf) {
28014
28178
  }
28015
28179
  }
28016
28180
 
28017
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
28181
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
28018
28182
  var TrackedIncrementalBuildStrategy = class {
28019
28183
  constructor() {
28020
28184
  this.state = null;
@@ -28035,7 +28199,7 @@ var TrackedIncrementalBuildStrategy = class {
28035
28199
  };
28036
28200
  var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
28037
28201
 
28038
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
28202
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
28039
28203
  var IdentifierKind;
28040
28204
  (function(IdentifierKind2) {
28041
28205
  IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
@@ -28053,7 +28217,7 @@ var AbsoluteSourceSpan2 = class {
28053
28217
  }
28054
28218
  };
28055
28219
 
28056
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
28220
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
28057
28221
  var IndexingContext = class {
28058
28222
  constructor() {
28059
28223
  this.components = /* @__PURE__ */ new Set();
@@ -28063,7 +28227,7 @@ var IndexingContext = class {
28063
28227
  }
28064
28228
  };
28065
28229
 
28066
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
28230
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
28067
28231
  var ExpressionVisitor = class extends RecursiveAstVisitor {
28068
28232
  constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
28069
28233
  super();
@@ -28299,7 +28463,7 @@ function getTemplateIdentifiers(boundTemplate) {
28299
28463
  return { identifiers: visitor.identifiers, errors: visitor.errors };
28300
28464
  }
28301
28465
 
28302
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
28466
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
28303
28467
  function generateAnalysis(context) {
28304
28468
  const analysis = /* @__PURE__ */ new Map();
28305
28469
  context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
@@ -28335,7 +28499,7 @@ function generateAnalysis(context) {
28335
28499
  return analysis;
28336
28500
  }
28337
28501
 
28338
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
28502
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
28339
28503
  var NgModuleIndexImpl = class {
28340
28504
  constructor(metaReader, localReader) {
28341
28505
  this.metaReader = metaReader;
@@ -28424,7 +28588,7 @@ var NgModuleIndexImpl = class {
28424
28588
  }
28425
28589
  };
28426
28590
 
28427
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
28591
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
28428
28592
  var import_typescript65 = __toESM(require("typescript"), 1);
28429
28593
  var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
28430
28594
  var RESOURCE_MARKER = ".$ngresource$";
@@ -28572,7 +28736,7 @@ function createLookupResolutionHost(adapter) {
28572
28736
  };
28573
28737
  }
28574
28738
 
28575
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
28739
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
28576
28740
  var StandaloneComponentScopeReader = class {
28577
28741
  constructor(metaReader, localModuleReader, dtsModuleReader) {
28578
28742
  this.metaReader = metaReader;
@@ -28650,21 +28814,21 @@ var StandaloneComponentScopeReader = class {
28650
28814
  }
28651
28815
  };
28652
28816
 
28653
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/checker.mjs
28817
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/checker.mjs
28654
28818
  var OptimizeFor;
28655
28819
  (function(OptimizeFor2) {
28656
28820
  OptimizeFor2[OptimizeFor2["SingleFile"] = 0] = "SingleFile";
28657
28821
  OptimizeFor2[OptimizeFor2["WholeProgram"] = 1] = "WholeProgram";
28658
28822
  })(OptimizeFor || (OptimizeFor = {}));
28659
28823
 
28660
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/completion.mjs
28824
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/completion.mjs
28661
28825
  var CompletionKind;
28662
28826
  (function(CompletionKind2) {
28663
28827
  CompletionKind2[CompletionKind2["Reference"] = 0] = "Reference";
28664
28828
  CompletionKind2[CompletionKind2["Variable"] = 1] = "Variable";
28665
28829
  })(CompletionKind || (CompletionKind = {}));
28666
28830
 
28667
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/scope.mjs
28831
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/scope.mjs
28668
28832
  var PotentialImportKind;
28669
28833
  (function(PotentialImportKind2) {
28670
28834
  PotentialImportKind2[PotentialImportKind2["NgModule"] = 0] = "NgModule";
@@ -28676,7 +28840,7 @@ var PotentialImportMode;
28676
28840
  PotentialImportMode2[PotentialImportMode2["ForceDirect"] = 1] = "ForceDirect";
28677
28841
  })(PotentialImportMode || (PotentialImportMode = {}));
28678
28842
 
28679
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/symbols.mjs
28843
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/symbols.mjs
28680
28844
  var SymbolKind;
28681
28845
  (function(SymbolKind2) {
28682
28846
  SymbolKind2[SymbolKind2["Input"] = 0] = "Input";
@@ -28692,7 +28856,7 @@ var SymbolKind;
28692
28856
  SymbolKind2[SymbolKind2["Pipe"] = 10] = "Pipe";
28693
28857
  })(SymbolKind || (SymbolKind = {}));
28694
28858
 
28695
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
28859
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
28696
28860
  var import_typescript66 = __toESM(require("typescript"), 1);
28697
28861
  function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessages) {
28698
28862
  var _a;
@@ -28799,7 +28963,7 @@ function parseTemplateAsSourceFile(fileName, template) {
28799
28963
  return import_typescript66.default.createSourceFile(fileName, template, import_typescript66.default.ScriptTarget.Latest, false, import_typescript66.default.ScriptKind.JSX);
28800
28964
  }
28801
28965
 
28802
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
28966
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
28803
28967
  var TEMPLATE_ID = Symbol("ngTemplateId");
28804
28968
  var NEXT_TEMPLATE_ID = Symbol("ngNextTemplateId");
28805
28969
  function getTemplateId(clazz) {
@@ -28816,10 +28980,10 @@ function allocateTemplateId(sf) {
28816
28980
  return `tcb${sf[NEXT_TEMPLATE_ID]++}`;
28817
28981
  }
28818
28982
 
28819
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
28983
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
28820
28984
  var import_typescript68 = __toESM(require("typescript"), 1);
28821
28985
 
28822
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
28986
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
28823
28987
  var import_typescript67 = __toESM(require("typescript"), 1);
28824
28988
  var parseSpanComment = /^(\d+),(\d+)$/;
28825
28989
  function readSpanComment(node, sourceFile = node.getSourceFile()) {
@@ -28948,7 +29112,7 @@ function hasExpressionIdentifier(sourceFile, node, identifier) {
28948
29112
  }) || false;
28949
29113
  }
28950
29114
 
28951
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
29115
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
28952
29116
  var CompletionEngine = class {
28953
29117
  constructor(tcb, data, tcbPath, tcbIsShim) {
28954
29118
  this.tcb = tcb;
@@ -29105,10 +29269,10 @@ var CompletionEngine = class {
29105
29269
  }
29106
29270
  };
29107
29271
 
29108
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
29272
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
29109
29273
  var import_typescript83 = __toESM(require("typescript"), 1);
29110
29274
 
29111
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
29275
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
29112
29276
  var import_typescript69 = __toESM(require("typescript"), 1);
29113
29277
  var REGISTRY = new DomElementSchemaRegistry();
29114
29278
  var REMOVE_XHTML_REGEX = /^:xhtml:/;
@@ -29160,10 +29324,10 @@ var RegistryDomSchemaChecker = class {
29160
29324
  }
29161
29325
  };
29162
29326
 
29163
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
29327
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
29164
29328
  var import_typescript76 = __toESM(require("typescript"), 1);
29165
29329
 
29166
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
29330
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
29167
29331
  var import_typescript70 = __toESM(require("typescript"), 1);
29168
29332
  var SAFE_TO_CAST_WITHOUT_PARENS = /* @__PURE__ */ new Set([
29169
29333
  import_typescript70.default.SyntaxKind.ParenthesizedExpression,
@@ -29237,16 +29401,16 @@ function isAccessExpression(node) {
29237
29401
  return import_typescript70.default.isPropertyAccessExpression(node) || import_typescript70.default.isElementAccessExpression(node);
29238
29402
  }
29239
29403
 
29240
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
29404
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
29241
29405
  var import_typescript75 = __toESM(require("typescript"), 1);
29242
29406
 
29243
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
29407
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
29244
29408
  var import_typescript73 = __toESM(require("typescript"), 1);
29245
29409
 
29246
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
29410
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
29247
29411
  var import_typescript72 = __toESM(require("typescript"), 1);
29248
29412
 
29249
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_emitter.mjs
29413
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_emitter.mjs
29250
29414
  var import_typescript71 = __toESM(require("typescript"), 1);
29251
29415
  var INELIGIBLE = {};
29252
29416
  function canEmitType(type, canEmit) {
@@ -29321,7 +29485,7 @@ var TypeEmitter = class {
29321
29485
  }
29322
29486
  };
29323
29487
 
29324
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
29488
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
29325
29489
  var TypeParameterEmitter = class {
29326
29490
  constructor(typeParameters, reflector) {
29327
29491
  this.typeParameters = typeParameters;
@@ -29398,7 +29562,7 @@ var TypeParameterEmitter = class {
29398
29562
  }
29399
29563
  };
29400
29564
 
29401
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
29565
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
29402
29566
  var TcbInliningRequirement;
29403
29567
  (function(TcbInliningRequirement2) {
29404
29568
  TcbInliningRequirement2[TcbInliningRequirement2["MustInline"] = 0] = "MustInline";
@@ -29478,7 +29642,7 @@ function checkIfGenericTypeBoundsCanBeEmitted(node, reflector, env) {
29478
29642
  return emitter.canEmit((ref) => env.canReferenceType(ref));
29479
29643
  }
29480
29644
 
29481
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
29645
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
29482
29646
  function generateTypeCtorDeclarationFn(node, meta, nodeTypeRef, typeParams) {
29483
29647
  const rawTypeArgs = typeParams !== void 0 ? generateGenericArgs(typeParams) : void 0;
29484
29648
  const rawType = import_typescript75.default.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
@@ -29590,7 +29754,7 @@ function typeParametersWithDefaultTypes(params) {
29590
29754
  });
29591
29755
  }
29592
29756
 
29593
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
29757
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
29594
29758
  var Environment = class {
29595
29759
  constructor(config, importManager, refEmitter, reflector, contextFile) {
29596
29760
  this.config = config;
@@ -29682,7 +29846,7 @@ var Environment = class {
29682
29846
  }
29683
29847
  };
29684
29848
 
29685
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
29849
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
29686
29850
  var import_typescript77 = __toESM(require("typescript"), 1);
29687
29851
  var OutOfBandDiagnosticRecorderImpl = class {
29688
29852
  constructor(resolver) {
@@ -29805,6 +29969,10 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
29805
29969
  }
29806
29970
  this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan, import_typescript77.default.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SPLIT_TWO_WAY_BINDING), errorMsg, relatedMessages));
29807
29971
  }
29972
+ missingRequiredInputs(templateId, element, directiveName, isComponent, inputAliases) {
29973
+ const message = `Required input${inputAliases.length === 1 ? "" : "s"} ${inputAliases.map((n) => `'${n}'`).join(", ")} from ${isComponent ? "component" : "directive"} ${directiveName} must be specified.`;
29974
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), element.startSourceSpan, import_typescript77.default.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REQUIRED_INPUTS), message));
29975
+ }
29808
29976
  };
29809
29977
  function makeInlineDiagnostic(templateId, code, node, messageText, relatedInformation) {
29810
29978
  return __spreadProps(__spreadValues({}, makeDiagnostic(code, node, messageText, relatedInformation)), {
@@ -29813,7 +29981,7 @@ function makeInlineDiagnostic(templateId, code, node, messageText, relatedInform
29813
29981
  });
29814
29982
  }
29815
29983
 
29816
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
29984
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
29817
29985
  var import_typescript78 = __toESM(require("typescript"), 1);
29818
29986
  var TypeCheckShimGenerator = class {
29819
29987
  constructor() {
@@ -29831,10 +29999,10 @@ var TypeCheckShimGenerator = class {
29831
29999
  }
29832
30000
  };
29833
30001
 
29834
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
30002
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
29835
30003
  var import_typescript81 = __toESM(require("typescript"), 1);
29836
30004
 
29837
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
30005
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
29838
30006
  var import_typescript79 = __toESM(require("typescript"), 1);
29839
30007
  function wrapForDiagnostics(expr) {
29840
30008
  return import_typescript79.default.factory.createParenthesizedExpression(expr);
@@ -29879,7 +30047,7 @@ function translateDiagnostic(diagnostic, resolver) {
29879
30047
  return makeTemplateDiagnostic(sourceLocation.id, templateSourceMapping, span, diagnostic.category, diagnostic.code, diagnostic.messageText);
29880
30048
  }
29881
30049
 
29882
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
30050
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
29883
30051
  var import_typescript80 = __toESM(require("typescript"), 1);
29884
30052
  var NULL_AS_ANY = import_typescript80.default.factory.createAsExpression(import_typescript80.default.factory.createNull(), import_typescript80.default.factory.createKeywordTypeNode(import_typescript80.default.SyntaxKind.AnyKeyword));
29885
30053
  var UNDEFINED = import_typescript80.default.factory.createIdentifier("undefined");
@@ -30208,7 +30376,7 @@ var VeSafeLhsInferenceBugDetector = class {
30208
30376
  };
30209
30377
  VeSafeLhsInferenceBugDetector.SINGLETON = new VeSafeLhsInferenceBugDetector();
30210
30378
 
30211
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
30379
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
30212
30380
  var ExpressionSemanticVisitor = class extends RecursiveAstVisitor {
30213
30381
  constructor(templateId, boundTarget, oob) {
30214
30382
  super();
@@ -30231,7 +30399,7 @@ var ExpressionSemanticVisitor = class extends RecursiveAstVisitor {
30231
30399
  }
30232
30400
  };
30233
30401
 
30234
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
30402
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
30235
30403
  var TcbGenericContextBehavior;
30236
30404
  (function(TcbGenericContextBehavior2) {
30237
30405
  TcbGenericContextBehavior2[TcbGenericContextBehavior2["UseEmitter"] = 0] = "UseEmitter";
@@ -30535,27 +30703,22 @@ var TcbDirectiveCtorOp = class extends TcbOp {
30535
30703
  addExpressionIdentifier(id, ExpressionIdentifier.DIRECTIVE);
30536
30704
  addParseSpanInfo(id, this.node.startSourceSpan || this.node.sourceSpan);
30537
30705
  const genericInputs = /* @__PURE__ */ new Map();
30538
- const inputs = getBoundInputs(this.dir, this.node, this.tcb);
30539
- for (const input of inputs) {
30540
- if (!this.tcb.env.config.checkTypeOfAttributes && input.attribute instanceof TextAttribute) {
30706
+ const boundAttrs = getBoundAttributes(this.dir, this.node);
30707
+ for (const attr of boundAttrs) {
30708
+ if (!this.tcb.env.config.checkTypeOfAttributes && attr.attribute instanceof TextAttribute) {
30541
30709
  continue;
30542
30710
  }
30543
- for (const fieldName of input.fieldNames) {
30711
+ for (const { fieldName } of attr.inputs) {
30544
30712
  if (genericInputs.has(fieldName)) {
30545
30713
  continue;
30546
30714
  }
30547
- const expression = translateInput(input.attribute, this.tcb, this.scope);
30548
- genericInputs.set(fieldName, {
30549
- type: "binding",
30550
- field: fieldName,
30551
- expression,
30552
- sourceSpan: input.attribute.sourceSpan
30553
- });
30715
+ const expression = translateInput(attr.attribute, this.tcb, this.scope);
30716
+ genericInputs.set(fieldName, { type: "binding", field: fieldName, expression, sourceSpan: attr.attribute.sourceSpan });
30554
30717
  }
30555
30718
  }
30556
- for (const [fieldName] of this.dir.inputs) {
30557
- if (!genericInputs.has(fieldName)) {
30558
- genericInputs.set(fieldName, { type: "unset", field: fieldName });
30719
+ for (const { classPropertyName } of this.dir.inputs) {
30720
+ if (!genericInputs.has(classPropertyName)) {
30721
+ genericInputs.set(classPropertyName, { type: "unset", field: classPropertyName });
30559
30722
  }
30560
30723
  }
30561
30724
  const typeCtor = tcbCallTypeCtor(this.dir, this.tcb, Array.from(genericInputs.values()));
@@ -30580,12 +30743,16 @@ var TcbDirectiveInputsOp = class extends TcbOp {
30580
30743
  }
30581
30744
  execute() {
30582
30745
  let dirId = null;
30583
- const inputs = getBoundInputs(this.dir, this.node, this.tcb);
30584
- for (const input of inputs) {
30585
- const expr = widenBinding(translateInput(input.attribute, this.tcb, this.scope), this.tcb);
30746
+ const boundAttrs = getBoundAttributes(this.dir, this.node);
30747
+ const seenRequiredInputs = /* @__PURE__ */ new Set();
30748
+ for (const attr of boundAttrs) {
30749
+ const expr = widenBinding(translateInput(attr.attribute, this.tcb, this.scope), this.tcb);
30586
30750
  let assignment = wrapForDiagnostics(expr);
30587
- for (const fieldName of input.fieldNames) {
30751
+ for (const { fieldName, required } of attr.inputs) {
30588
30752
  let target;
30753
+ if (required) {
30754
+ seenRequiredInputs.add(fieldName);
30755
+ }
30589
30756
  if (this.dir.coercedInputFields.has(fieldName)) {
30590
30757
  const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
30591
30758
  if (!import_typescript81.default.isTypeReferenceNode(dirTypeRef)) {
@@ -30616,19 +30783,31 @@ var TcbDirectiveInputsOp = class extends TcbOp {
30616
30783
  }
30617
30784
  target = this.dir.stringLiteralInputFields.has(fieldName) ? import_typescript81.default.factory.createElementAccessExpression(dirId, import_typescript81.default.factory.createStringLiteral(fieldName)) : import_typescript81.default.factory.createPropertyAccessExpression(dirId, import_typescript81.default.factory.createIdentifier(fieldName));
30618
30785
  }
30619
- if (input.attribute.keySpan !== void 0) {
30620
- addParseSpanInfo(target, input.attribute.keySpan);
30786
+ if (attr.attribute.keySpan !== void 0) {
30787
+ addParseSpanInfo(target, attr.attribute.keySpan);
30621
30788
  }
30622
30789
  assignment = import_typescript81.default.factory.createBinaryExpression(target, import_typescript81.default.SyntaxKind.EqualsToken, assignment);
30623
30790
  }
30624
- addParseSpanInfo(assignment, input.attribute.sourceSpan);
30625
- if (!this.tcb.env.config.checkTypeOfAttributes && input.attribute instanceof TextAttribute) {
30791
+ addParseSpanInfo(assignment, attr.attribute.sourceSpan);
30792
+ if (!this.tcb.env.config.checkTypeOfAttributes && attr.attribute instanceof TextAttribute) {
30626
30793
  markIgnoreDiagnostics(assignment);
30627
30794
  }
30628
30795
  this.scope.addStatement(import_typescript81.default.factory.createExpressionStatement(assignment));
30629
30796
  }
30797
+ this.checkRequiredInputs(seenRequiredInputs);
30630
30798
  return null;
30631
30799
  }
30800
+ checkRequiredInputs(seenRequiredInputs) {
30801
+ const missing = [];
30802
+ for (const input of this.dir.inputs) {
30803
+ if (input.required && !seenRequiredInputs.has(input.classPropertyName)) {
30804
+ missing.push(input.bindingPropertyName);
30805
+ }
30806
+ }
30807
+ if (missing.length > 0) {
30808
+ this.tcb.oobRecorder.missingRequiredInputs(this.tcb.id, this.node, this.dir.name, this.dir.isComponent, missing);
30809
+ }
30810
+ }
30632
30811
  };
30633
30812
  var TcbDirectiveCtorCircularFallbackOp = class extends TcbOp {
30634
30813
  constructor(tcb, scope, node, dir) {
@@ -31227,18 +31406,19 @@ function tcbCallTypeCtor(dir, tcb, inputs) {
31227
31406
  [import_typescript81.default.factory.createObjectLiteralExpression(members)]
31228
31407
  );
31229
31408
  }
31230
- function getBoundInputs(directive, node, tcb) {
31409
+ function getBoundAttributes(directive, node) {
31231
31410
  const boundInputs = [];
31232
31411
  const processAttribute = (attr) => {
31233
31412
  if (attr instanceof BoundAttribute && attr.type !== 0) {
31234
31413
  return;
31235
31414
  }
31236
31415
  const inputs = directive.inputs.getByBindingPropertyName(attr.name);
31237
- if (inputs === null) {
31238
- return;
31416
+ if (inputs !== null) {
31417
+ boundInputs.push({
31418
+ attribute: attr,
31419
+ inputs: inputs.map((input) => ({ fieldName: input.classPropertyName, required: input.required }))
31420
+ });
31239
31421
  }
31240
- const fieldNames = inputs.map((input) => input.classPropertyName);
31241
- boundInputs.push({ attribute: attr, fieldNames });
31242
31422
  };
31243
31423
  node.inputs.forEach(processAttribute);
31244
31424
  node.attributes.forEach(processAttribute);
@@ -31334,7 +31514,7 @@ var TcbEventHandlerTranslator = class extends TcbExpressionTranslator {
31334
31514
  }
31335
31515
  };
31336
31516
 
31337
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
31517
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
31338
31518
  var import_typescript82 = __toESM(require("typescript"), 1);
31339
31519
  var TypeCheckFile = class extends Environment {
31340
31520
  constructor(fileName, config, refEmitter, reflector, compilerHost) {
@@ -31370,7 +31550,7 @@ var TypeCheckFile = class extends Environment {
31370
31550
  }
31371
31551
  };
31372
31552
 
31373
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
31553
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
31374
31554
  var InliningMode;
31375
31555
  (function(InliningMode2) {
31376
31556
  InliningMode2[InliningMode2["InlineOps"] = 0] = "InlineOps";
@@ -31608,7 +31788,7 @@ function splitStringAtPoints(str, points) {
31608
31788
  return splits;
31609
31789
  }
31610
31790
 
31611
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
31791
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
31612
31792
  var LF_CHAR = 10;
31613
31793
  var CR_CHAR = 13;
31614
31794
  var LINE_SEP_CHAR = 8232;
@@ -31649,7 +31829,7 @@ function findClosestLineStartPosition(linesMap, position, low = 0, high = linesM
31649
31829
  return low - 1;
31650
31830
  }
31651
31831
 
31652
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
31832
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
31653
31833
  var TemplateSource = class {
31654
31834
  constructor(mapping, file) {
31655
31835
  this.mapping = mapping;
@@ -31700,7 +31880,7 @@ var TemplateSourceManager = class {
31700
31880
  }
31701
31881
  };
31702
31882
 
31703
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
31883
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
31704
31884
  var import_typescript84 = __toESM(require("typescript"), 1);
31705
31885
  var SymbolBuilder = class {
31706
31886
  constructor(tcbPath, tcbIsShim, typeCheckBlock, templateData, componentScopeReader, getTypeChecker) {
@@ -32177,7 +32357,7 @@ function sourceSpanEqual(a, b) {
32177
32357
  return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
32178
32358
  }
32179
32359
 
32180
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
32360
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
32181
32361
  var REGISTRY2 = new DomElementSchemaRegistry();
32182
32362
  var TemplateTypeCheckerImpl = class {
32183
32363
  constructor(originalProgram, programDriver, typeCheckAdapter, config, refEmitter, reflector, compilerHost, priorBuild, metaReader, localMetaReader, ngModuleIndex, componentScopeReader, typeCheckScopeRegistry, perf) {
@@ -32870,7 +33050,7 @@ var SingleShimTypeCheckingHost = class extends SingleFileTypeCheckingHost {
32870
33050
  }
32871
33051
  };
32872
33052
 
32873
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
33053
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
32874
33054
  var TemplateCheckWithVisitor = class {
32875
33055
  run(ctx, component, template) {
32876
33056
  const visitor = new TemplateVisitor2(ctx, component, this);
@@ -32946,7 +33126,7 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor {
32946
33126
  }
32947
33127
  };
32948
33128
 
32949
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
33129
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
32950
33130
  var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
32951
33131
  constructor() {
32952
33132
  super(...arguments);
@@ -32971,7 +33151,7 @@ var factory = {
32971
33151
  create: () => new InvalidBananaInBoxCheck()
32972
33152
  };
32973
33153
 
32974
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
33154
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
32975
33155
  var KNOWN_CONTROL_FLOW_DIRECTIVES = /* @__PURE__ */ new Map([
32976
33156
  ["ngIf", "NgIf"],
32977
33157
  ["ngFor", "NgFor"],
@@ -33015,7 +33195,7 @@ var factory2 = {
33015
33195
  }
33016
33196
  };
33017
33197
 
33018
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
33198
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
33019
33199
  var MissingNgForOfLetCheck = class extends TemplateCheckWithVisitor {
33020
33200
  constructor() {
33021
33201
  super(...arguments);
@@ -33047,7 +33227,7 @@ var factory3 = {
33047
33227
  create: () => new MissingNgForOfLetCheck()
33048
33228
  };
33049
33229
 
33050
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
33230
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
33051
33231
  var import_typescript87 = __toESM(require("typescript"), 1);
33052
33232
  var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
33053
33233
  constructor() {
@@ -33091,7 +33271,7 @@ var factory4 = {
33091
33271
  }
33092
33272
  };
33093
33273
 
33094
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
33274
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
33095
33275
  var import_typescript88 = __toESM(require("typescript"), 1);
33096
33276
  var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
33097
33277
  constructor() {
@@ -33136,7 +33316,7 @@ var factory5 = {
33136
33316
  }
33137
33317
  };
33138
33318
 
33139
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
33319
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
33140
33320
  var STYLE_SUFFIXES = ["px", "%", "em"];
33141
33321
  var SuffixNotSupportedCheck = class extends TemplateCheckWithVisitor {
33142
33322
  constructor() {
@@ -33159,7 +33339,7 @@ var factory6 = {
33159
33339
  create: () => new SuffixNotSupportedCheck()
33160
33340
  };
33161
33341
 
33162
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
33342
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
33163
33343
  var TextAttributeNotBindingSpec = class extends TemplateCheckWithVisitor {
33164
33344
  constructor() {
33165
33345
  super(...arguments);
@@ -33197,10 +33377,10 @@ var factory7 = {
33197
33377
  create: () => new TextAttributeNotBindingSpec()
33198
33378
  };
33199
33379
 
33200
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
33380
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
33201
33381
  var import_typescript89 = __toESM(require("typescript"), 1);
33202
33382
 
33203
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
33383
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
33204
33384
  var DiagnosticCategoryLabel;
33205
33385
  (function(DiagnosticCategoryLabel2) {
33206
33386
  DiagnosticCategoryLabel2["Warning"] = "warning";
@@ -33208,7 +33388,7 @@ var DiagnosticCategoryLabel;
33208
33388
  DiagnosticCategoryLabel2["Suppress"] = "suppress";
33209
33389
  })(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
33210
33390
 
33211
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
33391
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
33212
33392
  var ExtendedTemplateCheckerImpl = class {
33213
33393
  constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
33214
33394
  var _a, _b, _c, _d, _e;
@@ -33260,7 +33440,7 @@ function assertNever(value) {
33260
33440
  ${value}`);
33261
33441
  }
33262
33442
 
33263
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
33443
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
33264
33444
  var ALL_DIAGNOSTIC_FACTORIES = [
33265
33445
  factory,
33266
33446
  factory4,
@@ -33271,7 +33451,7 @@ var ALL_DIAGNOSTIC_FACTORIES = [
33271
33451
  factory6
33272
33452
  ];
33273
33453
 
33274
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
33454
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
33275
33455
  var CompilationTicketKind;
33276
33456
  (function(CompilationTicketKind2) {
33277
33457
  CompilationTicketKind2[CompilationTicketKind2["Fresh"] = 0] = "Fresh";
@@ -33958,7 +34138,7 @@ function versionMapFromProgram(program, driver) {
33958
34138
  return versions;
33959
34139
  }
33960
34140
 
33961
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
34141
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
33962
34142
  var import_typescript92 = __toESM(require("typescript"), 1);
33963
34143
  var DelegatingCompilerHost2 = class {
33964
34144
  constructor(delegate) {
@@ -34091,7 +34271,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
34091
34271
  }
34092
34272
  };
34093
34273
 
34094
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
34274
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
34095
34275
  var NgtscProgram = class {
34096
34276
  constructor(rootNames, options, delegateHost, oldProgram) {
34097
34277
  this.options = options;
@@ -34309,21 +34489,21 @@ function mergeEmitResults(emitResults) {
34309
34489
  return { diagnostics, emitSkipped, emittedFiles };
34310
34490
  }
34311
34491
 
34312
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
34492
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
34313
34493
  function createProgram({ rootNames, options, host, oldProgram }) {
34314
34494
  return new NgtscProgram(rootNames, options, host, oldProgram);
34315
34495
  }
34316
34496
 
34317
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
34497
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
34318
34498
  var import_typescript96 = __toESM(require("typescript"), 1);
34319
34499
 
34320
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
34500
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
34321
34501
  var import_typescript95 = __toESM(require("typescript"), 1);
34322
34502
 
34323
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/downlevel_decorators_transform.mjs
34503
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/downlevel_decorators_transform.mjs
34324
34504
  var import_typescript97 = __toESM(require("typescript"), 1);
34325
34505
 
34326
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/private/tooling.mjs
34506
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/private/tooling.mjs
34327
34507
  var GLOBAL_DEFS_FOR_TERSER = {
34328
34508
  ngDevMode: false,
34329
34509
  ngI18nClosureMode: false
@@ -34332,7 +34512,7 @@ var GLOBAL_DEFS_FOR_TERSER_WITH_AOT = __spreadProps(__spreadValues({}, GLOBAL_DE
34332
34512
  ngJitMode: false
34333
34513
  });
34334
34514
 
34335
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/logging/src/logger.mjs
34515
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/logging/src/logger.mjs
34336
34516
  var LogLevel;
34337
34517
  (function(LogLevel2) {
34338
34518
  LogLevel2[LogLevel2["debug"] = 0] = "debug";
@@ -34341,7 +34521,7 @@ var LogLevel;
34341
34521
  LogLevel2[LogLevel2["error"] = 3] = "error";
34342
34522
  })(LogLevel || (LogLevel = {}));
34343
34523
 
34344
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/logging/src/console_logger.mjs
34524
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/logging/src/console_logger.mjs
34345
34525
  var RESET = "\x1B[0m";
34346
34526
  var RED = "\x1B[31m";
34347
34527
  var YELLOW = "\x1B[33m";
@@ -34350,18 +34530,18 @@ var DEBUG = `${BLUE}Debug:${RESET}`;
34350
34530
  var WARN = `${YELLOW}Warning:${RESET}`;
34351
34531
  var ERROR = `${RED}Error:${RESET}`;
34352
34532
 
34353
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/index.mjs
34533
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/index.mjs
34354
34534
  setFileSystem(new NodeJSFileSystem());
34355
34535
 
34356
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/index.mjs
34536
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/index.mjs
34357
34537
  var import_fs2 = require("fs");
34358
34538
  var import_path8 = require("path");
34359
34539
  var import_typescript110 = __toESM(require("typescript"), 1);
34360
34540
 
34361
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
34541
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
34362
34542
  var import_typescript99 = __toESM(require("typescript"), 1);
34363
34543
 
34364
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/import_manager.mjs
34544
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/import_manager.mjs
34365
34545
  var import_path4 = require("path");
34366
34546
  var import_typescript98 = __toESM(require("typescript"), 1);
34367
34547
  var ImportManager2 = class {
@@ -34543,7 +34723,7 @@ ${text}`;
34543
34723
  }
34544
34724
  };
34545
34725
 
34546
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
34726
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
34547
34727
  var ChangeTracker = class {
34548
34728
  constructor(_printer, _importRemapper) {
34549
34729
  this._printer = _printer;
@@ -34596,7 +34776,7 @@ function normalizePath(path3) {
34596
34776
  return path3.replace(/\\/g, "/");
34597
34777
  }
34598
34778
 
34599
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/project_tsconfig_paths.mjs
34779
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/project_tsconfig_paths.mjs
34600
34780
  var import_core13 = require("@angular-devkit/core");
34601
34781
  function getProjectTsConfigPaths(tree) {
34602
34782
  return __async(this, null, function* () {
@@ -34676,11 +34856,11 @@ function getWorkspace(tree) {
34676
34856
  });
34677
34857
  }
34678
34858
 
34679
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
34859
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
34680
34860
  var import_path5 = require("path");
34681
34861
  var import_typescript101 = __toESM(require("typescript"), 1);
34682
34862
 
34683
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
34863
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
34684
34864
  var path2 = __toESM(require("path"), 1);
34685
34865
  var import_typescript100 = __toESM(require("typescript"), 1);
34686
34866
  function parseTsconfigFile(tsconfigPath, basePath) {
@@ -34697,7 +34877,7 @@ function parseTsconfigFile(tsconfigPath, basePath) {
34697
34877
  return import_typescript100.default.parseJsonConfigFileContent(config, parseConfigHost, basePath, {});
34698
34878
  }
34699
34879
 
34700
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
34880
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
34701
34881
  function createProgramOptions(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles, optionOverrides) {
34702
34882
  tsconfigPath = (0, import_path5.resolve)(basePath, tsconfigPath);
34703
34883
  const parsed = parseTsconfigFile(tsconfigPath, (0, import_path5.dirname)(tsconfigPath));
@@ -34726,13 +34906,13 @@ function canMigrateFile(basePath, sourceFile, program) {
34726
34906
  return !(0, import_path5.relative)(basePath, sourceFile.fileName).startsWith("..");
34727
34907
  }
34728
34908
 
34729
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/prune-modules.mjs
34909
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/prune-modules.mjs
34730
34910
  var import_typescript106 = __toESM(require("typescript"), 1);
34731
34911
 
34732
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/decorators.mjs
34912
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/decorators.mjs
34733
34913
  var import_typescript103 = __toESM(require("typescript"), 1);
34734
34914
 
34735
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/imports.mjs
34915
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/imports.mjs
34736
34916
  var import_typescript102 = __toESM(require("typescript"), 1);
34737
34917
  function getImportOfIdentifier(typeChecker, node) {
34738
34918
  const symbol = typeChecker.getSymbolAtLocation(node);
@@ -34776,7 +34956,7 @@ function findImportSpecifier(nodes, specifierName) {
34776
34956
  });
34777
34957
  }
34778
34958
 
34779
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/decorators.mjs
34959
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/decorators.mjs
34780
34960
  function getCallDecoratorImport(typeChecker, decorator) {
34781
34961
  if (!import_typescript103.default.isCallExpression(decorator.expression) || !import_typescript103.default.isIdentifier(decorator.expression.expression)) {
34782
34962
  return null;
@@ -34785,7 +34965,7 @@ function getCallDecoratorImport(typeChecker, decorator) {
34785
34965
  return getImportOfIdentifier(typeChecker, identifier);
34786
34966
  }
34787
34967
 
34788
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/ng_decorators.mjs
34968
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/ng_decorators.mjs
34789
34969
  function getAngularDecorators(typeChecker, decorators) {
34790
34970
  return decorators.map((node) => ({ node, importData: getCallDecoratorImport(typeChecker, node) })).filter(({ importData }) => importData && importData.importModule.startsWith("@angular/")).map(({ node, importData }) => ({
34791
34971
  node,
@@ -34795,7 +34975,7 @@ function getAngularDecorators(typeChecker, decorators) {
34795
34975
  }));
34796
34976
  }
34797
34977
 
34798
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/nodes.mjs
34978
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/nodes.mjs
34799
34979
  var import_typescript104 = __toESM(require("typescript"), 1);
34800
34980
  function closestNode(node, predicate) {
34801
34981
  let current = node.parent;
@@ -34808,7 +34988,7 @@ function closestNode(node, predicate) {
34808
34988
  return null;
34809
34989
  }
34810
34990
 
34811
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/util.mjs
34991
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/util.mjs
34812
34992
  var import_path6 = require("path");
34813
34993
  var import_typescript105 = __toESM(require("typescript"), 1);
34814
34994
  var UniqueItemTracker = class {
@@ -34978,7 +35158,7 @@ function isClassReferenceInAngularModule(node, className, moduleName, typeChecke
34978
35158
  }));
34979
35159
  }
34980
35160
 
34981
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/prune-modules.mjs
35161
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/prune-modules.mjs
34982
35162
  function pruneNgModules(program, host, basePath, rootFileNames, sourceFiles, printer, importRemapper, referenceLookupExcludedFiles) {
34983
35163
  const filesToRemove = /* @__PURE__ */ new Set();
34984
35164
  const tracker = new ChangeTracker(printer, importRemapper);
@@ -35066,7 +35246,7 @@ function collectRemovalLocations(ngModule, removalLocations, referenceResolver,
35066
35246
  function removeArrayReferences(locations, tracker) {
35067
35247
  for (const [array, toRemove] of locations.getEntries()) {
35068
35248
  const newElements = filterRemovedElements(array.elements, toRemove);
35069
- tracker.replaceNode(array, import_typescript106.default.factory.updateArrayLiteralExpression(array, newElements));
35249
+ tracker.replaceNode(array, import_typescript106.default.factory.updateArrayLiteralExpression(array, import_typescript106.default.factory.createNodeArray(newElements, array.elements.hasTrailingComma)));
35070
35250
  }
35071
35251
  }
35072
35252
  function removeImportReferences(locations, tracker) {
@@ -35177,14 +35357,14 @@ function findNgModuleDecorator(node, typeChecker) {
35177
35357
  return decorators.find((decorator) => decorator.name === "NgModule") || null;
35178
35358
  }
35179
35359
 
35180
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.mjs
35360
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.mjs
35181
35361
  var import_path7 = require("path");
35182
35362
  var import_typescript109 = __toESM(require("typescript"), 1);
35183
35363
 
35184
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/to-standalone.mjs
35364
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/to-standalone.mjs
35185
35365
  var import_typescript108 = __toESM(require("typescript"), 1);
35186
35366
 
35187
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/symbol.mjs
35367
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/symbol.mjs
35188
35368
  var import_typescript107 = __toESM(require("typescript"), 1);
35189
35369
  function isReferenceToImport(typeChecker, node, importSpecifier) {
35190
35370
  var _a, _b;
@@ -35193,7 +35373,7 @@ function isReferenceToImport(typeChecker, node, importSpecifier) {
35193
35373
  return !!(((_a = nodeSymbol == null ? void 0 : nodeSymbol.declarations) == null ? void 0 : _a[0]) && ((_b = importSymbol == null ? void 0 : importSymbol.declarations) == null ? void 0 : _b[0])) && nodeSymbol.declarations[0] === importSymbol.declarations[0];
35194
35374
  }
35195
35375
 
35196
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/to-standalone.mjs
35376
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/to-standalone.mjs
35197
35377
  function toStandalone(sourceFiles, program, printer, fileImportRemapper, componentImportRemapper) {
35198
35378
  const templateTypeChecker = program.compiler.getTemplateTypeChecker();
35199
35379
  const typeChecker = program.getTsProgram().getTypeChecker();
@@ -35224,13 +35404,18 @@ function toStandalone(sourceFiles, program, printer, fileImportRemapper, compone
35224
35404
  return tracker.recordChanges();
35225
35405
  }
35226
35406
  function convertNgModuleDeclarationToStandalone(decl, allDeclarations, tracker, typeChecker, importRemapper) {
35407
+ var _a;
35227
35408
  const directiveMeta = typeChecker.getDirectiveMetadata(decl);
35228
35409
  if (directiveMeta && directiveMeta.decorator && !directiveMeta.isStandalone) {
35229
35410
  let decorator = addStandaloneToDecorator(directiveMeta.decorator);
35230
35411
  if (directiveMeta.isComponent) {
35231
35412
  const importsToAdd = getComponentImportExpressions(decl, allDeclarations, tracker, typeChecker, importRemapper);
35232
35413
  if (importsToAdd.length > 0) {
35233
- decorator = addPropertyToAngularDecorator(decorator, import_typescript108.default.factory.createPropertyAssignment("imports", import_typescript108.default.factory.createArrayLiteralExpression(importsToAdd)));
35414
+ const hasTrailingComma = importsToAdd.length > 2 && !!((_a = extractMetadataLiteral(directiveMeta.decorator)) == null ? void 0 : _a.properties.hasTrailingComma);
35415
+ decorator = addPropertyToAngularDecorator(decorator, import_typescript108.default.factory.createPropertyAssignment("imports", import_typescript108.default.factory.createArrayLiteralExpression(
35416
+ import_typescript108.default.factory.createNodeArray(importsToAdd, hasTrailingComma),
35417
+ hasTrailingComma
35418
+ )));
35234
35419
  }
35235
35420
  }
35236
35421
  tracker.replaceNode(directiveMeta.decorator, decorator);
@@ -35289,6 +35474,7 @@ function moveDeclarationsToImports(literal3, allDeclarations, typeChecker, templ
35289
35474
  const declarationsToCopy = [];
35290
35475
  const properties = [];
35291
35476
  const importsProp = findLiteralProperty(literal3, "imports");
35477
+ const hasAnyArrayTrailingComma = literal3.properties.some((prop) => import_typescript108.default.isPropertyAssignment(prop) && import_typescript108.default.isArrayLiteralExpression(prop.initializer) && prop.initializer.elements.hasTrailingComma);
35292
35478
  if (import_typescript108.default.isPropertyAssignment(declarationsProp)) {
35293
35479
  if (import_typescript108.default.isArrayLiteralExpression(declarationsProp.initializer)) {
35294
35480
  for (const el of declarationsProp.initializer.elements) {
@@ -35308,7 +35494,7 @@ function moveDeclarationsToImports(literal3, allDeclarations, typeChecker, templ
35308
35494
  }
35309
35495
  }
35310
35496
  if (!importsProp && declarationsToCopy.length > 0) {
35311
- properties.push(import_typescript108.default.factory.createPropertyAssignment("imports", import_typescript108.default.factory.createArrayLiteralExpression(declarationsToCopy)));
35497
+ properties.push(import_typescript108.default.factory.createPropertyAssignment("imports", import_typescript108.default.factory.createArrayLiteralExpression(import_typescript108.default.factory.createNodeArray(declarationsToCopy, hasAnyArrayTrailingComma && declarationsToCopy.length > 2))));
35312
35498
  }
35313
35499
  for (const prop of literal3.properties) {
35314
35500
  if (!isNamedPropertyAssignment(prop)) {
@@ -35317,23 +35503,27 @@ function moveDeclarationsToImports(literal3, allDeclarations, typeChecker, templ
35317
35503
  }
35318
35504
  if (prop === declarationsProp) {
35319
35505
  if (declarationsToPreserve.length > 0) {
35320
- properties.push(import_typescript108.default.factory.updatePropertyAssignment(prop, prop.name, import_typescript108.default.factory.createArrayLiteralExpression(declarationsToPreserve)));
35506
+ const hasTrailingComma = import_typescript108.default.isArrayLiteralExpression(prop.initializer) ? prop.initializer.elements.hasTrailingComma : hasAnyArrayTrailingComma;
35507
+ properties.push(import_typescript108.default.factory.updatePropertyAssignment(prop, prop.name, import_typescript108.default.factory.createArrayLiteralExpression(import_typescript108.default.factory.createNodeArray(declarationsToPreserve, hasTrailingComma && declarationsToPreserve.length > 2))));
35321
35508
  }
35322
35509
  continue;
35323
35510
  }
35324
35511
  if (prop === importsProp && declarationsToCopy.length > 0) {
35325
35512
  let initializer;
35326
35513
  if (import_typescript108.default.isArrayLiteralExpression(prop.initializer)) {
35327
- initializer = import_typescript108.default.factory.updateArrayLiteralExpression(prop.initializer, [...prop.initializer.elements, ...declarationsToCopy]);
35514
+ initializer = import_typescript108.default.factory.updateArrayLiteralExpression(prop.initializer, import_typescript108.default.factory.createNodeArray([...prop.initializer.elements, ...declarationsToCopy], prop.initializer.elements.hasTrailingComma));
35328
35515
  } else {
35329
- initializer = import_typescript108.default.factory.createArrayLiteralExpression([import_typescript108.default.factory.createSpreadElement(prop.initializer), ...declarationsToCopy]);
35516
+ initializer = import_typescript108.default.factory.createArrayLiteralExpression(import_typescript108.default.factory.createNodeArray(
35517
+ [import_typescript108.default.factory.createSpreadElement(prop.initializer), ...declarationsToCopy],
35518
+ hasAnyArrayTrailingComma && declarationsToCopy.length > 1
35519
+ ));
35330
35520
  }
35331
35521
  properties.push(import_typescript108.default.factory.updatePropertyAssignment(prop, prop.name, initializer));
35332
35522
  continue;
35333
35523
  }
35334
35524
  properties.push(prop);
35335
35525
  }
35336
- tracker.replaceNode(literal3, import_typescript108.default.factory.updateObjectLiteralExpression(literal3, properties), import_typescript108.default.EmitHint.Expression);
35526
+ tracker.replaceNode(literal3, import_typescript108.default.factory.updateObjectLiteralExpression(literal3, import_typescript108.default.factory.createNodeArray(properties, literal3.properties.hasTrailingComma)), import_typescript108.default.EmitHint.Expression);
35337
35527
  }
35338
35528
  function addStandaloneToDecorator(node) {
35339
35529
  return addPropertyToAngularDecorator(node, import_typescript108.default.factory.createPropertyAssignment("standalone", import_typescript108.default.factory.createToken(import_typescript108.default.SyntaxKind.TrueKeyword)));
@@ -35343,14 +35533,16 @@ function addPropertyToAngularDecorator(node, property) {
35343
35533
  return node;
35344
35534
  }
35345
35535
  let literalProperties;
35536
+ let hasTrailingComma = false;
35346
35537
  if (node.expression.arguments.length === 0) {
35347
35538
  literalProperties = [property];
35348
35539
  } else if (import_typescript108.default.isObjectLiteralExpression(node.expression.arguments[0])) {
35540
+ hasTrailingComma = node.expression.arguments[0].properties.hasTrailingComma;
35349
35541
  literalProperties = [...node.expression.arguments[0].properties, property];
35350
35542
  } else {
35351
35543
  return node;
35352
35544
  }
35353
- return import_typescript108.default.factory.createDecorator(import_typescript108.default.factory.createCallExpression(node.expression.expression, node.expression.typeArguments, [import_typescript108.default.factory.createObjectLiteralExpression(literalProperties, literalProperties.length > 1)]));
35545
+ return import_typescript108.default.factory.createDecorator(import_typescript108.default.factory.createCallExpression(node.expression.expression, node.expression.typeArguments, [import_typescript108.default.factory.createObjectLiteralExpression(import_typescript108.default.factory.createNodeArray(literalProperties, hasTrailingComma), literalProperties.length > 1)]));
35354
35546
  }
35355
35547
  function isNamedPropertyAssignment(node) {
35356
35548
  return import_typescript108.default.isPropertyAssignment(node) && node.name && import_typescript108.default.isIdentifier(node.name);
@@ -35457,6 +35649,7 @@ function extractDeclarationsFromModule(ngModule, templateTypeChecker) {
35457
35649
  return metadata ? metadata.declarations.filter((decl) => import_typescript108.default.isClassDeclaration(decl.node)).map((decl) => decl.node) : [];
35458
35650
  }
35459
35651
  function migrateTestDeclarations(testObjects, declarationsOutsideOfTestFiles, tracker, templateTypeChecker, typeChecker) {
35652
+ var _a;
35460
35653
  const { decorators, componentImports } = analyzeTestingModules(testObjects, typeChecker);
35461
35654
  const allDeclarations = new Set(declarationsOutsideOfTestFiles);
35462
35655
  for (const decorator of decorators) {
@@ -35473,7 +35666,9 @@ function migrateTestDeclarations(testObjects, declarationsOutsideOfTestFiles, tr
35473
35666
  allDeclarations.add(closestClass);
35474
35667
  }
35475
35668
  if (importsToAdd && importsToAdd.size > 0) {
35476
- tracker.replaceNode(decorator.node, addPropertyToAngularDecorator(newDecorator, import_typescript108.default.factory.createPropertyAssignment("imports", import_typescript108.default.factory.createArrayLiteralExpression(Array.from(importsToAdd)))));
35669
+ const hasTrailingComma = importsToAdd.size > 2 && !!((_a = extractMetadataLiteral(decorator.node)) == null ? void 0 : _a.properties.hasTrailingComma);
35670
+ const importsArray = import_typescript108.default.factory.createNodeArray(Array.from(importsToAdd), hasTrailingComma);
35671
+ tracker.replaceNode(decorator.node, addPropertyToAngularDecorator(newDecorator, import_typescript108.default.factory.createPropertyAssignment("imports", import_typescript108.default.factory.createArrayLiteralExpression(importsArray))));
35477
35672
  } else {
35478
35673
  tracker.replaceNode(decorator.node, newDecorator);
35479
35674
  }
@@ -35541,7 +35736,7 @@ function isStandaloneDeclaration(node, declarationsInMigration, templateTypeChec
35541
35736
  return metadata != null && metadata.isStandalone;
35542
35737
  }
35543
35738
 
35544
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.mjs
35739
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/standalone-bootstrap.mjs
35545
35740
  function toStandaloneBootstrap(program, host, basePath, rootFileNames, sourceFiles, printer, importRemapper, referenceLookupExcludedFiles, componentImportRemapper) {
35546
35741
  const tracker = new ChangeTracker(printer, importRemapper);
35547
35742
  const typeChecker = program.getTsProgram().getTypeChecker();
@@ -35658,7 +35853,8 @@ function replaceBootstrapCallExpression(analysis, providers, modules, tracker) {
35658
35853
  combinedProviders.push(import_typescript109.default.factory.createCallExpression(importProvidersExpression, [], modules));
35659
35854
  }
35660
35855
  combinedProviders.push(...providers);
35661
- const initializer = remapDynamicImports(sourceFile.fileName, import_typescript109.default.factory.createArrayLiteralExpression(combinedProviders, combinedProviders.length > 1));
35856
+ const providersArray = import_typescript109.default.factory.createNodeArray(combinedProviders, analysis.metadata.properties.hasTrailingComma && combinedProviders.length > 2);
35857
+ const initializer = remapDynamicImports(sourceFile.fileName, import_typescript109.default.factory.createArrayLiteralExpression(providersArray, combinedProviders.length > 1));
35662
35858
  args.push(import_typescript109.default.factory.createObjectLiteralExpression([import_typescript109.default.factory.createPropertyAssignment("providers", initializer)], true));
35663
35859
  }
35664
35860
  tracker.replaceNode(
@@ -35917,7 +36113,7 @@ function hasImport(program, rootFileNames, moduleName) {
35917
36113
  return false;
35918
36114
  }
35919
36115
 
35920
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/index.mjs
36116
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/standalone-migration/index.mjs
35921
36117
  var MigrationMode;
35922
36118
  (function(MigrationMode2) {
35923
36119
  MigrationMode2["toStandalone"] = "convert-to-standalone";