ember-source 4.0.0-beta.5 → 4.0.0-beta.9

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 (50) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/blueprints/acceptance-test/qunit-files/tests/acceptance/__name__-test.js +1 -1
  3. package/blueprints/acceptance-test/qunit-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
  4. package/blueprints/component-test/qunit-files/__root__/__testType__/__path__/__test__.js +3 -3
  5. package/blueprints/helper-test/index.js +4 -22
  6. package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/__collection__/__name__-test.js +1 -13
  7. package/blueprints/helper-test/mocha-files/__root__/__testType__/__collection__/__name__-test.js +0 -13
  8. package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -12
  9. package/blueprints/helper-test/qunit-files/__root__/__testType__/__collection__/__name__-test.js +2 -13
  10. package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -14
  11. package/build-metadata.json +3 -3
  12. package/dist/dependencies/@glimmer/manager.js +19 -98
  13. package/dist/dependencies/@glimmer/opcode-compiler.js +9 -146
  14. package/dist/dependencies/@glimmer/runtime.js +1 -55
  15. package/dist/dependencies/@glimmer/validator.js +19 -51
  16. package/dist/ember-template-compiler.js +377 -695
  17. package/dist/ember-template-compiler.map +1 -1
  18. package/dist/ember-testing.js +1 -1
  19. package/dist/ember-testing.map +1 -1
  20. package/dist/ember.debug.js +3090 -6029
  21. package/dist/ember.debug.map +1 -1
  22. package/dist/header/license.js +1 -1
  23. package/dist/packages/@ember/-internals/container/index.js +1 -1
  24. package/dist/packages/@ember/-internals/environment/index.js +0 -15
  25. package/dist/packages/@ember/-internals/glimmer/index.js +4816 -6761
  26. package/dist/packages/@ember/-internals/metal/index.js +4 -14
  27. package/dist/packages/@ember/-internals/routing/lib/services/routing.js +1 -1
  28. package/dist/packages/@ember/-internals/routing/lib/system/route.js +1 -41
  29. package/dist/packages/@ember/-internals/routing/lib/system/router.js +13 -47
  30. package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -43
  31. package/dist/packages/@ember/-internals/utils/index.js +0 -3
  32. package/dist/packages/@ember/-internals/views/index.js +0 -1
  33. package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +4 -4
  34. package/dist/packages/@ember/application/lib/application.js +7 -8
  35. package/dist/packages/@ember/canary-features/index.js +0 -2
  36. package/dist/packages/@ember/component/index.js +1 -1
  37. package/dist/packages/@ember/deprecated-features/index.js +0 -1
  38. package/dist/packages/@ember/engine/index.js +1 -2
  39. package/dist/packages/@ember/routing/index.js +1 -1
  40. package/dist/packages/ember/index.js +9 -61
  41. package/dist/packages/ember/version.js +1 -1
  42. package/docs/data.json +317 -1111
  43. package/lib/index.js +11 -48
  44. package/package.json +16 -17
  45. package/dist/packages/@ember/-internals/views/lib/mixins/text_support.js +0 -345
  46. package/dist/packages/@ember/component/checkbox.js +0 -17
  47. package/dist/packages/@ember/component/text-area.js +0 -17
  48. package/dist/packages/@ember/component/text-field.js +0 -17
  49. package/dist/packages/@ember/routing/link-component.js +0 -17
  50. package/dist/packages/jquery/index.js +0 -2
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 4.0.0-beta.5
9
+ * @version 4.0.0-beta.9
10
10
  */
11
11
 
12
12
  /* eslint-disable no-var */
@@ -318,21 +318,6 @@ define("@ember/-internals/environment/index", ["exports"], function (_exports) {
318
318
  @private
319
319
  */
320
320
  _RERENDER_LOOP_LIMIT: 1000,
321
-
322
- /**
323
- Allows disabling the implicit this property fallback deprecation. This could be useful
324
- as a way to control the volume of deprecations that are issued by temporarily disabling
325
- the implicit this fallback deprecations, which would allow the other deprecations to be more easily
326
- identified in the console).
327
- NOTE: The fallback behavior **will be removed** in Ember 4.0.0, disabling **_IS NOT_**
328
- a viable strategy for handling this deprecation.
329
- @property _DISABLE_PROPERTY_FALLBACK_DEPRECATION
330
- @for EmberENV
331
- @type boolean
332
- @default false
333
- @private
334
- */
335
- _DISABLE_PROPERTY_FALLBACK_DEPRECATION: false,
336
321
  EMBER_LOAD_HOOKS: {},
337
322
  FEATURES: {}
338
323
  };
@@ -506,9 +491,6 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
506
491
  */
507
492
 
508
493
  /**
509
- Previously we used `Ember.$.uuid`, however `$.uuid` has been removed from
510
- jQuery master. We'll just bootstrap our own uuid now.
511
-
512
494
  @private
513
495
  @return {Number} the uuid
514
496
  */
@@ -1301,7 +1283,7 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1301
1283
  value: true
1302
1284
  });
1303
1285
  _exports.isEnabled = isEnabled;
1304
- _exports.EMBER_ROUTING_ROUTER_SERVICE_REFRESH = _exports.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = _exports.EMBER_STRICT_MODE = _exports.EMBER_MODERNIZED_BUILT_IN_COMPONENTS = _exports.EMBER_GLIMMER_INVOKE_HELPER = _exports.EMBER_GLIMMER_HELPER_MANAGER = _exports.EMBER_NAMED_BLOCKS = _exports.EMBER_IMPROVED_INSTRUMENTATION = _exports.EMBER_LIBRARIES_ISREGISTERED = _exports.FEATURES = _exports.DEFAULT_FEATURES = void 0;
1286
+ _exports.EMBER_ROUTING_ROUTER_SERVICE_REFRESH = _exports.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = _exports.EMBER_STRICT_MODE = _exports.EMBER_GLIMMER_INVOKE_HELPER = _exports.EMBER_GLIMMER_HELPER_MANAGER = _exports.EMBER_NAMED_BLOCKS = _exports.EMBER_IMPROVED_INSTRUMENTATION = _exports.EMBER_LIBRARIES_ISREGISTERED = _exports.FEATURES = _exports.DEFAULT_FEATURES = void 0;
1305
1287
 
1306
1288
  /**
1307
1289
  Set `EmberENV.FEATURES` in your application's `config/environment.js` file
@@ -1319,7 +1301,6 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1319
1301
  EMBER_NAMED_BLOCKS: true,
1320
1302
  EMBER_GLIMMER_HELPER_MANAGER: true,
1321
1303
  EMBER_GLIMMER_INVOKE_HELPER: true,
1322
- EMBER_MODERNIZED_BUILT_IN_COMPONENTS: true,
1323
1304
  EMBER_STRICT_MODE: true,
1324
1305
  EMBER_DYNAMIC_HELPERS_AND_MODIFIERS: true,
1325
1306
  EMBER_ROUTING_ROUTER_SERVICE_REFRESH: false
@@ -1384,8 +1365,6 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1384
1365
  _exports.EMBER_GLIMMER_HELPER_MANAGER = EMBER_GLIMMER_HELPER_MANAGER;
1385
1366
  var EMBER_GLIMMER_INVOKE_HELPER = featureValue(FEATURES.EMBER_GLIMMER_INVOKE_HELPER);
1386
1367
  _exports.EMBER_GLIMMER_INVOKE_HELPER = EMBER_GLIMMER_INVOKE_HELPER;
1387
- var EMBER_MODERNIZED_BUILT_IN_COMPONENTS = featureValue(FEATURES.EMBER_MODERNIZED_BUILT_IN_COMPONENTS);
1388
- _exports.EMBER_MODERNIZED_BUILT_IN_COMPONENTS = EMBER_MODERNIZED_BUILT_IN_COMPONENTS;
1389
1368
  var EMBER_STRICT_MODE = featureValue(FEATURES.EMBER_STRICT_MODE);
1390
1369
  _exports.EMBER_STRICT_MODE = EMBER_STRICT_MODE;
1391
1370
  var EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = featureValue(FEATURES.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS);
@@ -2136,13 +2115,11 @@ define("@ember/deprecated-features/index", ["exports"], function (_exports) {
2136
2115
  Object.defineProperty(_exports, "__esModule", {
2137
2116
  value: true
2138
2117
  });
2139
- _exports.ASSIGN = _exports.ROUTER_EVENTS = void 0;
2118
+ _exports.ASSIGN = void 0;
2140
2119
 
2141
2120
  /* eslint-disable no-implicit-coercion */
2142
2121
  // These versions should be the version that the deprecation was _introduced_,
2143
2122
  // not the version that the feature will be removed.
2144
- var ROUTER_EVENTS = !!'4.0.0';
2145
- _exports.ROUTER_EVENTS = ROUTER_EVENTS;
2146
2123
  var ASSIGN = !!'4.0.0-beta.1';
2147
2124
  _exports.ASSIGN = ASSIGN;
2148
2125
  });
@@ -2291,8 +2268,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2291
2268
 
2292
2269
  class Yield extends (0, _syntax.node)('Yield').fields() {}
2293
2270
 
2294
- class Partial extends (0, _syntax.node)('Partial').fields() {}
2295
-
2296
2271
  class Debugger extends (0, _syntax.node)('Debugger').fields() {}
2297
2272
 
2298
2273
  class CallExpression extends (0, _syntax.node)('CallExpression').fields() {}
@@ -2539,25 +2514,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2539
2514
 
2540
2515
  }
2541
2516
 
