@lwc/template-compiler 2.7.2 → 2.9.0
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/dist/commonjs/codegen/codegen.js +89 -16
- package/dist/commonjs/codegen/codegen.js.map +1 -1
- package/dist/commonjs/codegen/formatters/function.js +3 -1
- package/dist/commonjs/codegen/formatters/function.js.map +1 -1
- package/dist/commonjs/codegen/formatters/module.js +3 -1
- package/dist/commonjs/codegen/formatters/module.js.map +1 -1
- package/dist/commonjs/codegen/helpers.js +34 -20
- package/dist/commonjs/codegen/helpers.js.map +1 -1
- package/dist/commonjs/codegen/index.js +184 -194
- package/dist/commonjs/codegen/index.js.map +1 -1
- package/dist/commonjs/codegen/optimize.js +115 -0
- package/dist/commonjs/codegen/optimize.js.map +1 -0
- package/dist/commonjs/index.js +12 -5
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/parser/attribute.js +5 -7
- package/dist/commonjs/parser/attribute.js.map +1 -1
- package/dist/commonjs/parser/constants.js +1 -10
- package/dist/commonjs/parser/constants.js.map +1 -1
- package/dist/commonjs/parser/expression.js +5 -2
- package/dist/commonjs/parser/expression.js.map +1 -1
- package/dist/commonjs/parser/html.js +18 -1
- package/dist/commonjs/parser/html.js.map +1 -1
- package/dist/commonjs/parser/index.js +371 -342
- package/dist/commonjs/parser/index.js.map +1 -1
- package/dist/commonjs/parser/parse5Errors.js +77 -0
- package/dist/commonjs/parser/parse5Errors.js.map +1 -0
- package/dist/commonjs/parser/parser.js +85 -30
- package/dist/commonjs/parser/parser.js.map +1 -1
- package/dist/commonjs/shared/ast.js +303 -0
- package/dist/commonjs/shared/ast.js.map +1 -0
- package/dist/commonjs/shared/estree.js +9 -1
- package/dist/commonjs/shared/estree.js.map +1 -1
- package/dist/commonjs/shared/parse5.js +1 -15
- package/dist/commonjs/shared/parse5.js.map +1 -1
- package/dist/commonjs/shared/types.js +1 -7
- package/dist/commonjs/shared/types.js.map +1 -1
- package/dist/types/codegen/codegen.d.ts +25 -3
- package/dist/types/codegen/helpers.d.ts +11 -5
- package/dist/types/codegen/index.d.ts +2 -2
- package/dist/types/codegen/optimize.d.ts +33 -0
- package/dist/types/index.d.ts +1 -2
- package/dist/types/parser/attribute.d.ts +7 -7
- package/dist/types/parser/constants.d.ts +0 -9
- package/dist/types/parser/expression.d.ts +3 -4
- package/dist/types/parser/parse5Errors.d.ts +2 -0
- package/dist/types/parser/parser.d.ts +57 -28
- package/dist/types/shared/ast.d.ts +45 -0
- package/dist/types/shared/estree.d.ts +2 -2
- package/dist/types/shared/parse5.d.ts +0 -1
- package/dist/types/shared/types.d.ts +129 -86
- package/package.json +4 -4
- package/LICENSE +0 -10
- package/dist/commonjs/codegen/scope.js +0 -61
- package/dist/commonjs/codegen/scope.js.map +0 -1
- package/dist/commonjs/shared/ir.js +0 -90
- package/dist/commonjs/shared/ir.js.map +0 -1
- package/dist/types/codegen/scope.d.ts +0 -8
- package/dist/types/shared/ir.d.ts +0 -15
|
@@ -31,66 +31,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
const astring = __importStar(require("astring"));
|
|
32
32
|
const shared_1 = require("@lwc/shared");
|
|
33
33
|
const errors_1 = require("@lwc/errors");
|
|
34
|
-
const
|
|
34
|
+
const ast_1 = require("../shared/ast");
|
|
35
35
|
const constants_1 = require("../shared/constants");
|
|
36
|
-
const types_1 = require("../shared/types");
|
|
37
36
|
const codegen_1 = __importDefault(require("./codegen"));
|
|
38
|
-
const scope_1 = require("./scope");
|
|
39
37
|
const helpers_1 = require("./helpers");
|
|
40
38
|
const module_1 = require("./formatters/module");
|
|
41
39
|
const function_1 = require("./formatters/function");
|
|
42
40
|
const t = __importStar(require("../shared/estree"));
|
|
43
41
|
const attribute_1 = require("../parser/attribute");
|
|
44
|
-
const constants_2 = require("../parser/constants");
|
|
45
42
|
function transform(codeGen) {
|
|
46
|
-
const parentStack = [];
|
|
47
43
|
function transformElement(element) {
|
|
48
44
|
const databag = elementDataBag(element);
|
|
49
45
|
let res;
|
|
50
46
|
const children = transformChildren(element);
|
|
51
47
|
// Check wether it has the special directive lwc:dynamic
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
const { name } = element;
|
|
49
|
+
const dynamic = element.directives.find(ast_1.isDynamicDirective);
|
|
50
|
+
if (dynamic) {
|
|
51
|
+
const expression = codeGen.bindExpression(dynamic.value);
|
|
52
|
+
res = codeGen.genDynamicElement(name, expression, databag, children);
|
|
55
53
|
}
|
|
56
|
-
else if ((0,
|
|
57
|
-
|
|
58
|
-
const componentClassName = element.component;
|
|
59
|
-
res = codeGen.genCustomElement(element.tag, (0, helpers_1.identifierFromComponentName)(componentClassName), databag, children);
|
|
54
|
+
else if ((0, ast_1.isComponent)(element)) {
|
|
55
|
+
res = codeGen.genCustomElement(name, (0, helpers_1.identifierFromComponentName)(name), databag, children);
|
|
60
56
|
}
|
|
61
|
-
else if ((0,
|
|
57
|
+
else if ((0, ast_1.isSlot)(element)) {
|
|
62
58
|
const defaultSlot = children;
|
|
63
59
|
res = codeGen.getSlot(element.slotName, databag, defaultSlot);
|
|
64
60
|
}
|
|
65
61
|
else {
|
|
66
|
-
res = codeGen.genElement(
|
|
62
|
+
res = codeGen.genElement(name, databag, children);
|
|
67
63
|
}
|
|
68
|
-
res = applyInlineIf(element, res);
|
|
69
|
-
res = applyInlineFor(element, res);
|
|
70
64
|
return res;
|
|
71
65
|
}
|
|
72
|
-
function transformTemplate(element) {
|
|
73
|
-
const children = transformChildren(element);
|
|
74
|
-
let res = applyTemplateIf(element, children);
|
|
75
|
-
if (element.forEach) {
|
|
76
|
-
res = applyTemplateFor(element, res);
|
|
77
|
-
}
|
|
78
|
-
else if (element.forOf) {
|
|
79
|
-
res = applyTemplateForOf(element, res);
|
|
80
|
-
}
|
|
81
|
-
if (t.isArrayExpression(res) && element.if) {
|
|
82
|
-
// The `if` transformation does not use the SpreadElement, neither null, therefore we can safely
|
|
83
|
-
// typecast it to t.Expression[]
|
|
84
|
-
return res.elements;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return res;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
66
|
function transformText(consecutiveText) {
|
|
91
|
-
return codeGen.genText(consecutiveText.map((
|
|
92
|
-
|
|
93
|
-
return typeof value === 'string' ? value : (0, scope_1.bindExpression)(value, text, parentStack);
|
|
67
|
+
return codeGen.genText(consecutiveText.map(({ value }) => {
|
|
68
|
+
return (0, ast_1.isStringLiteral)(value) ? value.value : codeGen.bindExpression(value);
|
|
94
69
|
}));
|
|
95
70
|
}
|
|
96
71
|
function transformComment(comment) {
|
|
@@ -101,40 +76,37 @@ function transform(codeGen) {
|
|
|
101
76
|
const children = parent.children;
|
|
102
77
|
const childrenIterator = children[Symbol.iterator]();
|
|
103
78
|
let current;
|
|
104
|
-
parentStack.push(parent);
|
|
105
79
|
while ((current = childrenIterator.next()) && !current.done) {
|
|
106
80
|
let child = current.value;
|
|
107
|
-
if ((0,
|
|
81
|
+
if ((0, ast_1.isText)(child)) {
|
|
108
82
|
const continuousText = [];
|
|
109
83
|
// Consume all the contiguous text nodes.
|
|
110
84
|
do {
|
|
111
85
|
continuousText.push(child);
|
|
112
86
|
current = childrenIterator.next();
|
|
113
87
|
child = current.value;
|
|
114
|
-
} while (!current.done && (0,
|
|
88
|
+
} while (!current.done && (0, ast_1.isText)(child));
|
|
115
89
|
res.push(transformText(continuousText));
|
|
116
90
|
// Early exit if a text node is the last child node.
|
|
117
91
|
if (current.done) {
|
|
118
92
|
break;
|
|
119
93
|
}
|
|
120
94
|
}
|
|
121
|
-
if ((0,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
res.push(transformElement(child));
|
|
130
|
-
}
|
|
95
|
+
if ((0, ast_1.isForBlock)(child)) {
|
|
96
|
+
res.push(transformForBlock(child));
|
|
97
|
+
}
|
|
98
|
+
else if ((0, ast_1.isIf)(child)) {
|
|
99
|
+
const children = transformIf(child);
|
|
100
|
+
Array.isArray(children) ? res.push(...children) : res.push(children);
|
|
131
101
|
}
|
|
132
|
-
if ((0,
|
|
102
|
+
else if ((0, ast_1.isBaseElement)(child)) {
|
|
103
|
+
res.push(transformElement(child));
|
|
104
|
+
}
|
|
105
|
+
else if ((0, ast_1.isComment)(child) && codeGen.preserveComments) {
|
|
133
106
|
res.push(transformComment(child));
|
|
134
107
|
}
|
|
135
108
|
}
|
|
136
|
-
|
|
137
|
-
if ((0, helpers_1.shouldFlatten)(children, codeGen)) {
|
|
109
|
+
if ((0, helpers_1.shouldFlatten)(codeGen, children)) {
|
|
138
110
|
if (children.length === 1 && !(0, helpers_1.containsDynamicChildren)(children)) {
|
|
139
111
|
return res[0];
|
|
140
112
|
}
|
|
@@ -146,15 +118,33 @@ function transform(codeGen) {
|
|
|
146
118
|
return t.arrayExpression(res);
|
|
147
119
|
}
|
|
148
120
|
}
|
|
149
|
-
function
|
|
150
|
-
|
|
151
|
-
|
|
121
|
+
function transformIf(ifNode) {
|
|
122
|
+
const expression = transformChildren(ifNode);
|
|
123
|
+
let res;
|
|
124
|
+
if (t.isArrayExpression(expression)) {
|
|
125
|
+
// Bind the expression once for all the template children
|
|
126
|
+
const testExpression = codeGen.bindExpression(ifNode.condition);
|
|
127
|
+
res = t.arrayExpression(expression.elements.map((element) => element !== null
|
|
128
|
+
? applyInlineIf(ifNode, element, testExpression)
|
|
129
|
+
: null));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// If the template has a single children, make sure the ternary expression returns an array
|
|
133
|
+
res = applyInlineIf(ifNode, expression, undefined, t.arrayExpression([]));
|
|
152
134
|
}
|
|
135
|
+
if (t.isArrayExpression(res)) {
|
|
136
|
+
// The `if` transformation does not use the SpreadElement, neither null, therefore we can safely
|
|
137
|
+
// typecast it to t.Expression[]
|
|
138
|
+
res = res.elements;
|
|
139
|
+
}
|
|
140
|
+
return res;
|
|
141
|
+
}
|
|
142
|
+
function applyInlineIf(ifNode, node, testExpression, falseValue) {
|
|
153
143
|
if (!testExpression) {
|
|
154
|
-
testExpression =
|
|
144
|
+
testExpression = codeGen.bindExpression(ifNode.condition);
|
|
155
145
|
}
|
|
156
146
|
let leftExpression;
|
|
157
|
-
const modifier =
|
|
147
|
+
const modifier = ifNode.modifier;
|
|
158
148
|
if (modifier === 'true') {
|
|
159
149
|
leftExpression = testExpression;
|
|
160
150
|
}
|
|
@@ -172,24 +162,48 @@ function transform(codeGen) {
|
|
|
172
162
|
}
|
|
173
163
|
return t.conditionalExpression(leftExpression, node, falseValue !== null && falseValue !== void 0 ? falseValue : t.literal(null));
|
|
174
164
|
}
|
|
175
|
-
function
|
|
176
|
-
|
|
177
|
-
|
|
165
|
+
function transformForBlock(forBlock) {
|
|
166
|
+
let expression = transformForChildren(forBlock);
|
|
167
|
+
if (t.isArrayExpression(expression) && expression.elements.length === 1) {
|
|
168
|
+
expression = expression.elements[0];
|
|
178
169
|
}
|
|
179
|
-
|
|
170
|
+
let res;
|
|
171
|
+
if ((0, ast_1.isForEach)(forBlock)) {
|
|
172
|
+
res = applyInlineFor(forBlock, expression);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
res = applyInlineForOf(forBlock, expression);
|
|
176
|
+
}
|
|
177
|
+
return res;
|
|
178
|
+
}
|
|
179
|
+
function transformForChildren(forBlock) {
|
|
180
|
+
codeGen.beginScope();
|
|
181
|
+
if ((0, ast_1.isForEach)(forBlock)) {
|
|
182
|
+
const { item, index } = forBlock;
|
|
183
|
+
if (index) {
|
|
184
|
+
codeGen.declareIdentifier(index);
|
|
185
|
+
}
|
|
186
|
+
codeGen.declareIdentifier(item);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
codeGen.declareIdentifier(forBlock.iterator);
|
|
190
|
+
}
|
|
191
|
+
const children = transformChildren(forBlock);
|
|
192
|
+
codeGen.endScope();
|
|
193
|
+
return children;
|
|
194
|
+
}
|
|
195
|
+
function applyInlineFor(forEach, node) {
|
|
196
|
+
const { expression, item, index } = forEach;
|
|
180
197
|
const params = [item];
|
|
181
198
|
if (index) {
|
|
182
199
|
params.push(index);
|
|
183
200
|
}
|
|
184
|
-
const iterable =
|
|
201
|
+
const iterable = codeGen.bindExpression(expression);
|
|
185
202
|
const iterationFunction = t.functionExpression(null, params, t.blockStatement([t.returnStatement(node)]));
|
|
186
203
|
return codeGen.genIterator(iterable, iterationFunction);
|
|
187
204
|
}
|
|
188
|
-
function applyInlineForOf(
|
|
189
|
-
|
|
190
|
-
return node;
|
|
191
|
-
}
|
|
192
|
-
const { expression, iterator } = element.forOf;
|
|
205
|
+
function applyInlineForOf(forOf, node) {
|
|
206
|
+
const { expression, iterator } = forOf;
|
|
193
207
|
const { name: iteratorName } = iterator;
|
|
194
208
|
const argsMapping = {
|
|
195
209
|
value: `${iteratorName}Value`,
|
|
@@ -198,136 +212,111 @@ function transform(codeGen) {
|
|
|
198
212
|
last: `${iteratorName}Last`,
|
|
199
213
|
};
|
|
200
214
|
const iteratorArgs = Object.values(argsMapping).map((arg) => t.identifier(arg));
|
|
201
|
-
const
|
|
202
|
-
const iterable =
|
|
215
|
+
const iteratorObject = t.objectExpression(Object.entries(argsMapping).map(([prop, arg]) => t.property(t.identifier(prop), t.identifier(arg))));
|
|
216
|
+
const iterable = codeGen.bindExpression(expression);
|
|
203
217
|
const iterationFunction = t.functionExpression(null, iteratorArgs, t.blockStatement([
|
|
204
218
|
t.variableDeclaration('const', [
|
|
205
|
-
t.variableDeclarator(t.identifier(iteratorName),
|
|
219
|
+
t.variableDeclarator(t.identifier(iteratorName), iteratorObject),
|
|
206
220
|
]),
|
|
207
221
|
t.returnStatement(node),
|
|
208
222
|
]));
|
|
209
223
|
return codeGen.genIterator(iterable, iterationFunction);
|
|
210
224
|
}
|
|
211
|
-
function applyTemplateForOf(element, fragmentNodes) {
|
|
212
|
-
let expression = fragmentNodes;
|
|
213
|
-
if (t.isArrayExpression(expression) && expression.elements.length === 1) {
|
|
214
|
-
expression = expression.elements[0];
|
|
215
|
-
}
|
|
216
|
-
return applyInlineForOf(element, expression);
|
|
217
|
-
}
|
|
218
|
-
function applyTemplateFor(element, fragmentNodes) {
|
|
219
|
-
let expression = fragmentNodes;
|
|
220
|
-
if (t.isArrayExpression(expression) && expression.elements.length === 1) {
|
|
221
|
-
expression = expression.elements[0];
|
|
222
|
-
}
|
|
223
|
-
return applyInlineFor(element, expression);
|
|
224
|
-
}
|
|
225
|
-
function applyTemplateIf(element, fragmentNodes) {
|
|
226
|
-
if (!element.if) {
|
|
227
|
-
return fragmentNodes;
|
|
228
|
-
}
|
|
229
|
-
if (t.isArrayExpression(fragmentNodes)) {
|
|
230
|
-
// Bind the expression once for all the template children
|
|
231
|
-
const testExpression = (0, scope_1.bindExpression)(element.if, element, parentStack);
|
|
232
|
-
return t.arrayExpression(fragmentNodes.elements.map((child) => child !== null
|
|
233
|
-
? applyInlineIf(element, child, testExpression)
|
|
234
|
-
: null));
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
// If the template has a single children, make sure the ternary expression returns an array
|
|
238
|
-
return applyInlineIf(element, fragmentNodes, undefined, t.arrayExpression([]));
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
225
|
function computeAttrValue(attr, element) {
|
|
242
|
-
const {
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
return codeGen.genTabIndex([expression]);
|
|
255
|
-
}
|
|
256
|
-
if (attr.name === 'id' || (0, attribute_1.isIdReferencingAttribute)(attr.name)) {
|
|
257
|
-
return codeGen.genScopedId(expression);
|
|
258
|
-
}
|
|
259
|
-
if (codeGen.scopeFragmentId &&
|
|
260
|
-
(0, attribute_1.isAllowedFragOnlyUrlsXHTML)(tag, attr.name, namespace)) {
|
|
261
|
-
return codeGen.genScopedFragId(expression);
|
|
262
|
-
}
|
|
263
|
-
if ((0, attribute_1.isSvgUseHref)(tag, attr.name, namespace)) {
|
|
264
|
-
codeGen.usedLwcApis.add('sanitizeAttribute');
|
|
265
|
-
return t.callExpression(t.identifier('sanitizeAttribute'), [
|
|
266
|
-
t.literal(tag),
|
|
267
|
-
t.literal(namespace),
|
|
268
|
-
t.literal(attr.name),
|
|
269
|
-
codeGen.genScopedFragId(expression),
|
|
270
|
-
]);
|
|
271
|
-
}
|
|
272
|
-
return expression;
|
|
226
|
+
const { name: elmName, namespace = '' } = element;
|
|
227
|
+
const { value: attrValue } = attr;
|
|
228
|
+
// Evaluate properties based on their attribute name
|
|
229
|
+
const attrName = (0, ast_1.isProperty)(attr) ? attr.attributeName : attr.name;
|
|
230
|
+
const isUsedAsAttribute = (0, attribute_1.isAttribute)(element, attrName);
|
|
231
|
+
if ((0, ast_1.isExpression)(attrValue)) {
|
|
232
|
+
const expression = codeGen.bindExpression(attrValue);
|
|
233
|
+
// TODO [#2012]: Normalize global boolean attrs values passed to custom elements as props
|
|
234
|
+
if (isUsedAsAttribute && (0, shared_1.isBooleanAttribute)(attrName, elmName)) {
|
|
235
|
+
// We need to do some manipulation to allow the diffing algorithm add/remove the attribute
|
|
236
|
+
// without handling special cases at runtime.
|
|
237
|
+
return codeGen.genBooleanAttributeExpr(expression);
|
|
273
238
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
return t.literal(attr.value.toLowerCase() !== 'false');
|
|
280
|
-
}
|
|
281
|
-
if (!isUsedAsAttribute && (0, shared_1.isBooleanAttribute)(attr.name, tag)) {
|
|
282
|
-
// We are in presence of a string value, for a recognized boolean attribute, which is used as
|
|
283
|
-
// property. for these cases, always set the property to true.
|
|
284
|
-
return t.literal(true);
|
|
285
|
-
}
|
|
286
|
-
if ((0, attribute_1.isIdReferencingAttribute)(attr.name)) {
|
|
287
|
-
return codeGen.genScopedId(attr.value);
|
|
288
|
-
}
|
|
289
|
-
if (codeGen.scopeFragmentId &&
|
|
290
|
-
(0, attribute_1.isAllowedFragOnlyUrlsXHTML)(tag, attr.name, namespace) &&
|
|
291
|
-
(0, attribute_1.isFragmentOnlyUrl)(attr.value)) {
|
|
292
|
-
return codeGen.genScopedFragId(attr.value);
|
|
293
|
-
}
|
|
294
|
-
if ((0, attribute_1.isSvgUseHref)(tag, attr.name, namespace)) {
|
|
295
|
-
codeGen.usedLwcApis.add('sanitizeAttribute');
|
|
296
|
-
return t.callExpression(t.identifier('sanitizeAttribute'), [
|
|
297
|
-
t.literal(tag),
|
|
298
|
-
t.literal(namespace),
|
|
299
|
-
t.literal(attr.name),
|
|
300
|
-
(0, attribute_1.isFragmentOnlyUrl)(attr.value)
|
|
301
|
-
? codeGen.genScopedFragId(attr.value)
|
|
302
|
-
: t.literal(attr.value),
|
|
303
|
-
]);
|
|
304
|
-
}
|
|
305
|
-
return t.literal(attr.value);
|
|
239
|
+
if (attrName === 'tabindex') {
|
|
240
|
+
return codeGen.genTabIndex([expression]);
|
|
241
|
+
}
|
|
242
|
+
if (attrName === 'id' || (0, attribute_1.isIdReferencingAttribute)(attrName)) {
|
|
243
|
+
return codeGen.genScopedId(expression);
|
|
306
244
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
return isUsedAsAttribute ? t.literal('') : t.literal(attr.value);
|
|
245
|
+
if (codeGen.scopeFragmentId &&
|
|
246
|
+
(0, attribute_1.isAllowedFragOnlyUrlsXHTML)(elmName, attrName, namespace)) {
|
|
247
|
+
return codeGen.genScopedFragId(expression);
|
|
311
248
|
}
|
|
249
|
+
if ((0, attribute_1.isSvgUseHref)(elmName, attrName, namespace)) {
|
|
250
|
+
codeGen.usedLwcApis.add('sanitizeAttribute');
|
|
251
|
+
return t.callExpression(t.identifier('sanitizeAttribute'), [
|
|
252
|
+
t.literal(elmName),
|
|
253
|
+
t.literal(namespace),
|
|
254
|
+
t.literal(attrName),
|
|
255
|
+
codeGen.genScopedFragId(expression),
|
|
256
|
+
]);
|
|
257
|
+
}
|
|
258
|
+
return expression;
|
|
259
|
+
}
|
|
260
|
+
else if ((0, ast_1.isStringLiteral)(attrValue)) {
|
|
261
|
+
if (attrName === 'id') {
|
|
262
|
+
return codeGen.genScopedId(attrValue.value);
|
|
263
|
+
}
|
|
264
|
+
if (attrName === 'spellcheck') {
|
|
265
|
+
return t.literal(attrValue.value.toLowerCase() !== 'false');
|
|
266
|
+
}
|
|
267
|
+
if (!isUsedAsAttribute && (0, shared_1.isBooleanAttribute)(attrName, elmName)) {
|
|
268
|
+
// We are in presence of a string value, for a recognized boolean attribute, which is used as
|
|
269
|
+
// property. for these cases, always set the property to true.
|
|
270
|
+
return t.literal(true);
|
|
271
|
+
}
|
|
272
|
+
if ((0, attribute_1.isIdReferencingAttribute)(attrName)) {
|
|
273
|
+
return codeGen.genScopedId(attrValue.value);
|
|
274
|
+
}
|
|
275
|
+
if (codeGen.scopeFragmentId &&
|
|
276
|
+
(0, attribute_1.isAllowedFragOnlyUrlsXHTML)(elmName, attrName, namespace) &&
|
|
277
|
+
(0, attribute_1.isFragmentOnlyUrl)(attrValue.value)) {
|
|
278
|
+
return codeGen.genScopedFragId(attrValue.value);
|
|
279
|
+
}
|
|
280
|
+
if ((0, attribute_1.isSvgUseHref)(elmName, attrName, namespace)) {
|
|
281
|
+
codeGen.usedLwcApis.add('sanitizeAttribute');
|
|
282
|
+
return t.callExpression(t.identifier('sanitizeAttribute'), [
|
|
283
|
+
t.literal(elmName),
|
|
284
|
+
t.literal(namespace),
|
|
285
|
+
t.literal(attrName),
|
|
286
|
+
(0, attribute_1.isFragmentOnlyUrl)(attrValue.value)
|
|
287
|
+
? codeGen.genScopedFragId(attrValue.value)
|
|
288
|
+
: t.literal(attrValue.value),
|
|
289
|
+
]);
|
|
290
|
+
}
|
|
291
|
+
return t.literal(attrValue.value);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
// A boolean value used in an attribute should always generate .setAttribute(attr.name, ''),
|
|
295
|
+
// regardless if is a boolean attribute or not.
|
|
296
|
+
return isUsedAsAttribute ? t.literal('') : t.literal(attrValue.value);
|
|
312
297
|
}
|
|
313
298
|
}
|
|
314
299
|
function elementDataBag(element) {
|
|
315
300
|
const data = [];
|
|
316
|
-
const {
|
|
301
|
+
const { attributes, properties, listeners } = element;
|
|
302
|
+
const innerHTML = element.directives.find(ast_1.isInnerHTMLDirective);
|
|
303
|
+
const forKey = element.directives.find(ast_1.isKeyDirective);
|
|
304
|
+
const dom = element.directives.find(ast_1.isDomDirective);
|
|
317
305
|
// Attributes
|
|
318
|
-
if (
|
|
306
|
+
if (attributes.length) {
|
|
319
307
|
const rest = {};
|
|
320
|
-
for (const
|
|
308
|
+
for (const attr of attributes) {
|
|
309
|
+
const { name, value } = attr;
|
|
321
310
|
if (name === 'class') {
|
|
322
311
|
// Handle class attribute:
|
|
323
312
|
// - expression values are turned into a `className` property.
|
|
324
313
|
// - string values are parsed and turned into a `classMap` object associating
|
|
325
314
|
// each individual class name with a `true` boolean.
|
|
326
|
-
if (
|
|
327
|
-
const classExpression =
|
|
315
|
+
if ((0, ast_1.isExpression)(value)) {
|
|
316
|
+
const classExpression = codeGen.bindExpression(value);
|
|
328
317
|
data.push(t.property(t.identifier('className'), classExpression));
|
|
329
318
|
}
|
|
330
|
-
else if (
|
|
319
|
+
else if ((0, ast_1.isStringLiteral)(value)) {
|
|
331
320
|
const classNames = (0, helpers_1.parseClassNames)(value.value);
|
|
332
321
|
const classMap = t.objectExpression(classNames.map((name) => t.property(t.literal(name), t.literal(true))));
|
|
333
322
|
data.push(t.property(t.identifier('classMap'), classMap));
|
|
@@ -338,18 +327,18 @@ function transform(codeGen) {
|
|
|
338
327
|
// - expression values are turned into a `style` property.
|
|
339
328
|
// - string values are parsed and turned into a `styles` array
|
|
340
329
|
// containing triples of [name, value, important (optional)]
|
|
341
|
-
if (
|
|
342
|
-
const styleExpression =
|
|
330
|
+
if ((0, ast_1.isExpression)(value)) {
|
|
331
|
+
const styleExpression = codeGen.bindExpression(value);
|
|
343
332
|
data.push(t.property(t.identifier('style'), styleExpression));
|
|
344
333
|
}
|
|
345
|
-
else if (
|
|
334
|
+
else if ((0, ast_1.isStringLiteral)(value)) {
|
|
346
335
|
const styleMap = (0, helpers_1.parseStyleText)(value.value);
|
|
347
336
|
const styleAST = (0, helpers_1.styleMapToStyleDeclsAST)(styleMap);
|
|
348
337
|
data.push(t.property(t.identifier('styleDecls'), styleAST));
|
|
349
338
|
}
|
|
350
339
|
}
|
|
351
340
|
else {
|
|
352
|
-
rest[name] = computeAttrValue(
|
|
341
|
+
rest[name] = computeAttrValue(attr, element);
|
|
353
342
|
}
|
|
354
343
|
}
|
|
355
344
|
// Add all the remaining attributes to an `attrs` object where the key is the attribute
|
|
@@ -361,24 +350,24 @@ function transform(codeGen) {
|
|
|
361
350
|
}
|
|
362
351
|
// Properties
|
|
363
352
|
const propsObj = t.objectExpression([]);
|
|
364
|
-
// Properties
|
|
365
|
-
if (
|
|
366
|
-
for (const
|
|
367
|
-
propsObj.properties.push(t.property(t.literal(
|
|
353
|
+
// Properties
|
|
354
|
+
if (properties.length) {
|
|
355
|
+
for (const prop of properties) {
|
|
356
|
+
propsObj.properties.push(t.property(t.literal(prop.name), computeAttrValue(prop, element)));
|
|
368
357
|
}
|
|
369
358
|
}
|
|
370
359
|
// Properties: lwc:inner-html directive
|
|
371
|
-
if (
|
|
372
|
-
const expr =
|
|
373
|
-
? t.literal(
|
|
374
|
-
:
|
|
360
|
+
if (innerHTML) {
|
|
361
|
+
const expr = (0, ast_1.isStringLiteral)(innerHTML.value)
|
|
362
|
+
? t.literal(innerHTML.value.value)
|
|
363
|
+
: codeGen.bindExpression(innerHTML.value);
|
|
375
364
|
propsObj.properties.push(t.property(t.identifier('innerHTML'), codeGen.genSanitizedHtmlExpr(expr)));
|
|
376
365
|
}
|
|
377
366
|
if (propsObj.properties.length) {
|
|
378
367
|
data.push(t.property(t.identifier('props'), propsObj));
|
|
379
368
|
}
|
|
380
369
|
// Context
|
|
381
|
-
if (
|
|
370
|
+
if (dom || innerHTML) {
|
|
382
371
|
const contextObj = t.objectExpression([
|
|
383
372
|
t.property(t.identifier('lwc'), t.objectExpression([t.property(t.identifier('dom'), t.literal('manual'))])),
|
|
384
373
|
]);
|
|
@@ -387,7 +376,7 @@ function transform(codeGen) {
|
|
|
387
376
|
// Key property on VNode
|
|
388
377
|
if (forKey) {
|
|
389
378
|
// If element has user-supplied `key` or is in iterator, call `api.k`
|
|
390
|
-
const forKeyExpression =
|
|
379
|
+
const forKeyExpression = codeGen.bindExpression(forKey.value);
|
|
391
380
|
const generatedKey = codeGen.genKey(t.literal(codeGen.generateKey()), forKeyExpression);
|
|
392
381
|
data.push(t.property(t.identifier('key'), generatedKey));
|
|
393
382
|
}
|
|
@@ -397,16 +386,17 @@ function transform(codeGen) {
|
|
|
397
386
|
data.push(t.property(t.identifier('key'), t.literal(codeGen.generateKey())));
|
|
398
387
|
}
|
|
399
388
|
// Event handler
|
|
400
|
-
if (
|
|
401
|
-
const
|
|
402
|
-
|
|
389
|
+
if (listeners.length) {
|
|
390
|
+
const listenerObj = Object.fromEntries(listeners.map((listener) => [listener.name, listener]));
|
|
391
|
+
const listenerObjAST = (0, helpers_1.objectToAST)(listenerObj, (key) => {
|
|
392
|
+
const componentHandler = codeGen.bindExpression(listenerObj[key].handler);
|
|
403
393
|
const handler = codeGen.genBind(componentHandler);
|
|
404
|
-
return (0, helpers_1.memorizeHandler)(codeGen,
|
|
394
|
+
return (0, helpers_1.memorizeHandler)(codeGen, componentHandler, handler);
|
|
405
395
|
});
|
|
406
|
-
data.push(t.property(t.identifier('on'),
|
|
396
|
+
data.push(t.property(t.identifier('on'), listenerObjAST));
|
|
407
397
|
}
|
|
408
398
|
// SVG handling
|
|
409
|
-
if (element.namespace ===
|
|
399
|
+
if (element.namespace === shared_1.SVG_NAMESPACE) {
|
|
410
400
|
data.push(t.property(t.identifier('svg'), t.literal(true)));
|
|
411
401
|
}
|
|
412
402
|
return t.objectExpression(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
|