ember-source 4.0.0-beta.3 → 4.0.0-beta.7

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