2542
- var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
2543
- if (!privateMap.has(receiver)) {
2544
- throw new TypeError("attempted to set private field on non-instance");
2545
- }
2546
-
2547
- privateMap.set(receiver, value);
2548
- return value;
2549
- };
2550
-
2551
- var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
2552
- if (!privateMap.has(receiver)) {
2553
- throw new TypeError("attempted to get private field on non-instance");
2554
- }
2555
-
2556
- return privateMap.get(receiver);
2557
- };
2558
-
2559
- var _keywords, _type;
2560
-
2561
2517
  class KeywordImpl {
2562
2518
  constructor(keyword, type, delegate) {
2563
2519
  this.keyword = keyword;
@@ -2646,21 +2602,18 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2646
2602
 
2647
2603
  class Keywords {
2648
2604
  constructor(type) {
2649
- _keywords.set(this, []);
2650
-
2651
- _type.set(this, void 0);
2652
-
2653
- __classPrivateFieldSet(this, _type, type);
2605
+ this._keywords = [];
2606
+ this._type = type;
2654
2607
  }
2655
2608
 
2656
2609
  kw(name, delegate) {
2657
- __classPrivateFieldGet(this, _keywords).push(keyword(name, __classPrivateFieldGet(this, _type), delegate));
2610
+ this._keywords.push(keyword(name, this._type, delegate));
2658
2611
 
2659
2612
  return this;
2660
2613
  }
2661
2614
 
2662
2615
  translate(node$$1, state) {
2663
- for (var _keyword of __classPrivateFieldGet(this, _keywords)) {
2616
+ for (var _keyword of this._keywords) {
2664
2617
  var result = _keyword.translate(node$$1, state);
2665
2618
 
2666
2619
  if (result !== null) {
@@ -2674,9 +2627,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2674
2627
  var {
2675
2628
  name
2676
2629
  } = path.ref;
2677
-
2678
- var usedType = __classPrivateFieldGet(this, _type);
2679
-
2630
+ var usedType = this._type;
2680
2631
  var validTypes = _syntax.KEYWORDS_TYPES[name];
2681
2632
 
2682
2633
  if (validTypes.indexOf(usedType) === -1) {
@@ -2689,7 +2640,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2689
2640
 
2690
2641
  }
2691
2642
 
2692
- _keywords = new WeakMap(), _type = new WeakMap();
2693
2643
  var typesToReadableName = {
2694
2644
  Append: 'an append statement',
2695
2645
  Block: 'a block statement',
@@ -3379,55 +3329,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
3379
3329
  }));
3380
3330
  }
3381
3331
 
3382
- }).kw('partial', {
3383
- assert(node$$1, state) {
3384
- if (state.isStrict) {
3385
- return Err((0, _syntax.generateSyntaxError)('{{partial}} is not allowed in strict mode templates', node$$1.loc));
3386
- }
3387
-
3388
- var {
3389
- args: {
3390
- positional,
3391
- named
3392
- }
3393
- } = node$$1;
3394
- var {
3395
- trusting
3396
- } = node$$1;
3397
-
3398
- if (positional.isEmpty()) {
3399
- return Err((0, _syntax.generateSyntaxError)("Partial found with no arguments. You must specify a template name", node$$1.loc));
3400
- } else if (positional.size !== 1) {
3401
- return Err((0, _syntax.generateSyntaxError)("Partial found with " + positional.exprs.length + " arguments. You must specify a template name", node$$1.loc));
3402
- }
3403
-
3404
- if (named.isEmpty()) {
3405
- if (trusting) {
3406
- return Err((0, _syntax.generateSyntaxError)("{{{partial ...}}} is not supported, please use {{partial ...}} instead", node$$1.loc));
3407
- }
3408
-
3409
- return Ok(positional.nth(0));
3410
- } else {
3411
- return Err((0, _syntax.generateSyntaxError)("Partial does not take any named argument", node$$1.loc));
3412
- }
3413
- },
3414
-
3415
- translate({
3416
- node: node$$1,
3417
- state
3418
- }, expr) {
3419
- state.scope.setHasEval();
3420
- var visited = expr === undefined ? Ok(new _syntax.ASTv2.LiteralExpression({
3421
- loc: _syntax.SourceSpan.synthetic('undefined'),
3422
- value: undefined
3423
- })) : VISIT_EXPRS.visit(expr, state);
3424
- return visited.mapOk(target => new Partial({
3425
- loc: node$$1.loc,
3426
- scope: state.scope,
3427
- target
3428
- }));
3429
- }
3430
-
3431
3332
  }).kw('debugger', {
3432
3333
  assert(node$$1) {
3433
3334
  var {
@@ -4272,66 +4173,37 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4272
4173
  }
4273
4174
 
4274
4175
  var VISIT_STMTS = new NormalizationStatements();
4275
-
4276
- var __classPrivateFieldSet$1 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
4277
- if (!privateMap.has(receiver)) {
4278
- throw new TypeError("attempted to set private field on non-instance");
4279
- }
4280
-
4281
- privateMap.set(receiver, value);
4282
- return value;
4283
- };
4284
-
4285
- var __classPrivateFieldGet$1 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
4286
- if (!privateMap.has(receiver)) {
4287
- throw new TypeError("attempted to get private field on non-instance");
4288
- }
4289
-
4290
- return privateMap.get(receiver);
4291
- };
4292
-
4293
- var _currentScope, _cursorCount;
4294
4176
  /**
4295
4177
  * This is the mutable state for this compiler pass.
4296
4178
  */
4297
4179
 
4298
-
4299
4180
  class NormalizationState {
4300
4181
  constructor(block, isStrict) {
4301
4182
  this.isStrict = isStrict;
4302
-
4303
- _currentScope.set(this, void 0);
4304
-
4305
- _cursorCount.set(this, 0);
4306
-
4307
- __classPrivateFieldSet$1(this, _currentScope, block);
4183
+ this._cursorCount = 0;
4184
+ this._currentScope = block;
4308
4185
  }
4309
4186
 
4310
4187
  generateUniqueCursor() {
4311
- var _a;
4312
-
4313
- return "%cursor:" + (__classPrivateFieldSet$1(this, _cursorCount, (_a = +__classPrivateFieldGet$1(this, _cursorCount)) + 1), _a) + "%";
4188
+ return "%cursor:" + this._cursorCount++ + "%";
4314
4189
  }
4315
4190
 
4316
4191
  get scope() {
4317
- return __classPrivateFieldGet$1(this, _currentScope);
4192
+ return this._currentScope;
4318
4193
  }
4319
4194
 
4320
4195
  visitBlock(block) {
4321
- var oldBlock = __classPrivateFieldGet$1(this, _currentScope);
4322
-
4323
- __classPrivateFieldSet$1(this, _currentScope, block.scope);
4196
+ var oldBlock = this._currentScope;
4197
+ this._currentScope = block.scope;
4324
4198
 
4325
4199
  try {
4326
4200
  return VISIT_STMTS.visitList(block.body, this);
4327
4201
  } finally {
4328
- __classPrivateFieldSet$1(this, _currentScope, oldBlock);
4202
+ this._currentScope = oldBlock;
4329
4203
  }
4330
4204
  }
4331
4205
 
4332
4206
  }
4333
-
4334
- _currentScope = new WeakMap(), _cursorCount = new WeakMap();
4335
4207
  /**
4336
4208
  * Normalize the AST from @glimmer/syntax into the HIR. The HIR has special
4337
4209
  * instructions for keywords like `{{yield}}`, `(has-block)` and
@@ -4371,6 +4243,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4371
4243
  * ```
4372
4244
  */
4373
4245
 
4246
+
4374
4247
  function normalize$1(source, root, isStrict) {
4375
4248
  // create a new context for the normalization pass
4376
4249
  var state = new NormalizationState(root.table, isStrict);
@@ -4471,11 +4344,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4471
4344
  :
4472
4345
  return ['yield', opcode[1], this.formatParams(opcode[2])];
4473
4346
 
4474
- case 19
4475
- /* Partial */
4476
- :
4477
- return ['partial', this.formatOpcode(opcode[1]), opcode[2]];
4478
-
4479
4347
  case 20
4480
4348
  /* DynamicArg */
4481
4349
  :
@@ -4551,11 +4419,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4551
4419
  :
4552
4420
  return ['get-strict-free', this.upvars[opcode[1]], opcode[2]];
4553
4421
 
4554
- case 33
4555
- /* GetFreeAsFallback */
4556
- :
4557
- return ['GetFreeAsFallback', this.upvars[opcode[1]], opcode[2]];
4558
-
4559
4422
  case 34
4560
4423
  /* GetFreeAsComponentOrHelperHeadOrThisFallback */
4561
4424
  :
@@ -5014,9 +4877,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
5014
4877
  /* Debugger */
5015
4878
  , stmt.scope.getEvalInfo()];
5016
4879
 
5017
- case 'Partial':
5018
- return this.Partial(stmt);
5019
-
5020
4880
  case 'AppendComment':
5021
4881
  return this.AppendComment(stmt);
5022
4882
 
@@ -5064,15 +4924,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
5064
4924
  }
5065
4925
  }
5066
4926
 
5067
- Partial({
5068
- target,
5069
- scope
5070
- }) {
5071
- return [19
5072
- /* Partial */
5073
- , EXPR.expr(target), scope.getEvalInfo()];
5074
- }
5075
-
5076
4927
  Yield({
5077
4928
  to,
5078
4929
  positional
@@ -5446,18 +5297,16 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
5446
5297
  isStrictMode: (_b = options.strictMode) !== null && _b !== void 0 ? _b : false
5447
5298
  };
5448
5299
 
5449
- if (!options.strictMode) {
5300
+ if (usedLocals.length === 0) {
5450
5301
  delete templateJSONObject.scope;
5451
5302
  } // JSON is javascript
5452
5303
 
5453
5304
 
5454
5305
  var stringified = JSON.stringify(templateJSONObject);
5455
5306
 
5456
- if (options.strictMode && usedLocals.length > 0) {
5307
+ if (usedLocals.length > 0) {
5457
5308
  var scopeFn = "()=>[" + usedLocals.join(',') + "]";
5458
5309
  stringified = stringified.replace("\"" + SCOPE_PLACEHOLDER + "\"", scopeFn);
5459
- } else {
5460
- stringified = stringified.replace("\"" + SCOPE_PLACEHOLDER + "\"", 'null');
5461
5310
  }
5462
5311
 
5463
5312
  return stringified;
@@ -6548,7 +6397,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6548
6397
 
6549
6398
  case 'each':
6550
6399
  var keyExpr = normalized.hash ? normalized.hash['key'] : null;
6551
- var key = keyExpr ? buildExpression(keyExpr, 'Generic', symbols) : null;
6400
+ var key = keyExpr ? buildExpression(keyExpr, 'Strict', symbols) : null;
6552
6401
  return [42
6553
6402
  /* Each */
6554
6403
  , params[0], key, block, inverse];
@@ -6740,7 +6589,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6740
6589
  {
6741
6590
  var builtParams = buildParams(expr.params, symbols);
6742
6591
  var builtHash = buildHash(expr.hash, symbols);
6743
- var builtExpr = buildCallHead(expr.head, context === 'Generic' ? 'SubExpression' : varContext(context, false), symbols);
6592
+ var builtExpr = buildCallHead(expr.head, context === 'Strict' ? 'SubExpression' : varContext(context, false), symbols);
6744
6593
  return [28
6745
6594
  /* Call */
6746
6595
  , builtExpr, builtParams, builtHash];
@@ -6756,8 +6605,8 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6756
6605
  kind: VariableKind.Block,
6757
6606
  name: expr.name,
6758
6607
  mode: 'loose'
6759
- }, 4
6760
- /* LooseFreeVariable */
6608
+ }, 0
6609
+ /* Strict */
6761
6610
  , symbols)];
6762
6611
  }
