ember-source 4.0.0-beta.6 → 4.1.0-alpha.5

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.
@@ -6,11 +6,12 @@
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.6
9
+ * @version 4.1.0-alpha.5
10
10
  */
11
11
 
12
12
  /* eslint-disable no-var */
13
13
  /* globals global globalThis self */
14
+ /* eslint-disable-next-line no-unused-vars */
14
15
  var define, require;
15
16
 
16
17
  (function () {
@@ -1301,7 +1302,7 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1301
1302
  value: true
1302
1303
  });
1303
1304
  _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;
1305
+ _exports.EMBER_CACHED = _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;
1305
1306
 
1306
1307
  /**
1307
1308
  Set `EmberENV.FEATURES` in your application's `config/environment.js` file
@@ -1314,15 +1315,16 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1314
1315
  @public
1315
1316
  */
1316
1317
  var DEFAULT_FEATURES = {
1317
- EMBER_LIBRARIES_ISREGISTERED: false,
1318
- EMBER_IMPROVED_INSTRUMENTATION: false,
1318
+ EMBER_LIBRARIES_ISREGISTERED: null,
1319
+ EMBER_IMPROVED_INSTRUMENTATION: null,
1319
1320
  EMBER_NAMED_BLOCKS: true,
1320
1321
  EMBER_GLIMMER_HELPER_MANAGER: true,
1321
1322
  EMBER_GLIMMER_INVOKE_HELPER: true,
1322
1323
  EMBER_MODERNIZED_BUILT_IN_COMPONENTS: true,
1323
1324
  EMBER_STRICT_MODE: true,
1324
1325
  EMBER_DYNAMIC_HELPERS_AND_MODIFIERS: true,
1325
- EMBER_ROUTING_ROUTER_SERVICE_REFRESH: false
1326
+ EMBER_ROUTING_ROUTER_SERVICE_REFRESH: null,
1327
+ EMBER_CACHED: null
1326
1328
  };
1327
1329
  /**
1328
1330
  The hash of enabled Canary features. Add to this, any canary features
@@ -1392,6 +1394,8 @@ define("@ember/canary-features/index", ["exports", "@ember/-internals/environmen
1392
1394
  _exports.EMBER_DYNAMIC_HELPERS_AND_MODIFIERS = EMBER_DYNAMIC_HELPERS_AND_MODIFIERS;
1393
1395
  var EMBER_ROUTING_ROUTER_SERVICE_REFRESH = featureValue(FEATURES.EMBER_ROUTING_ROUTER_SERVICE_REFRESH);
1394
1396
  _exports.EMBER_ROUTING_ROUTER_SERVICE_REFRESH = EMBER_ROUTING_ROUTER_SERVICE_REFRESH;
1397
+ var EMBER_CACHED = featureValue(FEATURES.EMBER_CACHED);
1398
+ _exports.EMBER_CACHED = EMBER_CACHED;
1395
1399
  });
1396
1400
  define("@ember/debug/container-debug-adapter", ["exports", "@ember/-internals/extension-support"], function (_exports, _extensionSupport) {
1397
1401
  "use strict";
@@ -2539,6 +2543,25 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2539
2543
 
2540
2544
  }
2541
2545
 
2546
+ var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
2547
+ if (!privateMap.has(receiver)) {
2548
+ throw new TypeError("attempted to set private field on non-instance");
2549
+ }
2550
+
2551
+ privateMap.set(receiver, value);
2552
+ return value;
2553
+ };
2554
+
2555
+ var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
2556
+ if (!privateMap.has(receiver)) {
2557
+ throw new TypeError("attempted to get private field on non-instance");
2558
+ }
2559
+
2560
+ return privateMap.get(receiver);
2561
+ };
2562
+
2563
+ var _keywords, _type;
2564
+
2542
2565
  class KeywordImpl {
2543
2566
  constructor(keyword, type, delegate) {
2544
2567
  this.keyword = keyword;
@@ -2627,18 +2650,21 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2627
2650
 
2628
2651
  class Keywords {
2629
2652
  constructor(type) {
2630
- this._keywords = [];
2631
- this._type = type;
2653
+ _keywords.set(this, []);
2654
+
2655
+ _type.set(this, void 0);
2656
+
2657
+ __classPrivateFieldSet(this, _type, type);
2632
2658
  }
2633
2659
 
2634
2660
  kw(name, delegate) {
2635
- this._keywords.push(keyword(name, this._type, delegate));
2661
+ __classPrivateFieldGet(this, _keywords).push(keyword(name, __classPrivateFieldGet(this, _type), delegate));
2636
2662
 
2637
2663
  return this;
2638
2664
  }
2639
2665
 
2640
2666
  translate(node$$1, state) {
2641
- for (var _keyword of this._keywords) {
2667
+ for (var _keyword of __classPrivateFieldGet(this, _keywords)) {
2642
2668
  var result = _keyword.translate(node$$1, state);
2643
2669
 
2644
2670
  if (result !== null) {
@@ -2652,7 +2678,9 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2652
2678
  var {
2653
2679
  name
2654
2680
  } = path.ref;
2655
- var usedType = this._type;
2681
+
2682
+ var usedType = __classPrivateFieldGet(this, _type);
2683
+
2656
2684
  var validTypes = _syntax.KEYWORDS_TYPES[name];
2657
2685
 
2658
2686
  if (validTypes.indexOf(usedType) === -1) {
@@ -2665,6 +2693,7 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
2665
2693
 
2666
2694
  }
2667
2695
 
2696
+ _keywords = new WeakMap(), _type = new WeakMap();
2668
2697
  var typesToReadableName = {
2669
2698
  Append: 'an append statement',
2670
2699
  Block: 'a block statement',
@@ -4247,37 +4276,66 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4247
4276
  }
4248
4277
 
4249
4278
  var VISIT_STMTS = new NormalizationStatements();
4279
+
4280
+ var __classPrivateFieldSet$1 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
4281
+ if (!privateMap.has(receiver)) {
4282
+ throw new TypeError("attempted to set private field on non-instance");
4283
+ }
4284
+
4285
+ privateMap.set(receiver, value);
4286
+ return value;
4287
+ };
4288
+
4289
+ var __classPrivateFieldGet$1 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
4290
+ if (!privateMap.has(receiver)) {
4291
+ throw new TypeError("attempted to get private field on non-instance");
4292
+ }
4293
+
4294
+ return privateMap.get(receiver);
4295
+ };
4296
+
4297
+ var _currentScope, _cursorCount;
4250
4298
  /**
4251
4299
  * This is the mutable state for this compiler pass.
4252
4300
  */
