@angular/core 17.2.3 → 17.2.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 (38) hide show
  1. package/esm2022/rxjs-interop/src/to_observable.mjs +1 -1
  2. package/esm2022/src/application/application_ref.mjs +4 -2
  3. package/esm2022/src/authoring/input/input_type_checking.mjs +1 -1
  4. package/esm2022/src/authoring/model/model_signal.mjs +3 -2
  5. package/esm2022/src/di/interface/provider.mjs +1 -1
  6. package/esm2022/src/di/metadata.mjs +1 -1
  7. package/esm2022/src/di/r3_injector.mjs +26 -15
  8. package/esm2022/src/event_emitter.mjs +9 -2
  9. package/esm2022/src/render3/after_render_hooks.mjs +2 -2
  10. package/esm2022/src/render3/component_ref.mjs +103 -93
  11. package/esm2022/src/render3/instructions/listener.mjs +4 -1
  12. package/esm2022/src/render3/instructions/render.mjs +3 -2
  13. package/esm2022/src/render3/node_manipulation.mjs +13 -4
  14. package/esm2022/src/render3/reactivity/effect.mjs +11 -7
  15. package/esm2022/src/render3/reactivity/signal.mjs +2 -2
  16. package/esm2022/src/render3/view_manipulation.mjs +24 -17
  17. package/esm2022/src/util/assert.mjs +7 -1
  18. package/esm2022/src/version.mjs +1 -1
  19. package/esm2022/testing/src/logger.mjs +3 -3
  20. package/esm2022/testing/src/test_bed_compiler.mjs +26 -4
  21. package/fesm2022/core.mjs +11944 -11891
  22. package/fesm2022/core.mjs.map +1 -1
  23. package/fesm2022/primitives/signals.mjs +1 -1
  24. package/fesm2022/rxjs-interop.mjs +1 -1
  25. package/fesm2022/rxjs-interop.mjs.map +1 -1
  26. package/fesm2022/testing.mjs +26 -4
  27. package/fesm2022/testing.mjs.map +1 -1
  28. package/index.d.ts +16 -16
  29. package/package.json +1 -1
  30. package/primitives/signals/index.d.ts +1 -1
  31. package/rxjs-interop/index.d.ts +1 -1
  32. package/schematics/migrations/block-template-entities/bundle.js +18 -33
  33. package/schematics/migrations/block-template-entities/bundle.js.map +3 -3
  34. package/schematics/ng-generate/control-flow-migration/bundle.js +18 -33
  35. package/schematics/ng-generate/control-flow-migration/bundle.js.map +3 -3
  36. package/schematics/ng-generate/standalone-migration/bundle.js +29 -41
  37. package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
  38. package/testing/index.d.ts +1 -1
@@ -8113,13 +8113,10 @@ var ExpressionKind;
8113
8113
  ExpressionKind2[ExpressionKind2["EmptyExpr"] = 17] = "EmptyExpr";
8114
8114
  ExpressionKind2[ExpressionKind2["AssignTemporaryExpr"] = 18] = "AssignTemporaryExpr";
8115
8115
  ExpressionKind2[ExpressionKind2["ReadTemporaryExpr"] = 19] = "ReadTemporaryExpr";
8116
- ExpressionKind2[ExpressionKind2["SanitizerExpr"] = 20] = "SanitizerExpr";
8117
- ExpressionKind2[ExpressionKind2["TrustedValueFnExpr"] = 21] = "TrustedValueFnExpr";
8118
- ExpressionKind2[ExpressionKind2["SlotLiteralExpr"] = 22] = "SlotLiteralExpr";
8119
- ExpressionKind2[ExpressionKind2["ConditionalCase"] = 23] = "ConditionalCase";
8120
- ExpressionKind2[ExpressionKind2["DerivedRepeaterVar"] = 24] = "DerivedRepeaterVar";
8121
- ExpressionKind2[ExpressionKind2["ConstCollected"] = 25] = "ConstCollected";
8122
- ExpressionKind2[ExpressionKind2["TwoWayBindingSet"] = 26] = "TwoWayBindingSet";
8116
+ ExpressionKind2[ExpressionKind2["SlotLiteralExpr"] = 20] = "SlotLiteralExpr";
8117
+ ExpressionKind2[ExpressionKind2["ConditionalCase"] = 21] = "ConditionalCase";
8118
+ ExpressionKind2[ExpressionKind2["ConstCollected"] = 22] = "ConstCollected";
8119
+ ExpressionKind2[ExpressionKind2["TwoWayBindingSet"] = 23] = "TwoWayBindingSet";
8123
8120
  })(ExpressionKind || (ExpressionKind = {}));