6763
6612
 
@@ -6771,8 +6620,8 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6771
6620
  kind: VariableKind.Block,
6772
6621
  name: expr.name,
6773
6622
  mode: 'loose'
6774
- }, 4
6775
- /* LooseFreeVariable */
6623
+ }, 0
6624
+ /* Strict */
6776
6625
  , symbols)];
6777
6626
  }
6778
6627
 
@@ -6805,8 +6654,8 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6805
6654
  }
6806
6655
 
6807
6656
  function buildGetPath(head, symbols) {
6808
- return buildVar(head.path.head, 4
6809
- /* LooseFreeVariable */
6657
+ return buildVar(head.path.head, 0
6658
+ /* Strict */
6810
6659
  , symbols, head.path.tail);
6811
6660
  }
6812
6661
 
@@ -6850,10 +6699,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6850
6699
  op = 37
6851
6700
  /* GetFreeAsHelperHead */
6852
6701
  ;
6853
- } else if (context === 'Generic') {
6854
- op = 33
6855
- /* GetFreeAsFallback */
6856
- ;
6857
6702
  } else {
6858
6703
  op = expressionContextOp(context);
6859
6704
  }
@@ -6924,13 +6769,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6924
6769
  /* GetFreeAsHelperHeadOrThisFallback */
6925
6770
  ;
6926
6771
 
6927
- case 4
6928
- /* LooseFreeVariable */
6929
- :
6930
- return 33
6931
- /* GetFreeAsFallback */
6932
- ;
6933
-
6934
6772
  case 5
6935
6773
  /* ResolveAsCallHead */
6936
6774
  :
@@ -6959,7 +6797,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6959
6797
 
6960
6798
  function buildParams(exprs, symbols) {
6961
6799
  if (exprs === null || !(0, _util.isPresent)(exprs)) return null;
6962
- return exprs.map(e => buildExpression(e, 'Generic', symbols));
6800
+ return exprs.map(e => buildExpression(e, 'Strict', symbols));
6963
6801
  }
6964
6802
 
6965
6803
  function buildConcat(exprs, symbols) {
@@ -6971,7 +6809,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6971
6809
  var out = [[], []];
6972
6810
  Object.keys(exprs).forEach(key => {
6973
6811
  out[0].push(key);
6974
- out[1].push(buildExpression(exprs[key], 'Generic', symbols));
6812
+ out[1].push(buildExpression(exprs[key], 'Strict', symbols));
6975
6813
  });
6976
6814
  return out;
6977
6815
  }
@@ -7084,27 +6922,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7084
6922
  }
7085
6923
 
7086
6924
  }
7087
-
7088
- _exports.SourceSlice = SourceSlice;
7089
-
7090
- var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7091
- if (!privateMap.has(receiver)) {
7092
- throw new TypeError("attempted to set private field on non-instance");
7093
- }
7094
-
7095
- privateMap.set(receiver, value);
7096
- return value;
7097
- };
7098
-
7099
- var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7100
- if (!privateMap.has(receiver)) {
7101
- throw new TypeError("attempted to get private field on non-instance");
7102
- }
7103
-
7104
- return privateMap.get(receiver);
7105
- };
7106
-
7107
- var _whens, _map, _whens_1;
7108
6925
  /**
7109
6926
  * This file implements the DSL used by span and offset in places where they need to exhaustively
7110
6927
  * consider all combinations of states (Handlebars offsets, character offsets and invisible/broken
@@ -7115,18 +6932,17 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7115
6932
  */
7116
6933
 
7117
6934
 
6935
+ _exports.SourceSlice = SourceSlice;
7118
6936
  var MatchAny = 'MATCH_ANY';
7119
6937
  var IsInvisible = 'IS_INVISIBLE';
7120
6938
 
