ember-source 4.0.0-beta.1 → 4.0.0-beta.10

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 (75) hide show
  1. package/CHANGELOG.md +72 -0
  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/blueprints/initializer/files/__root__/initializers/__name__.js +0 -1
  12. package/blueprints/instance-initializer/files/__root__/instance-initializers/__name__.js +0 -1
  13. package/build-metadata.json +3 -3
  14. package/dist/dependencies/@glimmer/manager.js +19 -98
  15. package/dist/dependencies/@glimmer/opcode-compiler.js +9 -146
  16. package/dist/dependencies/@glimmer/runtime.js +1 -55
  17. package/dist/dependencies/@glimmer/validator.js +19 -51
  18. package/dist/ember-template-compiler.js +383 -961
  19. package/dist/ember-template-compiler.map +1 -1
  20. package/dist/ember-testing.js +4 -513
  21. package/dist/ember-testing.map +1 -1
  22. package/dist/ember.debug.js +3246 -8084
  23. package/dist/ember.debug.map +1 -1
  24. package/dist/header/license.js +1 -1
  25. package/dist/packages/@ember/-internals/container/index.js +17 -183
  26. package/dist/packages/@ember/-internals/environment/index.js +0 -27
  27. package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +7 -0
  28. package/dist/packages/@ember/-internals/glimmer/index.js +4827 -6812
  29. package/dist/packages/@ember/-internals/metal/index.js +21 -45
  30. package/dist/packages/@ember/-internals/routing/lib/services/router.js +8 -0
  31. package/dist/packages/@ember/-internals/routing/lib/services/routing.js +1 -1
  32. package/dist/packages/@ember/-internals/routing/lib/system/route.js +1 -41
  33. package/dist/packages/@ember/-internals/routing/lib/system/router.js +22 -91
  34. package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +2 -173
  35. package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -43
  36. package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +8 -15
  37. package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +4 -90
  38. package/dist/packages/@ember/-internals/utils/index.js +0 -3
  39. package/dist/packages/@ember/-internals/views/index.js +0 -2
  40. package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +4 -4
  41. package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +22 -72
  42. package/dist/packages/@ember/application/instance.js +1 -22
  43. package/dist/packages/@ember/application/lib/application.js +14 -32
  44. package/dist/packages/@ember/canary-features/index.js +0 -2
  45. package/dist/packages/@ember/component/index.js +1 -1
  46. package/dist/packages/@ember/deprecated-features/index.js +0 -4
  47. package/dist/packages/@ember/engine/index.js +2 -7
  48. package/dist/packages/@ember/engine/instance.js +0 -4
  49. package/dist/packages/@ember/object/lib/computed/computed_macros.js +0 -373
  50. package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +0 -351
  51. package/dist/packages/@ember/routing/index.js +1 -1
  52. package/dist/packages/ember/index.js +9 -62
  53. package/dist/packages/ember/version.js +1 -1
  54. package/dist/packages/ember-testing/index.js +0 -2
  55. package/dist/packages/ember-testing/lib/helpers.js +0 -12
  56. package/dist/packages/ember-testing/lib/setup_for_testing.js +0 -10
  57. package/docs/data.json +598 -1901
  58. package/lib/index.js +13 -51
  59. package/package.json +18 -18
  60. package/dist/packages/@ember/-internals/views/lib/mixins/text_support.js +0 -345
  61. package/dist/packages/@ember/-internals/views/lib/system/jquery.js +0 -26
  62. package/dist/packages/@ember/component/checkbox.js +0 -17
  63. package/dist/packages/@ember/component/text-area.js +0 -17
  64. package/dist/packages/@ember/component/text-field.js +0 -17
  65. package/dist/packages/@ember/routing/link-component.js +0 -17
  66. package/dist/packages/ember-testing/lib/events.js +0 -101
  67. package/dist/packages/ember-testing/lib/helpers/-is-form-control.js +0 -19
  68. package/dist/packages/ember-testing/lib/helpers/click.js +0 -32
  69. package/dist/packages/ember-testing/lib/helpers/fill_in.js +0 -47
  70. package/dist/packages/ember-testing/lib/helpers/find.js +0 -40
  71. package/dist/packages/ember-testing/lib/helpers/find_with_assert.js +0 -37
  72. package/dist/packages/ember-testing/lib/helpers/key_event.js +0 -37
  73. package/dist/packages/ember-testing/lib/helpers/trigger_event.js +0 -61
  74. package/dist/packages/ember-testing/lib/support.js +0 -57
  75. 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.1
9
+ * @version 4.0.0-beta.10
10
10
  */
11
11
 
12
12
  /* eslint-disable no-var */
@@ -295,18 +295,6 @@ define("@ember/-internals/environment/index", ["exports"], function (_exports) {
295
295
  /* DEBUG */
296
296
  ,
297
297
 
298
- /**
299
- Whether the app is using jQuery. See RFC #294.
300
- This is not intended to be set directly, as the implementation may change in
301
- the future. Use `@ember/optional-features` instead.
302
- @property _JQUERY_INTEGRATION
303
- @for EmberENV
304
- @type Boolean
305
- @default true
306
- @private
307
- */
308
- _JQUERY_INTEGRATION: true,
309
-
310
298
  /**
311
299
  Whether the app defaults to using async observers.
312
300
  This is not intended to be set directly, as the implementation may change in
@@ -330,21 +318,6 @@ define("@ember/-internals/environment/index", ["exports"], function (_exports) {
330
318
  @private
331
319
  */
332
320
  _RERENDER_LOOP_LIMIT: 1000,
333
-
334
- /**
335
- Allows disabling the implicit this property fallback deprecation. This could be useful
336
- as a way to control the volume of deprecations that are issued by temporarily disabling
337
- the implicit this fallback deprecations, which would allow the other deprecations to be more easily
338
- identified in the console).
339
- NOTE: The fallback behavior **will be removed** in Ember 4.0.0, disabling **_IS NOT_**
340
- a viable strategy for handling this deprecation.
341
- @property _DISABLE_PROPERTY_FALLBACK_DEPRECATION
342
- @for EmberENV
343
- @type boolean
344
- @default false
345
- @private
346
- */
347
- _DISABLE_PROPERTY_FALLBACK_DEPRECATION: false,
348
321
  EMBER_LOAD_HOOKS: {},
349
322
  FEATURES: {}
350
323
  };
@@ -518,9 +491,6 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
518
491
  */
519
492
 
520
493
  /**
521
- Previously we used `Ember.$.uuid`, however `$.uuid` has been removed from
522
- jQuery master. We'll just bootstrap our own uuid now.
523
-
524
494
  @private
525
495
  @return {Number} the uuid
526
496
  */
@@ -1313,7 +1283,7 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1313
1283
  value: true
1314
1284
  });
1315
1285
  _exports.isEnabled = isEnabled;
1316
- _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;
1317
1287
 
1318
1288
  /**
1319
1289
  Set `EmberENV.FEATURES` in your application's `config/environment.js` file
@@ -1331,7 +1301,6 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1331
1301
  EMBER_NAMED_BLOCKS: true,
1332
1302
  EMBER_GLIMMER_HELPER_MANAGER: true,
1333
1303
  EMBER_GLIMMER_INVOKE_HELPER: true,
1334
- EMBER_MODERNIZED_BUILT_IN_COMPONENTS: true,
1335
1304
  EMBER_STRICT_MODE: true,
1336
1305
  EMBER_DYNAMIC_HELPERS_AND_MODIFIERS: true,
1337
1306
  EMBER_ROUTING_ROUTER_SERVICE_REFRESH: false
@@ -1396,8 +1365,6 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1396
1365
  _exports.EMBER_GLIMMER_HELPER_MANAGER = EMBER_GLIMMER_HELPER_MANAGER;
1397
1366
  var EMBER_GLIMMER_INVOKE_HELPER = featureValue(FEATURES.EMBER_GLIMMER_INVOKE_HELPER);
1398
1367
  _exports.EMBER_GLIMMER_INVOKE_HELPER = EMBER_GLIMMER_INVOKE_HELPER;
1399
- var EMBER_MODERNIZED_BUILT_IN_COMPONENTS = featureValue(FEATURES.EMBER_MODERNIZED_BUILT_IN_COMPONENTS);
1400
- _exports.EMBER_MODERNIZED_BUILT_IN_COMPONENTS = EMBER_MODERNIZED_BUILT_IN_COMPONENTS;
1401
1368
  var EMBER_STRICT_MODE = featureValue(FEATURES.EMBER_STRICT_MODE);
1402
1369
  _exports.EMBER_STRICT_MODE = EMBER_STRICT_MODE;
1403
1370
  var EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = featureValue(FEATURES.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS);
@@ -2148,19 +2115,11 @@ define("@ember/deprecated-features/index", ["exports"], function (_exports) {
2148
2115
  Object.defineProperty(_exports, "__esModule", {
2149
2116
  value: true
2150
2117
  });
2151
- _exports.ASSIGN = _exports.MOUSE_ENTER_LEAVE_MOVE_EVENTS = _exports.APP_CTRL_ROUTER_PROPS = _exports.JQUERY_INTEGRATION = _exports.ROUTER_EVENTS = void 0;
2118
+ _exports.ASSIGN = void 0;
2152
2119
 
2153
2120
  /* eslint-disable no-implicit-coercion */