8124
8121
  var VariableFlags;
8125
8122
  (function(VariableFlags2) {
@@ -8138,12 +8135,6 @@ var CompatibilityMode;
8138
8135
  CompatibilityMode2[CompatibilityMode2["Normal"] = 0] = "Normal";
8139
8136
  CompatibilityMode2[CompatibilityMode2["TemplateDefinitionBuilder"] = 1] = "TemplateDefinitionBuilder";
8140
8137
  })(CompatibilityMode || (CompatibilityMode = {}));
8141
- var DeferSecondaryKind;
8142
- (function(DeferSecondaryKind2) {
8143
- DeferSecondaryKind2[DeferSecondaryKind2["Loading"] = 0] = "Loading";
8144
- DeferSecondaryKind2[DeferSecondaryKind2["Placeholder"] = 1] = "Placeholder";
8145
- DeferSecondaryKind2[DeferSecondaryKind2["Error"] = 2] = "Error";
8146
- })(DeferSecondaryKind || (DeferSecondaryKind = {}));
8147
8138
  var BindingKind;
8148
8139
  (function(BindingKind2) {
8149
8140
  BindingKind2[BindingKind2["Attribute"] = 0] = "Attribute";
@@ -8217,10 +8208,6 @@ var TRAIT_DEPENDS_ON_SLOT_CONTEXT = {
8217
8208
  var TRAIT_CONSUMES_VARS = {
8218
8209
  [ConsumesVarsTrait]: true
8219
8210
  };
8220
- var TRAIT_USES_VAR_OFFSET = {
8221
- [UsesVarOffset]: true,
8222
- varOffset: null
8223
- };
8224
8211
  function hasConsumesSlotTrait(op) {
8225
8212
  return op[ConsumesSlot] === true;
8226
8213
  }
@@ -10485,7 +10472,7 @@ var ElementAttributes = class {
10485
10472
  this.propertyBindings = null;
10486
10473
  this.projectAs = null;
10487
10474
  }
10488
- isKnown(kind, name, value) {
10475
+ isKnown(kind, name) {
10489
10476
  var _a2;
10490
10477
  const nameToValue = (_a2 = this.known.get(kind)) != null ? _a2 : /* @__PURE__ */ new Set();
10491
10478
  this.known.set(kind, nameToValue);
@@ -10498,7 +10485,7 @@ var ElementAttributes = class {
10498
10485
  add(kind, name, value, namespace, trustedValueFn) {
10499
10486
  var _a2;
10500
10487
  const allowDuplicates = this.compatibility === CompatibilityMode.TemplateDefinitionBuilder && (kind === BindingKind.Attribute || kind === BindingKind.ClassName || kind === BindingKind.StyleProperty);
10501
- if (!allowDuplicates && this.isKnown(kind, name, value)) {
10488
+ if (!allowDuplicates && this.isKnown(kind, name)) {
10502
10489
  return;
10503
10490
  }
10504
10491
  if (name === "ngProjectAs") {
@@ -11098,7 +11085,7 @@ function createI18nMessage(job, context, messagePlaceholder) {
11098
11085
  }
11099
11086
  function formatIcuPlaceholder(op) {
11100
11087
  if (op.strings.length !== op.expressionPlaceholders.length + 1) {
11101
- throw Error(`AsserionError: Invalid ICU placeholder with ${op.strings.length} strings and ${op.expressionPlaceholders.length} expressions`);
11088
+ throw Error(`AssertionError: Invalid ICU placeholder with ${op.strings.length} strings and ${op.expressionPlaceholders.length} expressions`);
11102
11089
  }
11103
11090
  const values = op.expressionPlaceholders.map(formatValue);
11104
11091
  return op.strings.flatMap((str, i) => [str, values[i] || ""]).join("");
@@ -17703,7 +17690,7 @@ function addNamesToView(unit, baseName, state, compatibility) {
17703
17690
  }
17704
17691
  if (op.emptyView !== null) {
17705
17692
  const emptyView = unit.job.views.get(op.emptyView);
17706
- addNamesToView(emptyView, `${baseName}_${`${op.functionNameSuffix}Empty`}_${op.handle.slot + 2}`, state, compatibility);
17693
+ addNamesToView(emptyView, `${baseName}_${op.functionNameSuffix}Empty_${op.handle.slot + 2}`, state, compatibility);
17707
17694
  }
17708
17695
  addNamesToView(unit.job.views.get(op.xref), `${baseName}_${op.functionNameSuffix}_${op.handle.slot + 1}`, state, compatibility);
17709
17696
  break;
@@ -18124,7 +18111,7 @@ function propagateI18nBlocksToTemplates(unit, subTemplateIndex) {
18124
18111
  break;
18125
18112
  case OpKind.RepeaterCreate:
18126
18113
  const forView = unit.job.views.get(op.xref);
18127
- subTemplateIndex = propagateI18nBlocksForView(unit.job.views.get(op.xref), i18nBlock, op.i18nPlaceholder, subTemplateIndex);
18114
+ subTemplateIndex = propagateI18nBlocksForView(forView, i18nBlock, op.i18nPlaceholder, subTemplateIndex);
18128
18115
  if (op.emptyView !== null) {
18129
18116
  subTemplateIndex = propagateI18nBlocksForView(unit.job.views.get(op.emptyView), i18nBlock, op.emptyI18nPlaceholder, subTemplateIndex);
18130
18117
  }
@@ -19224,11 +19211,11 @@ function processLexicalScope(view, ops) {
19224
19211
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
19225
19212
  function resolveDollarEvent(job) {
19226
19213
  for (const unit of job.units) {
19227
- transformDollarEvent(unit, unit.create);
19228
- transformDollarEvent(unit, unit.update);
19214
+ transformDollarEvent(unit.create);
19215
+ transformDollarEvent(unit.update);
19229
19216
  }
19230
19217
  }
19231
- function transformDollarEvent(unit, ops) {
19218
+ function transformDollarEvent(ops) {
19232
19219
  for (const op of ops) {
19233
19220
  if (op.kind === OpKind.Listener || op.kind === OpKind.TwoWayListener) {
19234
19221
  transformExpressionsInOp(op, (expr) => {
@@ -19399,7 +19386,7 @@ function recordTemplateStart(job, view, slot, i18nPlaceholder, i18nContext, i18n
19399
19386
  addParam(i18nContext.params, startName, slot, getSubTemplateIndexForTemplateTag(job, i18nBlock, view), flags);
19400
19387
  }
19401
19388
  function recordTemplateClose(job, view, slot, i18nPlaceholder, i18nContext, i18nBlock, structuralDirective) {
19402
- const { startName, closeName } = i18nPlaceholder;
19389
+ const { closeName } = i18nPlaceholder;
19403
19390
  const flags = I18nParamValueFlags.TemplateTag | I18nParamValueFlags.CloseTag;
19404
19391
  if (closeName) {
19405
19392
  addParam(i18nContext.params, closeName, slot, getSubTemplateIndexForTemplateTag(job, i18nBlock, view), flags);
@@ -19426,14 +19413,14 @@ function addParam(params, placeholder, value, subTemplateIndex, flags) {
19426
19413
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
19427
19414
  function resolveI18nExpressionPlaceholders(job) {
19428
19415
  var _a2;
19429
- const subTemplateIndicies = /* @__PURE__ */ new Map();
19416
+ const subTemplateIndices = /* @__PURE__ */ new Map();
19430
19417
  const i18nContexts = /* @__PURE__ */ new Map();
19431
19418
  const icuPlaceholders = /* @__PURE__ */ new Map();
19432
19419
  for (const unit of job.units) {
19433
19420
  for (const op of unit.create) {
19434
19421
  switch (op.kind) {
19435
19422
  case OpKind.I18nStart:
19436
- subTemplateIndicies.set(op.xref, op.subTemplateIndex);
19423
+ subTemplateIndices.set(op.xref, op.subTemplateIndex);
19437
19424
  break;
19438
19425
  case OpKind.I18nContext:
19439
19426
  i18nContexts.set(op.xref, op);
@@ -19450,7 +19437,7 @@ function resolveI18nExpressionPlaceholders(job) {
19450
19437
  for (const op of unit.update) {
19451
19438
  if (op.kind === OpKind.I18nExpression) {
19452
19439
  const index = expressionIndices.get(referenceIndex(op)) || 0;
19453
- const subTemplateIndex = (_a2 = subTemplateIndicies.get(op.i18nOwner)) != null ? _a2 : null;
19440
+ const subTemplateIndex = (_a2 = subTemplateIndices.get(op.i18nOwner)) != null ? _a2 : null;
19454
19441
  const value = {
19455
19442
  value: index,
19456
19443
  subTemplateIndex,
@@ -19514,7 +19501,7 @@ function processLexicalScope2(unit, ops, savedView) {
19514
19501
  if (op.kind == OpKind.Listener || op.kind === OpKind.TwoWayListener) {
19515
19502
  continue;
19516
19503
  }
19517
- transformExpressionsInOp(op, (expr, flags) => {
19504
+ transformExpressionsInOp(op, (expr) => {
19518
19505
  if (expr instanceof LexicalReadExpr) {
19519
19506
  if (scope.has(expr.name)) {
19520
19507
  return new ReadVariableExpr(scope.get(expr.name));
@@ -20116,7 +20103,6 @@ function optimizeVariablesInOpList(ops, compatibility) {
20116
20103
  const toInline = [];
20117
20104
  for (const [id, count] of varUsages) {
20118
20105
  const decl = varDecls.get(id);
20119
- const varInfo = opMap.get(decl);
20120
20106
  const isAlwaysInline = !!(decl.flags & VariableFlags.AlwaysInline);
20121
20107
  if (count !== 1 || isAlwaysInline) {
20122
20108
  continue;
@@ -20819,7 +20805,6 @@ function ingestIcu(unit, icu) {
20819
20805
  var _a2;
20820
20806
  if (icu.i18n instanceof Message && isSingleI18nIcu(icu.i18n)) {
20821
20807
  const xref = unit.job.allocateXrefId();
20822
- const icuNode = icu.i18n.nodes[0];
20823
20808
  unit.create.push(createIcuStartOp(xref, icu.i18n, icuFromI18nMessage(icu.i18n).name, null));
20824
20809
  for (const [placeholder, text2] of Object.entries(__spreadValues(__spreadValues({}, icu.vars), icu.placeholders))) {
20825
20810
  if (text2 instanceof BoundText) {
@@ -26915,7 +26900,7 @@ function publishFacade(global) {
26915
26900
  }
26916
26901
 
26917
26902
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
26918
- var VERSION2 = new Version("17.2.3");
26903
+ var VERSION2 = new Version("17.2.4");
26919
26904
 
26920
26905
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
26921
26906
  var _I18N_ATTR = "i18n";
@@ -27981,7 +27966,7 @@ var MINIMUM_PARTIAL_LINKER_VERSION = "12.0.0";
27981
27966
  function compileDeclareClassMetadata(metadata) {
27982
27967
  const definitionMap = new DefinitionMap();
27983
27968
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION));
27984
- definitionMap.set("version", literal("17.2.3"));
27969
+ definitionMap.set("version", literal("17.2.4"));
27985
27970
  definitionMap.set("ngImport", importExpr(Identifiers.core));
27986
27971
  definitionMap.set("type", metadata.type);
27987
27972
  definitionMap.set("decorators", metadata.decorators);
@@ -28050,7 +28035,7 @@ function createDirectiveDefinitionMap(meta) {
28050
28035
  const definitionMap = new DefinitionMap();
28051
28036
  const minVersion = getMinimumVersionForPartialOutput(meta);
28052
28037
  definitionMap.set("minVersion", literal(minVersion));
28053
- definitionMap.set("version", literal("17.2.3"));
28038
+ definitionMap.set("version", literal("17.2.4"));
28054
28039
  definitionMap.set("type", meta.type.value);
28055
28040
  if (meta.isStandalone) {
28056
28041
  definitionMap.set("isStandalone", literal(meta.isStandalone));
@@ -28349,7 +28334,7 @@ var MINIMUM_PARTIAL_LINKER_VERSION2 = "12.0.0";
28349
28334
  function compileDeclareFactoryFunction(meta) {
28350
28335
  const definitionMap = new DefinitionMap();
28351
28336
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION2));
28352
- definitionMap.set("version", literal("17.2.3"));
28337
+ definitionMap.set("version", literal("17.2.4"));
28353
28338
  definitionMap.set("ngImport", importExpr(Identifiers.core));
28354
28339
  definitionMap.set("type", meta.type.value);
28355
28340
  definitionMap.set("deps", compileDependencies(meta.deps));
@@ -28372,7 +28357,7 @@ function compileDeclareInjectableFromMetadata(meta) {
28372
28357
  function createInjectableDefinitionMap(meta) {
28373
28358
  const definitionMap = new DefinitionMap();
28374
28359
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION3));
28375
- definitionMap.set("version", literal("17.2.3"));
28360
+ definitionMap.set("version", literal("17.2.4"));
28376
28361
  definitionMap.set("ngImport", importExpr(Identifiers.core));
28377
28362
  definitionMap.set("type", meta.type.value);
28378
28363
  if (meta.providedIn !== void 0) {
@@ -28410,7 +28395,7 @@ function compileDeclareInjectorFromMetadata(meta) {
28410
28395
  function createInjectorDefinitionMap(meta) {
28411
28396
  const definitionMap = new DefinitionMap();
28412
28397
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION4));
28413
- definitionMap.set("version", literal("17.2.3"));
28398
+ definitionMap.set("version", literal("17.2.4"));
28414
28399
  definitionMap.set("ngImport", importExpr(Identifiers.core));
28415
28400
  definitionMap.set("type", meta.type.value);
28416
28401
  definitionMap.set("providers", meta.providers);
@@ -28434,7 +28419,7 @@ function createNgModuleDefinitionMap(meta) {
28434
28419
  throw new Error("Invalid path! Local compilation mode should not get into the partial compilation path");
28435
28420
  }
28436
28421
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION5));
28437
- definitionMap.set("version", literal("17.2.3"));
28422
+ definitionMap.set("version", literal("17.2.4"));
28438
28423
  definitionMap.set("ngImport", importExpr(Identifiers.core));
28439
28424
  definitionMap.set("type", meta.type.value);
28440
28425
  if (meta.bootstrap.length > 0) {
@@ -28469,7 +28454,7 @@ function compileDeclarePipeFromMetadata(meta) {
28469
28454
  function createPipeDefinitionMap(meta) {
28470
28455
  const definitionMap = new DefinitionMap();
28471
28456
  definitionMap.set("minVersion", literal(MINIMUM_PARTIAL_LINKER_VERSION6));
28472
- definitionMap.set("version", literal("17.2.3"));
28457
+ definitionMap.set("version", literal("17.2.4"));
28473
28458
  definitionMap.set("ngImport", importExpr(Identifiers.core));
28474
28459
  definitionMap.set("type", meta.type.value);
28475
28460
  if (meta.isStandalone) {
@@ -28486,7 +28471,7 @@ function createPipeDefinitionMap(meta) {
28486
28471
  publishFacade(_global);
28487
28472
 
28488
28473
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version.mjs
28489
- var VERSION3 = new Version("17.2.3");
28474
+ var VERSION3 = new Version("17.2.4");
28490
28475
 
28491
28476
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/imports/src/emitter.mjs
28492
28477
  var import_typescript5 = __toESM(require("typescript"), 1);
@@ -35762,6 +35747,9 @@ function parseLocator(expression, reflector) {
35762
35747
  return createMayBeForwardRefExpression(new output_ast_exports.WrappedNodeExpr(expression), unwrappedExpression !== null ? 2 : 0);
35763
35748
  }
35764
35749
  function parseReadOption(value) {
35750
+ if (import_typescript54.default.isExpressionWithTypeArguments(value) || import_typescript54.default.isParenthesizedExpression(value) || import_typescript54.default.isAsExpression(value)) {
35751
+ return parseReadOption(value.expression);
35752
+ }
35765
35753
  if (import_typescript54.default.isPropertyAccessExpression(value) && import_typescript54.default.isIdentifier(value.expression) || import_typescript54.default.isIdentifier(value)) {
35766
35754
  return new output_ast_exports.WrappedNodeExpr(value);
35767
35755
  }