7121
6939
  class WhenList {
7122
6940
  constructor(whens) {
7123
- _whens.set(this, void 0);
7124
-
7125
- __classPrivateFieldSet(this, _whens, whens);
6941
+ this._whens = whens;
7126
6942
  }
7127
6943
 
7128
6944
  first(kind) {
7129
- for (var when of __classPrivateFieldGet(this, _whens)) {
6945
+ for (var when of this._whens) {
7130
6946
  var value = when.match(kind);
7131
6947
 
7132
6948
  if ((0, _util.isPresent)(value)) {
@@ -7139,15 +6955,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7139
6955
 
7140
6956
  }
7141
6957
 
7142
- _whens = new WeakMap();
7143
-
7144
6958
  class When {
7145
6959
  constructor() {
7146
- _map.set(this, new Map());
6960
+ this._map = new Map();
7147
6961
  }
7148
6962
 
7149
6963
  get(pattern, or) {
7150
- var value = __classPrivateFieldGet(this, _map).get(pattern);
6964
+ var value = this._map.get(pattern);
7151
6965
 
7152
6966
  if (value) {
7153
6967
  return value;
@@ -7155,22 +6969,22 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7155
6969
 
7156
6970
  value = or();
7157
6971
 
7158
- __classPrivateFieldGet(this, _map).set(pattern, value);
6972
+ this._map.set(pattern, value);
7159
6973
 
7160
6974
  return value;
7161
6975
  }
7162
6976
 
7163
6977
  add(pattern, out) {
7164
- __classPrivateFieldGet(this, _map).set(pattern, out);
6978
+ this._map.set(pattern, out);
7165
6979
  }
7166
6980
 
7167
6981
  match(kind) {
7168
6982
  var pattern = patternFor(kind);
7169
6983
  var out = [];
7170
6984
 
7171
- var exact = __classPrivateFieldGet(this, _map).get(pattern);
6985
+ var exact = this._map.get(pattern);
7172
6986
 
7173
- var fallback = __classPrivateFieldGet(this, _map).get(MatchAny);
6987
+ var fallback = this._map.get(MatchAny);
7174
6988
 
7175
6989
  if (exact) {
7176
6990
  out.push(exact);
@@ -7185,15 +6999,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7185
6999
 
7186
7000
  }
7187
7001
 
7188
- _map = new WeakMap();
7189
-
7190
7002
  function match(callback) {
7191
7003
  return callback(new Matcher()).check();
7192
7004
  }
7193
7005
 
7194
7006
  class Matcher {
7195
7007
  constructor() {
7196
- _whens_1.set(this, new When());
7008
+ this._whens = new When();
7197
7009
  }
7198
7010
  /**
7199
7011
  * You didn't exhaustively match all possibilities.
@@ -7205,7 +7017,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7205
7017
  }
7206
7018
 
7207
7019
  matchFor(left, right) {
7208
- var nesteds = __classPrivateFieldGet(this, _whens_1).match(left);
7020
+ var nesteds = this._whens.match(left);
7209
7021
 
7210
7022
  var callback = new WhenList(nesteds).first(right);
7211
7023
  return callback;
@@ -7213,15 +7025,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7213
7025
 
7214
7026
  when(left, right, // eslint-disable-next-line @typescript-eslint/no-explicit-any
7215
7027
  callback) {
7216
- __classPrivateFieldGet(this, _whens_1).get(left, () => new When()).add(right, callback);
7028
+ this._whens.get(left, () => new When()).add(right, callback);
7217
7029
 
7218
7030
  return this;
7219
7031
  }
7220
7032
 
7221
7033
  }
7222
7034
 
7223
- _whens_1 = new WeakMap();
7224
-
7225
7035
  function patternFor(kind) {
7226
7036
  switch (kind) {
7227
7037
  case "Broken"
@@ -7238,26 +7048,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7238
7048
  default:
7239
7049
  return kind;
7240
7050
  }
7241
- }
7242
-
7243
- var __classPrivateFieldGet$1 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7244
- if (!privateMap.has(receiver)) {
7245
- throw new TypeError("attempted to get private field on non-instance");
7246
- }
7247
-
7248
- return privateMap.get(receiver);
7249
- };
7250
-
7251
- var __classPrivateFieldSet$1 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7252
- if (!privateMap.has(receiver)) {
7253
- throw new TypeError("attempted to set private field on non-instance");
7254
- }
7255
-
7256
- privateMap.set(receiver, value);
7257
- return value;
7258
- };
7259
-
7260
- var _locPos, _charPos; // eslint-disable-next-line import/no-extraneous-dependencies
7051
+ } // eslint-disable-next-line import/no-extraneous-dependencies
7261
7052
 
7262
7053
  /**
7263
7054
  * Used to indicate that an attempt to convert a `SourcePosition` to a character offset failed. It
@@ -7392,7 +7183,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7392
7183
  ;
7393
7184
  /** Computed from char offset */
7394
7185
 
7395
- _locPos.set(this, null);
7186
+ this._locPos = null;
7396
7187
  }
7397
7188
  /**
7398
7189
  * This is already a `CharPosition`.
@@ -7439,15 +7230,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7439
7230
 
7440
7231
 
7441
7232
  toHbsPos() {
7442
- var locPos = __classPrivateFieldGet$1(this, _locPos);
7233
+ var locPos = this._locPos;
7443
7234
 
7444
7235
  if (locPos === null) {
7445
7236
  var hbsPos = this.source.hbsPosFor(this.charPos);
7446
7237
 
7447
7238
  if (hbsPos === null) {
7448
- __classPrivateFieldSet$1(this, _locPos, locPos = BROKEN);
7239
+ this._locPos = locPos = BROKEN;
7449
7240
  } else {
7450
- __classPrivateFieldSet$1(this, _locPos, locPos = new HbsPosition(this.source, hbsPos, this.charPos));
7241
+ this._locPos = locPos = new HbsPosition(this.source, hbsPos, this.charPos);
7451
7242
  }
7452
7243
  }
7453
7244
 
@@ -7456,8 +7247,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7456
7247
 
7457
7248
  }
7458
7249
 
7459
- _locPos = new WeakMap();
7460
-
7461
7250
  class HbsPosition {
7462
7251
  constructor(source, hbsPos, charPos = null) {
7463
7252
  this.source = source;
@@ -7465,10 +7254,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7465
7254
  this.kind = "HbsPosition"
7466
7255
  /* HbsPosition */
7467
7256
  ;
7468
-
7469
- _charPos.set(this, void 0);
7470
-
7471
- __classPrivateFieldSet$1(this, _charPos, charPos === null ? null : new CharPosition(source, charPos));
7257
+ this._charPos = charPos === null ? null : new CharPosition(source, charPos);
7472
7258
  }
7473
7259
  /**
7474
7260
  * Lazily compute the character offset from the {@see SourcePosition}. Once an `HbsPosition` has
@@ -7481,15 +7267,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7481
7267
 
7482
7268
 
7483
7269
  toCharPos() {
7484
- var charPos = __classPrivateFieldGet$1(this, _charPos);
7270
+ var charPos = this._charPos;
7485
7271
 
7486
7272
  if (charPos === null) {
7487
7273
  var charPosNumber = this.source.charPosFor(this.hbsPos);
7488
7274
 
7489
7275
  if (charPosNumber === null) {
7490
- __classPrivateFieldSet$1(this, _charPos, charPos = BROKEN);
7276
+ this._charPos = charPos = BROKEN;
7491
7277
  } else {
7492
- __classPrivateFieldSet$1(this, _charPos, charPos = new CharPosition(this.source, charPosNumber));
7278
+ this._charPos = charPos = new CharPosition(this.source, charPosNumber);
7493
7279
  }
7494
7280
  }
7495
7281
 
@@ -7523,8 +7309,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7523
7309
 
7524
7310
  }
7525
7311
 
7526
- _charPos = new WeakMap();
7527
-
7528
7312
  class InvisiblePosition {
7529
7313
  constructor(kind, // whatever was provided, possibly broken
7530
7314
  pos) {
@@ -7604,26 +7388,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7604
7388
  var _a;
7605
7389
 
7606
7390
  return ((_a = left.toCharPos()) === null || _a === void 0 ? void 0 : _a.offset) === right;
7607
- }).when(MatchAny, MatchAny, () => false));
7608
-
7609
- var __classPrivateFieldGet$2 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7610
- if (!privateMap.has(receiver)) {
7611
- throw new TypeError("attempted to get private field on non-instance");
7612
- }
7613
-
7614
- return privateMap.get(receiver);
7615
- };
7616
-
7617
- var __classPrivateFieldSet$2 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7618
- if (!privateMap.has(receiver)) {
7619
- throw new TypeError("attempted to set private field on non-instance");
7620
- }
7621
-
7622
- privateMap.set(receiver, value);
7623
- return value;
7624
- };
7625
-
7626
- var _locPosSpan, _charPosSpan, _providedHbsLoc; // eslint-disable-next-line import/no-extraneous-dependencies
7391
+ }).when(MatchAny, MatchAny, () => false)); // eslint-disable-next-line import/no-extraneous-dependencies
7627
7392
 
7628
7393
  /**
7629
7394
  * A `SourceSpan` object represents a span of characters inside of a template source.
@@ -7660,7 +7425,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7660
7425
  * The goal is to avoid creating any problems for use-cases like AST Explorer.
7661
7426
  */
7662
7427
 
7663
-
7664
7428
  class SourceSpan {
7665
7429
  constructor(data) {
7666
7430
  this.data = data;
@@ -7916,8 +7680,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7916
7680
  this.kind = "CharPosition"
7917
7681
  /* CharPosition */
7918
7682
  ;
7919
-
7920
- _locPosSpan.set(this, null);
7683
+ this._locPosSpan = null;
7921
7684
  }
7922
7685
 
7923
7686
  wrap() {
@@ -7943,19 +7706,19 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7943
7706
  locDidUpdate() {}
7944
7707
 
7945
7708
  toHbsSpan() {
7946
- var locPosSpan = __classPrivateFieldGet$2(this, _locPosSpan);
7709
+ var locPosSpan = this._locPosSpan;
7947
7710
 
7948
7711
  if (locPosSpan === null) {
7949
7712
  var start = this.charPositions.start.toHbsPos();
7950
7713
  var end = this.charPositions.end.toHbsPos();
7951
7714
 
7952
7715
  if (start === null || end === null) {
7953
- locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, BROKEN);
7716
+ locPosSpan = this._locPosSpan = BROKEN;
7954
7717
  } else {
7955
- locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, new HbsSpan(this.source, {
7718
+ locPosSpan = this._locPosSpan = new HbsSpan(this.source, {
7956
7719
  start,
7957
7720
  end
7958
- }));
7721
+ });
7959
7722
  }
7960
7723
  }
7961
7724
 
@@ -7985,8 +7748,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7985
7748
 
7986
7749
  }
7987
7750
 
7988
- _locPosSpan = new WeakMap();
7989
-
7990
7751
  class HbsSpan {
7991
7752
  constructor(source, hbsPositions, providedHbsLoc = null) {
7992
7753
  this.source = source;
@@ -7994,13 +7755,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7994
7755
  this.kind = "HbsPosition"
7995
7756
  /* HbsPosition */
7996
7757
  ;
7997
-
7998
- _charPosSpan.set(this, null); // the source location from Handlebars + AST Plugins -- could be wrong
7999
-
8000
-
8001
- _providedHbsLoc.set(this, void 0);
8002
-
8003
- __classPrivateFieldSet$2(this, _providedHbsLoc, providedHbsLoc);
7758
+ this._charPosSpan = null;
7759
+ this._providedHbsLoc = providedHbsLoc;
8004
7760
  }
8005
7761
 
8006
7762
  serialize() {
@@ -8015,17 +7771,16 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8015
7771
  }
8016
7772
 
8017
7773
  updateProvided(pos, edge) {
8018
- if (__classPrivateFieldGet$2(this, _providedHbsLoc)) {
8019
- __classPrivateFieldGet$2(this, _providedHbsLoc)[edge] = pos;
7774
+ if (this._providedHbsLoc) {
7775
+ this._providedHbsLoc[edge] = pos;
8020
7776
  } // invalidate computed character offsets
8021
7777
 
8022
7778
 
8023
- __classPrivateFieldSet$2(this, _charPosSpan, null);
8024
-
8025
- __classPrivateFieldSet$2(this, _providedHbsLoc, {
7779
+ this._charPosSpan = null;
7780
+ this._providedHbsLoc = {
8026
7781
  start: pos,
8027
7782
  end: pos
8028
- });
7783
+ };
8029
7784
  }
8030
7785
 
8031
7786
  locDidUpdate({
@@ -8072,19 +7827,19 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8072
7827
  }
8073
7828
 
8074
7829
  toCharPosSpan() {
8075
- var charPosSpan = __classPrivateFieldGet$2(this, _charPosSpan);
7830
+ var charPosSpan = this._charPosSpan;
8076
7831
 
8077
7832
  if (charPosSpan === null) {
8078
7833
  var start = this.hbsPositions.start.toCharPos();
8079
7834
  var end = this.hbsPositions.end.toCharPos();
8080
7835
 
8081
7836
  if (start && end) {
8082
- charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, new CharPositionSpan(this.source, {
7837
+ charPosSpan = this._charPosSpan = new CharPositionSpan(this.source, {
8083
7838
  start,
8084
7839
  end
8085
- }));
7840
+ });
8086
7841
  } else {
8087
- charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, BROKEN);
7842
+ charPosSpan = this._charPosSpan = BROKEN;
8088
7843
  return null;
8089
7844
  }
8090
7845
  }
@@ -8094,8 +7849,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8094
7849
 
8095
7850
  }
8096
7851
 
8097
- _charPosSpan = new WeakMap(), _providedHbsLoc = new WeakMap();
8098
-
8099
7852
  class InvisibleSpan {
8100
7853
  constructor(kind, // whatever was provided, possibly broken
8101
7854
  loc, // if the span represents a synthetic string
@@ -8322,7 +8075,9 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8322
8075
  this.loc = loc;
8323
8076
  this.type = 'PathExpression';
8324
8077
  this.this = false;
8325
- this.data = false;
8078
+ this.data = false; // Cache for the head value.
8079
+
8080
+ this._head = undefined;
8326
8081
  var parts = tail.slice();
8327
8082
 
8328
8083
  if (head.type === 'ThisHead') {
@@ -8338,6 +8093,10 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8338
8093
  }
8339
8094
 
8340
8095
  get head() {
8096
+ if (this._head) {
8097
+ return this._head;
8098
+ }
8099
+
8341
8100
  var firstPart;
8342
8101
 
8343
8102
  if (this.this) {
@@ -8351,7 +8110,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8351
8110
  var firstPartLoc = this.loc.collapse('start').sliceStartChars({
8352
8111
  chars: firstPart.length
8353
8112
  }).loc;
8354
- return publicBuilder.head(firstPart, firstPartLoc);
8113
+ return this._head = publicBuilder.head(firstPart, firstPartLoc);
8355
8114
  }
8356
8115
 
8357
8116
  get tail() {
@@ -8987,8 +8746,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8987
8746
 
8988
8747
  resolution() {
8989
8748
  if (this.ambiguity.namespaces.length === 0) {
8990
- return 33
8991
- /* GetFreeAsFallback */
8749
+ return 31
8750
+ /* GetStrictFree */
8992
8751
  ;
8993
8752
  } else if (this.ambiguity.namespaces.length === 1) {
8994
8753
  if (this.ambiguity.fallback) {
@@ -9110,8 +8869,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9110
8869
  return class {
9111
8870
  constructor(fields) {
9112
8871
  this.type = type;
9113
- this.loc = fields.loc;
9114
- copy(fields, this);
8872
+ (0, _util.assign)(this, fields);
9115
8873
  }
9116
8874
 
9117
8875
  };
@@ -9123,8 +8881,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9123
8881
  fields() {
9124
8882
  return class {
9125
8883
  constructor(fields) {
9126
- this.loc = fields.loc;
9127
- copy(fields, this);
8884
+ (0, _util.assign)(this, fields);
9128
8885
  }
9129
8886
 
9130
8887
  };
@@ -9133,16 +8890,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9133
8890
  };
9134
8891
  }
9135
8892
  }
9136
-
9137
- function keys(object) {
9138
- return Object.keys(object);
9139
- }
9140
-
9141
- function copy(object1, object2) {
9142
- for (var key of keys(object1)) {
9143
- object2[key] = object1[key];
9144
- }
9145
- }
9146
8893
  /**
9147
8894
  * Corresponds to syntaxes with positional and named arguments:
9148
8895
  *
@@ -9302,30 +9049,9 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9302
9049
 
9303
9050
  class ElementModifier extends node('ElementModifier').fields() {}
9304
9051
 
9305
- var __classPrivateFieldSet$3 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
9306
- if (!privateMap.has(receiver)) {
9307
- throw new TypeError("attempted to set private field on non-instance");
9308
- }
9309
-
9310
- privateMap.set(receiver, value);
9311
- return value;
9312
- };
9313
-
9314
- var __classPrivateFieldGet$3 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
9315
- if (!privateMap.has(receiver)) {
9316
- throw new TypeError("attempted to get private field on non-instance");
9317
- }
9318
-
9319
- return privateMap.get(receiver);
9320
- };
9321
-
9322
- var _span;
9323
-
9324
9052
  class SpanList {
9325
9053
  constructor(span = []) {
9326
- _span.set(this, void 0);
9327
-
9328
- __classPrivateFieldSet$3(this, _span, span);
9054
+ this._span = span;
9329
9055
  }
9330
9056
 
9331
9057
  static range(span, fallback = SourceSpan.NON_EXISTENT) {
@@ -9333,17 +9059,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9333
9059
  }
9334
9060
 
9335
9061
  add(offset) {
9336
- __classPrivateFieldGet$3(this, _span).push(offset);
9062
+ this._span.push(offset);
9337
9063
  }
9338
9064
 
9339
9065
  getRangeOffset(fallback) {
9340
- if (__classPrivateFieldGet$3(this, _span).length === 0) {
9066
+ if (this._span.length === 0) {
9341
9067
  return fallback;
9342
9068
  } else {
9343
- var first = __classPrivateFieldGet$3(this, _span)[0];
9344
-
9345
- var last = __classPrivateFieldGet$3(this, _span)[__classPrivateFieldGet$3(this, _span).length - 1];
9346
-
9069
+ var first = this._span[0];
9070
+ var last = this._span[this._span.length - 1];
9347
9071
  return first.extend(last);
9348
9072
  }
9349
9073
  }
@@ -9351,7 +9075,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9351
9075
  }
9352
9076
 
9353
9077
  _exports.SpanList = SpanList;
9354
- _span = new WeakMap();
9355
9078
 
9356
9079
  function loc(span) {
9357
9080
  if (Array.isArray(span)) {
@@ -10343,160 +10066,11 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
10343
10066
  return new TraversalError('Replacing and removing in key handlers is not yet supported.', node, null, key);
10344
10067
  }
10345
10068
 
10346
- function getLocalName(node) {
10347
- switch (node.type) {
10348
- case 'ElementNode':
10349
- // unfortunately the ElementNode stores `tag` as a string
10350
- // if that changes in glimmer-vm this will need to be updated
10351
- return node.tag.split('.')[0];
10352
-
10353
- case 'SubExpression':
10354
- case 'MustacheStatement':
10355
- case 'BlockStatement':
10356
- return getLocalName(node.path);
10357
-
10358
- case 'UndefinedLiteral':
10359
- case 'NullLiteral':
10360
- case 'BooleanLiteral':
10361
- case 'StringLiteral':
10362
- case 'NumberLiteral':
10363
- case 'TextNode':
10364
- case 'Template':
10365
- case 'Block':
10366
- case 'CommentStatement':
10367
- case 'MustacheCommentStatement':
10368
- case 'PartialStatement':
10369
- case 'ElementModifierStatement':
10370
- case 'AttrNode':
10371
- case 'ConcatStatement':
10372
- case 'Program':
10373
- case 'Hash':
10374
- case 'HashPair':
10375
- return undefined;
10376
-
10377
- case 'PathExpression':
10378
- default:
10379
- return node.parts.length ? node.parts[0] : undefined;
10380
- }
10381
- }
10382
-
10383
- function getLocals(node) {
10384
- switch (node.type) {
10385
- case 'ElementNode':
10386
- case 'Program':
10387
- case 'Block':
10388
- case 'Template':
10389
- return node.blockParams;
10390
-
10391
- case 'BlockStatement':
10392
- return node.program.blockParams;
10393
-
10394
- default:
10395
- return undefined;
10396
- }
10397
- }
10398
-
10399
- class TransformScope {
10400
- constructor(locals) {
10401
- this.locals = locals;
10402
- this.hasPartial = false;
10403
- this.usedLocals = {};
10404
-
10405
- for (var local of locals) {
10406
- this.usedLocals[local] = false;
10407
- }
10408
- }
10409
-
10410
- child(node) {
10411
- var locals = getLocals(node);
10412
- return locals ? new ChildTransformScope(locals, this) : this;
10413
- }
10414
-
10415
- usePartial() {
10416
- this.hasPartial = true;
10417
- }
10418
-
10419
- }
10420
-
10421
- class RootTransformScope extends TransformScope {
10422
- constructor(node) {
10423
- var _a;
10424
-
10425
- var locals = (_a = getLocals(node)) !== null && _a !== void 0 ? _a : [];
10426
- super(locals);
10427
- }
10428
-
10429
- useLocal(node) {
10430
- var name = getLocalName(node);
10431
-
10432
- if (name && name in this.usedLocals) {
10433
- this.usedLocals[name] = true;
10434
- }
10435
- }
10436
-
10437
- isLocal(name) {
10438
- return this.locals.indexOf(name) !== -1;
10439
- }
10440
-
10441
- currentUnusedLocals() {
10442
- if (!this.hasPartial && this.locals.length > 0) {
10443
- return this.locals.filter(local => !this.usedLocals[local]);
10444
- }
10445
-
10446
- return false;
10447
- }
10448
-
10449
- }
10450
-
10451
- class ChildTransformScope extends TransformScope {
10452
- constructor(locals, parent) {
10453
- super(locals);
10454
- this.parent = parent;
10455
- }
10456
-
10457
- useLocal(node) {
10458
- var name = getLocalName(node);
10459
-
10460
- if (name && name in this.usedLocals) {
10461
- this.usedLocals[name] = true;
10462
- } else {
10463
- this.parent.useLocal(node);
10464
- }
10465
- }
10466
-
10467
- isLocal(name) {
10468
- return this.locals.indexOf(name) !== -1 || this.parent.isLocal(name);
10469
- }
10470
-
10471
- currentUnusedLocals() {
10472
- if (!this.hasPartial && this.locals.length > 0) {
10473
- // We only care about the last local, because if it is used then it implies
10474
- // usage of the others (specifically when in a child block, |foo bar|)
10475
- if (!this.usedLocals[this.locals[this.locals.length - 1]]) {
10476
- return [this.locals[this.locals.length - 1]];
10477
- }
10478
- }
10479
-
10480
- return false;
10481
- }
10482
-
10483
- }
10484
-
10485
10069
  class WalkerPath {
10486
10070
  constructor(node, parent = null, parentKey = null) {
10487
10071
  this.node = node;
10488
10072
  this.parent = parent;
10489
10073
  this.parentKey = parentKey;
10490
- this.scope = parent ? parent.scope.child(node) : new RootTransformScope(node); // Consume in scope values
10491
-
10492
- if (node.type === 'PathExpression') {
10493
- this.scope.useLocal(node);
10494
- }
10495
-
10496
- if (node.type === 'ElementNode') {
10497
- this.scope.useLocal(node);
10498
- node.children.forEach(node => this.scope.useLocal(node));
10499
- }
10500
10074
  }
10501
10075
 
10502
10076
  get parentNode() {
@@ -10616,10 +10190,10 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
10616
10190
  }
10617
10191
 
10618
10192
  if (result === undefined) {
10619
- var _keys = visitorKeys[node.type];
10193
+ var keys = visitorKeys[node.type];
10620
10194
 
10621
- for (var i = 0; i < _keys.length; i++) {
10622
- var key = _keys[i]; // we know if it has child keys we can widen to a ParentNode
10195
+ for (var i = 0; i < keys.length; i++) {
10196
+ var key = keys[i]; // we know if it has child keys we can widen to a ParentNode
10623
10197
 
10624
10198
  visitKey(visitor, handler, path, key);
10625
10199
  }
@@ -12249,25 +11823,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12249
11823
  return program;
12250
11824
  }
12251
11825
 
12252
- var __classPrivateFieldSet$4 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
12253
- if (!privateMap.has(receiver)) {
12254
- throw new TypeError("attempted to set private field on non-instance");
12255
- }
12256
-
12257
- privateMap.set(receiver, value);
12258
- return value;
12259
- };
12260
-
12261
- var __classPrivateFieldGet$4 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
12262
- if (!privateMap.has(receiver)) {
12263
- throw new TypeError("attempted to get private field on non-instance");
12264
- }
12265
-
12266
- return privateMap.get(receiver);
12267
- };
12268
-
12269
- var _hasEval;
12270
-
12271
11826
  class SymbolTable {
12272
11827
  static top(locals, customizeComponentName) {
12273
11828
  return new ProgramSymbolTable(locals, customizeComponentName);
@@ -12293,8 +11848,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12293
11848
  this.named = (0, _util.dict)();
12294
11849
  this.blocks = (0, _util.dict)();
12295
11850
  this.usedTemplateLocals = [];
12296
-
12297
- _hasEval.set(this, false);
11851
+ this._hasEval = false;
12298
11852
  }
12299
11853
 
12300
11854
  getUsedTemplateLocals() {
@@ -12302,11 +11856,11 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12302
11856
  }
12303
11857
 
12304
11858
  setHasEval() {
12305
- __classPrivateFieldSet$4(this, _hasEval, true);
11859
+ this._hasEval = true;
12306
11860
  }
12307
11861
 
12308
11862
  get hasEval() {
12309
- return __classPrivateFieldGet$4(this, _hasEval);
11863
+ return this._hasEval;
12310
11864
  }
12311
11865
 
12312
11866
  has(name) {
@@ -12386,7 +11940,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12386
11940
  }
12387
11941
 
12388
11942
  _exports.ProgramSymbolTable = ProgramSymbolTable;
12389
- _hasEval = new WeakMap();
12390
11943
 
12391
11944
  class BlockSymbolTable extends SymbolTable {
12392
11945
  constructor(parent, symbols, slots) {
@@ -12903,7 +12456,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12903
12456
  strictMode: false,
12904
12457
  locals: []
12905
12458
  }, options);
12906
- var top = SymbolTable.top(normalizeOptions.strictMode ? normalizeOptions.locals : [], (_a = // eslint-disable-next-line @typescript-eslint/unbound-method
12459
+ var top = SymbolTable.top(normalizeOptions.locals, (_a = // eslint-disable-next-line @typescript-eslint/unbound-method
12907
12460
  options.customizeComponentName) !== null && _a !== void 0 ? _a : name => name);
12908
12461
  var block = new BlockContext(source, normalizeOptions, top);
12909
12462
  var normalizer = new StatementNormalizer(block);
@@ -18001,7 +17554,7 @@ define("ember-template-compiler/lib/plugins/assert-splattribute-expression", ["e
18001
17554
  return '`...attributes` can only be used in the element position e.g. `<div ...attributes />`. It cannot be used as a path.';
18002
17555
  }
18003
17556
  });
18004
- define("ember-template-compiler/lib/plugins/index", ["exports", "ember-template-compiler/lib/plugins/assert-against-attrs", "ember-template-compiler/lib/plugins/assert-against-dynamic-helpers-modifiers", "ember-template-compiler/lib/plugins/assert-against-named-blocks", "ember-template-compiler/lib/plugins/assert-against-named-outlets", "ember-template-compiler/lib/plugins/assert-input-helper-without-block", "ember-template-compiler/lib/plugins/assert-reserved-named-arguments", "ember-template-compiler/lib/plugins/assert-splattribute-expression", "ember-template-compiler/lib/plugins/transform-action-syntax", "ember-template-compiler/lib/plugins/transform-each-in-into-each", "ember-template-compiler/lib/plugins/transform-each-track-array", "ember-template-compiler/lib/plugins/transform-in-element", "ember-template-compiler/lib/plugins/transform-link-to", "ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings", "ember-template-compiler/lib/plugins/transform-resolutions", "ember-template-compiler/lib/plugins/transform-wrap-mount-and-outlet"], function (_exports, _assertAgainstAttrs, _assertAgainstDynamicHelpersModifiers, _assertAgainstNamedBlocks, _assertAgainstNamedOutlets, _assertInputHelperWithoutBlock, _assertReservedNamedArguments, _assertSplattributeExpression, _transformActionSyntax, _transformEachInIntoEach, _transformEachTrackArray, _transformInElement, _transformLinkTo, _transformQuotedBindingsIntoJustBindings, _transformResolutions, _transformWrapMountAndOutlet) {
17557
+ define("ember-template-compiler/lib/plugins/index", ["exports", "ember-template-compiler/lib/plugins/assert-against-attrs", "ember-template-compiler/lib/plugins/assert-against-dynamic-helpers-modifiers", "ember-template-compiler/lib/plugins/assert-against-named-blocks", "ember-template-compiler/lib/plugins/assert-against-named-outlets", "ember-template-compiler/lib/plugins/assert-input-helper-without-block", "ember-template-compiler/lib/plugins/assert-reserved-named-arguments", "ember-template-compiler/lib/plugins/assert-splattribute-expression", "ember-template-compiler/lib/plugins/transform-action-syntax", "ember-template-compiler/lib/plugins/transform-each-in-into-each", "ember-template-compiler/lib/plugins/transform-each-track-array", "ember-template-compiler/lib/plugins/transform-in-element", "ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings", "ember-template-compiler/lib/plugins/transform-resolutions", "ember-template-compiler/lib/plugins/transform-wrap-mount-and-outlet"], function (_exports, _assertAgainstAttrs, _assertAgainstDynamicHelpersModifiers, _assertAgainstNamedBlocks, _assertAgainstNamedOutlets, _assertInputHelperWithoutBlock, _assertReservedNamedArguments, _assertSplattributeExpression, _transformActionSyntax, _transformEachInIntoEach, _transformEachTrackArray, _transformInElement, _transformQuotedBindingsIntoJustBindings, _transformResolutions, _transformWrapMountAndOutlet) {
18005
17558
  "use strict";
18006
17559
 
18007
17560
  Object.defineProperty(_exports, "__esModule", {
@@ -18009,7 +17562,7 @@ define("ember-template-compiler/lib/plugins/index", ["exports", "ember-template-
18009
17562
  });
18010
17563
  _exports.STRICT_MODE_TRANSFORMS = _exports.RESOLUTION_MODE_TRANSFORMS = void 0;
18011
17564
  // order of plugins is important
18012
- var RESOLUTION_MODE_TRANSFORMS = Object.freeze([_transformQuotedBindingsIntoJustBindings.default, _assertReservedNamedArguments.default, _transformActionSyntax.default, _assertAgainstAttrs.default, _transformEachInIntoEach.default, _transformLinkTo.default, _assertInputHelperWithoutBlock.default, _transformInElement.default, _assertSplattributeExpression.default, _transformEachTrackArray.default, _assertAgainstNamedOutlets.default, _transformWrapMountAndOutlet.default, !true
17565
+ var RESOLUTION_MODE_TRANSFORMS = Object.freeze([_transformQuotedBindingsIntoJustBindings.default, _assertReservedNamedArguments.default, _transformActionSyntax.default, _assertAgainstAttrs.default, _transformEachInIntoEach.default, _assertInputHelperWithoutBlock.default, _transformInElement.default, _assertSplattributeExpression.default, _transformEachTrackArray.default, _assertAgainstNamedOutlets.default, _transformWrapMountAndOutlet.default, !true
18013
17566
  /* EMBER_NAMED_BLOCKS */
18014
17567
  ? _assertAgainstNamedBlocks.default : null, true
18015
17568
  /* EMBER_DYNAMIC_HELPERS_AND_MODIFIERS */
@@ -18266,160 +17819,6 @@ define("ember-template-compiler/lib/plugins/transform-in-element", ["exports", "
18266
17819
  };
18267
17820
  }
18268
17821
  });
18269
- define("ember-template-compiler/lib/plugins/transform-link-to", ["exports", "@ember/debug", "ember-template-compiler/lib/system/calculate-location-display", "ember-template-compiler/lib/plugins/utils"], function (_exports, _debug, _calculateLocationDisplay, _utils) {
18270
- "use strict";
18271
-
18272
- Object.defineProperty(_exports, "__esModule", {
18273
- value: true
18274
- });
18275
- _exports.default = transformLinkTo;
18276
-
18277
- function isInlineLinkTo(node) {
18278
- return (0, _utils.isPath)(node.path) && node.path.original === 'link-to';
18279
- }
18280
-
18281
- function isBlockLinkTo(node) {
18282
- return (0, _utils.isPath)(node.path) && node.path.original === 'link-to';
18283
- }
18284
-
18285
- function isQueryParams(node) {
18286
- return (0, _utils.isSubExpression)(node) && (0, _utils.isPath)(node.path) && node.path.original === 'query-params';
18287
- }
18288
-
18289
- function transformInlineLinkToIntoBlockForm(env, node) {
18290
- var {
18291
- builders: b
18292
- } = env.syntax;
18293
- return b.block('link-to', node.params.slice(1), node.hash, b.blockItself([buildStatement(b, node.params[0], node.escaped, node.loc)], undefined, false, node.loc), null, node.loc);
18294
- }
18295
-
18296
- function transformPositionalLinkToIntoNamedArguments(env, node, hasBlock = true) {
18297
- var _a, _b;
18298
-
18299
- var {
18300
- builders: b
18301
- } = env.syntax;
18302
- var moduleName = (_a = env.meta) === null || _a === void 0 ? void 0 : _a.moduleName;
18303
- var {
18304
- params,
18305
- hash: {
18306
- pairs
18307
- }
18308
- } = node;
18309
- var keys = pairs.map(pair => pair.key);
18310
-
18311
- if (params.length === 0) {
18312
- (true && !(keys.indexOf('params') !== -1 || keys.indexOf('route') !== -1 || keys.indexOf('model') !== -1 || keys.indexOf('models') !== -1 || keys.indexOf('query') !== -1) && (0, _debug.assert)("You must provide one or more parameters to the `{{link-to}}` component. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), keys.indexOf('params') !== -1 || keys.indexOf('route') !== -1 || keys.indexOf('model') !== -1 || keys.indexOf('models') !== -1 || keys.indexOf('query') !== -1));
18313
- return node;
18314
- } else {
18315
- (true && !(keys.indexOf('params') === -1) && (0, _debug.assert)("You cannot pass positional parameters and the `params` argument to the `{{link-to}}` component at the same time. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), keys.indexOf('params') === -1));
18316
- (true && !(keys.indexOf('route') === -1) && (0, _debug.assert)("You cannot pass positional parameters and the `route` argument to the `{{link-to}}` component at the same time. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), keys.indexOf('route') === -1));
18317
- (true && !(keys.indexOf('model') === -1) && (0, _debug.assert)("You cannot pass positional parameters and the `model` argument to the `{{link-to}}` component at the same time. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), keys.indexOf('model') === -1));
18318
- (true && !(keys.indexOf('models') === -1) && (0, _debug.assert)("You cannot pass positional parameters and the `models` argument to the `{{link-to}}` component at the same time. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), keys.indexOf('models') === -1));
18319
- (true && !(keys.indexOf('query') === -1) && (0, _debug.assert)("You cannot pass positional parameters and the `query` argument to the `{{link-to}}` component at the same time. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), keys.indexOf('query') === -1));
18320
- }
18321
-
18322
- (true && !(params.length > 0) && (0, _debug.assert)("You must provide one or more parameters to the `{{link-to}}` component. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), params.length > 0));
18323
- var equivalentNamedArgs = [];
18324
- var hasQueryParams = false; // 1. The last argument is possibly the `query` object.
18325
-
18326
- var query = params[params.length - 1];
18327
-
18328
- if (query && isQueryParams(query)) {
18329
- params.pop();
18330
- (true && !(query.params.length === 0) && (0, _debug.assert)("The `(query-params ...)` helper does not take positional arguments. " + (0, _calculateLocationDisplay.default)(moduleName, query.loc), query.params.length === 0));
18331
- pairs.push(b.pair('query', b.sexpr(b.path('-hash', query.path.loc), [], query.hash, query.loc), query.loc));
18332
- hasQueryParams = true;
18333
- } // 2. If there is a `route`, it is now at index 0.
18334
-
18335
-
18336
- var route = params.shift();
18337
-
18338
- if (route) {
18339
- pairs.push(b.pair('route', route, route.loc));
18340
- equivalentNamedArgs.push('`@route`');
18341
- } // 3. Any remaining indices (if any) are `models`.
18342
-
18343
-
18344
- if (params.length === 1) {
18345
- pairs.push(b.pair('model', params[0], params[0].loc));
18346
- equivalentNamedArgs.push('`@model`');
18347
- } else if (params.length > 1) {
18348
- pairs.push(b.pair('models', b.sexpr(b.path('array', node.loc), params, undefined, node.loc), node.loc));
18349
- equivalentNamedArgs.push('`@models`');
18350
- }
18351
-
18352
- if (hasQueryParams) {
18353
- equivalentNamedArgs.push('`@query`');
18354
- }
18355
-
18356
- if (equivalentNamedArgs.length > 0) {
18357
- var message = 'Invoking the `<LinkTo>` component with positional arguments is deprecated.';
18358
- message += "Please use the equivalent named arguments (" + equivalentNamedArgs.join(', ') + ")";
18359
-
18360
- if (hasQueryParams) {
18361
- message += ' along with the `hash` helper';
18362
- }
18363
-
18364
- if (!hasBlock) {
18365
- message += " and pass a block for the link's content.";
18366
- }
18367
-
18368
- message += '.';
18369
-
18370
- if ((_b = node.loc) === null || _b === void 0 ? void 0 : _b.source) {
18371
- message += " " + (0, _calculateLocationDisplay.default)(moduleName, node.loc);
18372
- }
18373
-
18374
- (true && !(false) && (0, _debug.deprecate)(message, false, {
18375
- id: 'ember-glimmer.link-to.positional-arguments',
18376
- until: '4.0.0',
18377
- for: 'ember-source',
18378
- url: 'https://deprecations.emberjs.com/v3.x#toc_ember-glimmer-link-to-positional-arguments',
18379
- since: {
18380
- enabled: '3.26.0-beta.1'
18381
- }
18382
- }));
18383
- }
18384
-
18385
- return b.block(node.path, null, b.hash(pairs, node.hash.loc), node.program, node.inverse, node.loc);
18386
- }
18387
-
18388
- function buildStatement(b, content, escaped, loc) {
18389
- switch (content.type) {
18390
- case 'PathExpression':
18391
- return b.mustache(content, undefined, undefined, !escaped, loc);
18392
-
18393
- case 'SubExpression':
18394
- return b.mustache(content.path, content.params, content.hash, !escaped, loc);
18395
- // The default case handles literals.
18396
-
18397
- default:
18398
- return b.text("" + content.value, loc);
18399
- }
18400
- }
18401
-
18402
- function transformLinkTo(env) {
18403
- return {
18404
- name: 'transform-link-to',
18405
- visitor: {
18406
- MustacheStatement(node) {
18407
- if (isInlineLinkTo(node)) {
18408
- var block = transformInlineLinkToIntoBlockForm(env, node);
18409
- return transformPositionalLinkToIntoNamedArguments(env, block, false);
18410
- }
18411
- },
18412
-
18413
- BlockStatement(node) {
18414
- if (isBlockLinkTo(node)) {
18415
- return transformPositionalLinkToIntoNamedArguments(env, node);
18416
- }
18417
- }
18418
-
18419
- }
18420
- };
18421
- }
18422
- });
18423
17822
  define("ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings", ["exports"], function (_exports) {
18424
17823
  "use strict";
18425
17824
 
@@ -18883,7 +18282,16 @@ define("ember-template-compiler/lib/system/compile-options", ["exports", "@ember
18883
18282
  ) {
18884
18283
  options.strictMode = false;
18885
18284
  options.locals = undefined;
18886
- } // move `moduleName` into `meta` property
18285
+ }
18286
+
18287
+ if ('locals' in options && !options.locals) {
18288
+ // Glimmer's precompile options declare `locals` like:
18289
+ // locals?: string[]
18290
+ // but many in-use versions of babel-plugin-htmlbars-inline-precompile will
18291
+ // set locals to `null`. This used to work but only because glimmer was
18292
+ // ignoring locals for non-strict templates, and now it supports that case.
18293
+ delete options.locals;
18294
+ } // move `moduleName` into `meta` property
18887
18295
 
18888
18296
 
18889
18297
  if (options.moduleName) {
@@ -19056,7 +18464,7 @@ define("ember/version", ["exports"], function (_exports) {
19056
18464
  value: true
19057
18465
  });
19058
18466
  _exports.default = void 0;
19059
- var _default = "4.0.0-beta.5";
18467
+ var _default = "4.0.0-beta.9";
19060
18468
  _exports.default = _default;
19061
18469
  });
19062
18470
  define("simple-html-tokenizer", ["exports"], function (_exports) {
@@ -21347,6 +20755,237 @@ define("simple-html-tokenizer", ["exports"], function (_exports) {
21347
20755
  /* commentStart */
21348
20756
  );
21349
20757
  this.delegate.beginComment();
20758
+ } else {
20759
+ var maybeDoctype = char.toUpperCase() + this.input.substring(this.index, this.index + 6).toUpperCase();
20760
+
20761
+ if (maybeDoctype === 'DOCTYPE') {
20762
+ this.consume();
20763
+ this.consume();
20764
+ this.consume();
20765
+ this.consume();
20766
+ this.consume();
20767
+ this.consume();
20768
+ this.transitionTo("doctype"
20769
+ /* doctype */
20770
+ );
20771
+ if (this.delegate.beginDoctype) this.delegate.beginDoctype();
20772
+ }
20773
+ }
20774
+ },
20775
+ doctype: function () {
20776
+ var char = this.consume();
20777
+
20778
+ if (isSpace(char)) {
20779
+ this.transitionTo("beforeDoctypeName"
20780
+ /* beforeDoctypeName */
20781
+ );
20782
+ }
20783
+ },
20784
+ beforeDoctypeName: function () {
20785
+ var char = this.consume();
20786
+
20787
+ if (isSpace(char)) {
20788
+ return;
20789
+ } else {
20790
+ this.transitionTo("doctypeName"
20791
+ /* doctypeName */
20792
+ );
20793
+ if (this.delegate.appendToDoctypeName) this.delegate.appendToDoctypeName(char.toLowerCase());
20794
+ }
20795
+ },
20796
+ doctypeName: function () {
20797
+ var char = this.consume();
20798
+
20799
+ if (isSpace(char)) {
20800
+ this.transitionTo("afterDoctypeName"
20801
+ /* afterDoctypeName */
20802
+ );
20803
+ } else if (char === '>') {
20804
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20805
+ this.transitionTo("beforeData"
20806
+ /* beforeData */
20807
+ );
20808
+ } else {
20809
+ if (this.delegate.appendToDoctypeName) this.delegate.appendToDoctypeName(char.toLowerCase());
20810
+ }
20811
+ },
20812
+ afterDoctypeName: function () {
20813
+ var char = this.consume();
20814
+
20815
+ if (isSpace(char)) {
20816
+ return;
20817
+ } else if (char === '>') {
20818
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20819
+ this.transitionTo("beforeData"
20820
+ /* beforeData */
20821
+ );
20822
+ } else {
20823
+ var nextSixChars = char.toUpperCase() + this.input.substring(this.index, this.index + 5).toUpperCase();
20824
+ var isPublic = nextSixChars.toUpperCase() === 'PUBLIC';
20825
+ var isSystem = nextSixChars.toUpperCase() === 'SYSTEM';
20826
+
20827
+ if (isPublic || isSystem) {
20828
+ this.consume();
20829
+ this.consume();
20830
+ this.consume();
20831
+ this.consume();
20832
+ this.consume();
20833
+ this.consume();
20834
+ }
20835
+
20836
+ if (isPublic) {
20837
+ this.transitionTo("afterDoctypePublicKeyword"
20838
+ /* afterDoctypePublicKeyword */
20839
+ );
20840
+ } else if (isSystem) {
20841
+ this.transitionTo("afterDoctypeSystemKeyword"
20842
+ /* afterDoctypeSystemKeyword */
20843
+ );
20844
+ }
20845
+ }
20846
+ },
20847
+ afterDoctypePublicKeyword: function () {
20848
+ var char = this.peek();
20849
+
20850
+ if (isSpace(char)) {
20851
+ this.transitionTo("beforeDoctypePublicIdentifier"
20852
+ /* beforeDoctypePublicIdentifier */
20853
+ );
20854
+ this.consume();
20855
+ } else if (char === '"') {
20856
+ this.transitionTo("doctypePublicIdentifierDoubleQuoted"
20857
+ /* doctypePublicIdentifierDoubleQuoted */
20858
+ );
20859
+ this.consume();
20860
+ } else if (char === "'") {
20861
+ this.transitionTo("doctypePublicIdentifierSingleQuoted"
20862
+ /* doctypePublicIdentifierSingleQuoted */
20863
+ );
20864
+ this.consume();
20865
+ } else if (char === '>') {
20866
+ this.consume();
20867
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20868
+ this.transitionTo("beforeData"
20869
+ /* beforeData */
20870
+ );
20871
+ }
20872
+ },
20873
+ doctypePublicIdentifierDoubleQuoted: function () {
20874
+ var char = this.consume();
20875
+
20876
+ if (char === '"') {
20877
+ this.transitionTo("afterDoctypePublicIdentifier"
20878
+ /* afterDoctypePublicIdentifier */
20879
+ );
20880
+ } else if (char === '>') {
20881
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20882
+ this.transitionTo("beforeData"
20883
+ /* beforeData */
20884
+ );
20885
+ } else {
20886
+ if (this.delegate.appendToDoctypePublicIdentifier) this.delegate.appendToDoctypePublicIdentifier(char);
20887
+ }
20888
+ },
20889
+ doctypePublicIdentifierSingleQuoted: function () {
20890
+ var char = this.consume();
20891
+
20892
+ if (char === "'") {
20893
+ this.transitionTo("afterDoctypePublicIdentifier"
20894
+ /* afterDoctypePublicIdentifier */
20895
+ );
20896
+ } else if (char === '>') {
20897
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20898
+ this.transitionTo("beforeData"
20899
+ /* beforeData */
20900
+ );
20901
+ } else {
20902
+ if (this.delegate.appendToDoctypePublicIdentifier) this.delegate.appendToDoctypePublicIdentifier(char);
20903
+ }
20904
+ },
20905
+ afterDoctypePublicIdentifier: function () {
20906
+ var char = this.consume();
20907
+
20908
+ if (isSpace(char)) {
20909
+ this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"
20910
+ /* betweenDoctypePublicAndSystemIdentifiers */
20911
+ );
20912
+ } else if (char === '>') {
20913
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20914
+ this.transitionTo("beforeData"
20915
+ /* beforeData */
20916
+ );
20917
+ } else if (char === '"') {
20918
+ this.transitionTo("doctypeSystemIdentifierDoubleQuoted"
20919
+ /* doctypeSystemIdentifierDoubleQuoted */
20920
+ );
20921
+ } else if (char === "'") {
20922
+ this.transitionTo("doctypeSystemIdentifierSingleQuoted"
20923
+ /* doctypeSystemIdentifierSingleQuoted */
20924
+ );
20925
+ }
20926
+ },
20927
+ betweenDoctypePublicAndSystemIdentifiers: function () {
20928
+ var char = this.consume();
20929
+
20930
+ if (isSpace(char)) {
20931
+ return;
20932
+ } else if (char === '>') {
20933
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20934
+ this.transitionTo("beforeData"
20935
+ /* beforeData */
20936
+ );
20937
+ } else if (char === '"') {
20938
+ this.transitionTo("doctypeSystemIdentifierDoubleQuoted"
20939
+ /* doctypeSystemIdentifierDoubleQuoted */
20940
+ );
20941
+ } else if (char === "'") {
20942
+ this.transitionTo("doctypeSystemIdentifierSingleQuoted"
20943
+ /* doctypeSystemIdentifierSingleQuoted */
20944
+ );
20945
+ }
20946
+ },
20947
+ doctypeSystemIdentifierDoubleQuoted: function () {
20948
+ var char = this.consume();
20949
+
20950
+ if (char === '"') {
20951
+ this.transitionTo("afterDoctypeSystemIdentifier"
20952
+ /* afterDoctypeSystemIdentifier */
20953
+ );
20954
+ } else if (char === '>') {
20955
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20956
+ this.transitionTo("beforeData"
20957
+ /* beforeData */
20958
+ );
20959
+ } else {
20960
+ if (this.delegate.appendToDoctypeSystemIdentifier) this.delegate.appendToDoctypeSystemIdentifier(char);
20961
+ }
20962
+ },
20963
+ doctypeSystemIdentifierSingleQuoted: function () {
20964
+ var char = this.consume();
20965
+
20966
+ if (char === "'") {
20967
+ this.transitionTo("afterDoctypeSystemIdentifier"
20968
+ /* afterDoctypeSystemIdentifier */
20969
+ );
20970
+ } else if (char === '>') {
20971
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20972
+ this.transitionTo("beforeData"
20973
+ /* beforeData */
20974
+ );
20975
+ } else {
20976
+ if (this.delegate.appendToDoctypeSystemIdentifier) this.delegate.appendToDoctypeSystemIdentifier(char);
20977
+ }
20978
+ },
20979
+ afterDoctypeSystemIdentifier: function () {
20980
+ var char = this.consume();
20981
+
20982
+ if (isSpace(char)) {
20983
+ return;
20984
+ } else if (char === '>') {
20985
+ if (this.delegate.endDoctype) this.delegate.endDoctype();
20986
+ this.transitionTo("beforeData"
20987
+ /* beforeData */
20988
+ );
21350
20989
  }
21351
20990
  },
21352
20991
  commentStart: function () {
@@ -21924,6 +21563,49 @@ define("simple-html-tokenizer", ["exports"], function (_exports) {
21924
21563
  }; // Data
21925
21564
 
21926
21565
 
21566
+ Tokenizer.prototype.beginDoctype = function () {
21567
+ this.push({
21568
+ type: "Doctype"
21569
+ /* Doctype */
21570
+ ,
21571
+ name: ''
21572
+ });
21573
+ };
21574
+
21575
+ Tokenizer.prototype.appendToDoctypeName = function (char) {
21576
+ this.current("Doctype"
21577
+ /* Doctype */
21578
+ ).name += char;
21579
+ };
21580
+
21581
+ Tokenizer.prototype.appendToDoctypePublicIdentifier = function (char) {
21582
+ var doctype = this.current("Doctype"
21583
+ /* Doctype */
21584
+ );
21585
+
21586
+ if (doctype.publicIdentifier === undefined) {
21587
+ doctype.publicIdentifier = char;
21588
+ } else {
21589
+ doctype.publicIdentifier += char;
21590
+ }
21591
+ };
21592
+
21593
+ Tokenizer.prototype.appendToDoctypeSystemIdentifier = function (char) {
21594
+ var doctype = this.current("Doctype"
21595
+ /* Doctype */
21596
+ );
21597
+
21598
+ if (doctype.systemIdentifier === undefined) {
21599
+ doctype.systemIdentifier = char;
21600
+ } else {
21601
+ doctype.systemIdentifier += char;
21602
+ }
21603
+ };
21604
+
21605
+ Tokenizer.prototype.endDoctype = function () {
21606
+ this.addLocInfo();
21607
+ };
21608
+
21927
21609
  Tokenizer.prototype.beginData = function () {
21928
21610
  this.push({
21929
21611
  type: "Chars"