2154
2121
  // These versions should be the version that the deprecation was _introduced_,
2155
2122
  // not the version that the feature will be removed.
2156
- var ROUTER_EVENTS = !!'4.0.0';
2157
- _exports.ROUTER_EVENTS = ROUTER_EVENTS;
2158
- var JQUERY_INTEGRATION = !!'3.9.0';
2159
- _exports.JQUERY_INTEGRATION = JQUERY_INTEGRATION;
2160
- var APP_CTRL_ROUTER_PROPS = !!'3.10.0-beta.1';
2161
- _exports.APP_CTRL_ROUTER_PROPS = APP_CTRL_ROUTER_PROPS;
2162
- var MOUSE_ENTER_LEAVE_MOVE_EVENTS = !!'3.13.0-beta.1';
2163
- _exports.MOUSE_ENTER_LEAVE_MOVE_EVENTS = MOUSE_ENTER_LEAVE_MOVE_EVENTS;
2164
2123
  var ASSIGN = !!'4.0.0-beta.1';
2165
2124
  _exports.ASSIGN = ASSIGN;
2166
2125
  });
@@ -2309,8 +2268,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2309
2268
 
2310
2269
  class Yield extends (0, _syntax.node)('Yield').fields() {}
2311
2270
 
2312
- class Partial extends (0, _syntax.node)('Partial').fields() {}
2313
-
2314
2271
  class Debugger extends (0, _syntax.node)('Debugger').fields() {}
2315
2272
 
2316
2273
  class CallExpression extends (0, _syntax.node)('CallExpression').fields() {}
@@ -2557,25 +2514,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2557
2514
 
2558
2515
  }
2559
2516
 
2560
- var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
2561
- if (!privateMap.has(receiver)) {
2562
- throw new TypeError("attempted to set private field on non-instance");
2563
- }
2564
-
2565
- privateMap.set(receiver, value);
2566
- return value;
2567
- };
2568
-
2569
- var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
2570
- if (!privateMap.has(receiver)) {
2571
- throw new TypeError("attempted to get private field on non-instance");
2572
- }
2573
-
2574
- return privateMap.get(receiver);
2575
- };
2576
-
2577
- var _keywords, _type;
2578
-
2579
2517
  class KeywordImpl {
2580
2518
  constructor(keyword, type, delegate) {
2581
2519
  this.keyword = keyword;
@@ -2664,21 +2602,18 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2664
2602
 
2665
2603
  class Keywords {
2666
2604
  constructor(type) {
2667
- _keywords.set(this, []);
2668
-
2669
- _type.set(this, void 0);
2670
-
2671
- __classPrivateFieldSet(this, _type, type);
2605
+ this._keywords = [];
2606
+ this._type = type;
2672
2607
  }
2673
2608
 
2674
2609
  kw(name, delegate) {
2675
- __classPrivateFieldGet(this, _keywords).push(keyword(name, __classPrivateFieldGet(this, _type), delegate));
2610
+ this._keywords.push(keyword(name, this._type, delegate));
2676
2611
 
2677
2612
  return this;
2678
2613
  }
2679
2614
 
2680
2615
  translate(node$$1, state) {
2681
- for (var _keyword of __classPrivateFieldGet(this, _keywords)) {
2616
+ for (var _keyword of this._keywords) {
2682
2617
  var result = _keyword.translate(node$$1, state);
2683
2618
 
2684
2619
  if (result !== null) {
@@ -2692,9 +2627,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2692
2627
  var {
2693
2628
  name
2694
2629
  } = path.ref;
2695
-
2696
- var usedType = __classPrivateFieldGet(this, _type);
2697
-
2630
+ var usedType = this._type;
2698
2631
  var validTypes = _syntax.KEYWORDS_TYPES[name];
2699
2632
 
2700
2633
  if (validTypes.indexOf(usedType) === -1) {
@@ -2707,7 +2640,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2707
2640
 
2708
2641
  }
2709
2642
 
2710
- _keywords = new WeakMap(), _type = new WeakMap();
2711
2643
  var typesToReadableName = {
2712
2644
  Append: 'an append statement',
2713
2645
  Block: 'a block statement',
@@ -3397,55 +3329,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
3397
3329
  }));
3398
3330
  }
3399
3331
 
3400
- }).kw('partial', {
3401
- assert(node$$1, state) {
3402
- if (state.isStrict) {
3403
- return Err((0, _syntax.generateSyntaxError)('{{partial}} is not allowed in strict mode templates', node$$1.loc));
3404
- }
3405
-
3406
- var {
3407
- args: {
3408
- positional,
3409
- named
3410
- }
3411
- } = node$$1;
3412
- var {
3413
- trusting
3414
- } = node$$1;
3415
-
3416
- if (positional.isEmpty()) {
3417
- return Err((0, _syntax.generateSyntaxError)("Partial found with no arguments. You must specify a template name", node$$1.loc));
3418
- } else if (positional.size !== 1) {
3419
- return Err((0, _syntax.generateSyntaxError)("Partial found with " + positional.exprs.length + " arguments. You must specify a template name", node$$1.loc));
3420
- }
3421
-
3422
- if (named.isEmpty()) {
3423
- if (trusting) {
3424
- return Err((0, _syntax.generateSyntaxError)("{{{partial ...}}} is not supported, please use {{partial ...}} instead", node$$1.loc));
3425
- }
3426
-
3427
- return Ok(positional.nth(0));
3428
- } else {
3429
- return Err((0, _syntax.generateSyntaxError)("Partial does not take any named argument", node$$1.loc));
3430
- }
3431
- },
3432
-
3433
- translate({
3434
- node: node$$1,
3435
- state
3436
- }, expr) {
3437
- state.scope.setHasEval();
3438
- var visited = expr === undefined ? Ok(new _syntax.ASTv2.LiteralExpression({
3439
- loc: _syntax.SourceSpan.synthetic('undefined'),
3440
- value: undefined
3441
- })) : VISIT_EXPRS.visit(expr, state);
3442
- return visited.mapOk(target => new Partial({
3443
- loc: node$$1.loc,
3444
- scope: state.scope,
3445
- target
3446
- }));
3447
- }
3448
-
3449
3332
  }).kw('debugger', {
3450
3333
  assert(node$$1) {
3451
3334
  var {
@@ -4290,66 +4173,37 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4290
4173
  }
4291
4174
 
4292
4175
  var VISIT_STMTS = new NormalizationStatements();
4293
-
4294
- var __classPrivateFieldSet$1 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
4295
- if (!privateMap.has(receiver)) {
4296
- throw new TypeError("attempted to set private field on non-instance");
4297
- }
4298
-
4299
- privateMap.set(receiver, value);
4300
- return value;
4301
- };
4302
-
4303
- var __classPrivateFieldGet$1 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
4304
- if (!privateMap.has(receiver)) {
4305
- throw new TypeError("attempted to get private field on non-instance");
4306
- }
4307
-
4308
- return privateMap.get(receiver);
4309
- };
4310
-
4311
- var _currentScope, _cursorCount;
4312
4176
  /**
4313
4177
  * This is the mutable state for this compiler pass.
4314
4178
  */
4315
4179
 
4316
-
4317
4180
  class NormalizationState {
4318
4181
  constructor(block, isStrict) {
4319
4182
  this.isStrict = isStrict;
4320
-
4321
- _currentScope.set(this, void 0);
4322
-
4323
- _cursorCount.set(this, 0);
4324
-
4325
- __classPrivateFieldSet$1(this, _currentScope, block);
4183
+ this._cursorCount = 0;
4184
+ this._currentScope = block;
4326
4185
  }
4327
4186
 
4328
4187
  generateUniqueCursor() {
4329
- var _a;
4330
-
4331
- return "%cursor:" + (__classPrivateFieldSet$1(this, _cursorCount, (_a = +__classPrivateFieldGet$1(this, _cursorCount)) + 1), _a) + "%";
4188
+ return "%cursor:" + this._cursorCount++ + "%";
4332
4189
  }
4333
4190
 
4334
4191
  get scope() {
4335
- return __classPrivateFieldGet$1(this, _currentScope);
4192
+ return this._currentScope;
4336
4193
  }
4337
4194
 
4338
4195
  visitBlock(block) {
4339
- var oldBlock = __classPrivateFieldGet$1(this, _currentScope);
4340
-
4341
- __classPrivateFieldSet$1(this, _currentScope, block.scope);
4196
+ var oldBlock = this._currentScope;
4197
+ this._currentScope = block.scope;
4342
4198
 
4343
4199
  try {
4344
4200
  return VISIT_STMTS.visitList(block.body, this);
4345
4201
  } finally {
4346
- __classPrivateFieldSet$1(this, _currentScope, oldBlock);
4202
+ this._currentScope = oldBlock;
4347
4203
  }
4348
4204
  }
4349
4205
 
4350
4206
  }
4351
-
4352
- _currentScope = new WeakMap(), _cursorCount = new WeakMap();
4353
4207
  /**
4354
4208
  * Normalize the AST from @glimmer/syntax into the HIR. The HIR has special
4355
4209
  * instructions for keywords like `{{yield}}`, `(has-block)` and
@@ -4389,6 +4243,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4389
4243
  * ```
4390
4244
  */
4391
4245
 
4246
+
4392
4247
  function normalize$1(source, root, isStrict) {
4393
4248
  // create a new context for the normalization pass
4394
4249
  var state = new NormalizationState(root.table, isStrict);
@@ -4489,11 +4344,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4489
4344
  :
4490
4345
  return ['yield', opcode[1], this.formatParams(opcode[2])];
4491
4346
 
4492
- case 19
4493
- /* Partial */
4494
- :
4495
- return ['partial', this.formatOpcode(opcode[1]), opcode[2]];
4496
-
4497
4347
  case 20
4498
4348
  /* DynamicArg */
4499
4349
  :
@@ -4569,11 +4419,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4569
4419
  :
4570
4420
  return ['get-strict-free', this.upvars[opcode[1]], opcode[2]];
4571
4421
 
4572
- case 33
4573
- /* GetFreeAsFallback */
4574
- :
4575
- return ['GetFreeAsFallback', this.upvars[opcode[1]], opcode[2]];
4576
-
4577
4422
  case 34
4578
4423
  /* GetFreeAsComponentOrHelperHeadOrThisFallback */
4579
4424
  :
@@ -5032,9 +4877,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
5032
4877
  /* Debugger */
5033
4878
  , stmt.scope.getEvalInfo()];
5034
4879
 
5035
- case 'Partial':
5036
- return this.Partial(stmt);
5037
-
5038
4880
  case 'AppendComment':
5039
4881
  return this.AppendComment(stmt);
5040
4882
 
@@ -5082,15 +4924,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
5082
4924
  }
5083
4925
  }
5084
4926
 
5085
- Partial({
5086
- target,
5087
- scope
5088
- }) {
5089
- return [19
5090
- /* Partial */
5091
- , EXPR.expr(target), scope.getEvalInfo()];
5092
- }
5093
-
5094
4927
  Yield({
5095
4928
  to,
5096
4929
  positional
@@ -5464,18 +5297,16 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
5464
5297
  isStrictMode: (_b = options.strictMode) !== null && _b !== void 0 ? _b : false
5465
5298
  };
5466
5299
 
5467
- if (!options.strictMode) {
5300
+ if (usedLocals.length === 0) {
5468
5301
  delete templateJSONObject.scope;
5469
5302
  } // JSON is javascript
5470
5303
 
5471
5304
 
5472
5305
  var stringified = JSON.stringify(templateJSONObject);
5473
5306
 
5474
- if (options.strictMode && usedLocals.length > 0) {
5307
+ if (usedLocals.length > 0) {
5475
5308
  var scopeFn = "()=>[" + usedLocals.join(',') + "]";
5476
5309
  stringified = stringified.replace("\"" + SCOPE_PLACEHOLDER + "\"", scopeFn);
5477
- } else {
5478
- stringified = stringified.replace("\"" + SCOPE_PLACEHOLDER + "\"", 'null');
5479
5310
  }
5480
5311
 
5481
5312
  return stringified;
@@ -6566,7 +6397,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6566
6397
 
6567
6398
  case 'each':
6568
6399
  var keyExpr = normalized.hash ? normalized.hash['key'] : null;
6569
- var key = keyExpr ? buildExpression(keyExpr, 'Generic', symbols) : null;
6400
+ var key = keyExpr ? buildExpression(keyExpr, 'Strict', symbols) : null;
6570
6401
  return [42
6571
6402
  /* Each */
6572
6403
  , params[0], key, block, inverse];
@@ -6758,7 +6589,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6758
6589
  {
6759
6590
  var builtParams = buildParams(expr.params, symbols);
6760
6591
  var builtHash = buildHash(expr.hash, symbols);
6761
- 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);
6762
6593
  return [28
6763
6594
  /* Call */
6764
6595
  , builtExpr, builtParams, builtHash];
@@ -6774,8 +6605,8 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6774
6605
  kind: VariableKind.Block,
6775
6606
  name: expr.name,
6776
6607
  mode: 'loose'
6777
- }, 4
6778
- /* LooseFreeVariable */
6608
+ }, 0
6609
+ /* Strict */
6779
6610
  , symbols)];
