@angular/core 18.1.0-next.2 → 18.1.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/rxjs-interop/src/to_signal.mjs +7 -3
  2. package/esm2022/src/authoring/model/model_signal.mjs +2 -3
  3. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +2 -2
  4. package/esm2022/src/core_render3_private_export.mjs +2 -2
  5. package/esm2022/src/defer/instructions.mjs +2 -10
  6. package/esm2022/src/errors.mjs +1 -1
  7. package/esm2022/src/hydration/event_replay.mjs +32 -14
  8. package/esm2022/src/linker/component_factory.mjs +1 -1
  9. package/esm2022/src/render3/after_render_hooks.mjs +2 -2
  10. package/esm2022/src/render3/chained_injector.mjs +34 -0
  11. package/esm2022/src/render3/component.mjs +1 -1
  12. package/esm2022/src/render3/component_ref.mjs +23 -35
  13. package/esm2022/src/render3/index.mjs +2 -2
  14. package/esm2022/src/render3/instructions/all.mjs +2 -1
  15. package/esm2022/src/render3/instructions/let_declaration.mjs +39 -0
  16. package/esm2022/src/render3/jit/environment.mjs +4 -1
  17. package/esm2022/src/render3/util/injector_discovery_utils.mjs +14 -5
  18. package/esm2022/src/render3/util/injector_utils.mjs +10 -1
  19. package/esm2022/src/version.mjs +1 -1
  20. package/esm2022/testing/src/logger.mjs +3 -3
  21. package/fesm2022/core.mjs +160 -79
  22. package/fesm2022/core.mjs.map +1 -1
  23. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  24. package/fesm2022/primitives/signals.mjs +1 -1
  25. package/fesm2022/rxjs-interop.mjs +7 -3
  26. package/fesm2022/rxjs-interop.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +1 -1
  28. package/index.d.ts +39 -9
  29. package/package.json +1 -1
  30. package/primitives/event-dispatch/index.d.ts +1 -1
  31. package/primitives/signals/index.d.ts +1 -1
  32. package/rxjs-interop/index.d.ts +13 -6
  33. package/schematics/migrations/after-render-phase/bundle.js +64 -43
  34. package/schematics/migrations/after-render-phase/bundle.js.map +2 -2
  35. package/schematics/migrations/http-providers/bundle.js +15 -15
  36. package/schematics/migrations/invalid-two-way-bindings/bundle.js +422 -218
  37. package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +4 -4
  38. package/schematics/ng-generate/control-flow-migration/bundle.js +437 -226
  39. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  40. package/schematics/ng-generate/standalone-migration/bundle.js +711 -505
  41. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  42. package/testing/index.d.ts +1 -1
@@ -63,7 +63,7 @@ var __async = (__this, __arguments, generator) => {
63
63
  });
64
64
  };
65
65
 
66
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/index.mjs
66
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/index.mjs
67
67
  var control_flow_migration_exports = {};