4253
4301
 
4302
+
4254
4303
  class NormalizationState {
4255
4304
  constructor(block, isStrict) {
4256
4305
  this.isStrict = isStrict;
4257
- this._cursorCount = 0;
4258
- this._currentScope = block;
4306
+
4307
+ _currentScope.set(this, void 0);
4308
+
4309
+ _cursorCount.set(this, 0);
4310
+
4311
+ __classPrivateFieldSet$1(this, _currentScope, block);
4259
4312
  }
4260
4313
 
4261
4314
  generateUniqueCursor() {
4262
- return "%cursor:" + this._cursorCount++ + "%";
4315
+ var _a;
4316
+
4317
+ return "%cursor:" + (__classPrivateFieldSet$1(this, _cursorCount, (_a = +__classPrivateFieldGet$1(this, _cursorCount)) + 1), _a) + "%";
4263
4318
  }
4264
4319
 
4265
4320
  get scope() {
4266
- return this._currentScope;
4321
+ return __classPrivateFieldGet$1(this, _currentScope);
4267
4322
  }
4268
4323
 
4269
4324
  visitBlock(block) {
4270
- var oldBlock = this._currentScope;
4271
- this._currentScope = block.scope;
4325
+ var oldBlock = __classPrivateFieldGet$1(this, _currentScope);
4326
+
4327
+ __classPrivateFieldSet$1(this, _currentScope, block.scope);
4272
4328
 
4273
4329
  try {
4274
4330
  return VISIT_STMTS.visitList(block.body, this);
4275
4331
  } finally {
4276
- this._currentScope = oldBlock;
4332
+ __classPrivateFieldSet$1(this, _currentScope, oldBlock);
4277
4333
  }
4278
4334
  }
4279
4335
 
4280
4336
  }
4337
+
4338
+ _currentScope = new WeakMap(), _cursorCount = new WeakMap();
4281
4339
  /**
4282
4340
  * Normalize the AST from @glimmer/syntax into the HIR. The HIR has special
4283
4341
  * instructions for keywords like `{{yield}}`, `(has-block)` and
@@ -4317,7 +4375,6 @@ define("@glimmer/compiler", ["exports", "@glimmer/syntax", "@glimmer/util"], fun
4317
4375
  * ```
4318
4376
  */
4319
4377
 
4320
-
4321
4378
  function normalize$1(source, root, isStrict) {
4322
4379
  // create a new context for the normalization pass
4323
4380
  var state = new NormalizationState(root.table, isStrict);
@@ -7029,6 +7086,27 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7029
7086
  }
7030
7087
 
7031
7088
  }