6780
6611
  }
6781
6612
 
@@ -6789,8 +6620,8 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6789
6620
  kind: VariableKind.Block,
6790
6621
  name: expr.name,
6791
6622
  mode: 'loose'
6792
- }, 4
6793
- /* LooseFreeVariable */
6623
+ }, 0
6624
+ /* Strict */
6794
6625
  , symbols)];
6795
6626
  }
6796
6627
 
@@ -6823,8 +6654,8 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6823
6654
  }
6824
6655
 
6825
6656
  function buildGetPath(head, symbols) {
6826
- return buildVar(head.path.head, 4
6827
- /* LooseFreeVariable */
6657
+ return buildVar(head.path.head, 0
6658
+ /* Strict */
6828
6659
  , symbols, head.path.tail);
6829
6660
  }
6830
6661
 
@@ -6868,10 +6699,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6868
6699
  op = 37
6869
6700
  /* GetFreeAsHelperHead */
6870
6701
  ;
6871
- } else if (context === 'Generic') {
6872
- op = 33
6873
- /* GetFreeAsFallback */
6874
- ;
6875
6702
  } else {
6876
6703
  op = expressionContextOp(context);
6877
6704
  }
@@ -6942,13 +6769,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6942
6769
  /* GetFreeAsHelperHeadOrThisFallback */
6943
6770
  ;
6944
6771
 
6945
- case 4
6946
- /* LooseFreeVariable */
6947
- :
6948
- return 33
6949
- /* GetFreeAsFallback */
6950
- ;
6951
-
6952
6772
  case 5
6953
6773
  /* ResolveAsCallHead */
6954
6774
  :
@@ -6977,7 +6797,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6977
6797
 
6978
6798
  function buildParams(exprs, symbols) {
6979
6799
  if (exprs === null || !(0, _util.isPresent)(exprs)) return null;
6980
- return exprs.map(e => buildExpression(e, 'Generic', symbols));
6800
+ return exprs.map(e => buildExpression(e, 'Strict', symbols));
6981
6801
  }
6982
6802
 
6983
6803
  function buildConcat(exprs, symbols) {
@@ -6989,7 +6809,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
6989
6809
  var out = [[], []];
6990
6810
  Object.keys(exprs).forEach(key => {
6991
6811
  out[0].push(key);
6992
- out[1].push(buildExpression(exprs[key], 'Generic', symbols));
6812
+ out[1].push(buildExpression(exprs[key], 'Strict', symbols));
6993
6813
  });
6994
6814
  return out;
6995
6815
  }
@@ -7102,27 +6922,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7102
6922
  }
7103
6923
 
7104
6924
  }
7105
-
7106
- _exports.SourceSlice = SourceSlice;
7107
-
7108
- var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7109
- if (!privateMap.has(receiver)) {
7110
- throw new TypeError("attempted to set private field on non-instance");
7111
- }
7112
-
7113
- privateMap.set(receiver, value);
7114
- return value;
7115
- };
7116
-
7117
- var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7118
- if (!privateMap.has(receiver)) {
7119
- throw new TypeError("attempted to get private field on non-instance");
7120
- }
7121
-
7122
- return privateMap.get(receiver);
7123
- };
7124
-
7125
- var _whens, _map, _whens_1;
7126
6925
  /**
7127
6926
  * This file implements the DSL used by span and offset in places where they need to exhaustively
7128
6927
  * consider all combinations of states (Handlebars offsets, character offsets and invisible/broken
@@ -7133,18 +6932,17 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7133
6932
  */
7134
6933
 
7135
6934
 
6935
+ _exports.SourceSlice = SourceSlice;
7136
6936
  var MatchAny = 'MATCH_ANY';
7137
6937
  var IsInvisible = 'IS_INVISIBLE';
7138
6938
 