68
68
  __export(control_flow_migration_exports, {
69
69
  default: () => control_flow_migration_default
@@ -72,22 +72,22 @@ module.exports = __toCommonJS(control_flow_migration_exports);
72
72
  var import_schematics = require("@angular-devkit/schematics");
73
73
  var import_path3 = require("path");
74
74
 
75
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
75
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
76
76
  var import_typescript2 = __toESM(require("typescript"), 1);
77
77
 
78
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/import_manager.mjs
78
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/import_manager.mjs
79
79
  var import_typescript = __toESM(require("typescript"), 1);
80
80
 
81
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
81
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/change_tracker.mjs
82
82
  function normalizePath(path2) {
83
83
  return path2.replace(/\\/g, "/");
84
84
  }
85
85
 
86
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
86
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
87
87
  var import_path = require("path");
88
88
  var import_typescript4 = __toESM(require("typescript"), 1);
89
89
 
90
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
90
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
91
91
  var path = __toESM(require("path"), 1);
92
92
  var import_typescript3 = __toESM(require("typescript"), 1);
93
93
  function parseTsconfigFile(tsconfigPath, basePath) {
@@ -104,7 +104,7 @@ function parseTsconfigFile(tsconfigPath, basePath) {
104
104
  return import_typescript3.default.parseJsonConfigFileContent(config, parseConfigHost, basePath, {});
105
105
  }
106
106
 
107
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
107
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
108
108
  function createMigrationProgram(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles) {
109
109
  const { rootNames, options, host } = createProgramOptions(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles);
110
110
  return import_typescript4.default.createProgram(rootNames, options, host);
@@ -137,7 +137,7 @@ function canMigrateFile(basePath, sourceFile, program) {
137
137
  return !(0, import_path.relative)(basePath, sourceFile.fileName).startsWith("..");
138
138
  }
139
139
 
140
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/selector.mjs
140
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/selector.mjs
141
141
  var _SELECTOR_REGEXP = new RegExp(
142
142
  `(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,
143
143
  "g"
@@ -445,7 +445,7 @@ var SelectorContext = class {
445
445
  }
446
446
  };
447
447
 
448
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/core.mjs
448
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/core.mjs
449
449
  var ViewEncapsulation;
450
450
  (function(ViewEncapsulation2) {
451
451
  ViewEncapsulation2[ViewEncapsulation2["Emulated"] = 0] = "Emulated";
@@ -513,7 +513,7 @@ function parseSelectorToR3Selector(selector) {
513
513
  return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];
514
514
  }
515
515
 
516
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
516
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
517
517
  var textEncoder;
518
518
  function computeDigest(message) {
519
519
  return sha1(serializeNodes(message.nodes).join("") + `[${message.meaning}]`);
@@ -753,7 +753,7 @@ function wordAt(bytes, index, endian) {
753
753
  return word;
754
754
  }
755
755
 
756
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
756
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
757
757
  var TypeModifier;
758
758
  (function(TypeModifier2) {
759
759
  TypeModifier2[TypeModifier2["None"] = 0] = "None";
@@ -1691,7 +1691,7 @@ function serializeTags(tags) {
1691
1691
  return out;
1692
1692
  }
1693
1693
 
1694
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1694
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1695
1695
  var CONSTANT_PREFIX = "_c";
1696
1696
  var UNKNOWN_VALUE_KEY = variable("<unknown>");
1697
1697
  var KEY_CONTEXT = {};
@@ -1879,7 +1879,7 @@ function isLongStringLiteral(expr) {
1879
1879
  return expr instanceof LiteralExpr && typeof expr.value === "string" && expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;
1880
1880
  }
1881
1881
 
1882
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
1882
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
1883
1883
  var CORE = "@angular/core";
1884
1884
  var _Identifiers = class {
1885
1885
  };
@@ -2676,6 +2676,15 @@ var Identifiers = _Identifiers;
2676
2676
  (() => {
2677
2677
  _Identifiers.twoWayListener = { name: "\u0275\u0275twoWayListener", moduleName: CORE };
2678
2678
  })();
2679
+ (() => {
2680
+ _Identifiers.declareLet = { name: "\u0275\u0275declareLet", moduleName: CORE };
2681
+ })();
2682
+ (() => {
2683
+ _Identifiers.storeLet = { name: "\u0275\u0275storeLet", moduleName: CORE };
2684
+ })();
2685
+ (() => {
2686
+ _Identifiers.readContextLet = { name: "\u0275\u0275readContextLet", moduleName: CORE };
2687
+ })();
2679
2688
  (() => {
2680
2689
  _Identifiers.NgOnChangesFeature = { name: "\u0275\u0275NgOnChangesFeature", moduleName: CORE };
2681
2690
  })();
@@ -2767,7 +2776,7 @@ var Identifiers = _Identifiers;
2767
2776
  _Identifiers.unwrapWritableSignal = { name: "\u0275unwrapWritableSignal", moduleName: CORE };
2768
2777
  })();
2769
2778
 
2770
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/util.mjs
2779
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/util.mjs
2771
2780
  var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
2772
2781
  function dashCaseToCamelCase(input) {
2773
2782
  return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());
@@ -2844,7 +2853,7 @@ var Version = class {
2844
2853
  };
2845
2854
  var _global = globalThis;
2846
2855
 
2847
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2856
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2848
2857
  var VERSION = 3;
2849
2858
  var JS_B64_PREFIX = "# sourceMappingURL=data:application/json;base64,";
2850
2859
  var SourceMapGenerator = class {
@@ -2973,7 +2982,7 @@ function toBase64Digit(value) {
2973
2982
  return B64_DIGITS[value];
2974
2983
  }
2975
2984
 
2976
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
2985
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
2977
2986
  var _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\|\n|\r|\$/g;
2978
2987
  var _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;
2979
2988
  var _INDENT_WITH = " ";
@@ -3461,7 +3470,7 @@ function _createIndent(count) {
3461
3470
  return res;
3462
3471
  }
3463
3472
 
3464
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/util.mjs
3473
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/util.mjs
3465
3474
  function typeWithParameters(type, numParams) {
3466
3475
  if (numParams === 0) {
3467
3476
  return expressionType(type);
@@ -3516,7 +3525,7 @@ function generateForwardRef(expr) {
3516
3525
  return importExpr(Identifiers.forwardRef).callFn([arrowFn([], expr)]);
3517
3526
  }
3518
3527
 
3519
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3528
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3520
3529
  var R3FactoryDelegateType;
3521
3530
  (function(R3FactoryDelegateType2) {
3522
3531
  R3FactoryDelegateType2[R3FactoryDelegateType2["Class"] = 0] = "Class";
@@ -3661,7 +3670,7 @@ function getInjectFn(target) {
3661
3670
  }
3662
3671
  }
3663
3672
 
3664
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
3673
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
3665
3674
  var ParserError = class {
3666
3675
  constructor(message, input, errLocation, ctxLocation) {
3667
3676
  this.input = input;
@@ -4099,7 +4108,7 @@ var BoundElementProperty = class {
4099
4108
  }
4100
4109
  };
4101
4110
 
4102
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
4111
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
4103
4112
  var TagContentType;
4104
4113
  (function(TagContentType2) {
4105
4114
  TagContentType2[TagContentType2["RAW_TEXT"] = 0] = "RAW_TEXT";
@@ -4136,7 +4145,7 @@ function mergeNsAndName(prefix, localName) {
4136
4145
  return prefix ? `:${prefix}:${localName}` : localName;
4137
4146
  }
4138
4147
 
4139
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
4148
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
4140
4149
  var Comment = class {
4141
4150
  constructor(value, sourceSpan) {
4142
4151
  this.value = value;
@@ -4530,7 +4539,7 @@ function visitAll(visitor, nodes) {
4530
4539
  return result;
4531
4540
  }
4532
4541
 
4533
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
4542
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
4534
4543
  var Message = class {
4535
4544
  constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {
4536
4545
  this.nodes = nodes;
@@ -4670,7 +4679,7 @@ var LocalizeMessageStringVisitor = class {
4670
4679
  }
4671
4680
  };
4672
4681
 
4673
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
4682
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
4674
4683
  var _Visitor = class {
4675
4684
  visitTag(tag) {
4676
4685
  const strAttrs = this._serializeAttributes(tag.attrs);
@@ -4698,12 +4707,12 @@ ${doctype.dtd}
4698
4707
  };
4699
4708
  var _visitor = new _Visitor();
4700
4709
 
4701
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
4710
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
4702
4711
  function toPublicName(internalName) {
4703
4712
  return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, "_");
4704
4713
  }
4705
4714
 
4706
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
4715
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
4707
4716
  var I18N_ATTR = "i18n";
4708
4717
  var I18N_ATTR_PREFIX = "i18n-";
4709
4718
  var I18N_ICU_VAR_PREFIX = "VAR_";
@@ -4743,7 +4752,7 @@ function formatI18nPlaceholderName(name, useCamelCase = true) {
4743
4752
  return postfix ? `${raw}_${postfix}` : raw;
4744
4753
  }
4745
4754
 
4746
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
4755
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
4747
4756
  var UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;
4748
4757
  var TEMPORARY_NAME = "_t";
4749
4758
  var CONTEXT_NAME = "ctx";
@@ -4870,7 +4879,7 @@ function getAttrsForDirectiveMatching(elOrTpl) {
4870
4879
  return attributesMap;
4871
4880
  }
4872
4881
 
4873
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
4882
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
4874
4883
  function compileInjectable(meta, resolveForwardRefs) {
4875
4884
  let result = null;
4876
4885
  const factoryMeta = {
@@ -4957,7 +4966,7 @@ function createFactoryFunction(type) {
4957
4966
  return arrowFn([new FnParam("t", DYNAMIC_TYPE)], type.prop("\u0275fac").callFn([variable("t")]));
4958
4967
  }
4959
4968
 
4960
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/assertions.mjs
4969
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/assertions.mjs
4961
4970
  var UNUSABLE_INTERPOLATION_REGEXPS = [
4962
4971
  /@/,
4963
4972
  /^\s*$/,
@@ -4980,7 +4989,7 @@ function assertInterpolationSymbols(identifier, value) {
4980
4989
  }
4981
4990
  }
4982
4991
 
4983
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/defaults.mjs
4992
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/defaults.mjs
4984
4993
  var InterpolationConfig = class {
4985
4994
  static fromArray(markers) {
4986
4995
  if (!markers) {
@@ -4997,7 +5006,7 @@ var InterpolationConfig = class {
4997
5006
  var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig("{{", "}}");
4998
5007
  var DEFAULT_CONTAINER_BLOCKS = /* @__PURE__ */ new Set(["switch"]);
4999
5008
 
5000
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/chars.mjs
5009
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/chars.mjs
5001
5010
  var $EOF = 0;
5002
5011
  var $BSPACE = 8;
5003
5012
  var $TAB = 9;
@@ -5079,7 +5088,7 @@ function isQuote(code) {
5079
5088
  return code === $SQ || code === $DQ || code === $BT;
5080
5089
  }
5081
5090
 
5082
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/parse_util.mjs
5091
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/parse_util.mjs
5083
5092
  var ParseLocation = class {
5084
5093
  constructor(file, offset, line, col) {
5085
5094
  this.file = file;
@@ -5226,7 +5235,7 @@ function sanitizeIdentifier(name) {
5226
5235
  return name.replace(/\W/g, "_");
5227
5236
  }
5228
5237
 
5229
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
5238
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
5230
5239
  var makeTemplateObjectPolyfill = '(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})';
5231
5240
  var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
5232
5241
  constructor() {
@@ -5319,7 +5328,7 @@ var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
5319
5328
  }
5320
5329
  };
5321
5330
 
5322
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
5331
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
5323
5332
  var policy;
5324
5333
  function getPolicy() {
5325
5334
  if (policy === void 0) {
@@ -5357,7 +5366,7 @@ function newTrustedFunctionForJIT(...args) {
5357
5366
  return fn2.bind(_global);
5358
5367
  }
5359
5368
 
5360
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
5369
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
5361
5370
  var JitEvaluator = class {
5362
5371
  evaluateStatements(sourceUrl, statements, refResolver, createSourceMaps) {
5363
5372
  const converter = new JitEmitterVisitor(refResolver);
@@ -5445,7 +5454,7 @@ function isUseStrictStatement(statement) {
5445
5454
  return statement.isEquivalent(literal("use strict").toStmt());
5446
5455
  }
5447
5456
 
5448
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
5457
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
5449
5458
  function compileInjector(meta) {
5450
5459
  const definitionMap = new DefinitionMap();
5451
5460
  if (meta.providers !== null) {
@@ -5462,7 +5471,7 @@ function createInjectorType(meta) {
5462
5471
  return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.type)]));
5463
5472
  }
5464
5473
 
5465
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
5474
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
5466
5475
  var R3JitReflector = class {
5467
5476
  constructor(context) {
5468
5477
  this.context = context;
@@ -5478,7 +5487,7 @@ var R3JitReflector = class {
5478
5487
  }
5479
5488
  };
5480
5489
 
5481
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
5490
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
5482
5491
  var R3SelectorScopeMode;
5483
5492
  (function(R3SelectorScopeMode2) {
5484
5493
  R3SelectorScopeMode2[R3SelectorScopeMode2["Inline"] = 0] = "Inline";
@@ -5613,7 +5622,7 @@ function tupleOfTypes(types) {
5613
5622
  return types.length > 0 ? expressionType(literalArr(typeofTypes)) : NONE_TYPE;
5614
5623
  }
5615
5624
 
5616
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
5625
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
5617
5626
  function compilePipeFromMetadata(metadata) {
5618
5627
  const definitionMapValues = [];
5619
5628
  definitionMapValues.push({ key: "name", value: literal(metadata.pipeName), quoted: false });
@@ -5634,7 +5643,7 @@ function createPipeType(metadata) {
5634
5643
  ]));
5635
5644
  }
5636
5645
 
5637
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
5646
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
5638
5647
  var R3TemplateDependencyKind;
5639
5648
  (function(R3TemplateDependencyKind2) {
5640
5649
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["Directive"] = 0] = "Directive";
@@ -5642,7 +5651,7 @@ var R3TemplateDependencyKind;
5642
5651
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["NgModule"] = 2] = "NgModule";
5643
5652
  })(R3TemplateDependencyKind || (R3TemplateDependencyKind = {}));
5644
5653
 
5645
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/shadow_css.mjs
5654
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/shadow_css.mjs
5646
5655
  var animationKeywords = /* @__PURE__ */ new Set([
5647
5656
  "inherit",
5648
5657
  "initial",
@@ -6122,7 +6131,7 @@ function repeatGroups(groups, multiples) {
6122
6131
  }
6123
6132
  }
6124
6133
 
6125
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/enums.mjs
6134
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/enums.mjs
6126
6135
  var OpKind;
6127
6136
  (function(OpKind2) {
6128
6137
  OpKind2[OpKind2["ListEnd"] = 0] = "ListEnd";
@@ -6163,16 +6172,18 @@ var OpKind;
6163
6172
  OpKind2[OpKind2["Repeater"] = 35] = "Repeater";
6164
6173
  OpKind2[OpKind2["TwoWayProperty"] = 36] = "TwoWayProperty";
6165
6174
  OpKind2[OpKind2["TwoWayListener"] = 37] = "TwoWayListener";
6166
- OpKind2[OpKind2["I18nStart"] = 38] = "I18nStart";
6167
- OpKind2[OpKind2["I18n"] = 39] = "I18n";
6168
- OpKind2[OpKind2["I18nEnd"] = 40] = "I18nEnd";
6169
- OpKind2[OpKind2["I18nExpression"] = 41] = "I18nExpression";
6170
- OpKind2[OpKind2["I18nApply"] = 42] = "I18nApply";
6171
- OpKind2[OpKind2["IcuStart"] = 43] = "IcuStart";
6172
- OpKind2[OpKind2["IcuEnd"] = 44] = "IcuEnd";
6173
- OpKind2[OpKind2["IcuPlaceholder"] = 45] = "IcuPlaceholder";
6174
- OpKind2[OpKind2["I18nContext"] = 46] = "I18nContext";
6175
- OpKind2[OpKind2["I18nAttributes"] = 47] = "I18nAttributes";
6175
+ OpKind2[OpKind2["DeclareLet"] = 38] = "DeclareLet";
6176
+ OpKind2[OpKind2["StoreLet"] = 39] = "StoreLet";
6177
+ OpKind2[OpKind2["I18nStart"] = 40] = "I18nStart";
6178
+ OpKind2[OpKind2["I18n"] = 41] = "I18n";
6179
+ OpKind2[OpKind2["I18nEnd"] = 42] = "I18nEnd";
6180
+ OpKind2[OpKind2["I18nExpression"] = 43] = "I18nExpression";
6181
+ OpKind2[OpKind2["I18nApply"] = 44] = "I18nApply";
6182
+ OpKind2[OpKind2["IcuStart"] = 45] = "IcuStart";
6183
+ OpKind2[OpKind2["IcuEnd"] = 46] = "IcuEnd";
6184
+ OpKind2[OpKind2["IcuPlaceholder"] = 47] = "IcuPlaceholder";
6185
+ OpKind2[OpKind2["I18nContext"] = 48] = "I18nContext";
6186
+ OpKind2[OpKind2["I18nAttributes"] = 49] = "I18nAttributes";
6176
6187
  })(OpKind || (OpKind = {}));
6177
6188
  var ExpressionKind;
6178
6189
  (function(ExpressionKind2) {
@@ -6182,24 +6193,26 @@ var ExpressionKind;
6182
6193
  ExpressionKind2[ExpressionKind2["ReadVariable"] = 3] = "ReadVariable";
6183
6194
  ExpressionKind2[ExpressionKind2["NextContext"] = 4] = "NextContext";
6184
6195
  ExpressionKind2[ExpressionKind2["Reference"] = 5] = "Reference";
6185
- ExpressionKind2[ExpressionKind2["GetCurrentView"] = 6] = "GetCurrentView";
6186
- ExpressionKind2[ExpressionKind2["RestoreView"] = 7] = "RestoreView";
6187
- ExpressionKind2[ExpressionKind2["ResetView"] = 8] = "ResetView";
6188
- ExpressionKind2[ExpressionKind2["PureFunctionExpr"] = 9] = "PureFunctionExpr";
6189
- ExpressionKind2[ExpressionKind2["PureFunctionParameterExpr"] = 10] = "PureFunctionParameterExpr";
6190
- ExpressionKind2[ExpressionKind2["PipeBinding"] = 11] = "PipeBinding";
6191
- ExpressionKind2[ExpressionKind2["PipeBindingVariadic"] = 12] = "PipeBindingVariadic";
6192
- ExpressionKind2[ExpressionKind2["SafePropertyRead"] = 13] = "SafePropertyRead";
6193
- ExpressionKind2[ExpressionKind2["SafeKeyedRead"] = 14] = "SafeKeyedRead";
6194
- ExpressionKind2[ExpressionKind2["SafeInvokeFunction"] = 15] = "SafeInvokeFunction";
6195
- ExpressionKind2[ExpressionKind2["SafeTernaryExpr"] = 16] = "SafeTernaryExpr";
6196
- ExpressionKind2[ExpressionKind2["EmptyExpr"] = 17] = "EmptyExpr";
6197
- ExpressionKind2[ExpressionKind2["AssignTemporaryExpr"] = 18] = "AssignTemporaryExpr";
6198
- ExpressionKind2[ExpressionKind2["ReadTemporaryExpr"] = 19] = "ReadTemporaryExpr";
6199
- ExpressionKind2[ExpressionKind2["SlotLiteralExpr"] = 20] = "SlotLiteralExpr";
6200
- ExpressionKind2[ExpressionKind2["ConditionalCase"] = 21] = "ConditionalCase";
6201
- ExpressionKind2[ExpressionKind2["ConstCollected"] = 22] = "ConstCollected";
6202
- ExpressionKind2[ExpressionKind2["TwoWayBindingSet"] = 23] = "TwoWayBindingSet";
6196
+ ExpressionKind2[ExpressionKind2["StoreLet"] = 6] = "StoreLet";
6197
+ ExpressionKind2[ExpressionKind2["ContextLetReference"] = 7] = "ContextLetReference";
6198
+ ExpressionKind2[ExpressionKind2["GetCurrentView"] = 8] = "GetCurrentView";
6199
+ ExpressionKind2[ExpressionKind2["RestoreView"] = 9] = "RestoreView";
6200
+ ExpressionKind2[ExpressionKind2["ResetView"] = 10] = "ResetView";
6201
+ ExpressionKind2[ExpressionKind2["PureFunctionExpr"] = 11] = "PureFunctionExpr";
6202
+ ExpressionKind2[ExpressionKind2["PureFunctionParameterExpr"] = 12] = "PureFunctionParameterExpr";
6203
+ ExpressionKind2[ExpressionKind2["PipeBinding"] = 13] = "PipeBinding";
6204
+ ExpressionKind2[ExpressionKind2["PipeBindingVariadic"] = 14] = "PipeBindingVariadic";
6205
+ ExpressionKind2[ExpressionKind2["SafePropertyRead"] = 15] = "SafePropertyRead";
6206
+ ExpressionKind2[ExpressionKind2["SafeKeyedRead"] = 16] = "SafeKeyedRead";
6207
+ ExpressionKind2[ExpressionKind2["SafeInvokeFunction"] = 17] = "SafeInvokeFunction";
6208
+ ExpressionKind2[ExpressionKind2["SafeTernaryExpr"] = 18] = "SafeTernaryExpr";
6209
+ ExpressionKind2[ExpressionKind2["EmptyExpr"] = 19] = "EmptyExpr";
6210
+ ExpressionKind2[ExpressionKind2["AssignTemporaryExpr"] = 20] = "AssignTemporaryExpr";
6211
+ ExpressionKind2[ExpressionKind2["ReadTemporaryExpr"] = 21] = "ReadTemporaryExpr";
6212
+ ExpressionKind2[ExpressionKind2["SlotLiteralExpr"] = 22] = "SlotLiteralExpr";
6213
+ ExpressionKind2[ExpressionKind2["ConditionalCase"] = 23] = "ConditionalCase";
6214
+ ExpressionKind2[ExpressionKind2["ConstCollected"] = 24] = "ConstCollected";
6215
+ ExpressionKind2[ExpressionKind2["TwoWayBindingSet"] = 25] = "TwoWayBindingSet";
6203
6216
  })(ExpressionKind || (ExpressionKind = {}));
6204
6217
  var VariableFlags;
6205
6218
  (function(VariableFlags2) {
@@ -6276,7 +6289,7 @@ var TemplateKind;
6276
6289
  TemplateKind2[TemplateKind2["Block"] = 2] = "Block";
6277
6290
  })(TemplateKind || (TemplateKind = {}));
6278
6291
 
6279
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/traits.mjs
6292
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/traits.mjs
6280
6293
  var ConsumesSlot = Symbol("ConsumesSlot");
6281
6294
  var DependsOnSlotContext = Symbol("DependsOnSlotContext");
6282
6295
  var ConsumesVarsTrait = Symbol("ConsumesVars");
@@ -6294,8 +6307,8 @@ var TRAIT_CONSUMES_VARS = {
6294
6307
  function hasConsumesSlotTrait(op) {
6295
6308
  return op[ConsumesSlot] === true;
6296
6309
  }
6297
- function hasDependsOnSlotContextTrait(op) {
6298
- return op[DependsOnSlotContext] === true;
6310
+ function hasDependsOnSlotContextTrait(value) {
6311
+ return value[DependsOnSlotContext] === true;
6299
6312
  }
6300
6313
  function hasConsumesVarsTrait(value) {
6301
6314
  return value[ConsumesVarsTrait] === true;
@@ -6304,7 +6317,7 @@ function hasUsesVarOffsetTrait(expr) {
6304
6317
  return expr[UsesVarOffset] === true;
6305
6318
  }
6306
6319
 
6307
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/shared.mjs
6320
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/shared.mjs
6308
6321
  function createStatementOp(statement) {
6309
6322
  return __spreadValues({
6310
6323
  kind: OpKind.Statement,
@@ -6326,7 +6339,7 @@ var NEW_OP = {
6326
6339
  next: null
6327
6340
  };
6328
6341
 
6329
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/update.mjs
6342
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/update.mjs
6330
6343
  function createInterpolateTextOp(xref, interpolation, sourceSpan) {
6331
6344
  return __spreadValues(__spreadValues(__spreadValues({
6332
6345
  kind: OpKind.InterpolateText,
@@ -6505,14 +6518,25 @@ function createI18nApplyOp(owner, handle, sourceSpan) {
6505
6518
  sourceSpan
6506
6519
  }, NEW_OP);
6507
6520
  }
6521
+ function createStoreLetOp(target, declaredName, value, sourceSpan) {
6522
+ return __spreadValues(__spreadValues(__spreadValues({
6523
+ kind: OpKind.StoreLet,
6524
+ target,
6525
+ declaredName,
6526
+ value,
6527
+ sourceSpan
6528
+ }, TRAIT_DEPENDS_ON_SLOT_CONTEXT), TRAIT_CONSUMES_VARS), NEW_OP);
6529
+ }
6508
6530
 
6509
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/expression.mjs
6531
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/expression.mjs
6510
6532
  var _a;
6511
6533
  var _b;
6512
6534
  var _c;
6513
6535
  var _d;
6514
6536
  var _e;
6515
6537
  var _f;
6538
+ var _g;
6539
+ var _h;
6516
6540
  function isIrExpression(expr) {
6517
6541
  return expr instanceof ExpressionBase;
6518
6542
  }
@@ -6563,6 +6587,56 @@ var ReferenceExpr = class extends ExpressionBase {
6563
6587
  return new ReferenceExpr(this.target, this.targetSlot, this.offset);
6564
6588
  }
6565
6589
  };
6590
+ var _StoreLetExpr = class extends ExpressionBase {
6591
+ constructor(target, value, sourceSpan) {
6592
+ super();
6593
+ this.target = target;
6594
+ this.value = value;
6595
+ this.sourceSpan = sourceSpan;
6596
+ this.kind = ExpressionKind.StoreLet;
6597
+ this[_a] = true;
6598
+ this[_b] = true;
6599
+ }
6600
+ visitExpression() {
6601
+ }
6602
+ isEquivalent(e) {
6603
+ return e instanceof _StoreLetExpr && e.target === this.target && e.value.isEquivalent(this.value);
6604
+ }
6605
+ isConstant() {
6606
+ return false;
6607
+ }
6608
+ transformInternalExpressions(transform2, flags) {
6609
+ this.value = transformExpressionsInExpression(this.value, transform2, flags);
6610
+ }
6611
+ clone() {
6612
+ return new _StoreLetExpr(this.target, this.value, this.sourceSpan);
6613
+ }
6614
+ };
6615
+ var StoreLetExpr = _StoreLetExpr;
6616
+ (() => {
6617
+ _a = ConsumesVarsTrait, _b = DependsOnSlotContext;
6618
+ })();
6619
+ var ContextLetReferenceExpr = class extends ExpressionBase {
6620
+ constructor(target, targetSlot) {
6621
+ super();
6622
+ this.target = target;
6623
+ this.targetSlot = targetSlot;
6624
+ this.kind = ExpressionKind.ContextLetReference;
6625
+ }
6626
+ visitExpression() {
6627
+ }
6628
+ isEquivalent(e) {
6629
+ return e instanceof ContextLetReferenceExpr && e.target === this.target;
6630
+ }
6631
+ isConstant() {
6632
+ return false;
6633
+ }
6634
+ transformInternalExpressions() {
6635
+ }
6636
+ clone() {
6637
+ return new ContextLetReferenceExpr(this.target, this.targetSlot);
6638
+ }
6639
+ };
6566
6640
  var ContextExpr = class extends ExpressionBase {
6567
6641
  constructor(view) {
6568
6642
  super();
@@ -6751,8 +6825,8 @@ var _PureFunctionExpr = class extends ExpressionBase {
6751
6825
  constructor(expression, args) {
6752
6826
  super();
6753
6827
  this.kind = ExpressionKind.PureFunctionExpr;
6754
- this[_a] = true;
6755
- this[_b] = true;
6828
+ this[_c] = true;
6829
+ this[_d] = true;
6756
6830
  this.varOffset = null;
6757
6831
  this.fn = null;
6758
6832
  this.body = expression;
@@ -6794,7 +6868,7 @@ var _PureFunctionExpr = class extends ExpressionBase {
6794
6868
  };
6795
6869
  var PureFunctionExpr = _PureFunctionExpr;
6796
6870
  (() => {
6797
- _a = ConsumesVarsTrait, _b = UsesVarOffset;
6871
+ _c = ConsumesVarsTrait, _d = UsesVarOffset;
6798
6872
  })();
6799
6873
  var PureFunctionParameterExpr = class extends ExpressionBase {
6800
6874
  constructor(index) {
@@ -6824,8 +6898,8 @@ var _PipeBindingExpr = class extends ExpressionBase {
6824
6898
  this.name = name;
6825
6899
  this.args = args;
6826
6900
  this.kind = ExpressionKind.PipeBinding;
6827
- this[_c] = true;
6828
- this[_d] = true;
6901
+ this[_e] = true;
6902
+ this[_f] = true;
6829
6903
  this.varOffset = null;
6830
6904
  }
6831
6905
  visitExpression(visitor, context) {
@@ -6852,7 +6926,7 @@ var _PipeBindingExpr = class extends ExpressionBase {
6852
6926
  };
6853
6927
  var PipeBindingExpr = _PipeBindingExpr;
6854
6928
  (() => {
6855
- _c = ConsumesVarsTrait, _d = UsesVarOffset;
6929
+ _e = ConsumesVarsTrait, _f = UsesVarOffset;
6856
6930
  })();
6857
6931
  var _PipeBindingVariadicExpr = class extends ExpressionBase {
6858
6932
  constructor(target, targetSlot, name, args, numArgs) {
@@ -6863,8 +6937,8 @@ var _PipeBindingVariadicExpr = class extends ExpressionBase {
6863
6937
  this.args = args;
6864
6938
  this.numArgs = numArgs;
6865
6939
  this.kind = ExpressionKind.PipeBindingVariadic;
6866
- this[_e] = true;
6867
- this[_f] = true;
6940
+ this[_g] = true;
6941
+ this[_h] = true;
6868
6942
  this.varOffset = null;
6869
6943
  }
6870
6944
  visitExpression(visitor, context) {
@@ -6887,7 +6961,7 @@ var _PipeBindingVariadicExpr = class extends ExpressionBase {
6887
6961
  };
6888
6962
  var PipeBindingVariadicExpr = _PipeBindingVariadicExpr;
6889
6963
  (() => {
6890
- _e = ConsumesVarsTrait, _f = UsesVarOffset;
6964
+ _g = ConsumesVarsTrait, _h = UsesVarOffset;
6891
6965
  })();
6892
6966
  var SafePropertyReadExpr = class extends ExpressionBase {
6893
6967
  constructor(receiver, name) {
@@ -7246,6 +7320,9 @@ function transformExpressionsInOp(op, transform2, flags) {
7246
7320
  case OpKind.DeferWhen:
7247
7321
  op.expr = transformExpressionsInExpression(op.expr, transform2, flags);
7248
7322
  break;
7323
+ case OpKind.StoreLet:
7324
+ op.value = transformExpressionsInExpression(op.value, transform2, flags);
7325
+ break;
7249
7326
  case OpKind.Advance:
7250
7327
  case OpKind.Container:
7251
7328
  case OpKind.ContainerEnd:
@@ -7271,6 +7348,7 @@ function transformExpressionsInOp(op, transform2, flags) {
7271
7348
  case OpKind.Text:
7272
7349
  case OpKind.I18nAttributes:
7273
7350
  case OpKind.IcuPlaceholder:
7351
+ case OpKind.DeclareLet:
7274
7352
  break;
7275
7353
  default:
7276
7354
  throw new Error(`AssertionError: transformExpressionsInOp doesn't handle ${OpKind[op.kind]}`);
@@ -7368,7 +7446,7 @@ function isStringLiteral(expr) {
7368
7446
  return expr instanceof LiteralExpr && typeof expr.value === "string";
7369
7447
  }
7370
7448
 
7371
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/operations.mjs
7449
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/operations.mjs
7372
7450
  var _OpList = class {
7373
7451
  constructor() {
7374
7452
  this.debugListId = _OpList.nextListId++;
@@ -7559,14 +7637,14 @@ var OpList = _OpList;
7559
7637
  _OpList.nextListId = 0;
7560
7638
  })();
7561
7639
 
7562
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/handle.mjs
7640
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/handle.mjs
7563
7641
  var SlotHandle = class {
7564
7642
  constructor() {
7565
7643
  this.slot = null;
7566
7644
  }
7567
7645
  };
7568
7646
 
7569
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/create.mjs
7647
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/create.mjs
7570
7648
  var elementContainerOpKinds = /* @__PURE__ */ new Set([
7571
7649
  OpKind.Element,
7572
7650
  OpKind.ElementStart,
@@ -7786,6 +7864,15 @@ function createDeferOnOp(defer2, trigger, prefetch, sourceSpan) {
7786
7864
  sourceSpan
7787
7865
  }, NEW_OP);
7788
7866
  }
7867
+ function createDeclareLetOp(xref, declaredName, sourceSpan) {
7868
+ return __spreadValues(__spreadValues({
7869
+ kind: OpKind.DeclareLet,
7870
+ xref,
7871
+ declaredName,
7872
+ sourceSpan,
7873
+ handle: new SlotHandle()
7874
+ }, TRAIT_CONSUMES_SLOT), NEW_OP);
7875
+ }
7789
7876
  function createI18nMessageOp(xref, i18nContext, i18nBlock, message, messagePlaceholder, params, postprocessingParams, needsPostprocessing) {
7790
7877
  return __spreadValues({
7791
7878
  kind: OpKind.I18nMessage,
@@ -7870,7 +7957,7 @@ function createI18nAttributesOp(xref, handle, target) {
7870
7957
  }, NEW_OP), TRAIT_CONSUMES_SLOT);
7871
7958
  }
7872
7959
 
7873
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/host.mjs
7960
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/host.mjs
7874
7961
  function createHostPropertyOp(name, expression, isAnimationTrigger, i18nContext, securityContext, sourceSpan) {
7875
7962
  return __spreadValues(__spreadValues({
7876
7963
  kind: OpKind.HostProperty,
@@ -7884,10 +7971,10 @@ function createHostPropertyOp(name, expression, isAnimationTrigger, i18nContext,
7884
7971
  }, TRAIT_CONSUMES_VARS), NEW_OP);
7885
7972
  }
7886
7973
 
7887
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/variable.mjs
7974
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/variable.mjs
7888
7975
  var CTX_REF = "CTX_REF_MARKER";
7889
7976
 
7890
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/compilation.mjs
7977
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/compilation.mjs
7891
7978
  var CompilationJobKind;
7892
7979
  (function(CompilationJobKind2) {
7893
7980
  CompilationJobKind2[CompilationJobKind2["Tmpl"] = 0] = "Tmpl";
@@ -7995,7 +8082,7 @@ var HostBindingCompilationUnit = class extends CompilationUnit {
7995
8082
  }
7996
8083
  };
7997
8084
 
7998
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/any_cast.mjs
8085
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/any_cast.mjs
7999
8086
  function deleteAnyCasts(job) {
8000
8087
  for (const unit of job.units) {
8001
8088
  for (const op of unit.ops()) {
@@ -8013,7 +8100,7 @@ function removeAnys(e) {
8013
8100
  return e;
8014
8101
  }
8015
8102
 
8016
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/apply_i18n_expressions.mjs
8103
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/apply_i18n_expressions.mjs
8017
8104
  function applyI18nExpressions(job) {
8018
8105
  const i18nContexts = /* @__PURE__ */ new Map();
8019
8106
  for (const unit of job.units) {
@@ -8056,7 +8143,7 @@ function needsApplication(i18nContexts, op) {
8056
8143
  return false;
8057
8144
  }
8058
8145
 
8059
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs
8146
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs
8060
8147
  function assignI18nSlotDependencies(job) {
8061
8148
  for (const unit of job.units) {
8062
8149
  let updateOp = unit.update.head;
@@ -8101,7 +8188,7 @@ function assignI18nSlotDependencies(job) {
8101
8188
  }
8102
8189
  }
8103
8190
 
8104
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/util/elements.mjs
8191
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/util/elements.mjs
8105
8192
  function createOpXrefMap(unit) {
8106
8193
  const map = /* @__PURE__ */ new Map();
8107
8194
  for (const op of unit.create) {
@@ -8116,7 +8203,7 @@ function createOpXrefMap(unit) {
8116
8203
  return map;
8117
8204
  }
8118
8205
 
8119
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/attribute_extraction.mjs
8206
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/attribute_extraction.mjs
8120
8207
  function extractAttributes(job) {
8121
8208
  for (const unit of job.units) {
8122
8209
  const elements = createOpXrefMap(unit);
@@ -8245,7 +8332,7 @@ function extractAttributeOp(unit, op, elements) {
8245
8332
  }
8246
8333
  }
8247
8334
 
8248
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/binding_specialization.mjs
8335
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/binding_specialization.mjs
8249
8336
  function lookupElement2(elements, xref) {
8250
8337
  const el = elements.get(xref);
8251
8338
  if (el === void 0) {
@@ -8302,7 +8389,7 @@ function specializeBindings(job) {
8302
8389
  }
8303
8390
  }
8304
8391
 
8305
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/chaining.mjs
8392
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/chaining.mjs
8306
8393
  var CHAINABLE = /* @__PURE__ */ new Set([
8307
8394
  Identifiers.attribute,
8308
8395
  Identifiers.classProp,
@@ -8331,7 +8418,8 @@ var CHAINABLE = /* @__PURE__ */ new Set([
8331
8418
  Identifiers.syntheticHostProperty,
8332
8419
  Identifiers.templateCreate,
8333
8420
  Identifiers.twoWayProperty,
8334
- Identifiers.twoWayListener
8421
+ Identifiers.twoWayListener,
8422
+ Identifiers.declareLet
8335
8423
  ]);
8336
8424
  function chain(job) {
8337
8425
  for (const unit of job.units) {
@@ -8370,7 +8458,7 @@ function chainOperationsInList(opList) {
8370
8458
  }
8371
8459
  }
8372
8460
 
8373
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs
8461
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs
8374
8462
  function collapseSingletonInterpolations(job) {
8375
8463
  for (const unit of job.units) {
8376
8464
  for (const op of unit.update) {
@@ -8382,7 +8470,7 @@ function collapseSingletonInterpolations(job) {
8382
8470
  }
8383
8471
  }
8384
8472
 
8385
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/conditionals.mjs
8473
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/conditionals.mjs
8386
8474
  function generateConditionalExpressions(job) {
8387
8475
  for (const unit of job.units) {
8388
8476
  for (const op of unit.ops()) {
@@ -8419,7 +8507,7 @@ function generateConditionalExpressions(job) {
8419
8507
  }
8420
8508
  }
8421
8509
 
8422
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/conversion.mjs
8510
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/conversion.mjs
8423
8511
  var BINARY_OPERATORS = /* @__PURE__ */ new Map([
8424
8512
  ["&&", BinaryOperator.And],
8425
8513
  [">", BinaryOperator.Bigger],
@@ -8476,7 +8564,7 @@ function literalOrArrayLiteral(value) {
8476
8564
  return literal(value);
8477
8565
  }
8478
8566
 
8479
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/const_collection.mjs
8567
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/const_collection.mjs
8480
8568
  function collectElementConsts(job) {
8481
8569
  const allElementAttributes = /* @__PURE__ */ new Map();
8482
8570
  for (const unit of job.units) {
@@ -8645,7 +8733,7 @@ function serializeAttributes({ attributes, bindings, classes, i18n: i18n2, proje
8645
8733
  return literalArr(attrArray);
8646
8734
  }
8647
8735
 
8648
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/convert_i18n_bindings.mjs
8736
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/convert_i18n_bindings.mjs
8649
8737
  function convertI18nBindings(job) {
8650
8738
  const i18nAttributesByElem = /* @__PURE__ */ new Map();
8651
8739
  for (const unit of job.units) {
@@ -8686,7 +8774,7 @@ function convertI18nBindings(job) {
8686
8774
  }
8687
8775
  }
8688
8776
 
8689
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_defer_deps_fns.mjs
8777
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_defer_deps_fns.mjs
8690
8778
  function resolveDeferDepsFns(job) {
8691
8779
  var _a2;
8692
8780
  for (const unit of job.units) {
@@ -8711,7 +8799,7 @@ function resolveDeferDepsFns(job) {
8711
8799
  }
8712
8800
  }
8713
8801
 
8714
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_i18n_contexts.mjs
8802
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_i18n_contexts.mjs
8715
8803
  function createI18nContexts(job) {
8716
8804
  const attrContextByMessage = /* @__PURE__ */ new Map();
8717
8805
  for (const unit of job.units) {
@@ -8789,7 +8877,7 @@ function createI18nContexts(job) {
8789
8877
  }
8790
8878
  }
8791
8879
 
8792
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs
8880
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs
8793
8881
  function deduplicateTextBindings(job) {
8794
8882
  const seen = /* @__PURE__ */ new Map();
8795
8883
  for (const unit of job.units) {
@@ -8811,7 +8899,7 @@ function deduplicateTextBindings(job) {
8811
8899
  }
8812
8900
  }
8813
8901
 
8814
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_configs.mjs
8902
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_configs.mjs
8815
8903
  function configureDeferInstructions(job) {
8816
8904
  for (const unit of job.units) {
8817
8905
  for (const op of unit.create) {
@@ -8828,7 +8916,7 @@ function configureDeferInstructions(job) {
8828
8916
  }
8829
8917
  }
8830
8918
 
8831
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_resolve_targets.mjs
8919
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_resolve_targets.mjs
8832
8920
  function resolveDeferTargetNames(job) {
8833
8921
  const scopes = /* @__PURE__ */ new Map();
8834
8922
  function getScopeForView2(view) {
@@ -8922,7 +9010,7 @@ var Scope = class {
8922
9010
  }
8923
9011
  };
8924
9012
 
8925
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/empty_elements.mjs
9013
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/empty_elements.mjs
8926
9014
  var REPLACEMENTS = /* @__PURE__ */ new Map([
8927
9015
  [OpKind.ElementEnd, [OpKind.ElementStart, OpKind.Element]],
8928
9016
  [OpKind.ContainerEnd, [OpKind.ContainerStart, OpKind.Container]],
@@ -8949,7 +9037,7 @@ function collapseEmptyInstructions(job) {
8949
9037
  }
8950
9038
  }
8951
9039
 
8952
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/expand_safe_reads.mjs
9040
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/expand_safe_reads.mjs
8953
9041
  function expandSafeReads(job) {
8954
9042
  for (const unit of job.units) {
8955
9043
  for (const op of unit.ops()) {
@@ -9085,7 +9173,7 @@ function ternaryTransform(e) {
9085
9173
  return new ConditionalExpr(new BinaryOperatorExpr(BinaryOperator.Equals, e.guard, NULL_EXPR), NULL_EXPR, e.expr);
9086
9174
  }
9087
9175
 
9088
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/extract_i18n_messages.mjs
9176
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/extract_i18n_messages.mjs
9089
9177
  var ESCAPE = "\uFFFD";
9090
9178
  var ELEMENT_MARKER = "#";
9091
9179
  var TEMPLATE_MARKER = "*";
@@ -9221,7 +9309,7 @@ function formatValue(value) {
9221
9309
  return `${ESCAPE}${closeMarker}${tagMarker}${value.value}${context}${ESCAPE}`;
9222
9310
  }
9223
9311
 
9224
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_advance.mjs
9312
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_advance.mjs
9225
9313
  function generateAdvance(job) {
9226
9314
  for (const unit of job.units) {
9227
9315
  const slotMap = /* @__PURE__ */ new Map();
@@ -9235,25 +9323,36 @@ function generateAdvance(job) {
9235
9323
  }
9236
9324
  let slotContext = 0;
9237
9325
  for (const op of unit.update) {
9238
- if (!hasDependsOnSlotContextTrait(op)) {
9326
+ let consumer = null;
9327
+ if (hasDependsOnSlotContextTrait(op)) {
9328
+ consumer = op;
9329
+ } else {
9330
+ visitExpressionsInOp(op, (expr) => {
9331
+ if (consumer === null && hasDependsOnSlotContextTrait(expr)) {
9332
+ consumer = expr;
9333
+ }
9334
+ });
9335
+ }
9336
+ if (consumer === null) {
9239
9337
  continue;
9240
- } else if (!slotMap.has(op.target)) {
9241
- throw new Error(`AssertionError: reference to unknown slot for target ${op.target}`);
9242
9338
  }
9243
- const slot = slotMap.get(op.target);
9339
+ if (!slotMap.has(consumer.target)) {
9340
+ throw new Error(`AssertionError: reference to unknown slot for target ${consumer.target}`);
9341
+ }
9342
+ const slot = slotMap.get(consumer.target);
9244
9343
  if (slotContext !== slot) {
9245
9344
  const delta = slot - slotContext;
9246
9345
  if (delta < 0) {
9247
9346
  throw new Error(`AssertionError: slot counter should never need to move backwards`);
9248
9347
  }
9249
- OpList.insertBefore(createAdvanceOp(delta, op.sourceSpan), op);
9348
+ OpList.insertBefore(createAdvanceOp(delta, consumer.sourceSpan), op);
9250
9349
  slotContext = slot;
9251
9350
  }
9252
9351
  }
9253
9352
  }
9254
9353
  }
9255
9354
 
9256
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_projection_def.mjs
9355
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_projection_def.mjs
9257
9356
  function generateProjectionDefs(job) {
9258
9357
  const share = job.compatibility === CompatibilityMode.TemplateDefinitionBuilder;
9259
9358
  const selectors = [];
@@ -9277,7 +9376,7 @@ function generateProjectionDefs(job) {
9277
9376
  }
9278
9377
  }
9279
9378
 
9280
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_variables.mjs
9379
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_variables.mjs
9281
9380
  function generateVariables(job) {
9282
9381
  recursivelyProcessView(job.root, null);
9283
9382
  }
@@ -9301,12 +9400,11 @@ function recursivelyProcessView(view, parentScope) {
9301
9400
  break;
9302
9401
  case OpKind.Listener:
9303
9402
  case OpKind.TwoWayListener:
9304
- op.handlerOps.prepend(generateVariablesInScopeForView(view, scope));
9403
+ op.handlerOps.prepend(generateVariablesInScopeForView(view, scope, true));
9305
9404
  break;
9306
9405
  }
9307
9406
  }
9308
- const preambleOps = generateVariablesInScopeForView(view, scope);
9309
- view.update.prepend(preambleOps);
9407
+ view.update.prepend(generateVariablesInScopeForView(view, scope, false));
9310
9408
  }
9311
9409
  function getScopeForView(view, parent) {
9312
9410
  const scope = {
@@ -9319,6 +9417,7 @@ function getScopeForView(view, parent) {
9319
9417
  contextVariables: /* @__PURE__ */ new Map(),
9320
9418
  aliases: view.aliases,
9321
9419
  references: [],
9420
+ letDeclarations: [],
9322
9421
  parent
9323
9422
  };
9324
9423
  for (const identifier of view.contextVariables.keys()) {
@@ -9349,11 +9448,22 @@ function getScopeForView(view, parent) {
9349
9448
  });
9350
9449
  }
9351
9450
  break;
9451
+ case OpKind.DeclareLet:
9452
+ scope.letDeclarations.push({
9453
+ targetId: op.xref,
9454
+ targetSlot: op.handle,
9455
+ variable: {
9456
+ kind: SemanticVariableKind.Identifier,
9457
+ name: null,
9458
+ identifier: op.declaredName
9459
+ }
9460
+ });
9461
+ break;
9352
9462
  }
9353
9463
  }
9354
9464
  return scope;
9355
9465
  }
9356
- function generateVariablesInScopeForView(view, scope) {
9466
+ function generateVariablesInScopeForView(view, scope, isListener) {
9357
9467
  const newOps = [];
9358
9468
  if (scope.view !== view.xref) {
9359
9469
  newOps.push(createVariableOp(view.job.allocateXrefId(), scope.viewContextVariable, new NextContextExpr(), VariableFlags.None));
@@ -9370,13 +9480,18 @@ function generateVariablesInScopeForView(view, scope) {
9370
9480
  for (const ref of scope.references) {
9371
9481
  newOps.push(createVariableOp(view.job.allocateXrefId(), ref.variable, new ReferenceExpr(ref.targetId, ref.targetSlot, ref.offset), VariableFlags.None));
9372
9482
  }
9483
+ if (scope.view !== view.xref || isListener) {
9484
+ for (const decl of scope.letDeclarations) {
9485
+ newOps.push(createVariableOp(view.job.allocateXrefId(), decl.variable, new ContextLetReferenceExpr(decl.targetId, decl.targetSlot), VariableFlags.None));
9486
+ }
9487
+ }
9373
9488
  if (scope.parent !== null) {
9374
- newOps.push(...generateVariablesInScopeForView(view, scope.parent));
9489
+ newOps.push(...generateVariablesInScopeForView(view, scope.parent, false));
9375
9490
  }
9376
9491
  return newOps;
9377
9492
  }
9378
9493
 
9379
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/has_const_expression_collection.mjs
9494
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/has_const_expression_collection.mjs
9380
9495
  function collectConstExpressions(job) {
9381
9496
  for (const unit of job.units) {
9382
9497
  for (const op of unit.ops()) {
@@ -9390,7 +9505,7 @@ function collectConstExpressions(job) {
9390
9505
  }
9391
9506
  }
9392
9507
 
9393
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/host_style_property_parsing.mjs
9508
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/host_style_property_parsing.mjs
9394
9509
  var STYLE_DOT = "style.";
9395
9510
  var CLASS_DOT = "class.";
9396
9511
  var STYLE_BANG = "style!";
@@ -9448,7 +9563,7 @@ function parseProperty(name) {
9448
9563
  return { property: property2, suffix };
9449
9564
  }
9450
9565
 
9451
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/map_util.mjs
9566
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/map_util.mjs
9452
9567
  function mapLiteral(obj, quoted = false) {
9453
9568
  return literalMap(Object.keys(obj).map((key) => ({
9454
9569
  key,
@@ -9457,7 +9572,7 @@ function mapLiteral(obj, quoted = false) {
9457
9572
  })));
9458
9573
  }
9459
9574
 
9460
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
9575
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
9461
9576
  var IcuSerializerVisitor = class {
9462
9577
  visitText(text2) {
9463
9578
  return text2.value;
@@ -9491,7 +9606,7 @@ function serializeIcuNode(icu) {
9491
9606
  return icu.visit(serializer);
9492
9607
  }
9493
9608
 
9494
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
9609
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
9495
9610
  var TokenType;
9496
9611
  (function(TokenType2) {
9497
9612
  TokenType2[TokenType2["Character"] = 0] = "Character";
@@ -9852,7 +9967,7 @@ function parseIntAutoRadix(text2) {
9852
9967
  return result;
9853
9968
  }
9854
9969
 
9855
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
9970
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
9856
9971
  var SplitInterpolation = class {
9857
9972
  constructor(strings, expressions, offsets) {
9858
9973
  this.strings = strings;
@@ -10493,13 +10608,15 @@ var _ParseAST = class {
10493
10608
  const keyStart = this.inputIndex;
10494
10609
  const quoted = this.next.isString();
10495
10610
  const key = this.expectIdentifierOrKeywordOrString();
10496
- keys.push({ key, quoted });
10611
+ const literalMapKey = { key, quoted };
10612
+ keys.push(literalMapKey);
10497
10613
  if (quoted) {
10498
10614
  this.expectCharacter($COLON);
10499
10615
  values.push(this.parsePipe());
10500
10616
  } else if (this.consumeOptionalCharacter($COLON)) {
10501
10617
  values.push(this.parsePipe());
10502
10618
  } else {
10619
+ literalMapKey.isShorthandInitialized = true;
10503
10620
  const span = this.span(keyStart);
10504
10621
  const sourceSpan = this.sourceSpan(keyStart);
10505
10622
  values.push(new PropertyRead(span, sourceSpan, sourceSpan, new ImplicitReceiver(span, sourceSpan), key));
@@ -10734,7 +10851,7 @@ function getIndexMapForOriginalTemplate(interpolatedTokens) {
10734
10851
  return offsetMap;
10735
10852
  }
10736
10853
 
10737
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
10854
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
10738
10855
  var NodeWithI18n = class {
10739
10856
  constructor(sourceSpan, i18n2) {
10740
10857
  this.sourceSpan = sourceSpan;
@@ -10900,7 +11017,7 @@ var RecursiveVisitor = class {
10900
11017
  }
10901
11018
  };
10902
11019
 
10903
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
11020
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
10904
11021
  var _SECURITY_SCHEMA;
10905
11022
  function SECURITY_SCHEMA() {
10906
11023
  if (!_SECURITY_SCHEMA) {
@@ -10961,11 +11078,11 @@ function isIframeSecuritySensitiveAttr(attrName) {
10961
11078
  return IFRAME_SECURITY_SENSITIVE_ATTRS.has(attrName.toLowerCase());
10962
11079
  }
10963
11080
 
10964
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
11081
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
10965
11082
  var ElementSchemaRegistry = class {
10966
11083
  };
10967
11084
 
10968
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
11085
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
10969
11086
  var BOOLEAN = "boolean";
10970
11087
  var NUMBER = "number";
10971
11088
  var STRING = "string";
@@ -11348,7 +11465,7 @@ function _isPixelDimensionStyle(prop) {
11348
11465
  }
11349
11466
  }
11350
11467
 
11351
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
11468
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
11352
11469
  var HtmlTagDefinition = class {
11353
11470
  constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false, canSelfClose = false } = {}) {
11354
11471
  this.closedByChildren = {};
@@ -11484,7 +11601,7 @@ function getHtmlTagDefinition(tagName) {
11484
11601
  return (_b2 = (_a2 = TAG_DEFINITIONS[tagName]) != null ? _a2 : TAG_DEFINITIONS[tagName.toLowerCase()]) != null ? _b2 : DEFAULT_TAG_DEFINITION;
11485
11602
  }
11486
11603
 
11487
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
11604
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
11488
11605
  var TAG_TO_PLACEHOLDER_NAMES = {
11489
11606
  "A": "LINK",
11490
11607
  "B": "BOLD_TEXT",
@@ -11606,7 +11723,7 @@ var PlaceholderRegistry = class {
11606
11723
  }
11607
11724
  };
11608
11725
 
11609
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
11726
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
11610
11727
  var _expParser = new Parser(new Lexer());
11611
11728
  function createI18nMessageFactory(interpolationConfig, containerBlocks) {
11612
11729
  const visitor = new _I18nVisitor(_expParser, interpolationConfig, containerBlocks);
@@ -11788,14 +11905,14 @@ function extractPlaceholderName(input) {
11788
11905
  return input.split(_CUSTOM_PH_EXP)[2];
11789
11906
  }
11790
11907
 
11791
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
11908
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
11792
11909
  var I18nError = class extends ParseError {
11793
11910
  constructor(span, msg) {
11794
11911
  super(span, msg);
11795
11912
  }
11796
11913
  };
11797
11914
 
11798
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
11915
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
11799
11916
  var NAMED_ENTITIES = {
11800
11917
  "AElig": "\xC6",
11801
11918
  "AMP": "&",
@@ -13926,7 +14043,7 @@ var NAMED_ENTITIES = {
13926
14043
  var NGSP_UNICODE = "\uE500";
13927
14044
  NAMED_ENTITIES["ngsp"] = NGSP_UNICODE;
13928
14045
 
13929
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
14046
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
13930
14047
  var TokenError = class extends ParseError {
13931
14048
  constructor(errorMsg, tokenType, span) {
13932
14049
  super(span, errorMsg);
@@ -14916,7 +15033,7 @@ var CursorError = class {
14916
15033
  }
14917
15034
  };
14918
15035
 
14919
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
15036
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
14920
15037
  var TreeError = class extends ParseError {
14921
15038
  static create(elementName, span, msg) {
14922
15039
  return new TreeError(elementName, span, msg);
@@ -15344,7 +15461,7 @@ function decodeEntity(match, entity) {
15344
15461
  return match;
15345
15462
  }
15346
15463
 
15347
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
15464
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
15348
15465
  var TRUSTED_TYPES_SINKS = /* @__PURE__ */ new Set([
15349
15466
  "iframe|srcdoc",
15350
15467
  "*|innerhtml",
@@ -15359,7 +15476,7 @@ function isTrustedTypesSink(tagName, propName) {
15359
15476
  return TRUSTED_TYPES_SINKS.has(tagName + "|" + propName) || TRUSTED_TYPES_SINKS.has("*|" + propName);
15360
15477
  }
15361
15478
 
15362
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
15479
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
15363
15480
  var setI18nRefs = (htmlNode, i18nNode) => {
15364
15481
  if (htmlNode instanceof NodeWithI18n) {
15365
15482
  if (i18nNode instanceof IcuPlaceholder && htmlNode.i18n instanceof Message) {
@@ -15519,7 +15636,7 @@ function i18nMetaToJSDoc(meta) {
15519
15636
  return jsDocComment(tags);
15520
15637
  }
15521
15638
 
15522
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
15639
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
15523
15640
  var GOOG_GET_MSG = "goog.getMsg";
15524
15641
  function createGoogleGetMsgStatements(variable2, message, closureVar, placeholderValues) {
15525
15642
  const messageString = serializeI18nMessageForGetMsg(message);
@@ -15570,7 +15687,7 @@ function serializeI18nMessageForGetMsg(message) {
15570
15687
  return message.nodes.map((node) => node.visit(serializerVisitor2, null)).join("");
15571
15688
  }
15572
15689
 
15573
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
15690
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
15574
15691
  function createLocalizeStatements(variable2, message, params) {
15575
15692
  const { messageParts, placeHolders } = serializeI18nMessageForLocalize(message);
15576
15693
  const sourceSpan = getSourceSpan(message);
@@ -15659,7 +15776,7 @@ function createEmptyMessagePart(location) {
15659
15776
  return new LiteralPiece("", new ParseSourceSpan(location, location));
15660
15777
  }
15661
15778
 
15662
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_const_collection.mjs
15779
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_const_collection.mjs
15663
15780
  var NG_I18N_CLOSURE_MODE = "ngI18nClosureMode";
15664
15781
  var TRANSLATION_VAR_PREFIX = "i18n_";
15665
15782
  var I18N_ICU_MAPPING_PREFIX = "I18N_EXP_";
@@ -15830,7 +15947,7 @@ function i18nGenerateClosureVar(pool, messageId, fileBasedI18nSuffix, useExterna
15830
15947
  return variable(name);
15831
15948
  }
15832
15949
 
15833
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_text_extraction.mjs
15950
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_text_extraction.mjs
15834
15951
  function convertI18nText(job) {
15835
15952
  var _a2, _b2, _c2;
15836
15953
  for (const unit of job.units) {
@@ -15900,7 +16017,7 @@ function convertI18nText(job) {
15900
16017
  }
15901
16018
  }
15902
16019
 
15903
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/local_refs.mjs
16020
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/local_refs.mjs
15904
16021
  function liftLocalRefs(job) {
15905
16022
  for (const unit of job.units) {
15906
16023
  for (const op of unit.create) {
@@ -15930,7 +16047,7 @@ function serializeLocalRefs(refs) {
15930
16047
  return literalArr(constRefs);
15931
16048
  }
15932
16049
 
15933
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/namespace.mjs
16050
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/namespace.mjs
15934
16051
  function emitNamespaceChanges(job) {
15935
16052
  for (const unit of job.units) {
15936
16053
  let activeNamespace = Namespace.HTML;
@@ -15946,7 +16063,7 @@ function emitNamespaceChanges(job) {
15946
16063
  }
15947
16064
  }
15948
16065
 
15949
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/parse_extracted_styles.mjs
16066
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/parse_extracted_styles.mjs
15950
16067
  function parse(value) {
15951
16068
  const styles = [];
15952
16069
  let i = 0;
@@ -16040,7 +16157,7 @@ function parseExtractedStyles(job) {
16040
16157
  }
16041
16158
  }
16042
16159
 
16043
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/naming.mjs
16160
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/naming.mjs
16044
16161
  function nameFunctionsAndVariables(job) {
16045
16162
  addNamesToView(job.root, job.componentName, { index: 0 }, job.compatibility === CompatibilityMode.TemplateDefinitionBuilder);
16046
16163
  }
@@ -16184,7 +16301,7 @@ function stripImportant(name) {
16184
16301
  return name;
16185
16302
  }
16186
16303
 
16187
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/next_context_merging.mjs
16304
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/next_context_merging.mjs
16188
16305
  function mergeNextContextExpressions(job) {
16189
16306
  for (const unit of job.units) {
16190
16307
  for (const op of unit.create) {
@@ -16221,6 +16338,7 @@ function mergeNextContextsInOps(ops) {
16221
16338
  break;
16222
16339
  case ExpressionKind.GetCurrentView:
16223
16340
  case ExpressionKind.Reference:
16341
+ case ExpressionKind.ContextLetReference:
16224
16342
  tryToMerge = false;
16225
16343
  break;
16226
16344
  }
@@ -16230,7 +16348,7 @@ function mergeNextContextsInOps(ops) {
16230
16348
  }
16231
16349
  }
16232
16350
 
16233
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ng_container.mjs
16351
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ng_container.mjs
16234
16352
  var CONTAINER_TAG = "ng-container";
16235
16353
  function generateNgContainerOps(job) {
16236
16354
  for (const unit of job.units) {
@@ -16247,7 +16365,7 @@ function generateNgContainerOps(job) {
16247
16365
  }
16248
16366
  }
16249
16367
 
16250
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nonbindable.mjs
16368
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nonbindable.mjs
16251
16369
  function lookupElement3(elements, xref) {
16252
16370
  const el = elements.get(xref);
16253
16371
  if (el === void 0) {
@@ -16277,7 +16395,7 @@ function disableBindings(job) {
16277
16395
  }
16278
16396
  }
16279
16397
 
16280
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nullish_coalescing.mjs
16398
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nullish_coalescing.mjs
16281
16399
  function generateNullishCoalesceExpressions(job) {
16282
16400
  for (const unit of job.units) {
16283
16401
  for (const op of unit.ops()) {
@@ -16293,7 +16411,7 @@ function generateNullishCoalesceExpressions(job) {
16293
16411
  }
16294
16412
  }
16295
16413
 
16296
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ordering.mjs
16414
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ordering.mjs
16297
16415
  function kindTest(kind) {
16298
16416
  return (op) => op.kind === kind;
16299
16417
  }
@@ -16383,7 +16501,7 @@ function keepLast(ops) {
16383
16501
  return ops.slice(ops.length - 1);
16384
16502
  }
16385
16503
 
16386
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs
16504
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs
16387
16505
  function removeContentSelectors(job) {
16388
16506
  for (const unit of job.units) {
16389
16507
  const elements = createOpXrefMap(unit);
@@ -16410,7 +16528,7 @@ function lookupInXrefMap(map, xref) {
16410
16528
  return el;
16411
16529
  }
16412
16530
 
16413
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_creation.mjs
16531
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_creation.mjs
16414
16532
  function createPipes(job) {
16415
16533
  for (const unit of job.units) {
16416
16534
  processPipeBindingsInView(unit);
@@ -16458,7 +16576,7 @@ function addPipeToCreationBlock(unit, afterTargetXref, binding) {
16458
16576
  throw new Error(`AssertionError: unable to find insertion point for pipe ${binding.name}`);
16459
16577
  }
16460
16578
 
16461
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_variadic.mjs
16579
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_variadic.mjs
16462
16580
  function createVariadicPipes(job) {
16463
16581
  for (const unit of job.units) {
16464
16582
  for (const op of unit.update) {
@@ -16475,7 +16593,7 @@ function createVariadicPipes(job) {
16475
16593
  }
16476
16594
  }
16477
16595
 
16478
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs
16596
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs
16479
16597
  function propagateI18nBlocks(job) {
16480
16598
  propagateI18nBlocksToTemplates(job.root, 0);
16481
16599
  }
@@ -16529,7 +16647,7 @@ function wrapTemplateWithI18n(unit, parentI18n) {
16529
16647
  }
16530
16648
  }
16531
16649
 
16532
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_function_extraction.mjs
16650
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_function_extraction.mjs
16533
16651
  function extractPureFunctions(job) {
16534
16652
  for (const view of job.units) {
16535
16653
  for (const op of view.ops()) {
@@ -16571,7 +16689,7 @@ var PureFunctionConstant = class extends GenericKeyFn {
16571
16689
  }
16572
16690
  };
16573
16691
 
16574
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_literal_structures.mjs
16692
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_literal_structures.mjs
16575
16693
  function generatePureLiteralStructures(job) {
16576
16694
  for (const unit of job.units) {
16577
16695
  for (const op of unit.update) {
@@ -16618,7 +16736,7 @@ function transformLiteralMap(expr) {
16618
16736
  return new PureFunctionExpr(literalMap(derivedEntries), nonConstantArgs);
16619
16737
  }
16620
16738
 
16621
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/instruction.mjs
16739
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/instruction.mjs
16622
16740
  function element(slot, tag, constIndex, localRefIndex, sourceSpan) {
16623
16741
  return elementOrContainerBase(Identifiers.element, slot, tag, constIndex, localRefIndex, sourceSpan);
16624
16742
  }
@@ -16840,6 +16958,15 @@ function repeater(collection, sourceSpan) {
16840
16958
  function deferWhen(prefetch, expr, sourceSpan) {
16841
16959
  return call(prefetch ? Identifiers.deferPrefetchWhen : Identifiers.deferWhen, [expr], sourceSpan);
16842
16960
  }
16961
+ function declareLet(slot, sourceSpan) {
16962
+ return call(Identifiers.declareLet, [literal(slot)], sourceSpan);
16963
+ }
16964
+ function storeLet(value, sourceSpan) {
16965
+ return importExpr(Identifiers.storeLet).callFn([value], sourceSpan);
16966
+ }
16967
+ function readContextLet(slot) {
16968
+ return importExpr(Identifiers.readContextLet).callFn([literal(slot)]);
16969
+ }
16843
16970
  function i18n(slot, constIndex, subTemplateIndex, sourceSpan) {
16844
16971
  const args = [literal(slot), literal(constIndex)];
16845
16972
  if (subTemplateIndex) {
@@ -17141,7 +17268,7 @@ function callVariadicInstruction(config, baseArgs, interpolationArgs, extraArgs,
17141
17268
  return createStatementOp(callVariadicInstructionExpr(config, baseArgs, interpolationArgs, extraArgs, sourceSpan).toStmt());
17142
17269
  }
17143
17270
 
17144
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/reify.mjs
17271
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/reify.mjs
17145
17272
  var GLOBAL_TARGET_RESOLVERS = /* @__PURE__ */ new Map([
17146
17273
  ["window", Identifiers.resolveWindow],
17147
17274
  ["document", Identifiers.resolveDocument],
@@ -17154,7 +17281,7 @@ function reify(job) {
17154
17281
  }
17155
17282
  }
17156
17283
  function reifyCreateOperations(unit, ops) {
17157
- var _a2, _b2, _c2, _d2, _e2, _f2, _g;
17284
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2;
17158
17285
  for (const op of ops) {
17159
17286
  transformExpressionsInOp(op, reifyIrExpression, VisitorContextFlag.None);
17160
17287
  switch (op.kind) {
@@ -17213,6 +17340,9 @@ function reifyCreateOperations(unit, ops) {
17213
17340
  case OpKind.Pipe:
17214
17341
  OpList.replace(op, pipe(op.handle.slot, op.name));
17215
17342
  break;
17343
+ case OpKind.DeclareLet:
17344
+ OpList.replace(op, declareLet(op.handle.slot, op.sourceSpan));
17345
+ break;
17216
17346
  case OpKind.Listener:
17217
17347
  const listenerFn = reifyListenerHandler(unit, op.handlerFnName, op.handlerOps, op.consumesDollarEvent);
17218
17348
  const eventTargetResolver = op.eventTarget ? GLOBAL_TARGET_RESOLVERS.get(op.eventTarget) : null;
@@ -17259,7 +17389,7 @@ function reifyCreateOperations(unit, ops) {
17259
17389
  case DeferTriggerKind.Interaction:
17260
17390
  case DeferTriggerKind.Hover:
17261
17391
  case DeferTriggerKind.Viewport:
17262
- if (((_g = op.trigger.targetSlot) == null ? void 0 : _g.slot) == null || op.trigger.targetSlotViewSteps === null) {
17392
+ if (((_g2 = op.trigger.targetSlot) == null ? void 0 : _g2.slot) == null || op.trigger.targetSlotViewSteps === null) {
17263
17393
  throw new Error(`Slot or view steps not set in trigger reification for trigger kind ${op.trigger.kind}`);
17264
17394
  }
17265
17395
  args = [op.trigger.targetSlot.slot];
@@ -17420,6 +17550,8 @@ function reifyUpdateOperations(_unit, ops) {
17420
17550
  case OpKind.DeferWhen:
17421
17551
  OpList.replace(op, deferWhen(op.prefetch, op.expr, op.sourceSpan));
17422
17552
  break;
17553
+ case OpKind.StoreLet:
17554
+ throw new Error(`AssertionError: unexpected storeLet ${op.declaredName}`);
17423
17555
  case OpKind.Statement:
17424
17556
  break;
17425
17557
  default:
@@ -17477,6 +17609,10 @@ function reifyIrExpression(expr) {
17477
17609
  return pipeBindV(expr.targetSlot.slot, expr.varOffset, expr.args);
17478
17610
  case ExpressionKind.SlotLiteralExpr:
17479
17611
  return literal(expr.slot.slot);
17612
+ case ExpressionKind.ContextLetReference:
17613
+ return readContextLet(expr.targetSlot.slot);
17614
+ case ExpressionKind.StoreLet:
17615
+ return storeLet(expr.value, expr.sourceSpan);
17480
17616
  default:
17481
17617
  throw new Error(`AssertionError: Unsupported reification of ir.Expression kind: ${ExpressionKind[expr.kind]}`);
17482
17618
  }
@@ -17497,7 +17633,7 @@ function reifyListenerHandler(unit, name, handlerOps, consumesDollarEvent) {
17497
17633
  return fn(params, handlerStmts, void 0, void 0, name);
17498
17634
  }
17499
17635
 
17500
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_empty_bindings.mjs
17636
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_empty_bindings.mjs
17501
17637
  function removeEmptyBindings(job) {
17502
17638
  for (const unit of job.units) {
17503
17639
  for (const op of unit.update) {
@@ -17518,7 +17654,7 @@ function removeEmptyBindings(job) {
17518
17654
  }
17519
17655
  }
17520
17656
 
17521
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_i18n_contexts.mjs
17657
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_i18n_contexts.mjs
17522
17658
  function removeI18nContexts(job) {
17523
17659
  for (const unit of job.units) {
17524
17660
  for (const op of unit.create) {
@@ -17534,7 +17670,7 @@ function removeI18nContexts(job) {
17534
17670
  }
17535
17671
  }
17536
17672
 
17537
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs
17673
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs
17538
17674
  function removeUnusedI18nAttributesOps(job) {
17539
17675
  for (const unit of job.units) {
17540
17676
  const ownersWithI18nExpressions = /* @__PURE__ */ new Set();
@@ -17556,7 +17692,7 @@ function removeUnusedI18nAttributesOps(job) {
17556
17692
  }
17557
17693
  }
17558
17694
 
17559
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_contexts.mjs
17695
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_contexts.mjs
17560
17696
  function resolveContexts(job) {
17561
17697
  for (const unit of job.units) {
17562
17698
  processLexicalScope(unit, unit.create);
@@ -17598,7 +17734,7 @@ function processLexicalScope(view, ops) {
17598
17734
  }
17599
17735
  }
17600
17736
 
17601
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
17737
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
17602
17738
  function resolveDollarEvent(job) {
17603
17739
  for (const unit of job.units) {
17604
17740
  transformDollarEvent(unit.create);
@@ -17621,7 +17757,7 @@ function transformDollarEvent(ops) {
17621
17757
  }
17622
17758
  }
17623
17759
 
17624
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs
17760
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs
17625
17761
  function resolveI18nElementPlaceholders(job) {
17626
17762
  const i18nContexts = /* @__PURE__ */ new Map();
17627
17763
  const elements = /* @__PURE__ */ new Map();
@@ -17800,7 +17936,7 @@ function addParam(params, placeholder, value, subTemplateIndex, flags) {
17800
17936
  params.set(placeholder, values);
17801
17937
  }
17802
17938
 
17803
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
17939
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
17804
17940
  function resolveI18nExpressionPlaceholders(job) {
17805
17941
  var _a2;
17806
17942
  const subTemplateIndices = /* @__PURE__ */ new Map();
@@ -17853,7 +17989,7 @@ function updatePlaceholder(op, value, i18nContexts, icuPlaceholders) {
17853
17989
  }
17854
17990
  }
17855
17991
 
17856
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_names.mjs
17992
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_names.mjs
17857
17993
  function resolveNames(job) {
17858
17994
  for (const unit of job.units) {
17859
17995
  processLexicalScope2(unit, unit.create, null);
@@ -17918,7 +18054,7 @@ function processLexicalScope2(unit, ops, savedView) {
17918
18054
  }
17919
18055
  }
17920
18056
 
17921
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_sanitizers.mjs
18057
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_sanitizers.mjs
17922
18058
  var sanitizerFns = /* @__PURE__ */ new Map([
17923
18059
  [SecurityContext.HTML, Identifiers.sanitizeHtml],
17924
18060
  [SecurityContext.RESOURCE_URL, Identifiers.sanitizeResourceUrl],
@@ -17988,7 +18124,7 @@ function getOnlySecurityContext(securityContext) {
17988
18124
  return securityContext;
17989
18125
  }
17990
18126
 
17991
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs
18127
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs
17992
18128
  function transformTwoWayBindingSet(job) {
17993
18129
  for (const unit of job.units) {
17994
18130
  for (const op of unit.create) {
@@ -18011,7 +18147,7 @@ function transformTwoWayBindingSet(job) {
18011
18147
  }
18012
18148
  }
18013
18149
 
18014
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/save_restore_view.mjs
18150
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/save_restore_view.mjs
18015
18151
  function saveAndRestoreView(job) {
18016
18152
  for (const unit of job.units) {
18017
18153
  unit.create.prepend([
@@ -18029,7 +18165,7 @@ function saveAndRestoreView(job) {
18029
18165
  if (!needsRestoreView) {
18030
18166
  for (const handlerOp of op.handlerOps) {
18031
18167
  visitExpressionsInOp(handlerOp, (expr) => {
18032
- if (expr instanceof ReferenceExpr) {
18168
+ if (expr instanceof ReferenceExpr || expr instanceof ContextLetReferenceExpr) {
18033
18169
  needsRestoreView = true;
18034
18170
  }
18035
18171
  });
@@ -18056,7 +18192,7 @@ function addSaveRestoreViewOperationToListener(unit, op) {
18056
18192
  }
18057
18193
  }
18058
18194
 
18059
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/slot_allocation.mjs
18195
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/slot_allocation.mjs
18060
18196
  function allocateSlots(job) {
18061
18197
  const slotMap = /* @__PURE__ */ new Map();
18062
18198
  for (const unit of job.units) {
@@ -18081,7 +18217,7 @@ function allocateSlots(job) {
18081
18217
  }
18082
18218
  }
18083
18219
 
18084
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/style_binding_specialization.mjs
18220
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/style_binding_specialization.mjs
18085
18221
  function specializeStyleBindings(job) {
18086
18222
  for (const unit of job.units) {
18087
18223
  for (const op of unit.update) {
@@ -18111,7 +18247,7 @@ function specializeStyleBindings(job) {
18111
18247
  }
18112
18248
  }
18113
18249
 
18114
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/temporary_variables.mjs
18250
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/temporary_variables.mjs
18115
18251
  function generateTemporaryVariables(job) {
18116
18252
  for (const unit of job.units) {
18117
18253
  unit.create.prepend(generateTemporaries(unit.create));
@@ -18169,7 +18305,7 @@ function assignName(names, expr) {
18169
18305
  expr.name = name;
18170
18306
  }
18171
18307
 
18172
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_generation.mjs
18308
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_generation.mjs
18173
18309
  function generateTrackFns(job) {
18174
18310
  for (const unit of job.units) {
18175
18311
  for (const op of unit.create) {
@@ -18202,7 +18338,7 @@ function generateTrackFns(job) {
18202
18338
  }
18203
18339
  }
18204
18340
 
18205
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_optimization.mjs
18341
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_optimization.mjs
18206
18342
  function optimizeTrackFns(job) {
18207
18343
  for (const unit of job.units) {
18208
18344
  for (const op of unit.create) {
@@ -18252,7 +18388,7 @@ function isTrackByFunctionCall(rootView, expr) {
18252
18388
  return true;
18253
18389
  }
18254
18390
 
18255
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_variables.mjs
18391
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_variables.mjs
18256
18392
  function generateTrackVariables(job) {
18257
18393
  for (const unit of job.units) {
18258
18394
  for (const op of unit.create) {
@@ -18273,7 +18409,7 @@ function generateTrackVariables(job) {
18273
18409
  }
18274
18410
  }
18275
18411
 
18276
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/var_counting.mjs
18412
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/var_counting.mjs
18277
18413
  function countVariables(job) {
18278
18414
  for (const unit of job.units) {
18279
18415
  let varCount = 0;
@@ -18354,6 +18490,7 @@ function varsUsedByOp(op) {
18354
18490
  case OpKind.I18nExpression:
18355
18491
  case OpKind.Conditional:
18356
18492
  case OpKind.DeferWhen:
18493
+ case OpKind.StoreLet:
18357
18494
  return 1;
18358
18495
  case OpKind.RepeaterCreate:
18359
18496
  return op.emptyView ? 1 : 0;
@@ -18369,6 +18506,8 @@ function varsUsedByIrExpression(expr) {
18369
18506
  return 1 + expr.args.length;
18370
18507
  case ExpressionKind.PipeBindingVariadic:
18371
18508
  return 1 + expr.numArgs;
18509
+ case ExpressionKind.StoreLet:
18510
+ return 1;
18372
18511
  default:
18373
18512
  throw new Error(`AssertionError: unhandled ConsumesVarsTrait expression ${expr.constructor.name}`);
18374
18513
  }
@@ -18383,7 +18522,7 @@ function isSingletonInterpolation(expr) {
18383
18522
  return true;
18384
18523
  }
18385
18524
 
18386
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/variable_optimization.mjs
18525
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/variable_optimization.mjs
18387
18526
  function optimizeVariables(job) {
18388
18527
  for (const unit of job.units) {
18389
18528
  inlineAlwaysInlineVariables(unit.create);
@@ -18520,7 +18659,10 @@ function fencesForIrExpression(expr) {
18520
18659
  return Fence.ViewContextRead | Fence.ViewContextWrite;
18521
18660
  case ExpressionKind.RestoreView:
18522
18661
  return Fence.ViewContextRead | Fence.ViewContextWrite | Fence.SideEffectful;
18662
+ case ExpressionKind.StoreLet:
18663
+ return Fence.SideEffectful;
18523
18664
  case ExpressionKind.Reference:
18665
+ case ExpressionKind.ContextLetReference:
18524
18666
  return Fence.ViewContextRead;
18525
18667
  default:
18526
18668
  return Fence.None;
@@ -18632,7 +18774,7 @@ function allowConservativeInlining(decl, target) {
18632
18774
  }
18633
18775
  }
18634
18776
 
18635
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/wrap_icus.mjs
18777
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/wrap_icus.mjs
18636
18778
  function wrapI18nIcus(job) {
18637
18779
  for (const unit of job.units) {
18638
18780
  let currentI18nOp = null;
@@ -18662,7 +18804,60 @@ function wrapI18nIcus(job) {
18662
18804
  }
18663
18805
  }
18664
18806
 
18665
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/emit.mjs
18807
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/store_let_optimization.mjs
18808
+ function optimizeStoreLet(job) {
18809
+ const letUsedExternally = /* @__PURE__ */ new Set();
18810
+ for (const unit of job.units) {
18811
+ for (const op of unit.ops()) {
18812
+ visitExpressionsInOp(op, (expr) => {
18813
+ if (expr instanceof ContextLetReferenceExpr) {
18814
+ letUsedExternally.add(expr.target);
18815
+ }
18816
+ });
18817
+ }
18818
+ }
18819
+ for (const unit of job.units) {
18820
+ for (const op of unit.update) {
18821
+ transformExpressionsInOp(op, (expression) => expression instanceof StoreLetExpr && !letUsedExternally.has(expression.target) ? expression.value : expression, VisitorContextFlag.None);
18822
+ }
18823
+ }
18824
+ }
18825
+
18826
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_illegal_let_references.mjs
18827
+ function removeIllegalLetReferences(job) {
18828
+ for (const unit of job.units) {
18829
+ for (const op of unit.update) {
18830
+ if (op.kind !== OpKind.Variable || op.variable.kind !== SemanticVariableKind.Identifier || !(op.initializer instanceof StoreLetExpr)) {
18831
+ continue;
18832
+ }
18833
+ const name = op.variable.identifier;
18834
+ let current = op;
18835
+ while (current && current.kind !== OpKind.ListEnd) {
18836
+ transformExpressionsInOp(current, (expr) => expr instanceof LexicalReadExpr && expr.name === name ? literal(void 0) : expr, VisitorContextFlag.None);
18837
+ current = current.prev;
18838
+ }
18839
+ }
18840
+ }
18841
+ }
18842
+
18843
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_local_let_references.mjs
18844
+ function generateLocalLetReferences(job) {
18845
+ for (const unit of job.units) {
18846
+ for (const op of unit.update) {
18847
+ if (op.kind !== OpKind.StoreLet) {
18848
+ continue;
18849
+ }
18850
+ const variable2 = {
18851
+ kind: SemanticVariableKind.Identifier,
18852
+ name: null,
18853
+ identifier: op.declaredName
18854
+ };
18855
+ OpList.replace(op, createVariableOp(job.allocateXrefId(), variable2, new StoreLetExpr(op.target, op.value, op.sourceSpan), VariableFlags.None));
18856
+ }
18857
+ }
18858
+ }
18859
+
18860
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/emit.mjs
18666
18861
  var phases = [
18667
18862
  { kind: CompilationJobKind.Tmpl, fn: removeContentSelectors },
18668
18863
  { kind: CompilationJobKind.Host, fn: parseHostStyleProperties },
@@ -18689,11 +18884,13 @@ var phases = [
18689
18884
  { kind: CompilationJobKind.Tmpl, fn: createVariadicPipes },
18690
18885
  { kind: CompilationJobKind.Both, fn: generatePureLiteralStructures },
18691
18886
  { kind: CompilationJobKind.Tmpl, fn: generateProjectionDefs },
18887
+ { kind: CompilationJobKind.Tmpl, fn: generateLocalLetReferences },
18692
18888
  { kind: CompilationJobKind.Tmpl, fn: generateVariables },
18693
18889
  { kind: CompilationJobKind.Tmpl, fn: saveAndRestoreView },
18694
18890
  { kind: CompilationJobKind.Both, fn: deleteAnyCasts },
18695
18891
  { kind: CompilationJobKind.Both, fn: resolveDollarEvent },
18696
18892
  { kind: CompilationJobKind.Tmpl, fn: generateTrackVariables },
18893
+ { kind: CompilationJobKind.Tmpl, fn: removeIllegalLetReferences },
18697
18894
  { kind: CompilationJobKind.Both, fn: resolveNames },
18698
18895
  { kind: CompilationJobKind.Tmpl, fn: resolveDeferTargetNames },
18699
18896
  { kind: CompilationJobKind.Tmpl, fn: transformTwoWayBindingSet },
@@ -18705,6 +18902,7 @@ var phases = [
18705
18902
  { kind: CompilationJobKind.Both, fn: expandSafeReads },
18706
18903
  { kind: CompilationJobKind.Both, fn: generateTemporaryVariables },
18707
18904
  { kind: CompilationJobKind.Both, fn: optimizeVariables },
18905
+ { kind: CompilationJobKind.Both, fn: optimizeStoreLet },
18708
18906
  { kind: CompilationJobKind.Tmpl, fn: allocateSlots },
18709
18907
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nElementPlaceholders },
18710
18908
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nExpressionPlaceholders },
@@ -18816,7 +19014,7 @@ function emitHostBindingFunction(job) {
18816
19014
  );
18817
19015
  }
18818
19016
 
18819
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/ingest.mjs
19017
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/ingest.mjs
18820
19018
  var compatibilityMode = CompatibilityMode.TemplateDefinitionBuilder;
18821
19019
  var domSchema = new DomElementSchemaRegistry();
18822
19020
  var NG_TEMPLATE_TAG_NAME = "ng-template";
@@ -18921,6 +19119,7 @@ function ingestNodes(unit, template2) {
18921
19119
  } else if (node instanceof ForLoopBlock) {
18922
19120
  ingestForBlock(unit, node);
18923
19121
  } else if (node instanceof LetDeclaration) {
19122
+ ingestLetDeclaration(unit, node);
18924
19123
  } else {
18925
19124
  throw new Error(`Unsupported template node: ${node.constructor.name}`);
18926
19125
  }
@@ -19093,7 +19292,7 @@ function ingestDeferView(unit, suffix, i18nMeta, children, sourceSpan) {
19093
19292
  return templateOp;
19094
19293
  }
19095
19294
  function ingestDeferBlock(unit, deferBlock) {
19096
- var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
19295
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
19097
19296
  let ownResolverFn = null;
19098
19297
  if (unit.job.deferMeta.mode === 0) {
19099
19298
  if (!unit.job.deferMeta.blocks.has(deferBlock)) {
@@ -19103,8 +19302,8 @@ function ingestDeferBlock(unit, deferBlock) {
19103
19302
  }
19104
19303
  const main = ingestDeferView(unit, "", deferBlock.i18n, deferBlock.children, deferBlock.sourceSpan);
19105
19304
  const loading = ingestDeferView(unit, "Loading", (_b2 = deferBlock.loading) == null ? void 0 : _b2.i18n, (_c2 = deferBlock.loading) == null ? void 0 : _c2.children, (_d2 = deferBlock.loading) == null ? void 0 : _d2.sourceSpan);
19106
- const placeholder = ingestDeferView(unit, "Placeholder", (_e2 = deferBlock.placeholder) == null ? void 0 : _e2.i18n, (_f2 = deferBlock.placeholder) == null ? void 0 : _f2.children, (_g = deferBlock.placeholder) == null ? void 0 : _g.sourceSpan);
19107
- const error = ingestDeferView(unit, "Error", (_h = deferBlock.error) == null ? void 0 : _h.i18n, (_i = deferBlock.error) == null ? void 0 : _i.children, (_j = deferBlock.error) == null ? void 0 : _j.sourceSpan);
19305
+ const placeholder = ingestDeferView(unit, "Placeholder", (_e2 = deferBlock.placeholder) == null ? void 0 : _e2.i18n, (_f2 = deferBlock.placeholder) == null ? void 0 : _f2.children, (_g2 = deferBlock.placeholder) == null ? void 0 : _g2.sourceSpan);
19306
+ const error = ingestDeferView(unit, "Error", (_h2 = deferBlock.error) == null ? void 0 : _h2.i18n, (_i = deferBlock.error) == null ? void 0 : _i.children, (_j = deferBlock.error) == null ? void 0 : _j.sourceSpan);
19108
19307
  const deferXref = unit.job.allocateXrefId();
19109
19308
  const deferOp = createDeferOp(deferXref, main.xref, main.handle, ownResolverFn, unit.job.allDeferrableDepsFn, deferBlock.sourceSpan);
19110
19309
  deferOp.placeholderView = (_k = placeholder == null ? void 0 : placeholder.xref) != null ? _k : null;
@@ -19267,6 +19466,11 @@ function getComputedForLoopVariableExpression(variable2, indexName, countName) {
19267
19466
  throw new Error(`AssertionError: unknown @for loop variable ${variable2.value}`);
19268
19467
  }
19269
19468
  }
19469
+ function ingestLetDeclaration(unit, node) {
19470
+ const target = unit.job.allocateXrefId();
19471
+ unit.create.push(createDeclareLetOp(target, node.name, node.sourceSpan));
19472
+ unit.update.push(createStoreLetOp(target, node.name, convertAst(node.value, unit.job, node.valueSpan), node.sourceSpan));
19473
+ }
19270
19474
  function convertAst(ast, job, baseSourceSpan) {
19271
19475
  if (ast instanceof ASTWithSource) {
19272
19476
  return convertAst(ast.ast, job, baseSourceSpan);
@@ -19568,7 +19772,7 @@ function ingestControlFlowInsertionPoint(unit, xref, node) {
19568
19772
  return null;
19569
19773
  }
19570
19774
 
19571
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/query_generation.mjs
19775
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/query_generation.mjs
19572
19776
  function renderFlagCheckIfStmt(flags, statements) {
19573
19777
  return ifStmt(variable(RENDER_FLAGS).bitwiseAnd(literal(flags), null, false), statements);
19574
19778
  }
@@ -19688,7 +19892,7 @@ function createContentQueriesFunction(queries, constantPool, name) {
19688
19892
  ], INFERRED_TYPE, null, contentQueriesFnName);
19689
19893
  }
19690
19894
 
19691
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
19895
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
19692
19896
  var HtmlParser = class extends Parser2 {
19693
19897
  constructor() {
19694
19898
  super(getHtmlTagDefinition);
@@ -19698,7 +19902,7 @@ var HtmlParser = class extends Parser2 {
19698
19902
  }
19699
19903
  };
19700
19904
 
19701
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
19905
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
19702
19906
  var PRESERVE_WS_ATTR_NAME = "ngPreserveWhitespaces";
19703
19907
  var SKIP_WS_TRIM_TAGS = /* @__PURE__ */ new Set(["pre", "template", "textarea", "script", "style"]);
19704
19908
  var WS_CHARS = " \f\n\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF";
@@ -19767,7 +19971,7 @@ function visitAllWithSiblings(visitor, nodes) {
19767
19971
  return result;
19768
19972
  }
19769
19973
 
19770
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
19974
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
19771
19975
  var PROPERTY_PARTS_SEPARATOR = ".";
19772
19976
  var ATTRIBUTE_PREFIX = "attr";
19773
19977
  var CLASS_PREFIX = "class";
@@ -20121,7 +20325,7 @@ function moveParseSourceSpan(sourceSpan, absoluteSpan) {
20121
20325
  return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);
20122
20326
  }
20123
20327
 
20124
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
20328
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
20125
20329
  function isStyleUrlResolvable(url) {
20126
20330
  if (url == null || url.length === 0 || url[0] == "/")
20127
20331
  return false;
@@ -20130,7 +20334,7 @@ function isStyleUrlResolvable(url) {
20130
20334
  }
20131
20335
  var URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;
20132
20336
 
20133
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
20337
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
20134
20338
  var NG_CONTENT_SELECT_ATTR = "select";
20135
20339
  var LINK_ELEMENT = "link";
20136
20340
  var LINK_STYLE_REL_ATTR = "rel";
@@ -20200,7 +20404,7 @@ function normalizeNgContentSelect(selectAttr) {
20200
20404
  return selectAttr;
20201
20405
  }
20202
20406
 
20203
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_control_flow.mjs
20407
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_control_flow.mjs
20204
20408
  var FOR_LOOP_EXPRESSION_PATTERN = /^\s*([0-9A-Za-z_$]*)\s+of\s+([\S\s]*)/;
20205
20409
  var FOR_LOOP_TRACK_PATTERN = /^track\s+([\S\s]*)/;
20206
20410
  var CONDITIONAL_ALIAS_PATTERN = /^(as\s)+(.*)/;
@@ -20523,7 +20727,7 @@ function stripOptionalParentheses(param, errors) {
20523
20727
  return expression.slice(start, end);
20524
20728
  }
20525
20729
 
20526
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_deferred_triggers.mjs
20730
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_deferred_triggers.mjs
20527
20731
  var TIME_PATTERN = /^\d+\.?\d*(ms|s)?$/;
20528
20732
  var SEPARATOR_PATTERN = /^\s$/;
20529
20733
  var COMMA_DELIMITED_SYNTAX = /* @__PURE__ */ new Map([
@@ -20787,7 +20991,7 @@ function parseDeferredTime(value) {
20787
20991
  return parseFloat(time) * (units === "s" ? 1e3 : 1);
20788
20992
  }
20789
20993
 
20790
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_deferred_blocks.mjs
20994
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_deferred_blocks.mjs
20791
20995
  var PREFETCH_WHEN_PATTERN = /^prefetch\s+when\s/;
20792
20996
  var PREFETCH_ON_PATTERN = /^prefetch\s+on\s/;
20793
20997
  var MINIMUM_PARAMETER_PATTERN = /^minimum\s/;
@@ -20922,7 +21126,7 @@ function parsePrimaryTriggers(params, bindingParser, errors, placeholder) {
20922
21126
  return { triggers, prefetchTriggers };
20923
21127
  }
20924
21128
 
20925
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
21129
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
20926
21130
  var BIND_NAME_REGEXP = /^(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*)$/;
20927
21131
  var KW_BIND_IDX = 1;
20928
21132
  var KW_LET_IDX = 2;
@@ -21389,7 +21593,7 @@ function textContents(node) {
21389
21593
  }
21390
21594
  }
21391
21595
 
21392
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
21596
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
21393
21597
  var LEADING_TRIVIA_CHARS = [" ", "\n", "\r", " "];
21394
21598
  function parseTemplate(template2, templateUrl, options = {}) {
21395
21599
  var _a2, _b2;
@@ -21468,7 +21672,7 @@ function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG, a
21468
21672
  return new BindingParser(new Parser(new Lexer()), interpolationConfig, elementRegistry, [], allowInvalidAssignmentEvents);
21469
21673
  }
21470
21674
 
21471
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
21675
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
21472
21676
  var COMPONENT_VARIABLE = "%COMP%";
21473
21677
  var HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
21474
21678
  var CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
@@ -21835,7 +22039,7 @@ function createHostDirectivesMappingArray(mapping) {
21835
22039
  return elements.length > 0 ? literalArr(elements) : null;
21836
22040
  }
21837
22041
 
21838
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
22042
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
21839
22043
  var R3TargetBinder = class {
21840
22044
  constructor(directiveMatcher) {
21841
22045
  this.directiveMatcher = directiveMatcher;
@@ -22482,11 +22686,11 @@ function extractScopedNodeEntities(rootScope) {
22482
22686
  return templateEntities;
22483
22687
  }
22484
22688
 
22485
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/resource_loader.mjs
22689
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/resource_loader.mjs
22486
22690
  var ResourceLoader = class {
22487
22691
  };
22488
22692
 
22489
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
22693
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
22490
22694
  var CompilerFacadeImpl = class {
22491
22695
  constructor(jitEvaluator = new JitEvaluator()) {
22492
22696
  this.jitEvaluator = jitEvaluator;
@@ -22733,7 +22937,7 @@ function convertDirectiveFacadeToMetadata(facade) {
22733
22937
  });
22734
22938
  }
22735
22939
  function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
22736
- var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i;
22940
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i;
22737
22941
  return {
22738
22942
  name: declaration.type.name,
22739
22943
  type: wrapReference(declaration.type),
@@ -22747,11 +22951,11 @@ function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
22747
22951
  providers: declaration.providers !== void 0 ? new WrappedNodeExpr(declaration.providers) : null,
22748
22952
  exportAs: (_e2 = declaration.exportAs) != null ? _e2 : null,
22749
22953
  usesInheritance: (_f2 = declaration.usesInheritance) != null ? _f2 : false,
22750
- lifecycle: { usesOnChanges: (_g = declaration.usesOnChanges) != null ? _g : false },
22954
+ lifecycle: { usesOnChanges: (_g2 = declaration.usesOnChanges) != null ? _g2 : false },
22751
22955
  deps: null,
22752
22956
  typeArgumentCount: 0,
22753
22957
  fullInheritance: false,
22754
- isStandalone: (_h = declaration.isStandalone) != null ? _h : false,
22958
+ isStandalone: (_h2 = declaration.isStandalone) != null ? _h2 : false,
22755
22959
  isSignal: (_i = declaration.isSignal) != null ? _i : false,
22756
22960
  hostDirectives: convertHostDirectivesToMetadata(declaration)
22757
22961
  };
@@ -23052,17 +23256,17 @@ function publishFacade(global) {
23052
23256
  ng.\u0275compilerFacade = new CompilerFacadeImpl();
23053
23257
  }
23054
23258
 
23055
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
23056
- var VERSION2 = new Version("18.1.0-next.2");
23259
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/version.mjs
23260
+ var VERSION2 = new Version("18.1.0-next.3");
23057
23261
 
23058
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
23262
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
23059
23263
  var _VisitorMode;
23060
23264
  (function(_VisitorMode2) {
23061
23265
  _VisitorMode2[_VisitorMode2["Extract"] = 0] = "Extract";
23062
23266
  _VisitorMode2[_VisitorMode2["Merge"] = 1] = "Merge";
23063
23267
  })(_VisitorMode || (_VisitorMode = {}));
23064
23268
 
23065
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
23269
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
23066
23270
  var XmlTagDefinition = class {
23067
23271
  constructor() {
23068
23272
  this.closedByParent = false;
@@ -23084,7 +23288,7 @@ var XmlTagDefinition = class {
23084
23288
  };
23085
23289
  var _TAG_DEFINITION = new XmlTagDefinition();
23086
23290
 
23087
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
23291
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
23088
23292
  var FactoryTarget2;
23089
23293
  (function(FactoryTarget3) {
23090
23294
  FactoryTarget3[FactoryTarget3["Directive"] = 0] = "Directive";
@@ -23094,10 +23298,10 @@ var FactoryTarget2;
23094
23298
  FactoryTarget3[FactoryTarget3["NgModule"] = 4] = "NgModule";
23095
23299
  })(FactoryTarget2 || (FactoryTarget2 = {}));
23096
23300
 
23097
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/compiler.mjs
23301
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/compiler.mjs
23098
23302
  publishFacade(_global);
23099
23303
 
23100
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/identifier-lookup.mjs
23304
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/identifier-lookup.mjs
23101
23305
  var import_typescript5 = __toESM(require("typescript"), 1);
23102
23306
  function lookupIdentifiersInSourceFile(sourceFile, names) {
23103
23307
  const results = /* @__PURE__ */ new Set();
@@ -23111,7 +23315,7 @@ function lookupIdentifiersInSourceFile(sourceFile, names) {
23111
23315
  return results;
23112
23316
  }
23113
23317
 
23114
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/types.mjs
23318
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/types.mjs
23115
23319
  var ngtemplate = "ng-template";
23116
23320
  var boundngifelse = "[ngIfElse]";
23117
23321
  var boundngifthenelse = "[ngIfThenElse]";
@@ -23439,7 +23643,7 @@ var TemplateCollector = class extends RecursiveVisitor {
23439
23643
  }
23440
23644
  };
23441
23645
 
23442
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/util.mjs
23646
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/util.mjs
23443
23647
  var import_path2 = require("path");
23444
23648
  var import_typescript6 = __toESM(require("typescript"), 1);
23445
23649
  var startMarkerRegex = new RegExp(startMarker, "gm");
@@ -23959,7 +24163,7 @@ function forEachClass(sourceFile, callback) {
23959
24163
  });
23960
24164
  }
23961
24165
 
23962
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/cases.mjs
24166
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/cases.mjs
23963
24167
  var boundcase = "[ngSwitchCase]";
23964
24168
  var switchcase = "*ngSwitchCase";
23965
24169
  var nakedcase = "ngSwitchCase";
@@ -24031,7 +24235,7 @@ function migrateNgSwitchDefault(etm, tmpl, offset) {
24031
24235
  return { tmpl: updatedTmpl, offsets: { pre, post } };
24032
24236
  }
24033
24237
 
24034
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/fors.mjs
24238
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/fors.mjs
24035
24239
  var ngfor = "*ngFor";
24036
24240
  var nakedngfor2 = "ngFor";
24037
24241
  var fors = [ngfor, nakedngfor2];
@@ -24210,7 +24414,7 @@ function getNgForParts(expression) {
24210
24414
  return parts;
24211
24415
  }
24212
24416
 
24213
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/ifs.mjs
24417
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/ifs.mjs
24214
24418
  var ngif = "*ngIf";
24215
24419
  var boundngif = "[ngIf]";
24216
24420
  var nakedngif = "ngIf";
@@ -24359,7 +24563,7 @@ function buildIfThenBlock(etm, tmpl, condition, thenPlaceholder, offset) {
24359
24563
  return { tmpl: updatedTmpl, offsets: { pre, post } };
24360
24564
  }
24361
24565
 
24362
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/switches.mjs
24566
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/switches.mjs
24363
24567
  var ngswitch = "[ngSwitch]";
24364
24568
  var switches = [ngswitch];
24365
24569
  function migrateSwitch(template2) {
@@ -24425,7 +24629,7 @@ function migrateNgSwitch(etm, tmpl, offset) {
24425
24629
  return { tmpl: updatedTmpl, offsets: { pre, post } };
24426
24630
  }
24427
24631
 
24428
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/migration.mjs
24632
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/migration.mjs
24429
24633
  function migrateTemplate(template2, templateType, node, file, format = true, analyzedFiles) {
24430
24634
  let errors = [];
24431
24635
  let migrated = template2;
@@ -24476,7 +24680,7 @@ function migrateTemplate(template2, templateType, node, file, format = true, ana
24476
24680
  return { migrated, errors };
24477
24681
  }
24478
24682
 
24479
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/index.mjs
24683
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/ng-generate/control-flow-migration/index.mjs
24480
24684
  function control_flow_migration_default(options) {
24481
24685
  return (tree, context) => __async(this, null, function* () {
24482
24686
  const basePath = process.cwd();
@@ -24556,6 +24760,13 @@ function generateErrorMessage(path2, errors) {
24556
24760
  }
24557
24761
  // Annotate the CommonJS export names for ESM import in node:
24558
24762
  0 && (module.exports = {});
24763
+ /*!
24764
+ * @license
24765
+ * Copyright Google LLC All Rights Reserved.
24766
+ *
24767
+ * Use of this source code is governed by an MIT-style license that can be
24768
+ * found in the LICENSE file at https://angular.io/license
24769
+ */
24559
24770
  /**
24560
24771
  *
24561
24772
  * @license