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.
- package/CHANGELOG.md +4 -0
- package/build-metadata.json +3 -3
- package/dist/ember-template-compiler.js +420 -78
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +4 -1
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +122 -40
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/header/loader.js +1 -0
- package/dist/packages/@ember/-internals/glimmer/index.js +5 -5
- package/dist/packages/@ember/-internals/metal/index.js +65 -2
- package/dist/packages/@ember/-internals/routing/lib/services/router.js +8 -8
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +1 -1
- package/dist/packages/@ember/application/lib/application.js +1 -1
- package/dist/packages/@ember/canary-features/index.js +6 -4
- package/dist/packages/@ember/service/index.js +19 -5
- package/dist/packages/@glimmer/tracking/index.js +1 -1
- package/dist/packages/ember/index.js +2 -2
- package/dist/packages/ember/version.js +1 -1
- package/dist/packages/ember-testing/lib/adapters/qunit.js +1 -0
- package/docs/data.json +69 -21
- package/lib/index.js +11 -48
- package/package.json +28 -29
- package/dist/packages/jquery/index.js +0 -2
|
@@ -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.
|
|
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:
|
|
1318
|
-
EMBER_IMPROVED_INSTRUMENTATION:
|
|
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:
|
|
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
|
|
2631
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
4258
|
-
this
|
|
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
|
-
|
|
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
|
|
4321
|
+
return __classPrivateFieldGet$1(this, _currentScope);
|
|
4267
4322
|
}
|
|
4268
4323
|
|
|
4269
4324
|
visitBlock(block) {
|
|
4270
|
-
var oldBlock = this
|
|
4271
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
7148
|
+
_map.set(this, new Map());
|
|
7068
7149
|
}
|
|
7069
7150
|
|
|
7070
7151
|
get(pattern, or) {
|
|
7071
|
-
var value = this
|
|
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
|
|
7160
|
+
__classPrivateFieldGet(this, _map).set(pattern, value);
|
|
7080
7161
|
|
|
7081
7162
|
return value;
|
|
7082
7163
|
}
|
|
7083
7164
|
|
|
7084
7165
|
add(pattern, out) {
|
|
7085
|
-
this
|
|
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
|
|
7173
|
+
var exact = __classPrivateFieldGet(this, _map).get(pattern);
|
|
7093
7174
|
|
|
7094
|
-
var fallback = this
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
}
|
|
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
|
|
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
|
|
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
|
|
7450
|
+
__classPrivateFieldSet$1(this, _locPos, locPos = BROKEN);
|
|
7347
7451
|
} else {
|
|
7348
|
-
this
|
|
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
|
-
|
|
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
|
|
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
|
|
7492
|
+
__classPrivateFieldSet$1(this, _charPos, charPos = BROKEN);
|
|
7384
7493
|
} else {
|
|
7385
|
-
this
|
|
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));
|
|
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
|
-
|
|
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
|
|
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
|
|
7955
|
+
locPosSpan = __classPrivateFieldSet$2(this, _locPosSpan, BROKEN);
|
|
7824
7956
|
} else {
|
|
7825
|
-
locPosSpan = this
|
|
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
|
-
|
|
7866
|
-
this
|
|
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
|
|
7882
|
-
this
|
|
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
|
|
7887
|
-
|
|
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
|
|
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
|
|
8084
|
+
charPosSpan = __classPrivateFieldSet$2(this, _charPosSpan, new CharPositionSpan(this.source, {
|
|
7945
8085
|
start,
|
|
7946
8086
|
end
|
|
7947
|
-
});
|
|
8087
|
+
}));
|
|
7948
8088
|
} else {
|
|
7949
|
-
charPosSpan = this
|
|
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;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
9338
|
+
__classPrivateFieldGet$3(this, _span).push(offset);
|
|
9170
9339
|
}
|
|
9171
9340
|
|
|
9172
9341
|
getRangeOffset(fallback) {
|
|
9173
|
-
if (this
|
|
9342
|
+
if (__classPrivateFieldGet$3(this, _span).length === 0) {
|
|
9174
9343
|
return fallback;
|
|
9175
9344
|
} else {
|
|
9176
|
-
var first = this
|
|
9177
|
-
|
|
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
|
|
10621
|
+
var _keys = visitorKeys[node.type];
|
|
10301
10622
|
|
|
10302
|
-
for (var i = 0; i <
|
|
10303
|
-
var key =
|
|
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
|
-
|
|
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
|
|
12307
|
+
__classPrivateFieldSet$4(this, _hasEval, true);
|
|
11967
12308
|
}
|
|
11968
12309
|
|
|
11969
12310
|
get hasEval() {
|
|
11970
|
-
return this
|
|
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.
|
|
19070
|
+
var _default = "4.1.0-alpha.5";
|
|
18729
19071
|
_exports.default = _default;
|
|
18730
19072
|
});
|
|
18731
19073
|
define("simple-html-tokenizer", ["exports"], function (_exports) {
|