@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/migrations/invalid-two-way-bindings/index.mjs
66
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/index.mjs
67
67
  var invalid_two_way_bindings_exports = {};
68
68
  __export(invalid_two_way_bindings_exports, {
69
69
  default: () => invalid_two_way_bindings_default
@@ -72,7 +72,7 @@ module.exports = __toCommonJS(invalid_two_way_bindings_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/project_tsconfig_paths.mjs
75
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/project_tsconfig_paths.mjs
76
76
  var import_core = require("@angular-devkit/core");
77
77
  function getProjectTsConfigPaths(tree) {
78
78
  return __async(this, null, function* () {
@@ -152,11 +152,11 @@ function getWorkspace(tree) {
152
152
  });
153
153
  }
154
154
 
155
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
155
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
156
156
  var import_path = require("path");
157
157
  var import_typescript2 = __toESM(require("typescript"), 1);
158
158
 
159
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
159
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/parse_tsconfig.mjs
160
160
  var path = __toESM(require("path"), 1);
161
161
  var import_typescript = __toESM(require("typescript"), 1);
162
162
  function parseTsconfigFile(tsconfigPath, basePath) {
@@ -173,7 +173,7 @@ function parseTsconfigFile(tsconfigPath, basePath) {
173
173
  return import_typescript.default.parseJsonConfigFileContent(config, parseConfigHost, basePath, {});
174
174
  }
175
175
 
176
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
176
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/utils/typescript/compiler_host.mjs
177
177
  function createMigrationProgram(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles) {
178
178
  const { rootNames, options, host } = createProgramOptions(tree, tsconfigPath, basePath, fakeFileRead, additionalFiles);
179
179
  return import_typescript2.default.createProgram(rootNames, options, host);
@@ -206,7 +206,7 @@ function canMigrateFile(basePath, sourceFile, program) {
206
206
  return !(0, import_path.relative)(basePath, sourceFile.fileName).startsWith("..");
207
207
  }
208
208
 
209
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/analysis.mjs
209
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/analysis.mjs
210
210
  var import_path2 = require("path");
211
211
  var import_typescript3 = __toESM(require("typescript"), 1);
212
212
  var AnalyzedFile = class {
@@ -266,7 +266,7 @@ function forEachClass(sourceFile, callback) {
266
266
  });
267
267
  }
268
268
 
269
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/selector.mjs
269
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/selector.mjs
270
270
  var _SELECTOR_REGEXP = new RegExp(
271
271
  `(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,
272
272
  "g"
@@ -574,7 +574,7 @@ var SelectorContext = class {
574
574
  }
575
575
  };
576
576
 
577
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/core.mjs
577
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/core.mjs
578
578
  var ViewEncapsulation;
579
579
  (function(ViewEncapsulation2) {
580
580
  ViewEncapsulation2[ViewEncapsulation2["Emulated"] = 0] = "Emulated";
@@ -642,7 +642,7 @@ function parseSelectorToR3Selector(selector) {
642
642
  return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];
643
643
  }
644
644
 
645
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
645
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
646
646
  var textEncoder;
647
647
  function computeDigest(message) {
648
648
  return sha1(serializeNodes(message.nodes).join("") + `[${message.meaning}]`);
@@ -882,7 +882,7 @@ function wordAt(bytes, index, endian) {
882
882
  return word;
883
883
  }
884
884
 
885
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
885
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_ast.mjs
886
886
  var TypeModifier;
887
887
  (function(TypeModifier2) {
888
888
  TypeModifier2[TypeModifier2["None"] = 0] = "None";
@@ -1820,7 +1820,7 @@ function serializeTags(tags) {
1820
1820
  return out;
1821
1821
  }
1822
1822
 
1823
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1823
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/constant_pool.mjs
1824
1824
  var CONSTANT_PREFIX = "_c";
1825
1825
  var UNKNOWN_VALUE_KEY = variable("<unknown>");
1826
1826
  var KEY_CONTEXT = {};
@@ -2008,7 +2008,7 @@ function isLongStringLiteral(expr) {
2008
2008
  return expr instanceof LiteralExpr && typeof expr.value === "string" && expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;
2009
2009
  }
2010
2010
 
2011
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
2011
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_identifiers.mjs
2012
2012
  var CORE = "@angular/core";
2013
2013
  var _Identifiers = class {
2014
2014
  };
@@ -2805,6 +2805,15 @@ var Identifiers = _Identifiers;
2805
2805
  (() => {
2806
2806
  _Identifiers.twoWayListener = { name: "\u0275\u0275twoWayListener", moduleName: CORE };
2807
2807
  })();
2808
+ (() => {
2809
+ _Identifiers.declareLet = { name: "\u0275\u0275declareLet", moduleName: CORE };
2810
+ })();
2811
+ (() => {
2812
+ _Identifiers.storeLet = { name: "\u0275\u0275storeLet", moduleName: CORE };
2813
+ })();
2814
+ (() => {
2815
+ _Identifiers.readContextLet = { name: "\u0275\u0275readContextLet", moduleName: CORE };
2816
+ })();
2808
2817
  (() => {
2809
2818
  _Identifiers.NgOnChangesFeature = { name: "\u0275\u0275NgOnChangesFeature", moduleName: CORE };
2810
2819
  })();
@@ -2896,7 +2905,7 @@ var Identifiers = _Identifiers;
2896
2905
  _Identifiers.unwrapWritableSignal = { name: "\u0275unwrapWritableSignal", moduleName: CORE };
2897
2906
  })();
2898
2907
 
2899
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/util.mjs
2908
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/util.mjs
2900
2909
  var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
2901
2910
  function dashCaseToCamelCase(input) {
2902
2911
  return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());
@@ -2973,7 +2982,7 @@ var Version = class {
2973
2982
  };
2974
2983
  var _global = globalThis;
2975
2984
 
2976
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2985
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/source_map.mjs
2977
2986
  var VERSION = 3;
2978
2987
  var JS_B64_PREFIX = "# sourceMappingURL=data:application/json;base64,";
2979
2988
  var SourceMapGenerator = class {
@@ -3102,7 +3111,7 @@ function toBase64Digit(value) {
3102
3111
  return B64_DIGITS[value];
3103
3112
  }
3104
3113
 
3105
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
3114
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_emitter.mjs
3106
3115
  var _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\|\n|\r|\$/g;
3107
3116
  var _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;
3108
3117
  var _INDENT_WITH = " ";
@@ -3590,7 +3599,7 @@ function _createIndent(count) {
3590
3599
  return res;
3591
3600
  }
3592
3601
 
3593
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/util.mjs
3602
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/util.mjs
3594
3603
  function typeWithParameters(type, numParams) {
3595
3604
  if (numParams === 0) {
3596
3605
  return expressionType(type);
@@ -3645,7 +3654,7 @@ function generateForwardRef(expr) {
3645
3654
  return importExpr(Identifiers.forwardRef).callFn([arrowFn([], expr)]);
3646
3655
  }
3647
3656
 
3648
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3657
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_factory.mjs
3649
3658
  var R3FactoryDelegateType;
3650
3659
  (function(R3FactoryDelegateType2) {
3651
3660
  R3FactoryDelegateType2[R3FactoryDelegateType2["Class"] = 0] = "Class";
@@ -3790,7 +3799,7 @@ function getInjectFn(target) {
3790
3799
  }
3791
3800
  }
3792
3801
 
3793
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
3802
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/ast.mjs
3794
3803
  var ParserError = class {
3795
3804
  constructor(message, input, errLocation, ctxLocation) {
3796
3805
  this.input = input;
@@ -4228,7 +4237,7 @@ var BoundElementProperty = class {
4228
4237
  }
4229
4238
  };
4230
4239
 
4231
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
4240
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/tags.mjs
4232
4241
  var TagContentType;
4233
4242
  (function(TagContentType2) {
4234
4243
  TagContentType2[TagContentType2["RAW_TEXT"] = 0] = "RAW_TEXT";
@@ -4265,7 +4274,7 @@ function mergeNsAndName(prefix, localName) {
4265
4274
  return prefix ? `:${prefix}:${localName}` : localName;
4266
4275
  }
4267
4276
 
4268
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
4277
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_ast.mjs
4269
4278
  var Comment = class {
4270
4279
  constructor(value, sourceSpan) {
4271
4280
  this.value = value;
@@ -4735,7 +4744,7 @@ function visitAll(visitor, nodes) {
4735
4744
  return result;
4736
4745
  }
4737
4746
 
4738
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
4747
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_ast.mjs
4739
4748
  var Message = class {
4740
4749
  constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {
4741
4750
  this.nodes = nodes;
@@ -4875,7 +4884,7 @@ var LocalizeMessageStringVisitor = class {
4875
4884
  }
4876
4885
  };
4877
4886
 
4878
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
4887
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xml_helper.mjs
4879
4888
  var _Visitor = class {
4880
4889
  visitTag(tag) {
4881
4890
  const strAttrs = this._serializeAttributes(tag.attrs);
@@ -4903,12 +4912,12 @@ ${doctype.dtd}
4903
4912
  };
4904
4913
  var _visitor = new _Visitor();
4905
4914
 
4906
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
4915
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/xmb.mjs
4907
4916
  function toPublicName(internalName) {
4908
4917
  return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, "_");
4909
4918
  }
4910
4919
 
4911
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
4920
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/util.mjs
4912
4921
  var I18N_ATTR = "i18n";
4913
4922
  var I18N_ATTR_PREFIX = "i18n-";
4914
4923
  var I18N_ICU_VAR_PREFIX = "VAR_";
@@ -4948,7 +4957,7 @@ function formatI18nPlaceholderName(name, useCamelCase = true) {
4948
4957
  return postfix ? `${raw}_${postfix}` : raw;
4949
4958
  }
4950
4959
 
4951
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
4960
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/util.mjs
4952
4961
  var UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;
4953
4962
  var TEMPORARY_NAME = "_t";
4954
4963
  var CONTEXT_NAME = "ctx";
@@ -5075,7 +5084,7 @@ function getAttrsForDirectiveMatching(elOrTpl) {
5075
5084
  return attributesMap;
5076
5085
  }
5077
5086
 
5078
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
5087
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/injectable_compiler_2.mjs
5079
5088
  function compileInjectable(meta, resolveForwardRefs) {
5080
5089
  let result = null;
5081
5090
  const factoryMeta = {
@@ -5162,7 +5171,7 @@ function createFactoryFunction(type) {
5162
5171
  return arrowFn([new FnParam("t", DYNAMIC_TYPE)], type.prop("\u0275fac").callFn([variable("t")]));
5163
5172
  }
5164
5173
 
5165
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/assertions.mjs
5174
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/assertions.mjs
5166
5175
  var UNUSABLE_INTERPOLATION_REGEXPS = [
5167
5176
  /@/,
5168
5177
  /^\s*$/,
@@ -5185,7 +5194,7 @@ function assertInterpolationSymbols(identifier, value) {
5185
5194
  }
5186
5195
  }
5187
5196
 
5188
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/defaults.mjs
5197
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/defaults.mjs
5189
5198
  var InterpolationConfig = class {
5190
5199
  static fromArray(markers) {
5191
5200
  if (!markers) {
@@ -5202,7 +5211,7 @@ var InterpolationConfig = class {
5202
5211
  var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig("{{", "}}");
5203
5212
  var DEFAULT_CONTAINER_BLOCKS = /* @__PURE__ */ new Set(["switch"]);
5204
5213
 
5205
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/chars.mjs
5214
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/chars.mjs
5206
5215
  var $EOF = 0;
5207
5216
  var $BSPACE = 8;
5208
5217
  var $TAB = 9;
@@ -5284,7 +5293,7 @@ function isQuote(code) {
5284
5293
  return code === $SQ || code === $DQ || code === $BT;
5285
5294
  }
5286
5295
 
5287
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/parse_util.mjs
5296
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/parse_util.mjs
5288
5297
  var ParseLocation = class {
5289
5298
  constructor(file, offset, line, col) {
5290
5299
  this.file = file;
@@ -5431,7 +5440,7 @@ function sanitizeIdentifier(name) {
5431
5440
  return name.replace(/\W/g, "_");
5432
5441
  }
5433
5442
 
5434
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
5443
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/abstract_js_emitter.mjs
5435
5444
  var makeTemplateObjectPolyfill = '(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})';
5436
5445
  var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
5437
5446
  constructor() {
@@ -5524,7 +5533,7 @@ var AbstractJsEmitterVisitor = class extends AbstractEmitterVisitor {
5524
5533
  }
5525
5534
  };
5526
5535
 
5527
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
5536
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit_trusted_types.mjs
5528
5537
  var policy;
5529
5538
  function getPolicy() {
5530
5539
  if (policy === void 0) {
@@ -5562,7 +5571,7 @@ function newTrustedFunctionForJIT(...args) {
5562
5571
  return fn2.bind(_global);
5563
5572
  }
5564
5573
 
5565
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
5574
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/output_jit.mjs
5566
5575
  var JitEvaluator = class {
5567
5576
  evaluateStatements(sourceUrl, statements, refResolver, createSourceMaps) {
5568
5577
  const converter = new JitEmitterVisitor(refResolver);
@@ -5650,7 +5659,7 @@ function isUseStrictStatement(statement) {
5650
5659
  return statement.isEquivalent(literal("use strict").toStmt());
5651
5660
  }
5652
5661
 
5653
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
5662
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_injector_compiler.mjs
5654
5663
  function compileInjector(meta) {
5655
5664
  const definitionMap = new DefinitionMap();
5656
5665
  if (meta.providers !== null) {
@@ -5667,7 +5676,7 @@ function createInjectorType(meta) {
5667
5676
  return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.type)]));
5668
5677
  }
5669
5678
 
5670
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
5679
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_jit.mjs
5671
5680
  var R3JitReflector = class {
5672
5681
  constructor(context) {
5673
5682
  this.context = context;
@@ -5683,7 +5692,7 @@ var R3JitReflector = class {
5683
5692
  }
5684
5693
  };
5685
5694
 
5686
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
5695
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_module_compiler.mjs
5687
5696
  var R3SelectorScopeMode;
5688
5697
  (function(R3SelectorScopeMode2) {
5689
5698
  R3SelectorScopeMode2[R3SelectorScopeMode2["Inline"] = 0] = "Inline";
@@ -5818,7 +5827,7 @@ function tupleOfTypes(types) {
5818
5827
  return types.length > 0 ? expressionType(literalArr(typeofTypes)) : NONE_TYPE;
5819
5828
  }
5820
5829
 
5821
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
5830
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_pipe_compiler.mjs
5822
5831
  function compilePipeFromMetadata(metadata) {
5823
5832
  const definitionMapValues = [];
5824
5833
  definitionMapValues.push({ key: "name", value: literal(metadata.pipeName), quoted: false });
@@ -5839,7 +5848,7 @@ function createPipeType(metadata) {
5839
5848
  ]));
5840
5849
  }
5841
5850
 
5842
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
5851
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/api.mjs
5843
5852
  var R3TemplateDependencyKind;
5844
5853
  (function(R3TemplateDependencyKind2) {
5845
5854
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["Directive"] = 0] = "Directive";
@@ -5847,7 +5856,7 @@ var R3TemplateDependencyKind;
5847
5856
  R3TemplateDependencyKind2[R3TemplateDependencyKind2["NgModule"] = 2] = "NgModule";
5848
5857
  })(R3TemplateDependencyKind || (R3TemplateDependencyKind = {}));
5849
5858
 
5850
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/shadow_css.mjs
5859
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/shadow_css.mjs
5851
5860
  var animationKeywords = /* @__PURE__ */ new Set([
5852
5861
  "inherit",
5853
5862
  "initial",
@@ -6327,7 +6336,7 @@ function repeatGroups(groups, multiples) {
6327
6336
  }
6328
6337
  }
6329
6338
 
6330
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/enums.mjs
6339
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/enums.mjs
6331
6340
  var OpKind;
6332
6341
  (function(OpKind2) {
6333
6342
  OpKind2[OpKind2["ListEnd"] = 0] = "ListEnd";
@@ -6368,16 +6377,18 @@ var OpKind;
6368
6377
  OpKind2[OpKind2["Repeater"] = 35] = "Repeater";
6369
6378
  OpKind2[OpKind2["TwoWayProperty"] = 36] = "TwoWayProperty";
6370
6379
  OpKind2[OpKind2["TwoWayListener"] = 37] = "TwoWayListener";
6371
- OpKind2[OpKind2["I18nStart"] = 38] = "I18nStart";
6372
- OpKind2[OpKind2["I18n"] = 39] = "I18n";
6373
- OpKind2[OpKind2["I18nEnd"] = 40] = "I18nEnd";
6374
- OpKind2[OpKind2["I18nExpression"] = 41] = "I18nExpression";
6375
- OpKind2[OpKind2["I18nApply"] = 42] = "I18nApply";
6376
- OpKind2[OpKind2["IcuStart"] = 43] = "IcuStart";
6377
- OpKind2[OpKind2["IcuEnd"] = 44] = "IcuEnd";
6378
- OpKind2[OpKind2["IcuPlaceholder"] = 45] = "IcuPlaceholder";
6379
- OpKind2[OpKind2["I18nContext"] = 46] = "I18nContext";
6380
- OpKind2[OpKind2["I18nAttributes"] = 47] = "I18nAttributes";
6380
+ OpKind2[OpKind2["DeclareLet"] = 38] = "DeclareLet";
6381
+ OpKind2[OpKind2["StoreLet"] = 39] = "StoreLet";
6382
+ OpKind2[OpKind2["I18nStart"] = 40] = "I18nStart";
6383
+ OpKind2[OpKind2["I18n"] = 41] = "I18n";
6384
+ OpKind2[OpKind2["I18nEnd"] = 42] = "I18nEnd";
6385
+ OpKind2[OpKind2["I18nExpression"] = 43] = "I18nExpression";
6386
+ OpKind2[OpKind2["I18nApply"] = 44] = "I18nApply";
6387
+ OpKind2[OpKind2["IcuStart"] = 45] = "IcuStart";
6388
+ OpKind2[OpKind2["IcuEnd"] = 46] = "IcuEnd";
6389
+ OpKind2[OpKind2["IcuPlaceholder"] = 47] = "IcuPlaceholder";
6390
+ OpKind2[OpKind2["I18nContext"] = 48] = "I18nContext";
6391
+ OpKind2[OpKind2["I18nAttributes"] = 49] = "I18nAttributes";
6381
6392
  })(OpKind || (OpKind = {}));
6382
6393
  var ExpressionKind;
6383
6394
  (function(ExpressionKind2) {
@@ -6387,24 +6398,26 @@ var ExpressionKind;
6387
6398
  ExpressionKind2[ExpressionKind2["ReadVariable"] = 3] = "ReadVariable";
6388
6399
  ExpressionKind2[ExpressionKind2["NextContext"] = 4] = "NextContext";
6389
6400
  ExpressionKind2[ExpressionKind2["Reference"] = 5] = "Reference";
6390
- ExpressionKind2[ExpressionKind2["GetCurrentView"] = 6] = "GetCurrentView";
6391
- ExpressionKind2[ExpressionKind2["RestoreView"] = 7] = "RestoreView";
6392
- ExpressionKind2[ExpressionKind2["ResetView"] = 8] = "ResetView";
6393
- ExpressionKind2[ExpressionKind2["PureFunctionExpr"] = 9] = "PureFunctionExpr";
6394
- ExpressionKind2[ExpressionKind2["PureFunctionParameterExpr"] = 10] = "PureFunctionParameterExpr";
6395
- ExpressionKind2[ExpressionKind2["PipeBinding"] = 11] = "PipeBinding";
6396
- ExpressionKind2[ExpressionKind2["PipeBindingVariadic"] = 12] = "PipeBindingVariadic";
6397
- ExpressionKind2[ExpressionKind2["SafePropertyRead"] = 13] = "SafePropertyRead";
6398
- ExpressionKind2[ExpressionKind2["SafeKeyedRead"] = 14] = "SafeKeyedRead";
6399
- ExpressionKind2[ExpressionKind2["SafeInvokeFunction"] = 15] = "SafeInvokeFunction";
6400
- ExpressionKind2[ExpressionKind2["SafeTernaryExpr"] = 16] = "SafeTernaryExpr";
6401
- ExpressionKind2[ExpressionKind2["EmptyExpr"] = 17] = "EmptyExpr";
6402
- ExpressionKind2[ExpressionKind2["AssignTemporaryExpr"] = 18] = "AssignTemporaryExpr";
6403
- ExpressionKind2[ExpressionKind2["ReadTemporaryExpr"] = 19] = "ReadTemporaryExpr";
6404
- ExpressionKind2[ExpressionKind2["SlotLiteralExpr"] = 20] = "SlotLiteralExpr";
6405
- ExpressionKind2[ExpressionKind2["ConditionalCase"] = 21] = "ConditionalCase";
6406
- ExpressionKind2[ExpressionKind2["ConstCollected"] = 22] = "ConstCollected";
6407
- ExpressionKind2[ExpressionKind2["TwoWayBindingSet"] = 23] = "TwoWayBindingSet";
6401
+ ExpressionKind2[ExpressionKind2["StoreLet"] = 6] = "StoreLet";
6402
+ ExpressionKind2[ExpressionKind2["ContextLetReference"] = 7] = "ContextLetReference";
6403
+ ExpressionKind2[ExpressionKind2["GetCurrentView"] = 8] = "GetCurrentView";
6404
+ ExpressionKind2[ExpressionKind2["RestoreView"] = 9] = "RestoreView";
6405
+ ExpressionKind2[ExpressionKind2["ResetView"] = 10] = "ResetView";
6406
+ ExpressionKind2[ExpressionKind2["PureFunctionExpr"] = 11] = "PureFunctionExpr";
6407
+ ExpressionKind2[ExpressionKind2["PureFunctionParameterExpr"] = 12] = "PureFunctionParameterExpr";
6408
+ ExpressionKind2[ExpressionKind2["PipeBinding"] = 13] = "PipeBinding";
6409
+ ExpressionKind2[ExpressionKind2["PipeBindingVariadic"] = 14] = "PipeBindingVariadic";
6410
+ ExpressionKind2[ExpressionKind2["SafePropertyRead"] = 15] = "SafePropertyRead";
6411
+ ExpressionKind2[ExpressionKind2["SafeKeyedRead"] = 16] = "SafeKeyedRead";
6412
+ ExpressionKind2[ExpressionKind2["SafeInvokeFunction"] = 17] = "SafeInvokeFunction";
6413
+ ExpressionKind2[ExpressionKind2["SafeTernaryExpr"] = 18] = "SafeTernaryExpr";
6414
+ ExpressionKind2[ExpressionKind2["EmptyExpr"] = 19] = "EmptyExpr";
6415
+ ExpressionKind2[ExpressionKind2["AssignTemporaryExpr"] = 20] = "AssignTemporaryExpr";
6416
+ ExpressionKind2[ExpressionKind2["ReadTemporaryExpr"] = 21] = "ReadTemporaryExpr";
6417
+ ExpressionKind2[ExpressionKind2["SlotLiteralExpr"] = 22] = "SlotLiteralExpr";
6418
+ ExpressionKind2[ExpressionKind2["ConditionalCase"] = 23] = "ConditionalCase";
6419
+ ExpressionKind2[ExpressionKind2["ConstCollected"] = 24] = "ConstCollected";
6420
+ ExpressionKind2[ExpressionKind2["TwoWayBindingSet"] = 25] = "TwoWayBindingSet";
6408
6421
  })(ExpressionKind || (ExpressionKind = {}));
6409
6422
  var VariableFlags;
6410
6423
  (function(VariableFlags2) {
@@ -6481,7 +6494,7 @@ var TemplateKind;
6481
6494
  TemplateKind2[TemplateKind2["Block"] = 2] = "Block";
6482
6495
  })(TemplateKind || (TemplateKind = {}));
6483
6496
 
6484
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/traits.mjs
6497
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/traits.mjs
6485
6498
  var ConsumesSlot = Symbol("ConsumesSlot");
6486
6499
  var DependsOnSlotContext = Symbol("DependsOnSlotContext");
6487
6500
  var ConsumesVarsTrait = Symbol("ConsumesVars");
@@ -6499,8 +6512,8 @@ var TRAIT_CONSUMES_VARS = {
6499
6512
  function hasConsumesSlotTrait(op) {
6500
6513
  return op[ConsumesSlot] === true;
6501
6514
  }
6502
- function hasDependsOnSlotContextTrait(op) {
6503
- return op[DependsOnSlotContext] === true;
6515
+ function hasDependsOnSlotContextTrait(value) {
6516
+ return value[DependsOnSlotContext] === true;
6504
6517
  }
6505
6518
  function hasConsumesVarsTrait(value) {
6506
6519
  return value[ConsumesVarsTrait] === true;
@@ -6509,7 +6522,7 @@ function hasUsesVarOffsetTrait(expr) {
6509
6522
  return expr[UsesVarOffset] === true;
6510
6523
  }
6511
6524
 
6512
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/shared.mjs
6525
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/shared.mjs
6513
6526
  function createStatementOp(statement) {
6514
6527
  return __spreadValues({
6515
6528
  kind: OpKind.Statement,
@@ -6531,7 +6544,7 @@ var NEW_OP = {
6531
6544
  next: null
6532
6545
  };
6533
6546
 
6534
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/update.mjs
6547
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/update.mjs
6535
6548
  function createInterpolateTextOp(xref, interpolation, sourceSpan) {
6536
6549
  return __spreadValues(__spreadValues(__spreadValues({
6537
6550
  kind: OpKind.InterpolateText,
@@ -6710,14 +6723,25 @@ function createI18nApplyOp(owner, handle, sourceSpan) {
6710
6723
  sourceSpan
6711
6724
  }, NEW_OP);
6712
6725
  }
6726
+ function createStoreLetOp(target, declaredName, value, sourceSpan) {
6727
+ return __spreadValues(__spreadValues(__spreadValues({
6728
+ kind: OpKind.StoreLet,
6729
+ target,
6730
+ declaredName,
6731
+ value,
6732
+ sourceSpan
6733
+ }, TRAIT_DEPENDS_ON_SLOT_CONTEXT), TRAIT_CONSUMES_VARS), NEW_OP);
6734
+ }
6713
6735
 
6714
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/expression.mjs
6736
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/expression.mjs
6715
6737
  var _a;
6716
6738
  var _b;
6717
6739
  var _c;
6718
6740
  var _d;
6719
6741
  var _e;
6720
6742
  var _f;
6743
+ var _g;
6744
+ var _h;
6721
6745
  function isIrExpression(expr) {
6722
6746
  return expr instanceof ExpressionBase;
6723
6747
  }
@@ -6768,6 +6792,56 @@ var ReferenceExpr = class extends ExpressionBase {
6768
6792
  return new ReferenceExpr(this.target, this.targetSlot, this.offset);
6769
6793
  }
6770
6794
  };
6795
+ var _StoreLetExpr = class extends ExpressionBase {
6796
+ constructor(target, value, sourceSpan) {
6797
+ super();
6798
+ this.target = target;
6799
+ this.value = value;
6800
+ this.sourceSpan = sourceSpan;
6801
+ this.kind = ExpressionKind.StoreLet;
6802
+ this[_a] = true;
6803
+ this[_b] = true;
6804
+ }
6805
+ visitExpression() {
6806
+ }
6807
+ isEquivalent(e) {
6808
+ return e instanceof _StoreLetExpr && e.target === this.target && e.value.isEquivalent(this.value);
6809
+ }
6810
+ isConstant() {
6811
+ return false;
6812
+ }
6813
+ transformInternalExpressions(transform2, flags) {
6814
+ this.value = transformExpressionsInExpression(this.value, transform2, flags);
6815
+ }
6816
+ clone() {
6817
+ return new _StoreLetExpr(this.target, this.value, this.sourceSpan);
6818
+ }
6819
+ };
6820
+ var StoreLetExpr = _StoreLetExpr;
6821
+ (() => {
6822
+ _a = ConsumesVarsTrait, _b = DependsOnSlotContext;
6823
+ })();
6824
+ var ContextLetReferenceExpr = class extends ExpressionBase {
6825
+ constructor(target, targetSlot) {
6826
+ super();
6827
+ this.target = target;
6828
+ this.targetSlot = targetSlot;
6829
+ this.kind = ExpressionKind.ContextLetReference;
6830
+ }
6831
+ visitExpression() {
6832
+ }
6833
+ isEquivalent(e) {
6834
+ return e instanceof ContextLetReferenceExpr && e.target === this.target;
6835
+ }
6836
+ isConstant() {
6837
+ return false;
6838
+ }
6839
+ transformInternalExpressions() {
6840
+ }
6841
+ clone() {
6842
+ return new ContextLetReferenceExpr(this.target, this.targetSlot);
6843
+ }
6844
+ };
6771
6845
  var ContextExpr = class extends ExpressionBase {
6772
6846
  constructor(view) {
6773
6847
  super();
@@ -6956,8 +7030,8 @@ var _PureFunctionExpr = class extends ExpressionBase {
6956
7030
  constructor(expression, args) {
6957
7031
  super();
6958
7032
  this.kind = ExpressionKind.PureFunctionExpr;
6959
- this[_a] = true;
6960
- this[_b] = true;
7033
+ this[_c] = true;
7034
+ this[_d] = true;
6961
7035
  this.varOffset = null;
6962
7036
  this.fn = null;
6963
7037
  this.body = expression;
@@ -6999,7 +7073,7 @@ var _PureFunctionExpr = class extends ExpressionBase {
6999
7073
  };
7000
7074
  var PureFunctionExpr = _PureFunctionExpr;
7001
7075
  (() => {
7002
- _a = ConsumesVarsTrait, _b = UsesVarOffset;
7076
+ _c = ConsumesVarsTrait, _d = UsesVarOffset;
7003
7077
  })();
7004
7078
  var PureFunctionParameterExpr = class extends ExpressionBase {
7005
7079
  constructor(index) {
@@ -7029,8 +7103,8 @@ var _PipeBindingExpr = class extends ExpressionBase {
7029
7103
  this.name = name;
7030
7104
  this.args = args;
7031
7105
  this.kind = ExpressionKind.PipeBinding;
7032
- this[_c] = true;
7033
- this[_d] = true;
7106
+ this[_e] = true;
7107
+ this[_f] = true;
7034
7108
  this.varOffset = null;
7035
7109
  }
7036
7110
  visitExpression(visitor, context) {
@@ -7057,7 +7131,7 @@ var _PipeBindingExpr = class extends ExpressionBase {
7057
7131
  };
7058
7132
  var PipeBindingExpr = _PipeBindingExpr;
7059
7133
  (() => {
7060
- _c = ConsumesVarsTrait, _d = UsesVarOffset;
7134
+ _e = ConsumesVarsTrait, _f = UsesVarOffset;
7061
7135
  })();
7062
7136
  var _PipeBindingVariadicExpr = class extends ExpressionBase {
7063
7137
  constructor(target, targetSlot, name, args, numArgs) {
@@ -7068,8 +7142,8 @@ var _PipeBindingVariadicExpr = class extends ExpressionBase {
7068
7142
  this.args = args;
7069
7143
  this.numArgs = numArgs;
7070
7144
  this.kind = ExpressionKind.PipeBindingVariadic;
7071
- this[_e] = true;
7072
- this[_f] = true;
7145
+ this[_g] = true;
7146
+ this[_h] = true;
7073
7147
  this.varOffset = null;
7074
7148
  }
7075
7149
  visitExpression(visitor, context) {
@@ -7092,7 +7166,7 @@ var _PipeBindingVariadicExpr = class extends ExpressionBase {
7092
7166
  };
7093
7167
  var PipeBindingVariadicExpr = _PipeBindingVariadicExpr;
7094
7168
  (() => {
7095
- _e = ConsumesVarsTrait, _f = UsesVarOffset;
7169
+ _g = ConsumesVarsTrait, _h = UsesVarOffset;
7096
7170
  })();
7097
7171
  var SafePropertyReadExpr = class extends ExpressionBase {
7098
7172
  constructor(receiver, name) {
@@ -7451,6 +7525,9 @@ function transformExpressionsInOp(op, transform2, flags) {
7451
7525
  case OpKind.DeferWhen:
7452
7526
  op.expr = transformExpressionsInExpression(op.expr, transform2, flags);
7453
7527
  break;
7528
+ case OpKind.StoreLet:
7529
+ op.value = transformExpressionsInExpression(op.value, transform2, flags);
7530
+ break;
7454
7531
  case OpKind.Advance:
7455
7532
  case OpKind.Container:
7456
7533
  case OpKind.ContainerEnd:
@@ -7476,6 +7553,7 @@ function transformExpressionsInOp(op, transform2, flags) {
7476
7553
  case OpKind.Text:
7477
7554
  case OpKind.I18nAttributes:
7478
7555
  case OpKind.IcuPlaceholder:
7556
+ case OpKind.DeclareLet:
7479
7557
  break;
7480
7558
  default:
7481
7559
  throw new Error(`AssertionError: transformExpressionsInOp doesn't handle ${OpKind[op.kind]}`);
@@ -7573,7 +7651,7 @@ function isStringLiteral(expr) {
7573
7651
  return expr instanceof LiteralExpr && typeof expr.value === "string";
7574
7652
  }
7575
7653
 
7576
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/operations.mjs
7654
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/operations.mjs
7577
7655
  var _OpList = class {
7578
7656
  constructor() {
7579
7657
  this.debugListId = _OpList.nextListId++;
@@ -7764,14 +7842,14 @@ var OpList = _OpList;
7764
7842
  _OpList.nextListId = 0;
7765
7843
  })();
7766
7844
 
7767
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/handle.mjs
7845
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/handle.mjs
7768
7846
  var SlotHandle = class {
7769
7847
  constructor() {
7770
7848
  this.slot = null;
7771
7849
  }
7772
7850
  };
7773
7851
 
7774
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/create.mjs
7852
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/create.mjs
7775
7853
  var elementContainerOpKinds = /* @__PURE__ */ new Set([
7776
7854
  OpKind.Element,
7777
7855
  OpKind.ElementStart,
@@ -7991,6 +8069,15 @@ function createDeferOnOp(defer2, trigger, prefetch, sourceSpan) {
7991
8069
  sourceSpan
7992
8070
  }, NEW_OP);
7993
8071
  }
8072
+ function createDeclareLetOp(xref, declaredName, sourceSpan) {
8073
+ return __spreadValues(__spreadValues({
8074
+ kind: OpKind.DeclareLet,
8075
+ xref,
8076
+ declaredName,
8077
+ sourceSpan,
8078
+ handle: new SlotHandle()
8079
+ }, TRAIT_CONSUMES_SLOT), NEW_OP);
8080
+ }
7994
8081
  function createI18nMessageOp(xref, i18nContext, i18nBlock, message, messagePlaceholder, params, postprocessingParams, needsPostprocessing) {
7995
8082
  return __spreadValues({
7996
8083
  kind: OpKind.I18nMessage,
@@ -8075,7 +8162,7 @@ function createI18nAttributesOp(xref, handle, target) {
8075
8162
  }, NEW_OP), TRAIT_CONSUMES_SLOT);
8076
8163
  }
8077
8164
 
8078
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/host.mjs
8165
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/ops/host.mjs
8079
8166
  function createHostPropertyOp(name, expression, isAnimationTrigger, i18nContext, securityContext, sourceSpan) {
8080
8167
  return __spreadValues(__spreadValues({
8081
8168
  kind: OpKind.HostProperty,
@@ -8089,10 +8176,10 @@ function createHostPropertyOp(name, expression, isAnimationTrigger, i18nContext,
8089
8176
  }, TRAIT_CONSUMES_VARS), NEW_OP);
8090
8177
  }
8091
8178
 
8092
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/variable.mjs
8179
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/ir/src/variable.mjs
8093
8180
  var CTX_REF = "CTX_REF_MARKER";
8094
8181
 
8095
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/compilation.mjs
8182
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/compilation.mjs
8096
8183
  var CompilationJobKind;
8097
8184
  (function(CompilationJobKind2) {
8098
8185
  CompilationJobKind2[CompilationJobKind2["Tmpl"] = 0] = "Tmpl";
@@ -8200,7 +8287,7 @@ var HostBindingCompilationUnit = class extends CompilationUnit {
8200
8287
  }
8201
8288
  };
8202
8289
 
8203
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/any_cast.mjs
8290
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/any_cast.mjs
8204
8291
  function deleteAnyCasts(job) {
8205
8292
  for (const unit of job.units) {
8206
8293
  for (const op of unit.ops()) {
@@ -8218,7 +8305,7 @@ function removeAnys(e) {
8218
8305
  return e;
8219
8306
  }
8220
8307
 
8221
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/apply_i18n_expressions.mjs
8308
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/apply_i18n_expressions.mjs
8222
8309
  function applyI18nExpressions(job) {
8223
8310
  const i18nContexts = /* @__PURE__ */ new Map();
8224
8311
  for (const unit of job.units) {
@@ -8261,7 +8348,7 @@ function needsApplication(i18nContexts, op) {
8261
8348
  return false;
8262
8349
  }
8263
8350
 
8264
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs
8351
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs
8265
8352
  function assignI18nSlotDependencies(job) {
8266
8353
  for (const unit of job.units) {
8267
8354
  let updateOp = unit.update.head;
@@ -8306,7 +8393,7 @@ function assignI18nSlotDependencies(job) {
8306
8393
  }
8307
8394
  }
8308
8395
 
8309
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/util/elements.mjs
8396
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/util/elements.mjs
8310
8397
  function createOpXrefMap(unit) {
8311
8398
  const map = /* @__PURE__ */ new Map();
8312
8399
  for (const op of unit.create) {
@@ -8321,7 +8408,7 @@ function createOpXrefMap(unit) {
8321
8408
  return map;
8322
8409
  }
8323
8410
 
8324
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/attribute_extraction.mjs
8411
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/attribute_extraction.mjs
8325
8412
  function extractAttributes(job) {
8326
8413
  for (const unit of job.units) {
8327
8414
  const elements = createOpXrefMap(unit);
@@ -8450,7 +8537,7 @@ function extractAttributeOp(unit, op, elements) {
8450
8537
  }
8451
8538
  }
8452
8539
 
8453
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/binding_specialization.mjs
8540
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/binding_specialization.mjs
8454
8541
  function lookupElement2(elements, xref) {
8455
8542
  const el = elements.get(xref);
8456
8543
  if (el === void 0) {
@@ -8507,7 +8594,7 @@ function specializeBindings(job) {
8507
8594
  }
8508
8595
  }
8509
8596
 
8510
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/chaining.mjs
8597
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/chaining.mjs
8511
8598
  var CHAINABLE = /* @__PURE__ */ new Set([
8512
8599
  Identifiers.attribute,
8513
8600
  Identifiers.classProp,
@@ -8536,7 +8623,8 @@ var CHAINABLE = /* @__PURE__ */ new Set([
8536
8623
  Identifiers.syntheticHostProperty,
8537
8624
  Identifiers.templateCreate,
8538
8625
  Identifiers.twoWayProperty,
8539
- Identifiers.twoWayListener
8626
+ Identifiers.twoWayListener,
8627
+ Identifiers.declareLet
8540
8628
  ]);
8541
8629
  function chain(job) {
8542
8630
  for (const unit of job.units) {
@@ -8575,7 +8663,7 @@ function chainOperationsInList(opList) {
8575
8663
  }
8576
8664
  }
8577
8665
 
8578
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs
8666
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs
8579
8667
  function collapseSingletonInterpolations(job) {
8580
8668
  for (const unit of job.units) {
8581
8669
  for (const op of unit.update) {
@@ -8587,7 +8675,7 @@ function collapseSingletonInterpolations(job) {
8587
8675
  }
8588
8676
  }
8589
8677
 
8590
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/conditionals.mjs
8678
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/conditionals.mjs
8591
8679
  function generateConditionalExpressions(job) {
8592
8680
  for (const unit of job.units) {
8593
8681
  for (const op of unit.ops()) {
@@ -8624,7 +8712,7 @@ function generateConditionalExpressions(job) {
8624
8712
  }
8625
8713
  }
8626
8714
 
8627
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/conversion.mjs
8715
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/conversion.mjs
8628
8716
  var BINARY_OPERATORS = /* @__PURE__ */ new Map([
8629
8717
  ["&&", BinaryOperator.And],
8630
8718
  [">", BinaryOperator.Bigger],
@@ -8681,7 +8769,7 @@ function literalOrArrayLiteral(value) {
8681
8769
  return literal(value);
8682
8770
  }
8683
8771
 
8684
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/const_collection.mjs
8772
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/const_collection.mjs
8685
8773
  function collectElementConsts(job) {
8686
8774
  const allElementAttributes = /* @__PURE__ */ new Map();
8687
8775
  for (const unit of job.units) {
@@ -8850,7 +8938,7 @@ function serializeAttributes({ attributes, bindings, classes, i18n: i18n2, proje
8850
8938
  return literalArr(attrArray);
8851
8939
  }
8852
8940
 
8853
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/convert_i18n_bindings.mjs
8941
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/convert_i18n_bindings.mjs
8854
8942
  function convertI18nBindings(job) {
8855
8943
  const i18nAttributesByElem = /* @__PURE__ */ new Map();
8856
8944
  for (const unit of job.units) {
@@ -8891,7 +8979,7 @@ function convertI18nBindings(job) {
8891
8979
  }
8892
8980
  }
8893
8981
 
8894
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_defer_deps_fns.mjs
8982
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_defer_deps_fns.mjs
8895
8983
  function resolveDeferDepsFns(job) {
8896
8984
  var _a2;
8897
8985
  for (const unit of job.units) {
@@ -8916,7 +9004,7 @@ function resolveDeferDepsFns(job) {
8916
9004
  }
8917
9005
  }
8918
9006
 
8919
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_i18n_contexts.mjs
9007
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/create_i18n_contexts.mjs
8920
9008
  function createI18nContexts(job) {
8921
9009
  const attrContextByMessage = /* @__PURE__ */ new Map();
8922
9010
  for (const unit of job.units) {
@@ -8994,7 +9082,7 @@ function createI18nContexts(job) {
8994
9082
  }
8995
9083
  }
8996
9084
 
8997
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs
9085
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs
8998
9086
  function deduplicateTextBindings(job) {
8999
9087
  const seen = /* @__PURE__ */ new Map();
9000
9088
  for (const unit of job.units) {
@@ -9016,7 +9104,7 @@ function deduplicateTextBindings(job) {
9016
9104
  }
9017
9105
  }
9018
9106
 
9019
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_configs.mjs
9107
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_configs.mjs
9020
9108
  function configureDeferInstructions(job) {
9021
9109
  for (const unit of job.units) {
9022
9110
  for (const op of unit.create) {
@@ -9033,7 +9121,7 @@ function configureDeferInstructions(job) {
9033
9121
  }
9034
9122
  }
9035
9123
 
9036
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_resolve_targets.mjs
9124
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/defer_resolve_targets.mjs
9037
9125
  function resolveDeferTargetNames(job) {
9038
9126
  const scopes = /* @__PURE__ */ new Map();
9039
9127
  function getScopeForView2(view) {
@@ -9127,7 +9215,7 @@ var Scope = class {
9127
9215
  }
9128
9216
  };
9129
9217
 
9130
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/empty_elements.mjs
9218
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/empty_elements.mjs
9131
9219
  var REPLACEMENTS = /* @__PURE__ */ new Map([
9132
9220
  [OpKind.ElementEnd, [OpKind.ElementStart, OpKind.Element]],
9133
9221
  [OpKind.ContainerEnd, [OpKind.ContainerStart, OpKind.Container]],
@@ -9154,7 +9242,7 @@ function collapseEmptyInstructions(job) {
9154
9242
  }
9155
9243
  }
9156
9244
 
9157
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/expand_safe_reads.mjs
9245
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/expand_safe_reads.mjs
9158
9246
  function expandSafeReads(job) {
9159
9247
  for (const unit of job.units) {
9160
9248
  for (const op of unit.ops()) {
@@ -9290,7 +9378,7 @@ function ternaryTransform(e) {
9290
9378
  return new ConditionalExpr(new BinaryOperatorExpr(BinaryOperator.Equals, e.guard, NULL_EXPR), NULL_EXPR, e.expr);
9291
9379
  }
9292
9380
 
9293
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/extract_i18n_messages.mjs
9381
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/extract_i18n_messages.mjs
9294
9382
  var ESCAPE = "\uFFFD";
9295
9383
  var ELEMENT_MARKER = "#";
9296
9384
  var TEMPLATE_MARKER = "*";
@@ -9426,7 +9514,7 @@ function formatValue(value) {
9426
9514
  return `${ESCAPE}${closeMarker}${tagMarker}${value.value}${context}${ESCAPE}`;
9427
9515
  }
9428
9516
 
9429
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_advance.mjs
9517
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_advance.mjs
9430
9518
  function generateAdvance(job) {
9431
9519
  for (const unit of job.units) {
9432
9520
  const slotMap = /* @__PURE__ */ new Map();
@@ -9440,25 +9528,36 @@ function generateAdvance(job) {
9440
9528
  }
9441
9529
  let slotContext = 0;
9442
9530
  for (const op of unit.update) {
9443
- if (!hasDependsOnSlotContextTrait(op)) {
9531
+ let consumer = null;
9532
+ if (hasDependsOnSlotContextTrait(op)) {
9533
+ consumer = op;
9534
+ } else {
9535
+ visitExpressionsInOp(op, (expr) => {
9536
+ if (consumer === null && hasDependsOnSlotContextTrait(expr)) {
9537
+ consumer = expr;
9538
+ }
9539
+ });
9540
+ }
9541
+ if (consumer === null) {
9444
9542
  continue;
9445
- } else if (!slotMap.has(op.target)) {
9446
- throw new Error(`AssertionError: reference to unknown slot for target ${op.target}`);
9447
9543
  }
9448
- const slot = slotMap.get(op.target);
9544
+ if (!slotMap.has(consumer.target)) {
9545
+ throw new Error(`AssertionError: reference to unknown slot for target ${consumer.target}`);
9546
+ }
9547
+ const slot = slotMap.get(consumer.target);
9449
9548
  if (slotContext !== slot) {
9450
9549
  const delta = slot - slotContext;
9451
9550
  if (delta < 0) {
9452
9551
  throw new Error(`AssertionError: slot counter should never need to move backwards`);
9453
9552
  }
9454
- OpList.insertBefore(createAdvanceOp(delta, op.sourceSpan), op);
9553
+ OpList.insertBefore(createAdvanceOp(delta, consumer.sourceSpan), op);
9455
9554
  slotContext = slot;
9456
9555
  }
9457
9556
  }
9458
9557
  }
9459
9558
  }
9460
9559
 
9461
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_projection_def.mjs
9560
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_projection_def.mjs
9462
9561
  function generateProjectionDefs(job) {
9463
9562
  const share = job.compatibility === CompatibilityMode.TemplateDefinitionBuilder;
9464
9563
  const selectors = [];
@@ -9482,7 +9581,7 @@ function generateProjectionDefs(job) {
9482
9581
  }
9483
9582
  }
9484
9583
 
9485
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_variables.mjs
9584
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_variables.mjs
9486
9585
  function generateVariables(job) {
9487
9586
  recursivelyProcessView(job.root, null);
9488
9587
  }
@@ -9506,12 +9605,11 @@ function recursivelyProcessView(view, parentScope) {
9506
9605
  break;
9507
9606
  case OpKind.Listener:
9508
9607
  case OpKind.TwoWayListener:
9509
- op.handlerOps.prepend(generateVariablesInScopeForView(view, scope));
9608
+ op.handlerOps.prepend(generateVariablesInScopeForView(view, scope, true));
9510
9609
  break;
9511
9610
  }
9512
9611
  }
9513
- const preambleOps = generateVariablesInScopeForView(view, scope);
9514
- view.update.prepend(preambleOps);
9612
+ view.update.prepend(generateVariablesInScopeForView(view, scope, false));
9515
9613
  }
9516
9614
  function getScopeForView(view, parent) {
9517
9615
  const scope = {
@@ -9524,6 +9622,7 @@ function getScopeForView(view, parent) {
9524
9622
  contextVariables: /* @__PURE__ */ new Map(),
9525
9623
  aliases: view.aliases,
9526
9624
  references: [],
9625
+ letDeclarations: [],
9527
9626
  parent
9528
9627
  };
9529
9628
  for (const identifier of view.contextVariables.keys()) {
@@ -9554,11 +9653,22 @@ function getScopeForView(view, parent) {
9554
9653
  });
9555
9654
  }
9556
9655
  break;
9656
+ case OpKind.DeclareLet:
9657
+ scope.letDeclarations.push({
9658
+ targetId: op.xref,
9659
+ targetSlot: op.handle,
9660
+ variable: {
9661
+ kind: SemanticVariableKind.Identifier,
9662
+ name: null,
9663
+ identifier: op.declaredName
9664
+ }
9665
+ });
9666
+ break;
9557
9667
  }
9558
9668
  }
9559
9669
  return scope;
9560
9670
  }
9561
- function generateVariablesInScopeForView(view, scope) {
9671
+ function generateVariablesInScopeForView(view, scope, isListener) {
9562
9672
  const newOps = [];
9563
9673
  if (scope.view !== view.xref) {
9564
9674
  newOps.push(createVariableOp(view.job.allocateXrefId(), scope.viewContextVariable, new NextContextExpr(), VariableFlags.None));
@@ -9575,13 +9685,18 @@ function generateVariablesInScopeForView(view, scope) {
9575
9685
  for (const ref of scope.references) {
9576
9686
  newOps.push(createVariableOp(view.job.allocateXrefId(), ref.variable, new ReferenceExpr(ref.targetId, ref.targetSlot, ref.offset), VariableFlags.None));
9577
9687
  }
9688
+ if (scope.view !== view.xref || isListener) {
9689
+ for (const decl of scope.letDeclarations) {
9690
+ newOps.push(createVariableOp(view.job.allocateXrefId(), decl.variable, new ContextLetReferenceExpr(decl.targetId, decl.targetSlot), VariableFlags.None));
9691
+ }
9692
+ }
9578
9693
  if (scope.parent !== null) {
9579
- newOps.push(...generateVariablesInScopeForView(view, scope.parent));
9694
+ newOps.push(...generateVariablesInScopeForView(view, scope.parent, false));
9580
9695
  }
9581
9696
  return newOps;
9582
9697
  }
9583
9698
 
9584
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/has_const_expression_collection.mjs
9699
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/has_const_expression_collection.mjs
9585
9700
  function collectConstExpressions(job) {
9586
9701
  for (const unit of job.units) {
9587
9702
  for (const op of unit.ops()) {
@@ -9595,7 +9710,7 @@ function collectConstExpressions(job) {
9595
9710
  }
9596
9711
  }
9597
9712
 
9598
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/host_style_property_parsing.mjs
9713
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/host_style_property_parsing.mjs
9599
9714
  var STYLE_DOT = "style.";
9600
9715
  var CLASS_DOT = "class.";
9601
9716
  var STYLE_BANG = "style!";
@@ -9653,7 +9768,7 @@ function parseProperty(name) {
9653
9768
  return { property: property2, suffix };
9654
9769
  }
9655
9770
 
9656
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/output/map_util.mjs
9771
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/output/map_util.mjs
9657
9772
  function mapLiteral(obj, quoted = false) {
9658
9773
  return literalMap(Object.keys(obj).map((key) => ({
9659
9774
  key,
@@ -9662,7 +9777,7 @@ function mapLiteral(obj, quoted = false) {
9662
9777
  })));
9663
9778
  }
9664
9779
 
9665
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
9780
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/icu_serializer.mjs
9666
9781
  var IcuSerializerVisitor = class {
9667
9782
  visitText(text2) {
9668
9783
  return text2.value;
@@ -9696,7 +9811,7 @@ function serializeIcuNode(icu) {
9696
9811
  return icu.visit(serializer);
9697
9812
  }
9698
9813
 
9699
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
9814
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/lexer.mjs
9700
9815
  var TokenType;
9701
9816
  (function(TokenType2) {
9702
9817
  TokenType2[TokenType2["Character"] = 0] = "Character";
@@ -10057,7 +10172,7 @@ function parseIntAutoRadix(text2) {
10057
10172
  return result;
10058
10173
  }
10059
10174
 
10060
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
10175
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/expression_parser/parser.mjs
10061
10176
  var SplitInterpolation = class {
10062
10177
  constructor(strings, expressions, offsets) {
10063
10178
  this.strings = strings;
@@ -10698,13 +10813,15 @@ var _ParseAST = class {
10698
10813
  const keyStart = this.inputIndex;
10699
10814
  const quoted = this.next.isString();
10700
10815
  const key = this.expectIdentifierOrKeywordOrString();
10701
- keys.push({ key, quoted });
10816
+ const literalMapKey = { key, quoted };
10817
+ keys.push(literalMapKey);
10702
10818
  if (quoted) {
10703
10819
  this.expectCharacter($COLON);
10704
10820
  values.push(this.parsePipe());
10705
10821
  } else if (this.consumeOptionalCharacter($COLON)) {
10706
10822
  values.push(this.parsePipe());
10707
10823
  } else {
10824
+ literalMapKey.isShorthandInitialized = true;
10708
10825
  const span = this.span(keyStart);
10709
10826
  const sourceSpan = this.sourceSpan(keyStart);
10710
10827
  values.push(new PropertyRead(span, sourceSpan, sourceSpan, new ImplicitReceiver(span, sourceSpan), key));
@@ -10939,7 +11056,7 @@ function getIndexMapForOriginalTemplate(interpolatedTokens) {
10939
11056
  return offsetMap;
10940
11057
  }
10941
11058
 
10942
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
11059
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/ast.mjs
10943
11060
  var NodeWithI18n = class {
10944
11061
  constructor(sourceSpan, i18n2) {
10945
11062
  this.sourceSpan = sourceSpan;
@@ -11062,7 +11179,7 @@ function visitAll2(visitor, nodes, context = null) {
11062
11179
  return result;
11063
11180
  }
11064
11181
 
11065
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
11182
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_security_schema.mjs
11066
11183
  var _SECURITY_SCHEMA;
11067
11184
  function SECURITY_SCHEMA() {
11068
11185
  if (!_SECURITY_SCHEMA) {
@@ -11123,11 +11240,11 @@ function isIframeSecuritySensitiveAttr(attrName) {
11123
11240
  return IFRAME_SECURITY_SENSITIVE_ATTRS.has(attrName.toLowerCase());
11124
11241
  }
11125
11242
 
11126
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
11243
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/element_schema_registry.mjs
11127
11244
  var ElementSchemaRegistry = class {
11128
11245
  };
11129
11246
 
11130
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
11247
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/dom_element_schema_registry.mjs
11131
11248
  var BOOLEAN = "boolean";
11132
11249
  var NUMBER = "number";
11133
11250
  var STRING = "string";
@@ -11510,7 +11627,7 @@ function _isPixelDimensionStyle(prop) {
11510
11627
  }
11511
11628
  }
11512
11629
 
11513
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
11630
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_tags.mjs
11514
11631
  var HtmlTagDefinition = class {
11515
11632
  constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false, canSelfClose = false } = {}) {
11516
11633
  this.closedByChildren = {};
@@ -11646,7 +11763,7 @@ function getHtmlTagDefinition(tagName) {
11646
11763
  return (_b2 = (_a2 = TAG_DEFINITIONS[tagName]) != null ? _a2 : TAG_DEFINITIONS[tagName.toLowerCase()]) != null ? _b2 : DEFAULT_TAG_DEFINITION;
11647
11764
  }
11648
11765
 
11649
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
11766
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/serializers/placeholder.mjs
11650
11767
  var TAG_TO_PLACEHOLDER_NAMES = {
11651
11768
  "A": "LINK",
11652
11769
  "B": "BOLD_TEXT",
@@ -11768,7 +11885,7 @@ var PlaceholderRegistry = class {
11768
11885
  }
11769
11886
  };
11770
11887
 
11771
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
11888
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/i18n_parser.mjs
11772
11889
  var _expParser = new Parser(new Lexer());
11773
11890
  function createI18nMessageFactory(interpolationConfig, containerBlocks) {
11774
11891
  const visitor = new _I18nVisitor(_expParser, interpolationConfig, containerBlocks);
@@ -11950,14 +12067,14 @@ function extractPlaceholderName(input) {
11950
12067
  return input.split(_CUSTOM_PH_EXP)[2];
11951
12068
  }
11952
12069
 
11953
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
12070
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/parse_util.mjs
11954
12071
  var I18nError = class extends ParseError {
11955
12072
  constructor(span, msg) {
11956
12073
  super(span, msg);
11957
12074
  }
11958
12075
  };
11959
12076
 
11960
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
12077
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/entities.mjs
11961
12078
  var NAMED_ENTITIES = {
11962
12079
  "AElig": "\xC6",
11963
12080
  "AMP": "&",
@@ -14088,7 +14205,7 @@ var NAMED_ENTITIES = {
14088
14205
  var NGSP_UNICODE = "\uE500";
14089
14206
  NAMED_ENTITIES["ngsp"] = NGSP_UNICODE;
14090
14207
 
14091
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
14208
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/lexer.mjs
14092
14209
  var TokenError = class extends ParseError {
14093
14210
  constructor(errorMsg, tokenType, span) {
14094
14211
  super(span, errorMsg);
@@ -15078,7 +15195,7 @@ var CursorError = class {
15078
15195
  }
15079
15196
  };
15080
15197
 
15081
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
15198
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/parser.mjs
15082
15199
  var TreeError = class extends ParseError {
15083
15200
  static create(elementName, span, msg) {
15084
15201
  return new TreeError(elementName, span, msg);
@@ -15506,7 +15623,7 @@ function decodeEntity(match, entity) {
15506
15623
  return match;
15507
15624
  }
15508
15625
 
15509
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
15626
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/schema/trusted_types_sinks.mjs
15510
15627
  var TRUSTED_TYPES_SINKS = /* @__PURE__ */ new Set([
15511
15628
  "iframe|srcdoc",
15512
15629
  "*|innerhtml",
@@ -15521,7 +15638,7 @@ function isTrustedTypesSink(tagName, propName) {
15521
15638
  return TRUSTED_TYPES_SINKS.has(tagName + "|" + propName) || TRUSTED_TYPES_SINKS.has("*|" + propName);
15522
15639
  }
15523
15640
 
15524
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
15641
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/meta.mjs
15525
15642
  var setI18nRefs = (htmlNode, i18nNode) => {
15526
15643
  if (htmlNode instanceof NodeWithI18n) {
15527
15644
  if (i18nNode instanceof IcuPlaceholder && htmlNode.i18n instanceof Message) {
@@ -15681,7 +15798,7 @@ function i18nMetaToJSDoc(meta) {
15681
15798
  return jsDocComment(tags);
15682
15799
  }
15683
15800
 
15684
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
15801
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/get_msg_utils.mjs
15685
15802
  var GOOG_GET_MSG = "goog.getMsg";
15686
15803
  function createGoogleGetMsgStatements(variable2, message, closureVar, placeholderValues) {
15687
15804
  const messageString = serializeI18nMessageForGetMsg(message);
@@ -15732,7 +15849,7 @@ function serializeI18nMessageForGetMsg(message) {
15732
15849
  return message.nodes.map((node) => node.visit(serializerVisitor2, null)).join("");
15733
15850
  }
15734
15851
 
15735
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
15852
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/i18n/localize_utils.mjs
15736
15853
  function createLocalizeStatements(variable2, message, params) {
15737
15854
  const { messageParts, placeHolders } = serializeI18nMessageForLocalize(message);
15738
15855
  const sourceSpan = getSourceSpan(message);
@@ -15821,7 +15938,7 @@ function createEmptyMessagePart(location) {
15821
15938
  return new LiteralPiece("", new ParseSourceSpan(location, location));
15822
15939
  }
15823
15940
 
15824
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_const_collection.mjs
15941
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_const_collection.mjs
15825
15942
  var NG_I18N_CLOSURE_MODE = "ngI18nClosureMode";
15826
15943
  var TRANSLATION_VAR_PREFIX = "i18n_";
15827
15944
  var I18N_ICU_MAPPING_PREFIX = "I18N_EXP_";
@@ -15992,7 +16109,7 @@ function i18nGenerateClosureVar(pool, messageId, fileBasedI18nSuffix, useExterna
15992
16109
  return variable(name);
15993
16110
  }
15994
16111
 
15995
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_text_extraction.mjs
16112
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/i18n_text_extraction.mjs
15996
16113
  function convertI18nText(job) {
15997
16114
  var _a2, _b2, _c2;
15998
16115
  for (const unit of job.units) {
@@ -16062,7 +16179,7 @@ function convertI18nText(job) {
16062
16179
  }
16063
16180
  }
16064
16181
 
16065
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/local_refs.mjs
16182
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/local_refs.mjs
16066
16183
  function liftLocalRefs(job) {
16067
16184
  for (const unit of job.units) {
16068
16185
  for (const op of unit.create) {
@@ -16092,7 +16209,7 @@ function serializeLocalRefs(refs) {
16092
16209
  return literalArr(constRefs);
16093
16210
  }
16094
16211
 
16095
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/namespace.mjs
16212
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/namespace.mjs
16096
16213
  function emitNamespaceChanges(job) {
16097
16214
  for (const unit of job.units) {
16098
16215
  let activeNamespace = Namespace.HTML;
@@ -16108,7 +16225,7 @@ function emitNamespaceChanges(job) {
16108
16225
  }
16109
16226
  }
16110
16227
 
16111
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/parse_extracted_styles.mjs
16228
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/parse_extracted_styles.mjs
16112
16229
  function parse(value) {
16113
16230
  const styles = [];
16114
16231
  let i = 0;
@@ -16202,7 +16319,7 @@ function parseExtractedStyles(job) {
16202
16319
  }
16203
16320
  }
16204
16321
 
16205
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/naming.mjs
16322
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/naming.mjs
16206
16323
  function nameFunctionsAndVariables(job) {
16207
16324
  addNamesToView(job.root, job.componentName, { index: 0 }, job.compatibility === CompatibilityMode.TemplateDefinitionBuilder);
16208
16325
  }
@@ -16346,7 +16463,7 @@ function stripImportant(name) {
16346
16463
  return name;
16347
16464
  }
16348
16465
 
16349
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/next_context_merging.mjs
16466
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/next_context_merging.mjs
16350
16467
  function mergeNextContextExpressions(job) {
16351
16468
  for (const unit of job.units) {
16352
16469
  for (const op of unit.create) {
@@ -16383,6 +16500,7 @@ function mergeNextContextsInOps(ops) {
16383
16500
  break;
16384
16501
  case ExpressionKind.GetCurrentView:
16385
16502
  case ExpressionKind.Reference:
16503
+ case ExpressionKind.ContextLetReference:
16386
16504
  tryToMerge = false;
16387
16505
  break;
16388
16506
  }
@@ -16392,7 +16510,7 @@ function mergeNextContextsInOps(ops) {
16392
16510
  }
16393
16511
  }
16394
16512
 
16395
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ng_container.mjs
16513
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ng_container.mjs
16396
16514
  var CONTAINER_TAG = "ng-container";
16397
16515
  function generateNgContainerOps(job) {
16398
16516
  for (const unit of job.units) {
@@ -16409,7 +16527,7 @@ function generateNgContainerOps(job) {
16409
16527
  }
16410
16528
  }
16411
16529
 
16412
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nonbindable.mjs
16530
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nonbindable.mjs
16413
16531
  function lookupElement3(elements, xref) {
16414
16532
  const el = elements.get(xref);
16415
16533
  if (el === void 0) {
@@ -16439,7 +16557,7 @@ function disableBindings(job) {
16439
16557
  }
16440
16558
  }
16441
16559
 
16442
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nullish_coalescing.mjs
16560
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/nullish_coalescing.mjs
16443
16561
  function generateNullishCoalesceExpressions(job) {
16444
16562
  for (const unit of job.units) {
16445
16563
  for (const op of unit.ops()) {
@@ -16455,7 +16573,7 @@ function generateNullishCoalesceExpressions(job) {
16455
16573
  }
16456
16574
  }
16457
16575
 
16458
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ordering.mjs
16576
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/ordering.mjs
16459
16577
  function kindTest(kind) {
16460
16578
  return (op) => op.kind === kind;
16461
16579
  }
@@ -16545,7 +16663,7 @@ function keepLast(ops) {
16545
16663
  return ops.slice(ops.length - 1);
16546
16664
  }
16547
16665
 
16548
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs
16666
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs
16549
16667
  function removeContentSelectors(job) {
16550
16668
  for (const unit of job.units) {
16551
16669
  const elements = createOpXrefMap(unit);
@@ -16572,7 +16690,7 @@ function lookupInXrefMap(map, xref) {
16572
16690
  return el;
16573
16691
  }
16574
16692
 
16575
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_creation.mjs
16693
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_creation.mjs
16576
16694
  function createPipes(job) {
16577
16695
  for (const unit of job.units) {
16578
16696
  processPipeBindingsInView(unit);
@@ -16620,7 +16738,7 @@ function addPipeToCreationBlock(unit, afterTargetXref, binding) {
16620
16738
  throw new Error(`AssertionError: unable to find insertion point for pipe ${binding.name}`);
16621
16739
  }
16622
16740
 
16623
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_variadic.mjs
16741
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pipe_variadic.mjs
16624
16742
  function createVariadicPipes(job) {
16625
16743
  for (const unit of job.units) {
16626
16744
  for (const op of unit.update) {
@@ -16637,7 +16755,7 @@ function createVariadicPipes(job) {
16637
16755
  }
16638
16756
  }
16639
16757
 
16640
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs
16758
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs
16641
16759
  function propagateI18nBlocks(job) {
16642
16760
  propagateI18nBlocksToTemplates(job.root, 0);
16643
16761
  }
@@ -16691,7 +16809,7 @@ function wrapTemplateWithI18n(unit, parentI18n) {
16691
16809
  }
16692
16810
  }
16693
16811
 
16694
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_function_extraction.mjs
16812
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_function_extraction.mjs
16695
16813
  function extractPureFunctions(job) {
16696
16814
  for (const view of job.units) {
16697
16815
  for (const op of view.ops()) {
@@ -16733,7 +16851,7 @@ var PureFunctionConstant = class extends GenericKeyFn {
16733
16851
  }
16734
16852
  };
16735
16853
 
16736
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_literal_structures.mjs
16854
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/pure_literal_structures.mjs
16737
16855
  function generatePureLiteralStructures(job) {
16738
16856
  for (const unit of job.units) {
16739
16857
  for (const op of unit.update) {
@@ -16780,7 +16898,7 @@ function transformLiteralMap(expr) {
16780
16898
  return new PureFunctionExpr(literalMap(derivedEntries), nonConstantArgs);
16781
16899
  }
16782
16900
 
16783
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/instruction.mjs
16901
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/instruction.mjs
16784
16902
  function element(slot, tag, constIndex, localRefIndex, sourceSpan) {
16785
16903
  return elementOrContainerBase(Identifiers.element, slot, tag, constIndex, localRefIndex, sourceSpan);
16786
16904
  }
@@ -17002,6 +17120,15 @@ function repeater(collection, sourceSpan) {
17002
17120
  function deferWhen(prefetch, expr, sourceSpan) {
17003
17121
  return call(prefetch ? Identifiers.deferPrefetchWhen : Identifiers.deferWhen, [expr], sourceSpan);
17004
17122
  }
17123
+ function declareLet(slot, sourceSpan) {
17124
+ return call(Identifiers.declareLet, [literal(slot)], sourceSpan);
17125
+ }
17126
+ function storeLet(value, sourceSpan) {
17127
+ return importExpr(Identifiers.storeLet).callFn([value], sourceSpan);
17128
+ }
17129
+ function readContextLet(slot) {
17130
+ return importExpr(Identifiers.readContextLet).callFn([literal(slot)]);
17131
+ }
17005
17132
  function i18n(slot, constIndex, subTemplateIndex, sourceSpan) {
17006
17133
  const args = [literal(slot), literal(constIndex)];
17007
17134
  if (subTemplateIndex) {
@@ -17303,7 +17430,7 @@ function callVariadicInstruction(config, baseArgs, interpolationArgs, extraArgs,
17303
17430
  return createStatementOp(callVariadicInstructionExpr(config, baseArgs, interpolationArgs, extraArgs, sourceSpan).toStmt());
17304
17431
  }
17305
17432
 
17306
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/reify.mjs
17433
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/reify.mjs
17307
17434
  var GLOBAL_TARGET_RESOLVERS = /* @__PURE__ */ new Map([
17308
17435
  ["window", Identifiers.resolveWindow],
17309
17436
  ["document", Identifiers.resolveDocument],
@@ -17316,7 +17443,7 @@ function reify(job) {
17316
17443
  }
17317
17444
  }
17318
17445
  function reifyCreateOperations(unit, ops) {
17319
- var _a2, _b2, _c2, _d2, _e2, _f2, _g;
17446
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2;
17320
17447
  for (const op of ops) {
17321
17448
  transformExpressionsInOp(op, reifyIrExpression, VisitorContextFlag.None);
17322
17449
  switch (op.kind) {
@@ -17375,6 +17502,9 @@ function reifyCreateOperations(unit, ops) {
17375
17502
  case OpKind.Pipe:
17376
17503
  OpList.replace(op, pipe(op.handle.slot, op.name));
17377
17504
  break;
17505
+ case OpKind.DeclareLet:
17506
+ OpList.replace(op, declareLet(op.handle.slot, op.sourceSpan));
17507
+ break;
17378
17508
  case OpKind.Listener:
17379
17509
  const listenerFn = reifyListenerHandler(unit, op.handlerFnName, op.handlerOps, op.consumesDollarEvent);
17380
17510
  const eventTargetResolver = op.eventTarget ? GLOBAL_TARGET_RESOLVERS.get(op.eventTarget) : null;
@@ -17421,7 +17551,7 @@ function reifyCreateOperations(unit, ops) {
17421
17551
  case DeferTriggerKind.Interaction:
17422
17552
  case DeferTriggerKind.Hover:
17423
17553
  case DeferTriggerKind.Viewport:
17424
- if (((_g = op.trigger.targetSlot) == null ? void 0 : _g.slot) == null || op.trigger.targetSlotViewSteps === null) {
17554
+ if (((_g2 = op.trigger.targetSlot) == null ? void 0 : _g2.slot) == null || op.trigger.targetSlotViewSteps === null) {
17425
17555
  throw new Error(`Slot or view steps not set in trigger reification for trigger kind ${op.trigger.kind}`);
17426
17556
  }
17427
17557
  args = [op.trigger.targetSlot.slot];
@@ -17582,6 +17712,8 @@ function reifyUpdateOperations(_unit, ops) {
17582
17712
  case OpKind.DeferWhen:
17583
17713
  OpList.replace(op, deferWhen(op.prefetch, op.expr, op.sourceSpan));
17584
17714
  break;
17715
+ case OpKind.StoreLet:
17716
+ throw new Error(`AssertionError: unexpected storeLet ${op.declaredName}`);
17585
17717
  case OpKind.Statement:
17586
17718
  break;
17587
17719
  default:
@@ -17639,6 +17771,10 @@ function reifyIrExpression(expr) {
17639
17771
  return pipeBindV(expr.targetSlot.slot, expr.varOffset, expr.args);
17640
17772
  case ExpressionKind.SlotLiteralExpr:
17641
17773
  return literal(expr.slot.slot);
17774
+ case ExpressionKind.ContextLetReference:
17775
+ return readContextLet(expr.targetSlot.slot);
17776
+ case ExpressionKind.StoreLet:
17777
+ return storeLet(expr.value, expr.sourceSpan);
17642
17778
  default:
17643
17779
  throw new Error(`AssertionError: Unsupported reification of ir.Expression kind: ${ExpressionKind[expr.kind]}`);
17644
17780
  }
@@ -17659,7 +17795,7 @@ function reifyListenerHandler(unit, name, handlerOps, consumesDollarEvent) {
17659
17795
  return fn(params, handlerStmts, void 0, void 0, name);
17660
17796
  }
17661
17797
 
17662
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_empty_bindings.mjs
17798
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_empty_bindings.mjs
17663
17799
  function removeEmptyBindings(job) {
17664
17800
  for (const unit of job.units) {
17665
17801
  for (const op of unit.update) {
@@ -17680,7 +17816,7 @@ function removeEmptyBindings(job) {
17680
17816
  }
17681
17817
  }
17682
17818
 
17683
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_i18n_contexts.mjs
17819
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_i18n_contexts.mjs
17684
17820
  function removeI18nContexts(job) {
17685
17821
  for (const unit of job.units) {
17686
17822
  for (const op of unit.create) {
@@ -17696,7 +17832,7 @@ function removeI18nContexts(job) {
17696
17832
  }
17697
17833
  }
17698
17834
 
17699
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs
17835
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs
17700
17836
  function removeUnusedI18nAttributesOps(job) {
17701
17837
  for (const unit of job.units) {
17702
17838
  const ownersWithI18nExpressions = /* @__PURE__ */ new Set();
@@ -17718,7 +17854,7 @@ function removeUnusedI18nAttributesOps(job) {
17718
17854
  }
17719
17855
  }
17720
17856
 
17721
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_contexts.mjs
17857
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_contexts.mjs
17722
17858
  function resolveContexts(job) {
17723
17859
  for (const unit of job.units) {
17724
17860
  processLexicalScope(unit, unit.create);
@@ -17760,7 +17896,7 @@ function processLexicalScope(view, ops) {
17760
17896
  }
17761
17897
  }
17762
17898
 
17763
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
17899
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_dollar_event.mjs
17764
17900
  function resolveDollarEvent(job) {
17765
17901
  for (const unit of job.units) {
17766
17902
  transformDollarEvent(unit.create);
@@ -17783,7 +17919,7 @@ function transformDollarEvent(ops) {
17783
17919
  }
17784
17920
  }
17785
17921
 
17786
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs
17922
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs
17787
17923
  function resolveI18nElementPlaceholders(job) {
17788
17924
  const i18nContexts = /* @__PURE__ */ new Map();
17789
17925
  const elements = /* @__PURE__ */ new Map();
@@ -17962,7 +18098,7 @@ function addParam(params, placeholder, value, subTemplateIndex, flags) {
17962
18098
  params.set(placeholder, values);
17963
18099
  }
17964
18100
 
17965
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
18101
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs
17966
18102
  function resolveI18nExpressionPlaceholders(job) {
17967
18103
  var _a2;
17968
18104
  const subTemplateIndices = /* @__PURE__ */ new Map();
@@ -18015,7 +18151,7 @@ function updatePlaceholder(op, value, i18nContexts, icuPlaceholders) {
18015
18151
  }
18016
18152
  }
18017
18153
 
18018
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_names.mjs
18154
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_names.mjs
18019
18155
  function resolveNames(job) {
18020
18156
  for (const unit of job.units) {
18021
18157
  processLexicalScope2(unit, unit.create, null);
@@ -18080,7 +18216,7 @@ function processLexicalScope2(unit, ops, savedView) {
18080
18216
  }
18081
18217
  }
18082
18218
 
18083
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_sanitizers.mjs
18219
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/resolve_sanitizers.mjs
18084
18220
  var sanitizerFns = /* @__PURE__ */ new Map([
18085
18221
  [SecurityContext.HTML, Identifiers.sanitizeHtml],
18086
18222
  [SecurityContext.RESOURCE_URL, Identifiers.sanitizeResourceUrl],
@@ -18150,7 +18286,7 @@ function getOnlySecurityContext(securityContext) {
18150
18286
  return securityContext;
18151
18287
  }
18152
18288
 
18153
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs
18289
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs
18154
18290
  function transformTwoWayBindingSet(job) {
18155
18291
  for (const unit of job.units) {
18156
18292
  for (const op of unit.create) {
@@ -18173,7 +18309,7 @@ function transformTwoWayBindingSet(job) {
18173
18309
  }
18174
18310
  }
18175
18311
 
18176
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/save_restore_view.mjs
18312
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/save_restore_view.mjs
18177
18313
  function saveAndRestoreView(job) {
18178
18314
  for (const unit of job.units) {
18179
18315
  unit.create.prepend([
@@ -18191,7 +18327,7 @@ function saveAndRestoreView(job) {
18191
18327
  if (!needsRestoreView) {
18192
18328
  for (const handlerOp of op.handlerOps) {
18193
18329
  visitExpressionsInOp(handlerOp, (expr) => {
18194
- if (expr instanceof ReferenceExpr) {
18330
+ if (expr instanceof ReferenceExpr || expr instanceof ContextLetReferenceExpr) {
18195
18331
  needsRestoreView = true;
18196
18332
  }
18197
18333
  });
@@ -18218,7 +18354,7 @@ function addSaveRestoreViewOperationToListener(unit, op) {
18218
18354
  }
18219
18355
  }
18220
18356
 
18221
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/slot_allocation.mjs
18357
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/slot_allocation.mjs
18222
18358
  function allocateSlots(job) {
18223
18359
  const slotMap = /* @__PURE__ */ new Map();
18224
18360
  for (const unit of job.units) {
@@ -18243,7 +18379,7 @@ function allocateSlots(job) {
18243
18379
  }
18244
18380
  }
18245
18381
 
18246
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/style_binding_specialization.mjs
18382
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/style_binding_specialization.mjs
18247
18383
  function specializeStyleBindings(job) {
18248
18384
  for (const unit of job.units) {
18249
18385
  for (const op of unit.update) {
@@ -18273,7 +18409,7 @@ function specializeStyleBindings(job) {
18273
18409
  }
18274
18410
  }
18275
18411
 
18276
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/temporary_variables.mjs
18412
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/temporary_variables.mjs
18277
18413
  function generateTemporaryVariables(job) {
18278
18414
  for (const unit of job.units) {
18279
18415
  unit.create.prepend(generateTemporaries(unit.create));
@@ -18331,7 +18467,7 @@ function assignName(names, expr) {
18331
18467
  expr.name = name;
18332
18468
  }
18333
18469
 
18334
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_generation.mjs
18470
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_generation.mjs
18335
18471
  function generateTrackFns(job) {
18336
18472
  for (const unit of job.units) {
18337
18473
  for (const op of unit.create) {
@@ -18364,7 +18500,7 @@ function generateTrackFns(job) {
18364
18500
  }
18365
18501
  }
18366
18502
 
18367
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_optimization.mjs
18503
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_fn_optimization.mjs
18368
18504
  function optimizeTrackFns(job) {
18369
18505
  for (const unit of job.units) {
18370
18506
  for (const op of unit.create) {
@@ -18414,7 +18550,7 @@ function isTrackByFunctionCall(rootView, expr) {
18414
18550
  return true;
18415
18551
  }
18416
18552
 
18417
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_variables.mjs
18553
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/track_variables.mjs
18418
18554
  function generateTrackVariables(job) {
18419
18555
  for (const unit of job.units) {
18420
18556
  for (const op of unit.create) {
@@ -18435,7 +18571,7 @@ function generateTrackVariables(job) {
18435
18571
  }
18436
18572
  }
18437
18573
 
18438
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/var_counting.mjs
18574
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/var_counting.mjs
18439
18575
  function countVariables(job) {
18440
18576
  for (const unit of job.units) {
18441
18577
  let varCount = 0;
@@ -18516,6 +18652,7 @@ function varsUsedByOp(op) {
18516
18652
  case OpKind.I18nExpression:
18517
18653
  case OpKind.Conditional:
18518
18654
  case OpKind.DeferWhen:
18655
+ case OpKind.StoreLet:
18519
18656
  return 1;
18520
18657
  case OpKind.RepeaterCreate:
18521
18658
  return op.emptyView ? 1 : 0;
@@ -18531,6 +18668,8 @@ function varsUsedByIrExpression(expr) {
18531
18668
  return 1 + expr.args.length;
18532
18669
  case ExpressionKind.PipeBindingVariadic:
18533
18670
  return 1 + expr.numArgs;
18671
+ case ExpressionKind.StoreLet:
18672
+ return 1;
18534
18673
  default:
18535
18674
  throw new Error(`AssertionError: unhandled ConsumesVarsTrait expression ${expr.constructor.name}`);
18536
18675
  }
@@ -18545,7 +18684,7 @@ function isSingletonInterpolation(expr) {
18545
18684
  return true;
18546
18685
  }
18547
18686
 
18548
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/variable_optimization.mjs
18687
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/variable_optimization.mjs
18549
18688
  function optimizeVariables(job) {
18550
18689
  for (const unit of job.units) {
18551
18690
  inlineAlwaysInlineVariables(unit.create);
@@ -18682,7 +18821,10 @@ function fencesForIrExpression(expr) {
18682
18821
  return Fence.ViewContextRead | Fence.ViewContextWrite;
18683
18822
  case ExpressionKind.RestoreView:
18684
18823
  return Fence.ViewContextRead | Fence.ViewContextWrite | Fence.SideEffectful;
18824
+ case ExpressionKind.StoreLet:
18825
+ return Fence.SideEffectful;
18685
18826
  case ExpressionKind.Reference:
18827
+ case ExpressionKind.ContextLetReference:
18686
18828
  return Fence.ViewContextRead;
18687
18829
  default:
18688
18830
  return Fence.None;
@@ -18794,7 +18936,7 @@ function allowConservativeInlining(decl, target) {
18794
18936
  }
18795
18937
  }
18796
18938
 
18797
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/wrap_icus.mjs
18939
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/wrap_icus.mjs
18798
18940
  function wrapI18nIcus(job) {
18799
18941
  for (const unit of job.units) {
18800
18942
  let currentI18nOp = null;
@@ -18824,7 +18966,60 @@ function wrapI18nIcus(job) {
18824
18966
  }
18825
18967
  }
18826
18968
 
18827
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/emit.mjs
18969
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/store_let_optimization.mjs
18970
+ function optimizeStoreLet(job) {
18971
+ const letUsedExternally = /* @__PURE__ */ new Set();
18972
+ for (const unit of job.units) {
18973
+ for (const op of unit.ops()) {
18974
+ visitExpressionsInOp(op, (expr) => {
18975
+ if (expr instanceof ContextLetReferenceExpr) {
18976
+ letUsedExternally.add(expr.target);
18977
+ }
18978
+ });
18979
+ }
18980
+ }
18981
+ for (const unit of job.units) {
18982
+ for (const op of unit.update) {
18983
+ transformExpressionsInOp(op, (expression) => expression instanceof StoreLetExpr && !letUsedExternally.has(expression.target) ? expression.value : expression, VisitorContextFlag.None);
18984
+ }
18985
+ }
18986
+ }
18987
+
18988
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/remove_illegal_let_references.mjs
18989
+ function removeIllegalLetReferences(job) {
18990
+ for (const unit of job.units) {
18991
+ for (const op of unit.update) {
18992
+ if (op.kind !== OpKind.Variable || op.variable.kind !== SemanticVariableKind.Identifier || !(op.initializer instanceof StoreLetExpr)) {
18993
+ continue;
18994
+ }
18995
+ const name = op.variable.identifier;
18996
+ let current = op;
18997
+ while (current && current.kind !== OpKind.ListEnd) {
18998
+ transformExpressionsInOp(current, (expr) => expr instanceof LexicalReadExpr && expr.name === name ? literal(void 0) : expr, VisitorContextFlag.None);
18999
+ current = current.prev;
19000
+ }
19001
+ }
19002
+ }
19003
+ }
19004
+
19005
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/phases/generate_local_let_references.mjs
19006
+ function generateLocalLetReferences(job) {
19007
+ for (const unit of job.units) {
19008
+ for (const op of unit.update) {
19009
+ if (op.kind !== OpKind.StoreLet) {
19010
+ continue;
19011
+ }
19012
+ const variable2 = {
19013
+ kind: SemanticVariableKind.Identifier,
19014
+ name: null,
19015
+ identifier: op.declaredName
19016
+ };
19017
+ OpList.replace(op, createVariableOp(job.allocateXrefId(), variable2, new StoreLetExpr(op.target, op.value, op.sourceSpan), VariableFlags.None));
19018
+ }
19019
+ }
19020
+ }
19021
+
19022
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/emit.mjs
18828
19023
  var phases = [
18829
19024
  { kind: CompilationJobKind.Tmpl, fn: removeContentSelectors },
18830
19025
  { kind: CompilationJobKind.Host, fn: parseHostStyleProperties },
@@ -18851,11 +19046,13 @@ var phases = [
18851
19046
  { kind: CompilationJobKind.Tmpl, fn: createVariadicPipes },
18852
19047
  { kind: CompilationJobKind.Both, fn: generatePureLiteralStructures },
18853
19048
  { kind: CompilationJobKind.Tmpl, fn: generateProjectionDefs },
19049
+ { kind: CompilationJobKind.Tmpl, fn: generateLocalLetReferences },
18854
19050
  { kind: CompilationJobKind.Tmpl, fn: generateVariables },
18855
19051
  { kind: CompilationJobKind.Tmpl, fn: saveAndRestoreView },
18856
19052
  { kind: CompilationJobKind.Both, fn: deleteAnyCasts },
18857
19053
  { kind: CompilationJobKind.Both, fn: resolveDollarEvent },
18858
19054
  { kind: CompilationJobKind.Tmpl, fn: generateTrackVariables },
19055
+ { kind: CompilationJobKind.Tmpl, fn: removeIllegalLetReferences },
18859
19056
  { kind: CompilationJobKind.Both, fn: resolveNames },
18860
19057
  { kind: CompilationJobKind.Tmpl, fn: resolveDeferTargetNames },
18861
19058
  { kind: CompilationJobKind.Tmpl, fn: transformTwoWayBindingSet },
@@ -18867,6 +19064,7 @@ var phases = [
18867
19064
  { kind: CompilationJobKind.Both, fn: expandSafeReads },
18868
19065
  { kind: CompilationJobKind.Both, fn: generateTemporaryVariables },
18869
19066
  { kind: CompilationJobKind.Both, fn: optimizeVariables },
19067
+ { kind: CompilationJobKind.Both, fn: optimizeStoreLet },
18870
19068
  { kind: CompilationJobKind.Tmpl, fn: allocateSlots },
18871
19069
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nElementPlaceholders },
18872
19070
  { kind: CompilationJobKind.Tmpl, fn: resolveI18nExpressionPlaceholders },
@@ -18978,7 +19176,7 @@ function emitHostBindingFunction(job) {
18978
19176
  );
18979
19177
  }
18980
19178
 
18981
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template/pipeline/src/ingest.mjs
19179
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template/pipeline/src/ingest.mjs
18982
19180
  var compatibilityMode = CompatibilityMode.TemplateDefinitionBuilder;
18983
19181
  var domSchema = new DomElementSchemaRegistry();
18984
19182
  var NG_TEMPLATE_TAG_NAME = "ng-template";
@@ -19083,6 +19281,7 @@ function ingestNodes(unit, template2) {
19083
19281
  } else if (node instanceof ForLoopBlock) {
19084
19282
  ingestForBlock(unit, node);
19085
19283
  } else if (node instanceof LetDeclaration) {
19284
+ ingestLetDeclaration(unit, node);
19086
19285
  } else {
19087
19286
  throw new Error(`Unsupported template node: ${node.constructor.name}`);
19088
19287
  }
@@ -19255,7 +19454,7 @@ function ingestDeferView(unit, suffix, i18nMeta, children, sourceSpan) {
19255
19454
  return templateOp;
19256
19455
  }
19257
19456
  function ingestDeferBlock(unit, deferBlock) {
19258
- var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
19457
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
19259
19458
  let ownResolverFn = null;
19260
19459
  if (unit.job.deferMeta.mode === 0) {
19261
19460
  if (!unit.job.deferMeta.blocks.has(deferBlock)) {
@@ -19265,8 +19464,8 @@ function ingestDeferBlock(unit, deferBlock) {
19265
19464
  }
19266
19465
  const main = ingestDeferView(unit, "", deferBlock.i18n, deferBlock.children, deferBlock.sourceSpan);
19267
19466
  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);
19268
- 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);
19269
- 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);
19467
+ 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);
19468
+ 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);
19270
19469
  const deferXref = unit.job.allocateXrefId();
19271
19470
  const deferOp = createDeferOp(deferXref, main.xref, main.handle, ownResolverFn, unit.job.allDeferrableDepsFn, deferBlock.sourceSpan);
19272
19471
  deferOp.placeholderView = (_k = placeholder == null ? void 0 : placeholder.xref) != null ? _k : null;
@@ -19429,6 +19628,11 @@ function getComputedForLoopVariableExpression(variable2, indexName, countName) {
19429
19628
  throw new Error(`AssertionError: unknown @for loop variable ${variable2.value}`);
19430
19629
  }
19431
19630
  }
19631
+ function ingestLetDeclaration(unit, node) {
19632
+ const target = unit.job.allocateXrefId();
19633
+ unit.create.push(createDeclareLetOp(target, node.name, node.sourceSpan));
19634
+ unit.update.push(createStoreLetOp(target, node.name, convertAst(node.value, unit.job, node.valueSpan), node.sourceSpan));
19635
+ }
19432
19636
  function convertAst(ast, job, baseSourceSpan) {
19433
19637
  if (ast instanceof ASTWithSource) {
19434
19638
  return convertAst(ast.ast, job, baseSourceSpan);
@@ -19730,7 +19934,7 @@ function ingestControlFlowInsertionPoint(unit, xref, node) {
19730
19934
  return null;
19731
19935
  }
19732
19936
 
19733
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/query_generation.mjs
19937
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/query_generation.mjs
19734
19938
  function renderFlagCheckIfStmt(flags, statements) {
19735
19939
  return ifStmt(variable(RENDER_FLAGS).bitwiseAnd(literal(flags), null, false), statements);
19736
19940
  }
@@ -19850,7 +20054,7 @@ function createContentQueriesFunction(queries, constantPool, name) {
19850
20054
  ], INFERRED_TYPE, null, contentQueriesFnName);
19851
20055
  }
19852
20056
 
19853
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
20057
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_parser.mjs
19854
20058
  var HtmlParser = class extends Parser2 {
19855
20059
  constructor() {
19856
20060
  super(getHtmlTagDefinition);
@@ -19860,7 +20064,7 @@ var HtmlParser = class extends Parser2 {
19860
20064
  }
19861
20065
  };
19862
20066
 
19863
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
20067
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/html_whitespaces.mjs
19864
20068
  var PRESERVE_WS_ATTR_NAME = "ngPreserveWhitespaces";
19865
20069
  var SKIP_WS_TRIM_TAGS = /* @__PURE__ */ new Set(["pre", "template", "textarea", "script", "style"]);
19866
20070
  var WS_CHARS = " \f\n\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF";
@@ -19929,7 +20133,7 @@ function visitAllWithSiblings(visitor, nodes) {
19929
20133
  return result;
19930
20134
  }
19931
20135
 
19932
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
20136
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/binding_parser.mjs
19933
20137
  var PROPERTY_PARTS_SEPARATOR = ".";
19934
20138
  var ATTRIBUTE_PREFIX = "attr";
19935
20139
  var CLASS_PREFIX = "class";
@@ -20283,7 +20487,7 @@ function moveParseSourceSpan(sourceSpan, absoluteSpan) {
20283
20487
  return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);
20284
20488
  }
20285
20489
 
20286
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
20490
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/style_url_resolver.mjs
20287
20491
  function isStyleUrlResolvable(url) {
20288
20492
  if (url == null || url.length === 0 || url[0] == "/")
20289
20493
  return false;
@@ -20292,7 +20496,7 @@ function isStyleUrlResolvable(url) {
20292
20496
  }
20293
20497
  var URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;
20294
20498
 
20295
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
20499
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/template_parser/template_preparser.mjs
20296
20500
  var NG_CONTENT_SELECT_ATTR = "select";
20297
20501
  var LINK_ELEMENT = "link";
20298
20502
  var LINK_STYLE_REL_ATTR = "rel";
@@ -20362,7 +20566,7 @@ function normalizeNgContentSelect(selectAttr) {
20362
20566
  return selectAttr;
20363
20567
  }
20364
20568
 
20365
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_control_flow.mjs
20569
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_control_flow.mjs
20366
20570
  var FOR_LOOP_EXPRESSION_PATTERN = /^\s*([0-9A-Za-z_$]*)\s+of\s+([\S\s]*)/;
20367
20571
  var FOR_LOOP_TRACK_PATTERN = /^track\s+([\S\s]*)/;
20368
20572
  var CONDITIONAL_ALIAS_PATTERN = /^(as\s)+(.*)/;
@@ -20685,7 +20889,7 @@ function stripOptionalParentheses(param, errors) {
20685
20889
  return expression.slice(start, end);
20686
20890
  }
20687
20891
 
20688
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_deferred_triggers.mjs
20892
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_deferred_triggers.mjs
20689
20893
  var TIME_PATTERN = /^\d+\.?\d*(ms|s)?$/;
20690
20894
  var SEPARATOR_PATTERN = /^\s$/;
20691
20895
  var COMMA_DELIMITED_SYNTAX = /* @__PURE__ */ new Map([
@@ -20949,7 +21153,7 @@ function parseDeferredTime(value) {
20949
21153
  return parseFloat(time) * (units === "s" ? 1e3 : 1);
20950
21154
  }
20951
21155
 
20952
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_deferred_blocks.mjs
21156
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_deferred_blocks.mjs
20953
21157
  var PREFETCH_WHEN_PATTERN = /^prefetch\s+when\s/;
20954
21158
  var PREFETCH_ON_PATTERN = /^prefetch\s+on\s/;
20955
21159
  var MINIMUM_PARAMETER_PATTERN = /^minimum\s/;
@@ -21084,7 +21288,7 @@ function parsePrimaryTriggers(params, bindingParser, errors, placeholder) {
21084
21288
  return { triggers, prefetchTriggers };
21085
21289
  }
21086
21290
 
21087
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
21291
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/r3_template_transform.mjs
21088
21292
  var BIND_NAME_REGEXP = /^(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*)$/;
21089
21293
  var KW_BIND_IDX = 1;
21090
21294
  var KW_LET_IDX = 2;
@@ -21551,7 +21755,7 @@ function textContents(node) {
21551
21755
  }
21552
21756
  }
21553
21757
 
21554
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
21758
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/template.mjs
21555
21759
  var LEADING_TRIVIA_CHARS = [" ", "\n", "\r", " "];
21556
21760
  function parseTemplate(template2, templateUrl, options = {}) {
21557
21761
  var _a2, _b2;
@@ -21630,7 +21834,7 @@ function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG, a
21630
21834
  return new BindingParser(new Parser(new Lexer()), interpolationConfig, elementRegistry, [], allowInvalidAssignmentEvents);
21631
21835
  }
21632
21836
 
21633
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
21837
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/compiler.mjs
21634
21838
  var COMPONENT_VARIABLE = "%COMP%";
21635
21839
  var HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
21636
21840
  var CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
@@ -21997,7 +22201,7 @@ function createHostDirectivesMappingArray(mapping) {
21997
22201
  return elements.length > 0 ? literalArr(elements) : null;
21998
22202
  }
21999
22203
 
22000
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
22204
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/view/t2_binder.mjs
22001
22205
  var R3TargetBinder = class {
22002
22206
  constructor(directiveMatcher) {
22003
22207
  this.directiveMatcher = directiveMatcher;
@@ -22644,11 +22848,11 @@ function extractScopedNodeEntities(rootScope) {
22644
22848
  return templateEntities;
22645
22849
  }
22646
22850
 
22647
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/resource_loader.mjs
22851
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/resource_loader.mjs
22648
22852
  var ResourceLoader = class {
22649
22853
  };
22650
22854
 
22651
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
22855
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/jit_compiler_facade.mjs
22652
22856
  var CompilerFacadeImpl = class {
22653
22857
  constructor(jitEvaluator = new JitEvaluator()) {
22654
22858
  this.jitEvaluator = jitEvaluator;
@@ -22895,7 +23099,7 @@ function convertDirectiveFacadeToMetadata(facade) {
22895
23099
  });
22896
23100
  }
22897
23101
  function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
22898
- var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i;
23102
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i;
22899
23103
  return {
22900
23104
  name: declaration.type.name,
22901
23105
  type: wrapReference(declaration.type),
@@ -22909,11 +23113,11 @@ function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
22909
23113
  providers: declaration.providers !== void 0 ? new WrappedNodeExpr(declaration.providers) : null,
22910
23114
  exportAs: (_e2 = declaration.exportAs) != null ? _e2 : null,
22911
23115
  usesInheritance: (_f2 = declaration.usesInheritance) != null ? _f2 : false,
22912
- lifecycle: { usesOnChanges: (_g = declaration.usesOnChanges) != null ? _g : false },
23116
+ lifecycle: { usesOnChanges: (_g2 = declaration.usesOnChanges) != null ? _g2 : false },
22913
23117
  deps: null,
22914
23118
  typeArgumentCount: 0,
22915
23119
  fullInheritance: false,
22916
- isStandalone: (_h = declaration.isStandalone) != null ? _h : false,
23120
+ isStandalone: (_h2 = declaration.isStandalone) != null ? _h2 : false,
22917
23121
  isSignal: (_i = declaration.isSignal) != null ? _i : false,
22918
23122
  hostDirectives: convertHostDirectivesToMetadata(declaration)
22919
23123
  };
@@ -23214,17 +23418,17 @@ function publishFacade(global) {
23214
23418
  ng.\u0275compilerFacade = new CompilerFacadeImpl();
23215
23419
  }
23216
23420
 
23217
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/version.mjs
23218
- var VERSION2 = new Version("18.1.0-next.2");
23421
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/version.mjs
23422
+ var VERSION2 = new Version("18.1.0-next.3");
23219
23423
 
23220
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
23424
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/extractor_merger.mjs
23221
23425
  var _VisitorMode;
23222
23426
  (function(_VisitorMode2) {
23223
23427
  _VisitorMode2[_VisitorMode2["Extract"] = 0] = "Extract";
23224
23428
  _VisitorMode2[_VisitorMode2["Merge"] = 1] = "Merge";
23225
23429
  })(_VisitorMode || (_VisitorMode = {}));
23226
23430
 
23227
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
23431
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/ml_parser/xml_tags.mjs
23228
23432
  var XmlTagDefinition = class {
23229
23433
  constructor() {
23230
23434
  this.closedByParent = false;
@@ -23246,7 +23450,7 @@ var XmlTagDefinition = class {
23246
23450
  };
23247
23451
  var _TAG_DEFINITION = new XmlTagDefinition();
23248
23452
 
23249
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
23453
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/render3/partial/api.mjs
23250
23454
  var FactoryTarget2;
23251
23455
  (function(FactoryTarget3) {
23252
23456
  FactoryTarget3[FactoryTarget3["Directive"] = 0] = "Directive";
@@ -23256,10 +23460,10 @@ var FactoryTarget2;
23256
23460
  FactoryTarget3[FactoryTarget3["NgModule"] = 4] = "NgModule";
23257
23461
  })(FactoryTarget2 || (FactoryTarget2 = {}));
23258
23462
 
23259
- // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/compiler.mjs
23463
+ // bazel-out/k8-fastbuild/bin/packages/compiler/src/compiler.mjs
23260
23464
  publishFacade(_global);
23261
23465
 
23262
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/migration.mjs
23466
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/migration.mjs
23263
23467
  var import_typescript4 = __toESM(require("typescript"), 1);
23264
23468
  function migrateTemplate(template2) {
23265
23469
  if (!template2.includes(")]=")) {
@@ -23384,7 +23588,7 @@ var InvalidTwoWayBindingCollector = class extends RecursiveVisitor {
23384
23588
  }
23385
23589
  };
23386
23590
 
23387
- // bazel-out/darwin_arm64-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/index.mjs
23591
+ // bazel-out/k8-fastbuild/bin/packages/core/schematics/migrations/invalid-two-way-bindings/index.mjs
23388
23592
  function invalid_two_way_bindings_default() {
23389
23593
  return (tree) => __async(this, null, function* () {
23390
23594
  const { buildPaths, testPaths } = yield getProjectTsConfigPaths(tree);