7139
6939
  class WhenList {
7140
6940
  constructor(whens) {
7141
- _whens.set(this, void 0);
7142
-
7143
- __classPrivateFieldSet(this, _whens, whens);
6941
+ this._whens = whens;
7144
6942
  }
7145
6943
 
7146
6944
  first(kind) {
7147
- for (var when of __classPrivateFieldGet(this, _whens)) {
6945
+ for (var when of this._whens) {
7148
6946
  var value = when.match(kind);
7149
6947
 
7150
6948
  if ((0, _util.isPresent)(value)) {
@@ -7157,15 +6955,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7157
6955
 
7158
6956
  }
7159
6957
 
7160
- _whens = new WeakMap();
7161
-
7162
6958
  class When {
7163
6959
  constructor() {
7164
- _map.set(this, new Map());
6960
+ this._map = new Map();
7165
6961
  }
7166
6962
 
7167
6963
  get(pattern, or) {
7168
- var value = __classPrivateFieldGet(this, _map).get(pattern);
6964
+ var value = this._map.get(pattern);
7169
6965
 
7170
6966
  if (value) {
7171
6967
  return value;
@@ -7173,22 +6969,22 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7173
6969
 
7174
6970
  value = or();
7175
6971
 
7176
- __classPrivateFieldGet(this, _map).set(pattern, value);
6972
+ this._map.set(pattern, value);
7177
6973
 
7178
6974
  return value;
7179
6975
  }
7180
6976
 
7181
6977
  add(pattern, out) {
7182
- __classPrivateFieldGet(this, _map).set(pattern, out);
6978
+ this._map.set(pattern, out);
7183
6979
  }
7184
6980
 
7185
6981
  match(kind) {
7186
6982
  var pattern = patternFor(kind);
7187
6983
  var out = [];
7188
6984
 
7189
- var exact = __classPrivateFieldGet(this, _map).get(pattern);
6985
+ var exact = this._map.get(pattern);
7190
6986
 
7191
- var fallback = __classPrivateFieldGet(this, _map).get(MatchAny);
6987
+ var fallback = this._map.get(MatchAny);
7192
6988
 
7193
6989
  if (exact) {
7194
6990
  out.push(exact);
@@ -7203,15 +6999,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7203
6999
 
7204
7000
  }
7205
7001
 
7206
- _map = new WeakMap();
7207
-
7208
7002
  function match(callback) {
7209
7003
  return callback(new Matcher()).check();
7210
7004
  }
7211
7005
 
7212
7006
  class Matcher {
7213
7007
  constructor() {
7214
- _whens_1.set(this, new When());
7008
+ this._whens = new When();
7215
7009
  }
7216
7010
  /**
7217
7011
  * You didn't exhaustively match all possibilities.
@@ -7223,7 +7017,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7223
7017
  }
7224
7018
 
7225
7019
  matchFor(left, right) {
7226
- var nesteds = __classPrivateFieldGet(this, _whens_1).match(left);
7020
+ var nesteds = this._whens.match(left);
7227
7021
 
7228
7022
  var callback = new WhenList(nesteds).first(right);
7229
7023
  return callback;
@@ -7231,15 +7025,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7231
7025
 
7232
7026
  when(left, right, // eslint-disable-next-line @typescript-eslint/no-explicit-any
7233
7027
  callback) {
7234
- __classPrivateFieldGet(this, _whens_1).get(left, () => new When()).add(right, callback);
7028
+ this._whens.get(left, () => new When()).add(right, callback);
7235
7029
 
7236
7030
  return this;
7237
7031
  }
7238
7032
 
7239
7033
  }
7240
7034
 
7241
- _whens_1 = new WeakMap();
7242
-
7243
7035
  function patternFor(kind) {
7244
7036
  switch (kind) {
7245
7037
  case "Broken"
@@ -7256,26 +7048,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7256
7048
  default:
7257
7049
  return kind;
7258
7050
  }
7259
- }
7260
-
7261
- var __classPrivateFieldGet$1 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7262
- if (!privateMap.has(receiver)) {
7263
- throw new TypeError("attempted to get private field on non-instance");
7264
- }
7265
-
7266
- return privateMap.get(receiver);
7267
- };
7268
-
7269
- var __classPrivateFieldSet$1 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7270
- if (!privateMap.has(receiver)) {
7271
- throw new TypeError("attempted to set private field on non-instance");
7272
- }
7273
-
7274
- privateMap.set(receiver, value);
7275
- return value;
7276
- };
7277
-
7278
- var _locPos, _charPos; // eslint-disable-next-line import/no-extraneous-dependencies
7051
+ } // eslint-disable-next-line import/no-extraneous-dependencies
7279
7052
 
7280
7053
  /**
7281
7054
  * Used to indicate that an attempt to convert a `SourcePosition` to a character offset failed. It
@@ -7410,7 +7183,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7410
7183
  ;
7411
7184
  /** Computed from char offset */
7412
7185
 
7413
- _locPos.set(this, null);
7186
+ this._locPos = null;
7414
7187
  }
7415
7188
  /**
7416
7189
  * This is already a `CharPosition`.
@@ -7457,15 +7230,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7457
7230
 
7458
7231
 
7459
7232
  toHbsPos() {
7460
- var locPos = __classPrivateFieldGet$1(this, _locPos);
7233
+ var locPos = this._locPos;
7461
7234
 
7462
7235
  if (locPos === null) {
7463
7236
  var hbsPos = this.source.hbsPosFor(this.charPos);
7464
7237
 
7465
7238
  if (hbsPos === null) {
7466
- __classPrivateFieldSet$1(this, _locPos, locPos = BROKEN);
7239
+ this._locPos = locPos = BROKEN;
7467
7240
  } else {
7468
- __classPrivateFieldSet$1(this, _locPos, locPos = new HbsPosition(this.source, hbsPos, this.charPos));
7241
+ this._locPos = locPos = new HbsPosition(this.source, hbsPos, this.charPos);
7469
7242
  }
7470
7243
  }
7471
7244
 
@@ -7474,8 +7247,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7474
7247
 
7475
7248
  }
7476
7249
 
7477
- _locPos = new WeakMap();
7478
-
7479
7250
  class HbsPosition {
7480
7251
  constructor(source, hbsPos, charPos = null) {
7481
7252
  this.source = source;
@@ -7483,10 +7254,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7483
7254
  this.kind = "HbsPosition"
7484
7255
  /* HbsPosition */
7485
7256
  ;
7486
-
7487
- _charPos.set(this, void 0);
7488
-
7489
- __classPrivateFieldSet$1(this, _charPos, charPos === null ? null : new CharPosition(source, charPos));
7257
+ this._charPos = charPos === null ? null : new CharPosition(source, charPos);
7490
7258
  }
7491
7259
  /**
7492
7260
  * Lazily compute the character offset from the {@see SourcePosition}. Once an `HbsPosition` has
@@ -7499,15 +7267,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7499
7267
 
7500
7268
 
7501
7269
  toCharPos() {
7502
- var charPos = __classPrivateFieldGet$1(this, _charPos);
7270
+ var charPos = this._charPos;
7503
7271
 
7504
7272
  if (charPos === null) {
7505
7273
  var charPosNumber = this.source.charPosFor(this.hbsPos);
7506
7274
 
7507
7275
  if (charPosNumber === null) {
7508
- __classPrivateFieldSet$1(this, _charPos, charPos = BROKEN);
7276
+ this._charPos = charPos = BROKEN;
7509
7277
  } else {
7510
- __classPrivateFieldSet$1(this, _charPos, charPos = new CharPosition(this.source, charPosNumber));
7278
+ this._charPos = charPos = new CharPosition(this.source, charPosNumber);
7511
7279
  }
7512
7280
  }
7513
7281
 
@@ -7541,8 +7309,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7541
7309
 
7542
7310
  }
7543
7311
 
7544
- _charPos = new WeakMap();
7545
-
7546
7312
  class InvisiblePosition {
7547
7313
  constructor(kind, // whatever was provided, possibly broken
7548
7314
  pos) {
@@ -7622,26 +7388,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7622
7388
  var _a;
7623
7389
 
7624
7390
  return ((_a = left.toCharPos()) === null || _a === void 0 ? void 0 : _a.offset) === right;
7625
- }).when(MatchAny, MatchAny, () => false));
7626
-
7627
- var __classPrivateFieldGet$2 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7628
- if (!privateMap.has(receiver)) {
7629
- throw new TypeError("attempted to get private field on non-instance");
7630
- }
7631
-
7632
- return privateMap.get(receiver);
7633
- };
7634
-
7635
- var __classPrivateFieldSet$2 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7636
- if (!privateMap.has(receiver)) {
7637
- throw new TypeError("attempted to set private field on non-instance");
7638
- }
7639
-
7640
- privateMap.set(receiver, value);
7641
- return value;
7642
- };
7643
-
7644
- 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
7645
7392
 
7646
7393
  /**
7647
7394
  * A `SourceSpan` object represents a span of characters inside of a template source.
@@ -7678,7 +7425,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7678
7425
  * The goal is to avoid creating any problems for use-cases like AST Explorer.
7679
7426
  */
7680
7427
 
7681
-
7682
7428
  class SourceSpan {
7683
7429
  constructor(data) {
7684
7430
  this.data = data;
@@ -7934,8 +7680,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7934
7680
  this.kind = "CharPosition"
7935
7681
  /* CharPosition */
7936
7682
  ;
7937
-
7938
- _locPosSpan.set(this, null);
7683
+ this._locPosSpan = null;
7939
7684
  }
7940
7685
 
7941
7686
  wrap() {
@@ -7961,19 +7706,19 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7961
7706
  locDidUpdate() {}
7962
7707
 
7963
7708
  toHbsSpan() {
7964
- var locPosSpan = __classPrivateFieldGet$2(this, _locPosSpan);
7709
+ var locPosSpan = this._locPosSpan;
7965
7710
 
7966
7711
  if (locPosSpan === null) {
7967
7712
  var start = this.charPositions.start.toHbsPos();
7968
7713
  var end = this.charPositions.end.toHbsPos();
7969
7714
 
7970
7715
  if (start === null || end === null) {
7971
- locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, BROKEN);
7716
+ locPosSpan = this._locPosSpan = BROKEN;
7972
7717
  } else {
7973
- locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, new HbsSpan(this.source, {
7718
+ locPosSpan = this._locPosSpan = new HbsSpan(this.source, {
7974
7719
  start,
7975
7720
  end
7976
- }));
7721
+ });
7977
7722
  }
7978
7723
  }
7979
7724
 
@@ -8003,8 +7748,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8003
7748
 
8004
7749
  }
8005
7750
 
8006
- _locPosSpan = new WeakMap();
8007
-
8008
7751
  class HbsSpan {
8009
7752
  constructor(source, hbsPositions, providedHbsLoc = null) {
8010
7753
  this.source = source;
@@ -8012,13 +7755,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8012
7755
  this.kind = "HbsPosition"
8013
7756
  /* HbsPosition */
8014
7757
  ;
8015
-
8016
- _charPosSpan.set(this, null); // the source location from Handlebars + AST Plugins -- could be wrong
8017
-
8018
-
8019
- _providedHbsLoc.set(this, void 0);
8020
-
8021
- __classPrivateFieldSet$2(this, _providedHbsLoc, providedHbsLoc);
7758
+ this._charPosSpan = null;
7759
+ this._providedHbsLoc = providedHbsLoc;
8022
7760
  }
8023
7761
 
8024
7762
  serialize() {
@@ -8033,17 +7771,16 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8033
7771
  }
8034
7772
 
8035
7773
  updateProvided(pos, edge) {
8036
- if (__classPrivateFieldGet$2(this, _providedHbsLoc)) {
8037
- __classPrivateFieldGet$2(this, _providedHbsLoc)[edge] = pos;
7774
+ if (this._providedHbsLoc) {
7775
+ this._providedHbsLoc[edge] = pos;
8038
7776
  } // invalidate computed character offsets
8039
7777
 
8040
7778
 
8041
- __classPrivateFieldSet$2(this, _charPosSpan, null);
8042
-
8043
- __classPrivateFieldSet$2(this, _providedHbsLoc, {
7779
+ this._charPosSpan = null;
7780
+ this._providedHbsLoc = {
8044
7781
  start: pos,
8045
7782
  end: pos
8046
- });
7783
+ };
8047
7784
  }
8048
7785
 
8049
7786
  locDidUpdate({
@@ -8090,19 +7827,19 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8090
7827
  }
8091
7828
 
8092
7829
  toCharPosSpan() {
8093
- var charPosSpan = __classPrivateFieldGet$2(this, _charPosSpan);
7830
+ var charPosSpan = this._charPosSpan;
8094
7831
 
8095
7832
  if (charPosSpan === null) {
8096
7833
  var start = this.hbsPositions.start.toCharPos();
8097
7834
  var end = this.hbsPositions.end.toCharPos();
8098
7835
 
8099
7836
  if (start && end) {
8100
- charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, new CharPositionSpan(this.source, {
7837
+ charPosSpan = this._charPosSpan = new CharPositionSpan(this.source, {
8101
7838
  start,
8102
7839
  end
8103
- }));
7840
+ });
8104
7841
  } else {
8105
- charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, BROKEN);
7842
+ charPosSpan = this._charPosSpan = BROKEN;
8106
7843
  return null;
8107
7844
  }
8108
7845
  }
@@ -8112,8 +7849,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8112
7849
 
8113
7850
  }
8114
7851
 
8115
- _charPosSpan = new WeakMap(), _providedHbsLoc = new WeakMap();
8116
-
8117
7852
  class InvisibleSpan {
8118
7853
  constructor(kind, // whatever was provided, possibly broken
8119
7854
  loc, // if the span represents a synthetic string
@@ -8340,7 +8075,9 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8340
8075
  this.loc = loc;
8341
8076
  this.type = 'PathExpression';
8342
8077
  this.this = false;
8343
- this.data = false;
8078
+ this.data = false; // Cache for the head value.
8079
+
8080
+ this._head = undefined;
8344
8081
  var parts = tail.slice();
8345
8082
 
8346
8083
  if (head.type === 'ThisHead') {
@@ -8356,6 +8093,10 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8356
8093
  }
8357
8094
 
8358
8095
  get head() {
8096
+ if (this._head) {
8097
+ return this._head;
8098
+ }
8099
+
8359
8100
  var firstPart;
8360
8101
 
8361
8102
  if (this.this) {
@@ -8369,7 +8110,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8369
8110
  var firstPartLoc = this.loc.collapse('start').sliceStartChars({
8370
8111
  chars: firstPart.length
8371
8112
  }).loc;
8372
- return publicBuilder.head(firstPart, firstPartLoc);
8113
+ return this._head = publicBuilder.head(firstPart, firstPartLoc);
8373
8114
  }
8374
8115
 
8375
8116
  get tail() {
@@ -9005,8 +8746,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9005
8746
 
9006
8747
  resolution() {
9007
8748
  if (this.ambiguity.namespaces.length === 0) {
9008
- return 33
9009
- /* GetFreeAsFallback */
8749
+ return 31
8750
+ /* GetStrictFree */
9010
8751
  ;
9011
8752
  } else if (this.ambiguity.namespaces.length === 1) {
9012
8753
  if (this.ambiguity.fallback) {
@@ -9128,8 +8869,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9128
8869
  return class {
9129
8870
  constructor(fields) {
9130
8871
  this.type = type;
9131
- this.loc = fields.loc;
9132
- copy(fields, this);
8872
+ (0, _util.assign)(this, fields);
9133
8873
  }
9134
8874
 
9135
8875
  };
@@ -9141,8 +8881,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9141
8881
  fields() {
9142
8882
  return class {
9143
8883
  constructor(fields) {
9144
- this.loc = fields.loc;
9145
- copy(fields, this);
8884
+ (0, _util.assign)(this, fields);
9146
8885
  }
9147
8886
 
9148
8887
  };
@@ -9151,16 +8890,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9151
8890
  };
9152
8891
  }
9153
8892
  }
9154
-
9155
- function keys(object) {
9156
- return Object.keys(object);
9157
- }
9158
-
9159
- function copy(object1, object2) {
9160
- for (var key of keys(object1)) {
9161
- object2[key] = object1[key];
9162
- }
9163
- }
9164
8893
  /**
9165
8894
  * Corresponds to syntaxes with positional and named arguments:
9166
8895
  *
@@ -9320,30 +9049,9 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9320
9049
 
9321
9050
  class ElementModifier extends node('ElementModifier').fields() {}
9322
9051
 
9323
- var __classPrivateFieldSet$3 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
9324
- if (!privateMap.has(receiver)) {
9325
- throw new TypeError("attempted to set private field on non-instance");
9326
- }
9327
-
9328
- privateMap.set(receiver, value);
9329
- return value;
9330
- };
9331
-
9332
- var __classPrivateFieldGet$3 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
9333
- if (!privateMap.has(receiver)) {
9334
- throw new TypeError("attempted to get private field on non-instance");
9335
- }
9336
-
9337
- return privateMap.get(receiver);
9338
- };
9339
-
9340
- var _span;
9341
-
9342
9052
  class SpanList {
9343
9053
  constructor(span = []) {
9344
- _span.set(this, void 0);
9345
-
9346
- __classPrivateFieldSet$3(this, _span, span);
9054
+ this._span = span;
9347
9055
  }
9348
9056
 
9349
9057
  static range(span, fallback = SourceSpan.NON_EXISTENT) {
@@ -9351,17 +9059,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9351
9059
  }
9352
9060
 
9353
9061
  add(offset) {
9354
- __classPrivateFieldGet$3(this, _span).push(offset);
9062
+ this._span.push(offset);
9355
9063
  }
9356
9064
 
9357
9065
  getRangeOffset(fallback) {
9358
- if (__classPrivateFieldGet$3(this, _span).length === 0) {
9066
+ if (this._span.length === 0) {
9359
9067
  return fallback;
9360
9068
  } else {
9361
- var first = __classPrivateFieldGet$3(this, _span)[0];
9362
-
9363
- var last = __classPrivateFieldGet$3(this, _span)[__classPrivateFieldGet$3(this, _span).length - 1];
9364
-
9069
+ var first = this._span[0];
9070
+ var last = this._span[this._span.length - 1];
9365
9071
  return first.extend(last);
9366
9072
  }
9367
9073
  }
@@ -9369,7 +9075,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9369
9075
  }
9370
9076
 
9371
9077
  _exports.SpanList = SpanList;
9372
- _span = new WeakMap();
9373
9078
 
9374
9079
  function loc(span) {
9375
9080
  if (Array.isArray(span)) {
@@ -10361,160 +10066,11 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
10361
10066
  return new TraversalError('Replacing and removing in key handlers is not yet supported.', node, null, key);
10362
10067
  }
10363
10068
 
10364
- function getLocalName(node) {
10365
- switch (node.type) {
10366
- case 'ElementNode':
10367
- // unfortunately the ElementNode stores `tag` as a string
10368
- // if that changes in glimmer-vm this will need to be updated
10369
- return node.tag.split('.')[0];
10370
-
10371
- case 'SubExpression':
10372
- case 'MustacheStatement':
10373
- case 'BlockStatement':
10374
- return getLocalName(node.path);
10375
-
10376
- case 'UndefinedLiteral':
10377
- case 'NullLiteral':
10378
- case 'BooleanLiteral':
10379
- case 'StringLiteral':
10380
- case 'NumberLiteral':
10381
- case 'TextNode':
10382
- case 'Template':
10383
- case 'Block':
10384
- case 'CommentStatement':
10385
- case 'MustacheCommentStatement':
10386
- case 'PartialStatement':
10387
- case 'ElementModifierStatement':
10388
- case 'AttrNode':
10389
- case 'ConcatStatement':
10390
- case 'Program':
10391
- case 'Hash':
10392
- case 'HashPair':
10393
- return undefined;
10394
-
10395
- case 'PathExpression':
10396
- default:
10397
- return node.parts.length ? node.parts[0] : undefined;
10398
- }
10399
- }
10400
-
10401
- function getLocals(node) {
10402
- switch (node.type) {
10403
- case 'ElementNode':
10404
- case 'Program':
10405
- case 'Block':
10406
- case 'Template':
10407
- return node.blockParams;
10408
-
10409
- case 'BlockStatement':
10410
- return node.program.blockParams;
10411
-
10412
- default:
10413
- return undefined;
10414
- }
10415
- }
10416
-
10417
- class TransformScope {
10418
- constructor(locals) {
10419
- this.locals = locals;
10420
- this.hasPartial = false;
10421
- this.usedLocals = {};
10422
-
10423
- for (var local of locals) {
10424
- this.usedLocals[local] = false;
10425
- }
10426
- }
10427
-
10428
- child(node) {
10429
- var locals = getLocals(node);
10430
- return locals ? new ChildTransformScope(locals, this) : this;
10431
- }
10432
-
10433
- usePartial() {
10434
- this.hasPartial = true;
10435
- }
10436
-
10437
- }
10438
-
10439
- class RootTransformScope extends TransformScope {
10440
- constructor(node) {
10441
- var _a;
10442
-
10443
- var locals = (_a = getLocals(node)) !== null && _a !== void 0 ? _a : [];
10444
- super(locals);
10445
- }
10446
-
10447
- useLocal(node) {
10448
- var name = getLocalName(node);
10449
-
10450
- if (name && name in this.usedLocals) {
10451
- this.usedLocals[name] = true;
10452
- }
10453
- }
10454
-
10455
- isLocal(name) {
10456
- return this.locals.indexOf(name) !== -1;
10457
- }
10458
-
10459
- currentUnusedLocals() {
10460
- if (!this.hasPartial && this.locals.length > 0) {
10461
- return this.locals.filter(local => !this.usedLocals[local]);
10462
- }
10463
-
10464
- return false;
10465
- }
10466
-
10467
- }
10468
-
10469
- class ChildTransformScope extends TransformScope {
10470
- constructor(locals, parent) {
10471
- super(locals);
10472
- this.parent = parent;
10473
- }
10474
-
10475
- useLocal(node) {
10476
- var name = getLocalName(node);
10477
-
10478
- if (name && name in this.usedLocals) {
10479
- this.usedLocals[name] = true;
10480
- } else {
10481
- this.parent.useLocal(node);
10482
- }
10483
- }
10484
-
10485
- isLocal(name) {
10486
- return this.locals.indexOf(name) !== -1 || this.parent.isLocal(name);
10487
- }
10488
-
10489
- currentUnusedLocals() {
10490
- if (!this.hasPartial && this.locals.length > 0) {
10491
- // We only care about the last local, because if it is used then it implies
10492
- // usage of the others (specifically when in a child block, |foo bar|)
10493
- if (!this.usedLocals[this.locals[this.locals.length - 1]]) {
10494
- return [this.locals[this.locals.length - 1]];
10495
- }
10496
- }
10497
-
10498
- return false;
10499
- }
10500
-
10501
- }
10502
-
10503
10069
  class WalkerPath {
10504
10070
  constructor(node, parent = null, parentKey = null) {
10505
10071
  this.node = node;
10506
10072
  this.parent = parent;
10507
10073
  this.parentKey = parentKey;
10508
- this.scope = parent ? parent.scope.child(node) : new RootTransformScope(node); // Consume in scope values
10509
-
10510
- if (node.type === 'PathExpression') {
10511
- this.scope.useLocal(node);
10512
- }
10513
-
10514
- if (node.type === 'ElementNode') {
10515
- this.scope.useLocal(node);
10516
- node.children.forEach(node => this.scope.useLocal(node));
10517
- }
10518
10074
  }
10519
10075
 
10520
10076
  get parentNode() {
@@ -10634,10 +10190,10 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
10634
10190
  }
10635
10191
 
10636
10192
  if (result === undefined) {
10637
- var _keys = visitorKeys[node.type];
10193
+ var keys = visitorKeys[node.type];
10638
10194
 
10639
- for (var i = 0; i < _keys.length; i++) {
10640
- 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
10641
10197
 
10642
10198
  visitKey(visitor, handler, path, key);
10643
10199
  }
@@ -12267,25 +11823,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12267
11823
  return program;
12268
11824
  }
12269
11825
 
12270
- var __classPrivateFieldSet$4 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
12271
- if (!privateMap.has(receiver)) {
12272
- throw new TypeError("attempted to set private field on non-instance");
12273
- }
12274
-
12275
- privateMap.set(receiver, value);
12276
- return value;
12277
- };
12278
-
12279
- var __classPrivateFieldGet$4 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
12280
- if (!privateMap.has(receiver)) {
12281
- throw new TypeError("attempted to get private field on non-instance");
12282
- }
12283
-
12284
- return privateMap.get(receiver);
12285
- };
12286
-
12287
- var _hasEval;
12288
-
12289
11826
  class SymbolTable {
12290
11827
  static top(locals, customizeComponentName) {
12291
11828
  return new ProgramSymbolTable(locals, customizeComponentName);
@@ -12311,8 +11848,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12311
11848
  this.named = (0, _util.dict)();
12312
11849
  this.blocks = (0, _util.dict)();
12313
11850
  this.usedTemplateLocals = [];
12314
-
12315
- _hasEval.set(this, false);
11851
+ this._hasEval = false;
12316
11852
  }
12317
11853
 
12318
11854
  getUsedTemplateLocals() {
@@ -12320,11 +11856,11 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12320
11856
  }
12321
11857
 
12322
11858
  setHasEval() {
12323
- __classPrivateFieldSet$4(this, _hasEval, true);
11859
+ this._hasEval = true;
12324
11860
  }
12325
11861
 
12326
11862
  get hasEval() {
12327
- return __classPrivateFieldGet$4(this, _hasEval);
11863
+ return this._hasEval;
12328
11864
  }
12329
11865
 
12330
11866
  has(name) {
@@ -12404,7 +11940,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12404
11940
  }
12405
11941
 
12406
11942
  _exports.ProgramSymbolTable = ProgramSymbolTable;
12407
- _hasEval = new WeakMap();
12408
11943
 
12409
11944
  class BlockSymbolTable extends SymbolTable {
12410
11945
  constructor(parent, symbols, slots) {
@@ -12921,7 +12456,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12921
12456
  strictMode: false,
12922
12457
  locals: []
12923
12458
  }, options);
12924
- 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
12925
12460
  options.customizeComponentName) !== null && _a !== void 0 ? _a : name => name);
12926
12461
  var block = new BlockContext(source, normalizeOptions, top);
12927
12462
  var normalizer = new StatementNormalizer(block);
@@ -17633,31 +17168,19 @@ define("ember-template-compiler/index", ["exports", "@ember/-internals/environme
17633
17168
  return _compileOptions.transformsFor;
17634
17169
  }
17635
17170
  });
17636
- Object.defineProperty(_exports, "registerPlugin", {
17171
+ Object.defineProperty(_exports, "RESOLUTION_MODE_TRANSFORMS", {
17637
17172
  enumerable: true,
17638
17173
  get: function () {
17639
- return _compileOptions.registerPlugin;
17174
+ return _index.RESOLUTION_MODE_TRANSFORMS;
17640
17175
  }
17641
17176
  });
17642
- Object.defineProperty(_exports, "unregisterPlugin", {
17177
+ Object.defineProperty(_exports, "STRICT_MODE_TRANSFORMS", {
17643
17178
  enumerable: true,
17644
17179
  get: function () {
17645
- return _compileOptions.unregisterPlugin;
17180
+ return _index.STRICT_MODE_TRANSFORMS;
17646
17181
  }
17647
17182
  });
17648
- Object.defineProperty(_exports, "RESOLUTION_MODE_TRANSFORMS", {
17649
- enumerable: true,
17650
- get: function () {
17651
- return _index.RESOLUTION_MODE_TRANSFORMS;
17652
- }
17653
- });
17654
- Object.defineProperty(_exports, "STRICT_MODE_TRANSFORMS", {
17655
- enumerable: true,
17656
- get: function () {
17657
- return _index.STRICT_MODE_TRANSFORMS;
17658
- }
17659
- });
17660
- Object.defineProperty(_exports, "_precompile", {
17183
+ Object.defineProperty(_exports, "_precompile", {
17661
17184
  enumerable: true,
17662
17185
  get: function () {
17663
17186
  return _compiler.precompile;
@@ -18031,7 +17554,7 @@ define("ember-template-compiler/lib/plugins/assert-splattribute-expression", ["e
18031
17554
  return '`...attributes` can only be used in the element position e.g. `<div ...attributes />`. It cannot be used as a path.';
18032
17555
  }
18033
17556
  });
18034
- 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-old-class-binding-syntax", "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, _transformOldClassBindingSyntax, _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) {
18035
17558
  "use strict";
18036
17559
 
18037
17560
  Object.defineProperty(_exports, "__esModule", {
@@ -18039,7 +17562,7 @@ define("ember-template-compiler/lib/plugins/index", ["exports", "ember-template-
18039
17562
  });
18040
17563
  _exports.STRICT_MODE_TRANSFORMS = _exports.RESOLUTION_MODE_TRANSFORMS = void 0;
18041
17564
  // order of plugins is important
18042
- var RESOLUTION_MODE_TRANSFORMS = Object.freeze([_transformOldClassBindingSyntax.default, _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
18043
17566
  /* EMBER_NAMED_BLOCKS */
18044
17567
  ? _assertAgainstNamedBlocks.default : null, true
18045
17568
  /* EMBER_DYNAMIC_HELPERS_AND_MODIFIERS */
@@ -18296,303 +17819,6 @@ define("ember-template-compiler/lib/plugins/transform-in-element", ["exports", "
18296
17819
  };
18297
17820
  }
18298
17821
  });
18299
- 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) {
18300
- "use strict";
18301
-
18302
- Object.defineProperty(_exports, "__esModule", {
18303
- value: true
18304
- });
18305
- _exports.default = transformLinkTo;
18306
-
18307
- function isInlineLinkTo(node) {
18308
- return (0, _utils.isPath)(node.path) && node.path.original === 'link-to';
18309
- }
18310
-
18311
- function isBlockLinkTo(node) {
18312
- return (0, _utils.isPath)(node.path) && node.path.original === 'link-to';
18313
- }
18314
-
18315
- function isQueryParams(node) {
18316
- return (0, _utils.isSubExpression)(node) && (0, _utils.isPath)(node.path) && node.path.original === 'query-params';
18317
- }
18318
-
18319
- function transformInlineLinkToIntoBlockForm(env, node) {
18320
- var {
18321
- builders: b
18322
- } = env.syntax;
18323
- 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);
18324
- }
18325
-
18326
- function transformPositionalLinkToIntoNamedArguments(env, node, hasBlock = true) {
18327
- var _a, _b;
18328
-
18329
- var {
18330
- builders: b
18331
- } = env.syntax;
18332
- var moduleName = (_a = env.meta) === null || _a === void 0 ? void 0 : _a.moduleName;
18333
- var {
18334
- params,
18335
- hash: {
18336
- pairs
18337
- }
18338
- } = node;
18339
- var keys = pairs.map(pair => pair.key);
18340
-
18341
- if (params.length === 0) {
18342
- (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));
18343
- return node;
18344
- } else {
18345
- (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));
18346
- (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));
18347
- (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));
18348
- (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));
18349
- (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));
18350
- }
18351
-
18352
- (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));
18353
- var equivalentNamedArgs = [];
18354
- var hasQueryParams = false; // 1. The last argument is possibly the `query` object.
18355
-
18356
- var query = params[params.length - 1];
18357
-
18358
- if (query && isQueryParams(query)) {
18359
- params.pop();
18360
- (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));
18361
- pairs.push(b.pair('query', b.sexpr(b.path('-hash', query.path.loc), [], query.hash, query.loc), query.loc));
18362
- hasQueryParams = true;
18363
- } // 2. If there is a `route`, it is now at index 0.
18364
-
18365
-
18366
- var route = params.shift();
18367
-
18368
- if (route) {
18369
- pairs.push(b.pair('route', route, route.loc));
18370
- equivalentNamedArgs.push('`@route`');
18371
- } // 3. Any remaining indices (if any) are `models`.
18372
-
18373
-
18374
- if (params.length === 1) {
18375
- pairs.push(b.pair('model', params[0], params[0].loc));
18376
- equivalentNamedArgs.push('`@model`');
18377
- } else if (params.length > 1) {
18378
- pairs.push(b.pair('models', b.sexpr(b.path('array', node.loc), params, undefined, node.loc), node.loc));
18379
- equivalentNamedArgs.push('`@models`');
18380
- }
18381
-
18382
- if (hasQueryParams) {
18383
- equivalentNamedArgs.push('`@query`');
18384
- }
18385
-
18386
- if (equivalentNamedArgs.length > 0) {
18387
- var message = 'Invoking the `<LinkTo>` component with positional arguments is deprecated.';
18388
- message += "Please use the equivalent named arguments (" + equivalentNamedArgs.join(', ') + ")";
18389
-
18390
- if (hasQueryParams) {
18391
- message += ' along with the `hash` helper';
18392
- }
18393
-
18394
- if (!hasBlock) {
18395
- message += " and pass a block for the link's content.";
18396
- }
18397
-
18398
- message += '.';
18399
-
18400
- if ((_b = node.loc) === null || _b === void 0 ? void 0 : _b.source) {
18401
- message += " " + (0, _calculateLocationDisplay.default)(moduleName, node.loc);
18402
- }
18403
-
18404
- (true && !(false) && (0, _debug.deprecate)(message, false, {
18405
- id: 'ember-glimmer.link-to.positional-arguments',
18406
- until: '4.0.0',
18407
- for: 'ember-source',
18408
- url: 'https://deprecations.emberjs.com/v3.x#toc_ember-glimmer-link-to-positional-arguments',
18409
- since: {
18410
- enabled: '3.26.0-beta.1'
18411
- }
18412
- }));
18413
- }
18414
-
18415
- return b.block(node.path, null, b.hash(pairs, node.hash.loc), node.program, node.inverse, node.loc);
18416
- }
18417
-
18418
- function buildStatement(b, content, escaped, loc) {
18419
- switch (content.type) {
18420
- case 'PathExpression':
18421
- return b.mustache(content, undefined, undefined, !escaped, loc);
18422
-
18423
- case 'SubExpression':
18424
- return b.mustache(content.path, content.params, content.hash, !escaped, loc);
18425
- // The default case handles literals.
18426
-
18427
- default:
18428
- return b.text("" + content.value, loc);
18429
- }
18430
- }
18431
-
18432
- function transformLinkTo(env) {
18433
- return {
18434
- name: 'transform-link-to',
18435
- visitor: {
18436
- MustacheStatement(node) {
18437
- if (isInlineLinkTo(node)) {
18438
- var block = transformInlineLinkToIntoBlockForm(env, node);
18439
- return transformPositionalLinkToIntoNamedArguments(env, block, false);
18440
- }
18441
- },
18442
-
18443
- BlockStatement(node) {
18444
- if (isBlockLinkTo(node)) {
18445
- return transformPositionalLinkToIntoNamedArguments(env, node);
18446
- }
18447
- }
18448
-
18449
- }
18450
- };
18451
- }
18452
- });
18453
- define("ember-template-compiler/lib/plugins/transform-old-class-binding-syntax", ["exports", "@ember/debug", "ember-template-compiler/lib/system/calculate-location-display"], function (_exports, _debug, _calculateLocationDisplay) {
18454
- "use strict";
18455
-
18456
- Object.defineProperty(_exports, "__esModule", {
18457
- value: true
18458
- });
18459
- _exports.default = transformOldClassBindingSyntax;
18460
-
18461
- function transformOldClassBindingSyntax(env) {
18462
- var _a;
18463
-
18464
- var b = env.syntax.builders;
18465
- var moduleName = (_a = env.meta) === null || _a === void 0 ? void 0 : _a.moduleName;
18466
- return {
18467
- name: 'transform-old-class-binding-syntax',
18468
- visitor: {
18469
- MustacheStatement(node) {
18470
- process(b, node, moduleName);
18471
- },
18472
-
18473
- BlockStatement(node) {
18474
- process(b, node, moduleName);
18475
- }
18476
-
18477
- }
18478
- };
18479
- }
18480
-
18481
- function process(b, node, moduleName) {
18482
- var allOfTheMicrosyntaxes = [];
18483
- var allOfTheMicrosyntaxIndexes = [];
18484
- var classPair;
18485
- each(node.hash.pairs, (pair, index) => {
18486
- var {
18487
- key
18488
- } = pair;
18489
-
18490
- if (key === 'classBinding' || key === 'classNameBindings') {
18491
- (true && !(false) && (0, _debug.deprecate)("Passing the `" + key + "` property as an argument within templates has been deprecated. Instead, you can pass the class argument and use concatenation to produce the class value dynamically. " + (0, _calculateLocationDisplay.default)(moduleName, node.loc), false, {
18492
- id: 'class-binding-and-class-name-bindings-in-templates',
18493
- url: 'https://deprecations.emberjs.com/v3.x/#toc_class-binding-and-class-name-bindings-in-templates',
18494
- until: '4.0.0',
18495
- for: 'ember-source',
18496
- since: {
18497
- enabled: '3.26.0'
18498
- }
18499
- }));
18500
- allOfTheMicrosyntaxIndexes.push(index);
18501
- allOfTheMicrosyntaxes.push(pair);
18502
- } else if (key === 'class') {
18503
- classPair = pair;
18504
- }
18505
- });
18506
-
18507
- if (allOfTheMicrosyntaxes.length === 0) {
18508
- return;
18509
- }
18510
-
18511
- var classValue = [];
18512
-
18513
- if (classPair) {
18514
- classValue.push(classPair.value);
18515
- classValue.push(b.string(' '));
18516
- } else {
18517
- classPair = b.pair('class', null);
18518
- node.hash.pairs.push(classPair);
18519
- }
18520
-
18521
- each(allOfTheMicrosyntaxIndexes, index => {
18522
- node.hash.pairs.splice(index, 1);
18523
- });
18524
- each(allOfTheMicrosyntaxes, ({
18525
- value
18526
- }) => {
18527
- var sexprs = []; // TODO: add helpful deprecation when both `classNames` and `classNameBindings` can
18528
- // be removed.
18529
-
18530
- if (value.type === 'StringLiteral') {
18531
- var microsyntax = parseMicrosyntax(value.original);
18532
- buildSexprs(microsyntax, sexprs, b);
18533
- classValue.push(...sexprs);
18534
- }
18535
- });
18536
- var hash = b.hash();
18537
- classPair.value = b.sexpr(b.path('concat'), classValue, hash);
18538
- }
18539
-
18540
- function buildSexprs(microsyntax, sexprs, b) {
18541
- for (var i = 0; i < microsyntax.length; i++) {
18542
- var [propName, activeClass, inactiveClass] = microsyntax[i];
18543
- var sexpr = void 0; // :my-class-name microsyntax for static values
18544
-
18545
- if (propName === '') {
18546
- sexpr = b.string(activeClass);
18547
- } else {
18548
- var params = [b.path(propName)];
18549
-
18550
- if (activeClass || activeClass === '') {
18551
- params.push(b.string(activeClass));
18552
- } else {
18553
- var sexprParams = [b.string(propName), b.path(propName)];
18554
- var hash = b.hash();
18555
-
18556
- if (activeClass !== undefined) {
18557
- hash.pairs.push(b.pair('activeClass', b.string(activeClass)));
18558
- }
18559
-
18560
- if (inactiveClass !== undefined) {
18561
- hash.pairs.push(b.pair('inactiveClass', b.string(inactiveClass)));
18562
- }
18563
-
18564
- params.push(b.sexpr(b.path('-normalize-class'), sexprParams, hash));
18565
- }
18566
-
18567
- if (inactiveClass || inactiveClass === '') {
18568
- params.push(b.string(inactiveClass));
18569
- }
18570
-
18571
- sexpr = b.sexpr(b.path('if'), params);
18572
- }
18573
-
18574
- sexprs.push(sexpr);
18575
- sexprs.push(b.string(' '));
18576
- }
18577
- }
18578
-
18579
- function each(list, callback) {
18580
- for (var i = 0; i < list.length; i++) {
18581
- callback(list[i], i);
18582
- }
18583
- }
18584
-
18585
- function parseMicrosyntax(string) {
18586
- var segments = string.split(' ');
18587
- var ret = [];
18588
-
18589
- for (var i = 0; i < segments.length; i++) {
18590
- ret[i] = segments[i].split(':');
18591
- }
18592
-
18593
- return ret;
18594
- }
18595
- });
18596
17822
  define("ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings", ["exports"], function (_exports) {
18597
17823
  "use strict";
18598
17824
 
@@ -19027,8 +18253,6 @@ define("ember-template-compiler/lib/system/compile-options", ["exports", "@ember
19027
18253
  _exports.buildCompileOptions = buildCompileOptions;
19028
18254
  _exports.transformsFor = transformsFor;
19029
18255
  _exports.default = compileOptions;
19030
- _exports.registerPlugin = registerPlugin;
19031
- _exports.unregisterPlugin = unregisterPlugin;
19032
18256
  var USER_PLUGINS = [];
19033
18257
 
19034
18258
  function malformedComponentLookup(string) {
@@ -19058,7 +18282,16 @@ define("ember-template-compiler/lib/system/compile-options", ["exports", "@ember
19058
18282
  ) {
19059
18283
  options.strictMode = false;
19060
18284
  options.locals = undefined;
19061
- } // 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
19062
18295
 
19063
18296
 
19064
18297
  if (options.moduleName) {
@@ -19088,100 +18321,15 @@ define("ember-template-compiler/lib/system/compile-options", ["exports", "@ember
19088
18321
  } else {
19089
18322
  var potententialPugins = [...USER_PLUGINS, ...builtInPlugins];
19090
18323
  (true && !(options.plugins) && (0, _debug.assert)('expected plugins', options.plugins));
19091
- var providedPlugins = options.plugins.ast.map(plugin => wrapLegacyPluginIfNeeded(plugin));
19092
18324
  var pluginsToAdd = potententialPugins.filter(plugin => {
19093
18325
  (true && !(options.plugins) && (0, _debug.assert)('expected plugins', options.plugins));
19094
18326
  return options.plugins.ast.indexOf(plugin) === -1;
19095
18327
  });
19096
- options.plugins.ast = providedPlugins.concat(pluginsToAdd);
18328
+ options.plugins.ast = options.plugins.ast.concat(pluginsToAdd);
19097
18329
  }
19098
18330
 
19099
18331
  return options;
19100
18332
  }
19101
-
19102
- function isLegacyPluginClass(plugin) {
19103
- return plugin.prototype && typeof plugin.prototype.transform === 'function';
19104
- }
19105
-
19106
- function wrapLegacyPluginIfNeeded(plugin) {
19107
- if (isLegacyPluginClass(plugin)) {
19108
- var Plugin = plugin;
19109
- (true && !(false) && (0, _debug.deprecate)("Using class based template compilation plugins is deprecated, please update to the functional style: " + Plugin.name, false, {
19110
- id: 'template-compiler.registerPlugin',
19111
- until: '4.0.0',
19112
- for: 'ember-source',
19113
- since: {
19114
- enabled: '3.27.0'
19115
- }
19116
- }));
19117
-
19118
- var pluginFunc = env => {
19119
- var pluginInstantiated = false;
19120
- return {
19121
- name: plugin.name,
19122
- visitor: {
19123
- Program(node) {
19124
- if (!pluginInstantiated) {
19125
- pluginInstantiated = true;
19126
- var instance = new Plugin(env);
19127
- instance.syntax = env.syntax;
19128
- return instance.transform(node);
19129
- }
19130
- }
19131
-
19132
- }
19133
- };
19134
- };
19135
-
19136
- pluginFunc.__raw = Plugin;
19137
- return pluginFunc;
19138
- } else {
19139
- return plugin;
19140
- }
19141
- }
19142
-
19143
- function registerPlugin(type, _plugin) {
19144
- (true && !(false) && (0, _debug.deprecate)('registerPlugin is deprecated, please pass plugins directly via `compile` and/or `precompile`.', false, {
19145
- id: 'template-compiler.registerPlugin',
19146
- until: '4.0.0',
19147
- for: 'ember-source',
19148
- since: {
19149
- enabled: '3.27.0'
19150
- }
19151
- }));
19152
-
19153
- if (type !== 'ast') {
19154
- throw new Error("Attempting to register " + _plugin + " as \"" + type + "\" which is not a valid Glimmer plugin type.");
19155
- }
19156
-
19157
- for (var i = 0; i < USER_PLUGINS.length; i++) {
19158
- var PLUGIN = USER_PLUGINS[i];
19159
-
19160
- if (PLUGIN === _plugin || PLUGIN.__raw === _plugin) {
19161
- return;
19162
- }
19163
- }
19164
-
19165
- var plugin = wrapLegacyPluginIfNeeded(_plugin);
19166
- USER_PLUGINS = [plugin, ...USER_PLUGINS];
19167
- }
19168
-
19169
- function unregisterPlugin(type, PluginClass) {
19170
- (true && !(false) && (0, _debug.deprecate)('unregisterPlugin is deprecated, please pass plugins directly via `compile` and/or `precompile`.', false, {
19171
- id: 'template-compiler.registerPlugin',
19172
- until: '4.0.0',
19173
- for: 'ember-source',
19174
- since: {
19175
- enabled: '3.27.0'
19176
- }
19177
- }));
19178
-
19179
- if (type !== 'ast') {
19180
- throw new Error("Attempting to unregister " + PluginClass + " as \"" + type + "\" which is not a valid Glimmer plugin type.");
19181
- }
19182
-
19183
- USER_PLUGINS = USER_PLUGINS.filter(plugin => plugin !== PluginClass && plugin.__raw !== PluginClass);
19184
- }
19185
18333
  });
19186
18334
  define("ember-template-compiler/lib/system/compile", ["exports", "require", "ember-template-compiler/lib/system/precompile"], function (_exports, _require, _precompile) {
19187
18335
  "use strict";
@@ -19316,7 +18464,7 @@ define("ember/version", ["exports"], function (_exports) {
19316
18464
  value: true
19317
18465
  });
19318
18466
  _exports.default = void 0;
19319
- var _default = "4.0.0-beta.1";
18467
+ var _default = "4.0.0-beta.10";
19320
18468
  _exports.default = _default;
19321
18469
  });
19322
18470
  define("simple-html-tokenizer", ["exports"], function (_exports) {
@@ -21607,6 +20755,237 @@ define("simple-html-tokenizer", ["exports"], function (_exports) {
21607
20755
  /* commentStart */
21608
20756
  );
21609
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
+ );
21610
20989
  }
21611
20990
  },
21612
20991
  commentStart: function () {
@@ -22184,6 +21563,49 @@ define("simple-html-tokenizer", ["exports"], function (_exports) {
22184
21563
  }; // Data
22185
21564
 
22186
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
+
22187
21609
  Tokenizer.prototype.beginData = function () {
22188
21610
  this.push({
22189
21611
  type: "Chars"