7089
+
7090
+ _exports.SourceSlice = SourceSlice;
7091
+
7092
+ var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7093
+ if (!privateMap.has(receiver)) {
7094
+ throw new TypeError("attempted to set private field on non-instance");
7095
+ }
7096
+
7097
+ privateMap.set(receiver, value);
7098
+ return value;
7099
+ };
7100
+
7101
+ var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7102
+ if (!privateMap.has(receiver)) {
7103
+ throw new TypeError("attempted to get private field on non-instance");
7104
+ }
7105
+
7106
+ return privateMap.get(receiver);
7107
+ };
7108
+
7109
+ var _whens, _map, _whens_1;
7032
7110
  /**
7033
7111
  * This file implements the DSL used by span and offset in places where they need to exhaustively
7034
7112
  * consider all combinations of states (Handlebars offsets, character offsets and invisible/broken
@@ -7039,17 +7117,18 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7039
7117
  */
7040
7118
 
7041
7119
 
7042
- _exports.SourceSlice = SourceSlice;
7043
7120
  var MatchAny = 'MATCH_ANY';
7044
7121
  var IsInvisible = 'IS_INVISIBLE';
7045
7122
 
7046
7123
  class WhenList {
7047
7124
  constructor(whens) {
7048
- this._whens = whens;
7125
+ _whens.set(this, void 0);
7126
+
7127
+ __classPrivateFieldSet(this, _whens, whens);
7049
7128
  }
7050
7129
 
7051
7130
  first(kind) {
7052
- for (var when of this._whens) {
7131
+ for (var when of __classPrivateFieldGet(this, _whens)) {
7053
7132
  var value = when.match(kind);
7054
7133
 
7055
7134
  if ((0, _util.isPresent)(value)) {
@@ -7062,13 +7141,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7062
7141
 
7063
7142
  }
7064
7143
 
7144
+ _whens = new WeakMap();
7145
+
7065
7146
  class When {
7066
7147
  constructor() {
7067
- this._map = new Map();
7148
+ _map.set(this, new Map());
7068
7149
  }
7069
7150
 
7070
7151
  get(pattern, or) {
7071
- var value = this._map.get(pattern);
7152
+ var value = __classPrivateFieldGet(this, _map).get(pattern);
7072
7153
 
7073
7154
  if (value) {
7074
7155
  return value;
@@ -7076,22 +7157,22 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7076
7157
 
7077
7158
  value = or();
7078
7159
 
7079
- this._map.set(pattern, value);
7160
+ __classPrivateFieldGet(this, _map).set(pattern, value);
7080
7161
 
7081
7162
  return value;
7082
7163
  }
7083
7164
 
7084
7165
  add(pattern, out) {
7085
- this._map.set(pattern, out);
7166
+ __classPrivateFieldGet(this, _map).set(pattern, out);
7086
7167
  }
7087
7168
 
7088
7169
  match(kind) {
7089
7170
  var pattern = patternFor(kind);
7090
7171
  var out = [];
7091
7172
 
7092
- var exact = this._map.get(pattern);
7173
+ var exact = __classPrivateFieldGet(this, _map).get(pattern);
7093
7174
 
7094
- var fallback = this._map.get(MatchAny);
7175
+ var fallback = __classPrivateFieldGet(this, _map).get(MatchAny);
7095
7176
 
7096
7177
  if (exact) {
7097
7178
  out.push(exact);
@@ -7106,13 +7187,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7106
7187
 
7107
7188
  }
7108
7189
 
7190
+ _map = new WeakMap();
7191
+
7109
7192
  function match(callback) {
7110
7193
  return callback(new Matcher()).check();
7111
7194
  }
7112
7195
 
7113
7196
  class Matcher {
7114
7197
  constructor() {
7115
- this._whens = new When();
7198
+ _whens_1.set(this, new When());
7116
7199
  }
7117
7200
  /**
7118
7201
  * You didn't exhaustively match all possibilities.
@@ -7124,7 +7207,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7124
7207
  }
7125
7208
 
7126
7209
  matchFor(left, right) {
7127
- var nesteds = this._whens.match(left);
7210
+ var nesteds = __classPrivateFieldGet(this, _whens_1).match(left);
7128
7211
 
7129
7212
  var callback = new WhenList(nesteds).first(right);
7130
7213
  return callback;
@@ -7132,13 +7215,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7132
7215
 
7133
7216
  when(left, right, // eslint-disable-next-line @typescript-eslint/no-explicit-any
7134
7217
  callback) {
7135
- this._whens.get(left, () => new When()).add(right, callback);
7218
+ __classPrivateFieldGet(this, _whens_1).get(left, () => new When()).add(right, callback);
7136
7219
 
7137
7220
  return this;
7138
7221
  }
7139
7222
 
7140
7223
  }
7141
7224
 
7225
+ _whens_1 = new WeakMap();
7226
+
7142
7227
  function patternFor(kind) {
7143
7228
  switch (kind) {
7144
7229
  case "Broken"
@@ -7155,7 +7240,26 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7155
7240
  default:
7156
7241
  return kind;
7157
7242
  }
7158
- } // eslint-disable-next-line import/no-extraneous-dependencies
7243
+ }
7244
+
7245
+ var __classPrivateFieldGet$1 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7246
+ if (!privateMap.has(receiver)) {
7247
+ throw new TypeError("attempted to get private field on non-instance");
7248
+ }
7249
+
7250
+ return privateMap.get(receiver);
7251
+ };
7252
+
7253
+ var __classPrivateFieldSet$1 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7254
+ if (!privateMap.has(receiver)) {
7255
+ throw new TypeError("attempted to set private field on non-instance");
7256
+ }
7257
+
7258
+ privateMap.set(receiver, value);
7259
+ return value;
7260
+ };
7261
+
7262
+ var _locPos, _charPos; // eslint-disable-next-line import/no-extraneous-dependencies
7159
7263
 
7160
7264
  /**
7161
7265
  * Used to indicate that an attempt to convert a `SourcePosition` to a character offset failed. It
@@ -7290,7 +7394,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7290
7394
  ;
7291
7395
  /** Computed from char offset */
7292
7396
 
7293
- this._locPos = null;
7397
+ _locPos.set(this, null);
7294
7398
  }
7295
7399
  /**
7296
7400
  * This is already a `CharPosition`.
@@ -7337,15 +7441,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7337
7441
 
7338
7442
 
7339
7443
  toHbsPos() {
7340
- var locPos = this._locPos;
7444
+ var locPos = __classPrivateFieldGet$1(this, _locPos);
7341
7445
 
7342
7446
  if (locPos === null) {
7343
7447
  var hbsPos = this.source.hbsPosFor(this.charPos);
7344
7448
 
7345
7449
  if (hbsPos === null) {
7346
- this._locPos = locPos = BROKEN;
7450
+ __classPrivateFieldSet$1(this, _locPos, locPos = BROKEN);
7347
7451
  } else {
7348
- this._locPos = locPos = new HbsPosition(this.source, hbsPos, this.charPos);
7452
+ __classPrivateFieldSet$1(this, _locPos, locPos = new HbsPosition(this.source, hbsPos, this.charPos));
7349
7453
  }
7350
7454
  }
7351
7455
 
@@ -7354,6 +7458,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7354
7458
 
7355
7459
  }
7356
7460
 
7461
+ _locPos = new WeakMap();
7462
+
7357
7463
  class HbsPosition {
7358
7464
  constructor(source, hbsPos, charPos = null) {
7359
7465
  this.source = source;
@@ -7361,7 +7467,10 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7361
7467
  this.kind = "HbsPosition"
7362
7468
  /* HbsPosition */
7363
7469
  ;
7364
- this._charPos = charPos === null ? null : new CharPosition(source, charPos);
7470
+
7471
+ _charPos.set(this, void 0);
7472
+
7473
+ __classPrivateFieldSet$1(this, _charPos, charPos === null ? null : new CharPosition(source, charPos));
7365
7474
  }
7366
7475
  /**
7367
7476
  * Lazily compute the character offset from the {@see SourcePosition}. Once an `HbsPosition` has
@@ -7374,15 +7483,15 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7374
7483
 
7375
7484
 
7376
7485
  toCharPos() {
7377
- var charPos = this._charPos;
7486
+ var charPos = __classPrivateFieldGet$1(this, _charPos);
7378
7487
 
7379
7488
  if (charPos === null) {
7380
7489
  var charPosNumber = this.source.charPosFor(this.hbsPos);
7381
7490
 
7382
7491
  if (charPosNumber === null) {
7383
- this._charPos = charPos = BROKEN;
7492
+ __classPrivateFieldSet$1(this, _charPos, charPos = BROKEN);
7384
7493
  } else {
7385
- this._charPos = charPos = new CharPosition(this.source, charPosNumber);
7494
+ __classPrivateFieldSet$1(this, _charPos, charPos = new CharPosition(this.source, charPosNumber));
7386
7495
  }
7387
7496
  }
7388
7497
 
@@ -7416,6 +7525,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7416
7525
 
7417
7526
  }
7418
7527
 
7528
+ _charPos = new WeakMap();
7529
+
7419
7530
  class InvisiblePosition {
7420
7531
  constructor(kind, // whatever was provided, possibly broken
7421
7532
  pos) {
@@ -7495,7 +7606,26 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7495
7606
  var _a;
7496
7607
 
7497
7608
  return ((_a = left.toCharPos()) === null || _a === void 0 ? void 0 : _a.offset) === right;
7498
- }).when(MatchAny, MatchAny, () => false)); // eslint-disable-next-line import/no-extraneous-dependencies
7609
+ }).when(MatchAny, MatchAny, () => false));
7610
+
7611
+ var __classPrivateFieldGet$2 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
7612
+ if (!privateMap.has(receiver)) {
7613
+ throw new TypeError("attempted to get private field on non-instance");
7614
+ }
7615
+
7616
+ return privateMap.get(receiver);
7617
+ };
7618
+
7619
+ var __classPrivateFieldSet$2 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
7620
+ if (!privateMap.has(receiver)) {
7621
+ throw new TypeError("attempted to set private field on non-instance");
7622
+ }
7623
+
7624
+ privateMap.set(receiver, value);
7625
+ return value;
7626
+ };
7627
+
7628
+ var _locPosSpan, _charPosSpan, _providedHbsLoc; // eslint-disable-next-line import/no-extraneous-dependencies
7499
7629
 
7500
7630
  /**
7501
7631
  * A `SourceSpan` object represents a span of characters inside of a template source.
@@ -7532,6 +7662,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7532
7662
  * The goal is to avoid creating any problems for use-cases like AST Explorer.
7533
7663
  */
7534
7664
 
7665
+
7535
7666
  class SourceSpan {
7536
7667
  constructor(data) {
7537
7668
  this.data = data;
@@ -7787,7 +7918,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7787
7918
  this.kind = "CharPosition"
7788
7919
  /* CharPosition */
7789
7920
  ;
7790
- this._locPosSpan = null;
7921
+
7922
+ _locPosSpan.set(this, null);
7791
7923
  }
7792
7924
 
7793
7925
  wrap() {
@@ -7813,19 +7945,19 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7813
7945
  locDidUpdate() {}
7814
7946
 
7815
7947
  toHbsSpan() {
7816
- var locPosSpan = this._locPosSpan;
7948
+ var locPosSpan = __classPrivateFieldGet$2(this, _locPosSpan);
7817
7949
 
7818
7950
  if (locPosSpan === null) {
7819
7951
  var start = this.charPositions.start.toHbsPos();
7820
7952
  var end = this.charPositions.end.toHbsPos();
7821
7953
 
7822
7954
  if (start === null || end === null) {
7823
- locPosSpan = this._locPosSpan = BROKEN;
7955
+ locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, BROKEN);
7824
7956
  } else {
7825
- locPosSpan = this._locPosSpan = new HbsSpan(this.source, {
7957
+ locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, new HbsSpan(this.source, {
7826
7958
  start,
7827
7959
  end
7828
- });
7960
+ }));
7829
7961
  }
7830
7962
  }
7831
7963
 
@@ -7855,6 +7987,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7855
7987
 
7856
7988
  }
7857
7989
 
7990
+ _locPosSpan = new WeakMap();
7991
+
7858
7992
  class HbsSpan {
7859
7993
  constructor(source, hbsPositions, providedHbsLoc = null) {
7860
7994
  this.source = source;
@@ -7862,8 +7996,13 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7862
7996
  this.kind = "HbsPosition"
7863
7997
  /* HbsPosition */
7864
7998
  ;
7865
- this._charPosSpan = null;
7866
- this._providedHbsLoc = providedHbsLoc;
7999
+
8000
+ _charPosSpan.set(this, null); // the source location from Handlebars + AST Plugins -- could be wrong
8001
+
8002
+
8003
+ _providedHbsLoc.set(this, void 0);
8004
+
8005
+ __classPrivateFieldSet$2(this, _providedHbsLoc, providedHbsLoc);
7867
8006
  }
7868
8007
 
7869
8008
  serialize() {
@@ -7878,16 +8017,17 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7878
8017
  }
7879
8018
 
7880
8019
  updateProvided(pos, edge) {
7881
- if (this._providedHbsLoc) {
7882
- this._providedHbsLoc[edge] = pos;
8020
+ if (__classPrivateFieldGet$2(this, _providedHbsLoc)) {
8021
+ __classPrivateFieldGet$2(this, _providedHbsLoc)[edge] = pos;
7883
8022
  } // invalidate computed character offsets
7884
8023
 
7885
8024
 
7886
- this._charPosSpan = null;
7887
- this._providedHbsLoc = {
8025
+ __classPrivateFieldSet$2(this, _charPosSpan, null);
8026
+
8027
+ __classPrivateFieldSet$2(this, _providedHbsLoc, {
7888
8028
  start: pos,
7889
8029
  end: pos
7890
- };
8030
+ });
7891
8031
  }
7892
8032
 
7893
8033
  locDidUpdate({
@@ -7934,19 +8074,19 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7934
8074
  }
7935
8075
 
7936
8076
  toCharPosSpan() {
7937
- var charPosSpan = this._charPosSpan;
8077
+ var charPosSpan = __classPrivateFieldGet$2(this, _charPosSpan);
7938
8078
 
7939
8079
  if (charPosSpan === null) {
7940
8080
  var start = this.hbsPositions.start.toCharPos();
7941
8081
  var end = this.hbsPositions.end.toCharPos();
7942
8082
 
7943
8083
  if (start && end) {
7944
- charPosSpan = this._charPosSpan = new CharPositionSpan(this.source, {
8084
+ charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, new CharPositionSpan(this.source, {
7945
8085
  start,
7946
8086
  end
7947
- });
8087
+ }));
7948
8088
  } else {
7949
- charPosSpan = this._charPosSpan = BROKEN;
8089
+ charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, BROKEN);
7950
8090
  return null;
7951
8091
  }
7952
8092
  }
@@ -7956,6 +8096,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
7956
8096
 
7957
8097
  }
7958
8098
 
8099
+ _charPosSpan = new WeakMap(), _providedHbsLoc = new WeakMap();
8100
+
7959
8101
  class InvisibleSpan {
7960
8102
  constructor(kind, // whatever was provided, possibly broken
7961
8103
  loc, // if the span represents a synthetic string
@@ -8182,9 +8324,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8182
8324
  this.loc = loc;
8183
8325
  this.type = 'PathExpression';
8184
8326
  this.this = false;
8185
- this.data = false; // Cache for the head value.
8186
-
8187
- this._head = undefined;
8327
+ this.data = false;
8188
8328
  var parts = tail.slice();
8189
8329
 
8190
8330
  if (head.type === 'ThisHead') {
@@ -8200,10 +8340,6 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8200
8340
  }
8201
8341
 
8202
8342
  get head() {
8203
- if (this._head) {
8204
- return this._head;
8205
- }
8206
-
8207
8343
  var firstPart;
8208
8344
 
8209
8345
  if (this.this) {
@@ -8217,7 +8353,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8217
8353
  var firstPartLoc = this.loc.collapse('start').sliceStartChars({
8218
8354
  chars: firstPart.length
8219
8355
  }).loc;
8220
- return this._head = publicBuilder.head(firstPart, firstPartLoc);
8356
+ return publicBuilder.head(firstPart, firstPartLoc);
8221
8357
  }
8222
8358
 
8223
8359
  get tail() {
@@ -8976,7 +9112,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8976
9112
  return class {
8977
9113
  constructor(fields) {
8978
9114
  this.type = type;
8979
- (0, _util.assign)(this, fields);
9115
+ this.loc = fields.loc;
9116
+ copy(fields, this);
8980
9117
  }
8981
9118
 
8982
9119
  };
@@ -8988,7 +9125,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8988
9125
  fields() {
8989
9126
  return class {
8990
9127
  constructor(fields) {
8991
- (0, _util.assign)(this, fields);
9128
+ this.loc = fields.loc;
9129
+ copy(fields, this);
8992
9130
  }
8993
9131
 
8994
9132
  };
@@ -8997,6 +9135,16 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
8997
9135
  };
8998
9136
  }
8999
9137
  }
9138
+
9139
+ function keys(object) {
9140
+ return Object.keys(object);
9141
+ }
9142
+
9143
+ function copy(object1, object2) {
9144
+ for (var key of keys(object1)) {
9145
+ object2[key] = object1[key];
9146
+ }
9147
+ }
9000
9148
  /**
9001
9149
  * Corresponds to syntaxes with positional and named arguments:
9002
9150
  *
@@ -9156,9 +9304,30 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9156
9304
 
9157
9305
  class ElementModifier extends node('ElementModifier').fields() {}
9158
9306
 
9307
+ var __classPrivateFieldSet$3 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
9308
+ if (!privateMap.has(receiver)) {
9309
+ throw new TypeError("attempted to set private field on non-instance");
9310
+ }
9311
+
9312
+ privateMap.set(receiver, value);
9313
+ return value;
9314
+ };
9315
+
9316
+ var __classPrivateFieldGet$3 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
9317
+ if (!privateMap.has(receiver)) {
9318
+ throw new TypeError("attempted to get private field on non-instance");
9319
+ }
9320
+
9321
+ return privateMap.get(receiver);
9322
+ };
9323
+
9324
+ var _span;
9325
+
9159
9326
  class SpanList {
9160
9327
  constructor(span = []) {
9161
- this._span = span;
9328
+ _span.set(this, void 0);
9329
+
9330
+ __classPrivateFieldSet$3(this, _span, span);
9162
9331
  }
9163
9332
 
9164
9333
  static range(span, fallback = SourceSpan.NON_EXISTENT) {
@@ -9166,15 +9335,17 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9166
9335
  }
9167
9336
 
9168
9337
  add(offset) {
9169
- this._span.push(offset);
9338
+ __classPrivateFieldGet$3(this, _span).push(offset);
9170
9339
  }
9171
9340
 
9172
9341
  getRangeOffset(fallback) {
9173
- if (this._span.length === 0) {
9342
+ if (__classPrivateFieldGet$3(this, _span).length === 0) {
9174
9343
  return fallback;
9175
9344
  } else {
9176
- var first = this._span[0];
9177
- var last = this._span[this._span.length - 1];
9345
+ var first = __classPrivateFieldGet$3(this, _span)[0];
9346
+
9347
+ var last = __classPrivateFieldGet$3(this, _span)[__classPrivateFieldGet$3(this, _span).length - 1];
9348
+
9178
9349
  return first.extend(last);
9179
9350
  }
9180
9351
  }
@@ -9182,6 +9353,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
9182
9353
  }
9183
9354
 
9184
9355
  _exports.SpanList = SpanList;
9356
+ _span = new WeakMap();
9185
9357
 
9186
9358
  function loc(span) {
9187
9359
  if (Array.isArray(span)) {
@@ -10173,11 +10345,160 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
10173
10345
  return new TraversalError('Replacing and removing in key handlers is not yet supported.', node, null, key);
10174
10346
  }
10175
10347
 
10348
+ function getLocalName(node) {
10349
+ switch (node.type) {
10350
+ case 'ElementNode':
10351
+ // unfortunately the ElementNode stores `tag` as a string
10352
+ // if that changes in glimmer-vm this will need to be updated
10353
+ return node.tag.split('.')[0];
10354
+
10355
+ case 'SubExpression':
10356
+ case 'MustacheStatement':
10357
+ case 'BlockStatement':
10358
+ return getLocalName(node.path);
10359
+
10360
+ case 'UndefinedLiteral':
10361
+ case 'NullLiteral':
10362
+ case 'BooleanLiteral':
10363
+ case 'StringLiteral':
10364
+ case 'NumberLiteral':
10365
+ case 'TextNode':
10366
+ case 'Template':
10367
+ case 'Block':
10368
+ case 'CommentStatement':
10369
+ case 'MustacheCommentStatement':
10370
+ case 'PartialStatement':
10371
+ case 'ElementModifierStatement':
10372
+ case 'AttrNode':
10373
+ case 'ConcatStatement':
10374
+ case 'Program':
10375
+ case 'Hash':
10376
+ case 'HashPair':
10377
+ return undefined;
10378
+
10379
+ case 'PathExpression':
10380
+ default:
10381
+ return node.parts.length ? node.parts[0] : undefined;
10382
+ }
10383
+ }
10384
+
10385
+ function getLocals(node) {
10386
+ switch (node.type) {
10387
+ case 'ElementNode':
10388
+ case 'Program':
10389
+ case 'Block':
10390
+ case 'Template':
10391
+ return node.blockParams;
10392
+
10393
+ case 'BlockStatement':
10394
+ return node.program.blockParams;
10395
+
10396
+ default:
10397
+ return undefined;
10398
+ }
10399
+ }
10400
+
10401
+ class TransformScope {
10402
+ constructor(locals) {
10403
+ this.locals = locals;
10404
+ this.hasPartial = false;
10405
+ this.usedLocals = {};
10406
+
10407
+ for (var local of locals) {
10408
+ this.usedLocals[local] = false;
10409
+ }
10410
+ }
10411
+
10412
+ child(node) {
10413
+ var locals = getLocals(node);
10414
+ return locals ? new ChildTransformScope(locals, this) : this;
10415
+ }
10416
+
10417
+ usePartial() {
10418
+ this.hasPartial = true;
10419
+ }
10420
+
10421
+ }
10422
+
10423
+ class RootTransformScope extends TransformScope {
10424
+ constructor(node) {
10425
+ var _a;
10426
+
10427
+ var locals = (_a = getLocals(node)) !== null && _a !== void 0 ? _a : [];
10428
+ super(locals);
10429
+ }
10430
+
10431
+ useLocal(node) {
10432
+ var name = getLocalName(node);
10433
+
10434
+ if (name && name in this.usedLocals) {
10435
+ this.usedLocals[name] = true;
10436
+ }
10437
+ }
10438
+
10439
+ isLocal(name) {
10440
+ return this.locals.indexOf(name) !== -1;
10441
+ }
10442
+
10443
+ currentUnusedLocals() {
10444
+ if (!this.hasPartial && this.locals.length > 0) {
10445
+ return this.locals.filter(local => !this.usedLocals[local]);
10446
+ }
10447
+
10448
+ return false;
10449
+ }
10450
+
10451
+ }
10452
+
10453
+ class ChildTransformScope extends TransformScope {
10454
+ constructor(locals, parent) {
10455
+ super(locals);
10456
+ this.parent = parent;
10457
+ }
10458
+
10459
+ useLocal(node) {
10460
+ var name = getLocalName(node);
10461
+
10462
+ if (name && name in this.usedLocals) {
10463
+ this.usedLocals[name] = true;
10464
+ } else {
10465
+ this.parent.useLocal(node);
10466
+ }
10467
+ }
10468
+
10469
+ isLocal(name) {
10470
+ return this.locals.indexOf(name) !== -1 || this.parent.isLocal(name);
10471
+ }
10472
+
10473
+ currentUnusedLocals() {
10474
+ if (!this.hasPartial && this.locals.length > 0) {
10475
+ // We only care about the last local, because if it is used then it implies
10476
+ // usage of the others (specifically when in a child block, |foo bar|)
10477
+ if (!this.usedLocals[this.locals[this.locals.length - 1]]) {
10478
+ return [this.locals[this.locals.length - 1]];
10479
+ }
10480
+ }
10481
+
10482
+ return false;
10483
+ }
10484
+
10485
+ }
10486
+
10176
10487
  class WalkerPath {
10177
10488
  constructor(node, parent = null, parentKey = null) {
10178
10489
  this.node = node;
10179
10490
  this.parent = parent;
10180
10491
  this.parentKey = parentKey;
10492
+ this.scope = parent ? parent.scope.child(node) : new RootTransformScope(node); // Consume in scope values
10493
+
10494
+ if (node.type === 'PathExpression') {
10495
+ this.scope.useLocal(node);
10496
+ }
10497
+
10498
+ if (node.type === 'ElementNode') {
10499
+ this.scope.useLocal(node);
10500
+ node.children.forEach(node => this.scope.useLocal(node));
10501
+ }
10181
10502
  }
10182
10503
 
10183
10504
  get parentNode() {
@@ -10297,10 +10618,10 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
10297
10618
  }
10298
10619
 
10299
10620
  if (result === undefined) {
10300
- var keys = visitorKeys[node.type];
10621
+ var _keys = visitorKeys[node.type];
10301
10622
 
10302
- for (var i = 0; i < keys.length; i++) {
10303
- var key = keys[i]; // we know if it has child keys we can widen to a ParentNode
10623
+ for (var i = 0; i < _keys.length; i++) {
10624
+ var key = _keys[i]; // we know if it has child keys we can widen to a ParentNode
10304
10625
 
10305
10626
  visitKey(visitor, handler, path, key);
10306
10627
  }
@@ -11930,6 +12251,25 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
11930
12251
  return program;
11931
12252
  }
11932
12253
 
12254
+ var __classPrivateFieldSet$4 = undefined && undefined.__classPrivateFieldSet || function (receiver, privateMap, value) {
12255
+ if (!privateMap.has(receiver)) {
12256
+ throw new TypeError("attempted to set private field on non-instance");
12257
+ }
12258
+
12259
+ privateMap.set(receiver, value);
12260
+ return value;
12261
+ };
12262
+
12263
+ var __classPrivateFieldGet$4 = undefined && undefined.__classPrivateFieldGet || function (receiver, privateMap) {
12264
+ if (!privateMap.has(receiver)) {
12265
+ throw new TypeError("attempted to get private field on non-instance");
12266
+ }
12267
+
12268
+ return privateMap.get(receiver);
12269
+ };
12270
+
12271
+ var _hasEval;
12272
+
11933
12273
  class SymbolTable {
11934
12274
  static top(locals, customizeComponentName) {
11935
12275
  return new ProgramSymbolTable(locals, customizeComponentName);
@@ -11955,7 +12295,8 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
11955
12295
  this.named = (0, _util.dict)();
11956
12296
  this.blocks = (0, _util.dict)();
11957
12297
  this.usedTemplateLocals = [];
11958
- this._hasEval = false;
12298
+
12299
+ _hasEval.set(this, false);
11959
12300
  }
11960
12301
 
11961
12302
  getUsedTemplateLocals() {
@@ -11963,11 +12304,11 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
11963
12304
  }
11964
12305
 
11965
12306
  setHasEval() {
11966
- this._hasEval = true;
12307
+ __classPrivateFieldSet$4(this, _hasEval, true);
11967
12308
  }
11968
12309
 
11969
12310
  get hasEval() {
11970
- return this._hasEval;
12311
+ return __classPrivateFieldGet$4(this, _hasEval);
11971
12312
  }
11972
12313
 
11973
12314
  has(name) {
@@ -12047,6 +12388,7 @@ define("@glimmer/syntax", ["exports", "@glimmer/util", "simple-html-tokenizer",
12047
12388
  }
12048
12389
 
12049
12390
  _exports.ProgramSymbolTable = ProgramSymbolTable;
12391
+ _hasEval = new WeakMap();
12050
12392
 
12051
12393
  class BlockSymbolTable extends SymbolTable {
12052
12394
  constructor(parent, symbols, slots) {
@@ -18725,7 +19067,7 @@ define("ember/version", ["exports"], function (_exports) {
18725
19067
  value: true
18726
19068
  });
18727
19069
  _exports.default = void 0;
18728
- var _default = "4.0.0-beta.6";
19070
+ var _default = "4.1.0-alpha.5";
18729
19071
  _exports.default = _default;
18730
19072
  });
18731
19073
  define("simple-html-tokenizer", ["exports"], function (_exports) {