@vue/compiler-dom 3.4.27 → 3.4.28
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/compiler-dom.cjs.js +2 -3
- package/dist/compiler-dom.cjs.prod.js +2 -3
- package/dist/compiler-dom.esm-browser.js +124 -147
- package/dist/compiler-dom.esm-browser.prod.js +2 -2
- package/dist/compiler-dom.esm-bundler.js +2 -3
- package/dist/compiler-dom.global.js +124 -147
- package/dist/compiler-dom.global.prod.js +2 -2
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compiler-dom v3.4.
|
|
2
|
+
* @vue/compiler-dom v3.4.28
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -75,6 +75,9 @@ var VueCompilerDOM = (function (exports) {
|
|
|
75
75
|
|
|
76
76
|
const range = 2;
|
|
77
77
|
function generateCodeFrame(source, start = 0, end = source.length) {
|
|
78
|
+
start = Math.max(0, Math.min(start, source.length));
|
|
79
|
+
end = Math.max(0, Math.min(end, source.length));
|
|
80
|
+
if (start > end) return "";
|
|
78
81
|
let lines = source.split(/(\r?\n)/);
|
|
79
82
|
const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);
|
|
80
83
|
lines = lines.filter((_, idx) => idx % 2 === 0);
|
|
@@ -84,8 +87,7 @@ var VueCompilerDOM = (function (exports) {
|
|
|
84
87
|
count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);
|
|
85
88
|
if (count >= start) {
|
|
86
89
|
for (let j = i - range; j <= i + range || end > count; j++) {
|
|
87
|
-
if (j < 0 || j >= lines.length)
|
|
88
|
-
continue;
|
|
90
|
+
if (j < 0 || j >= lines.length) continue;
|
|
89
91
|
const line = j + 1;
|
|
90
92
|
res.push(
|
|
91
93
|
`${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`
|
|
@@ -1374,8 +1376,7 @@ var VueCompilerDOM = (function (exports) {
|
|
|
1374
1376
|
Details: ${link}` : ``}`;
|
|
1375
1377
|
const err = new SyntaxError(msg);
|
|
1376
1378
|
err.code = key;
|
|
1377
|
-
if (loc)
|
|
1378
|
-
err.loc = loc;
|
|
1379
|
+
if (loc) err.loc = loc;
|
|
1379
1380
|
context.onWarn(err);
|
|
1380
1381
|
}
|
|
1381
1382
|
|
|
@@ -1611,16 +1612,14 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
1611
1612
|
function walkBlockDeclarations(block, onIdent) {
|
|
1612
1613
|
for (const stmt of block.body) {
|
|
1613
1614
|
if (stmt.type === "VariableDeclaration") {
|
|
1614
|
-
if (stmt.declare)
|
|
1615
|
-
continue;
|
|
1615
|
+
if (stmt.declare) continue;
|
|
1616
1616
|
for (const decl of stmt.declarations) {
|
|
1617
1617
|
for (const id of extractIdentifiers(decl.id)) {
|
|
1618
1618
|
onIdent(id);
|
|
1619
1619
|
}
|
|
1620
1620
|
}
|
|
1621
1621
|
} else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") {
|
|
1622
|
-
if (stmt.declare || !stmt.id)
|
|
1623
|
-
continue;
|
|
1622
|
+
if (stmt.declare || !stmt.id) continue;
|
|
1624
1623
|
onIdent(stmt.id);
|
|
1625
1624
|
} else if (stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement") {
|
|
1626
1625
|
const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
|
|
@@ -1657,8 +1656,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
1657
1656
|
break;
|
|
1658
1657
|
case "ArrayPattern":
|
|
1659
1658
|
param.elements.forEach((element) => {
|
|
1660
|
-
if (element)
|
|
1661
|
-
extractIdentifiers(element, nodes);
|
|
1659
|
+
if (element) extractIdentifiers(element, nodes);
|
|
1662
1660
|
});
|
|
1663
1661
|
break;
|
|
1664
1662
|
case "RestElement":
|
|
@@ -1712,7 +1710,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
1712
1710
|
return BASE_TRANSITION;
|
|
1713
1711
|
}
|
|
1714
1712
|
}
|
|
1715
|
-
const nonIdentifierRE = /^\d|[^\$\w]/;
|
|
1713
|
+
const nonIdentifierRE = /^\d|[^\$\w\xA0-\uFFFF]/;
|
|
1716
1714
|
const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
|
|
1717
1715
|
const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
|
|
1718
1716
|
const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
|
|
@@ -1823,8 +1821,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
1823
1821
|
for (let i = 0; i < node.props.length; i++) {
|
|
1824
1822
|
const p = node.props[i];
|
|
1825
1823
|
if (p.type === 6) {
|
|
1826
|
-
if (dynamicOnly)
|
|
1827
|
-
continue;
|
|
1824
|
+
if (dynamicOnly) continue;
|
|
1828
1825
|
if (p.name === name && (p.value || allowEmpty)) {
|
|
1829
1826
|
return p;
|
|
1830
1827
|
}
|
|
@@ -1988,7 +1985,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
1988
1985
|
return node;
|
|
1989
1986
|
}
|
|
1990
1987
|
}
|
|
1991
|
-
const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
|
|
1988
|
+
const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/;
|
|
1992
1989
|
|
|
1993
1990
|
const defaultParserOptions = {
|
|
1994
1991
|
parseMode: "base",
|
|
@@ -2141,8 +2138,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
2141
2138
|
}
|
|
2142
2139
|
},
|
|
2143
2140
|
ondirarg(start, end) {
|
|
2144
|
-
if (start === end)
|
|
2145
|
-
return;
|
|
2141
|
+
if (start === end) return;
|
|
2146
2142
|
const arg = getSlice(start, end);
|
|
2147
2143
|
if (inVPre) {
|
|
2148
2144
|
currentProp.name += arg;
|
|
@@ -2174,14 +2170,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
2174
2170
|
},
|
|
2175
2171
|
onattribdata(start, end) {
|
|
2176
2172
|
currentAttrValue += getSlice(start, end);
|
|
2177
|
-
if (currentAttrStartIndex < 0)
|
|
2178
|
-
currentAttrStartIndex = start;
|
|
2173
|
+
if (currentAttrStartIndex < 0) currentAttrStartIndex = start;
|
|
2179
2174
|
currentAttrEndIndex = end;
|
|
2180
2175
|
},
|
|
2181
2176
|
onattribentity(char, start, end) {
|
|
2182
2177
|
currentAttrValue += char;
|
|
2183
|
-
if (currentAttrStartIndex < 0)
|
|
2184
|
-
currentAttrStartIndex = start;
|
|
2178
|
+
if (currentAttrStartIndex < 0) currentAttrStartIndex = start;
|
|
2185
2179
|
currentAttrEndIndex = end;
|
|
2186
2180
|
},
|
|
2187
2181
|
onattribnameend(end) {
|
|
@@ -2328,8 +2322,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
2328
2322
|
const loc = input.loc;
|
|
2329
2323
|
const exp = input.content;
|
|
2330
2324
|
const inMatch = exp.match(forAliasRE);
|
|
2331
|
-
if (!inMatch)
|
|
2332
|
-
return;
|
|
2325
|
+
if (!inMatch) return;
|
|
2333
2326
|
const [, LHS, RHS] = inMatch;
|
|
2334
2327
|
const createAliasExpression = (content, offset, asParam = false) => {
|
|
2335
2328
|
const start = loc.start.offset + offset;
|
|
@@ -2522,14 +2515,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
2522
2515
|
}
|
|
2523
2516
|
function lookAhead(index, c) {
|
|
2524
2517
|
let i = index;
|
|
2525
|
-
while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1)
|
|
2526
|
-
i++;
|
|
2518
|
+
while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++;
|
|
2527
2519
|
return i;
|
|
2528
2520
|
}
|
|
2529
2521
|
function backTrack(index, c) {
|
|
2530
2522
|
let i = index;
|
|
2531
|
-
while (currentInput.charCodeAt(i) !== c && i >= 0)
|
|
2532
|
-
i--;
|
|
2523
|
+
while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
|
|
2533
2524
|
return i;
|
|
2534
2525
|
}
|
|
2535
2526
|
const specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]);
|
|
@@ -2832,7 +2823,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
2832
2823
|
if (codegenNode.type !== 13) {
|
|
2833
2824
|
return 0;
|
|
2834
2825
|
}
|
|
2835
|
-
if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject") {
|
|
2826
|
+
if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject" && node.tag !== "math") {
|
|
2836
2827
|
return 0;
|
|
2837
2828
|
}
|
|
2838
2829
|
const flag = getPatchFlag(codegenNode);
|
|
@@ -3112,8 +3103,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
3112
3103
|
removeIdentifiers(exp) {
|
|
3113
3104
|
},
|
|
3114
3105
|
hoist(exp) {
|
|
3115
|
-
if (isString(exp))
|
|
3116
|
-
exp = createSimpleExpression(exp);
|
|
3106
|
+
if (isString(exp)) exp = createSimpleExpression(exp);
|
|
3117
3107
|
context.hoists.push(exp);
|
|
3118
3108
|
const identifier = createSimpleExpression(
|
|
3119
3109
|
`_hoisted_${context.hoists.length}`,
|
|
@@ -3196,8 +3186,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
3196
3186
|
};
|
|
3197
3187
|
for (; i < parent.children.length; i++) {
|
|
3198
3188
|
const child = parent.children[i];
|
|
3199
|
-
if (isString(child))
|
|
3200
|
-
continue;
|
|
3189
|
+
if (isString(child)) continue;
|
|
3201
3190
|
context.grandParent = context.parent;
|
|
3202
3191
|
context.parent = parent;
|
|
3203
3192
|
context.childIndex = i;
|
|
@@ -3268,8 +3257,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
3268
3257
|
props.splice(i, 1);
|
|
3269
3258
|
i--;
|
|
3270
3259
|
const onExit = fn(node, prop, context);
|
|
3271
|
-
if (onExit)
|
|
3272
|
-
exitFns.push(onExit);
|
|
3260
|
+
if (onExit) exitFns.push(onExit);
|
|
3273
3261
|
}
|
|
3274
3262
|
}
|
|
3275
3263
|
return exitFns;
|
|
@@ -3341,8 +3329,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
3341
3329
|
}
|
|
3342
3330
|
function generate(ast, options = {}) {
|
|
3343
3331
|
const context = createCodegenContext(ast, options);
|
|
3344
|
-
if (options.onContextCreated)
|
|
3345
|
-
options.onContextCreated(context);
|
|
3332
|
+
if (options.onContextCreated) options.onContextCreated(context);
|
|
3346
3333
|
const {
|
|
3347
3334
|
mode,
|
|
3348
3335
|
push,
|
|
@@ -3624,8 +3611,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
3624
3611
|
}
|
|
3625
3612
|
function genInterpolation(node, context) {
|
|
3626
3613
|
const { push, helper, pure } = context;
|
|
3627
|
-
if (pure)
|
|
3628
|
-
push(PURE_ANNOTATION);
|
|
3614
|
+
if (pure) push(PURE_ANNOTATION);
|
|
3629
3615
|
push(`${helper(TO_DISPLAY_STRING)}(`);
|
|
3630
3616
|
genNode(node.content, context);
|
|
3631
3617
|
push(`)`);
|
|
@@ -3705,8 +3691,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
3705
3691
|
function genNullableArgs(args) {
|
|
3706
3692
|
let i = args.length;
|
|
3707
3693
|
while (i--) {
|
|
3708
|
-
if (args[i] != null)
|
|
3709
|
-
break;
|
|
3694
|
+
if (args[i] != null) break;
|
|
3710
3695
|
}
|
|
3711
3696
|
return args.slice(0, i + 1).map((arg) => arg || `null`);
|
|
3712
3697
|
}
|
|
@@ -4016,8 +4001,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4016
4001
|
sibling.branches.push(branch);
|
|
4017
4002
|
const onExit = processCodegen && processCodegen(sibling, branch, false);
|
|
4018
4003
|
traverseNode(branch, context);
|
|
4019
|
-
if (onExit)
|
|
4020
|
-
onExit();
|
|
4004
|
+
if (onExit) onExit();
|
|
4021
4005
|
context.currentNode = null;
|
|
4022
4006
|
} else {
|
|
4023
4007
|
context.onError(
|
|
@@ -4139,6 +4123,80 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4139
4123
|
}
|
|
4140
4124
|
}
|
|
4141
4125
|
|
|
4126
|
+
const transformBind = (dir, _node, context) => {
|
|
4127
|
+
const { modifiers, loc } = dir;
|
|
4128
|
+
const arg = dir.arg;
|
|
4129
|
+
let { exp } = dir;
|
|
4130
|
+
if (exp && exp.type === 4 && !exp.content.trim()) {
|
|
4131
|
+
{
|
|
4132
|
+
exp = void 0;
|
|
4133
|
+
}
|
|
4134
|
+
}
|
|
4135
|
+
if (!exp) {
|
|
4136
|
+
if (arg.type !== 4 || !arg.isStatic) {
|
|
4137
|
+
context.onError(
|
|
4138
|
+
createCompilerError(
|
|
4139
|
+
52,
|
|
4140
|
+
arg.loc
|
|
4141
|
+
)
|
|
4142
|
+
);
|
|
4143
|
+
return {
|
|
4144
|
+
props: [
|
|
4145
|
+
createObjectProperty(arg, createSimpleExpression("", true, loc))
|
|
4146
|
+
]
|
|
4147
|
+
};
|
|
4148
|
+
}
|
|
4149
|
+
transformBindShorthand(dir);
|
|
4150
|
+
exp = dir.exp;
|
|
4151
|
+
}
|
|
4152
|
+
if (arg.type !== 4) {
|
|
4153
|
+
arg.children.unshift(`(`);
|
|
4154
|
+
arg.children.push(`) || ""`);
|
|
4155
|
+
} else if (!arg.isStatic) {
|
|
4156
|
+
arg.content = `${arg.content} || ""`;
|
|
4157
|
+
}
|
|
4158
|
+
if (modifiers.includes("camel")) {
|
|
4159
|
+
if (arg.type === 4) {
|
|
4160
|
+
if (arg.isStatic) {
|
|
4161
|
+
arg.content = camelize(arg.content);
|
|
4162
|
+
} else {
|
|
4163
|
+
arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
|
|
4164
|
+
}
|
|
4165
|
+
} else {
|
|
4166
|
+
arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
|
|
4167
|
+
arg.children.push(`)`);
|
|
4168
|
+
}
|
|
4169
|
+
}
|
|
4170
|
+
if (!context.inSSR) {
|
|
4171
|
+
if (modifiers.includes("prop")) {
|
|
4172
|
+
injectPrefix(arg, ".");
|
|
4173
|
+
}
|
|
4174
|
+
if (modifiers.includes("attr")) {
|
|
4175
|
+
injectPrefix(arg, "^");
|
|
4176
|
+
}
|
|
4177
|
+
}
|
|
4178
|
+
return {
|
|
4179
|
+
props: [createObjectProperty(arg, exp)]
|
|
4180
|
+
};
|
|
4181
|
+
};
|
|
4182
|
+
const transformBindShorthand = (dir, context) => {
|
|
4183
|
+
const arg = dir.arg;
|
|
4184
|
+
const propName = camelize(arg.content);
|
|
4185
|
+
dir.exp = createSimpleExpression(propName, false, arg.loc);
|
|
4186
|
+
};
|
|
4187
|
+
const injectPrefix = (arg, prefix) => {
|
|
4188
|
+
if (arg.type === 4) {
|
|
4189
|
+
if (arg.isStatic) {
|
|
4190
|
+
arg.content = prefix + arg.content;
|
|
4191
|
+
} else {
|
|
4192
|
+
arg.content = `\`${prefix}\${${arg.content}}\``;
|
|
4193
|
+
}
|
|
4194
|
+
} else {
|
|
4195
|
+
arg.children.unshift(`'${prefix}' + (`);
|
|
4196
|
+
arg.children.push(`)`);
|
|
4197
|
+
}
|
|
4198
|
+
};
|
|
4199
|
+
|
|
4142
4200
|
const transformFor = createStructuralDirectiveTransform(
|
|
4143
4201
|
"for",
|
|
4144
4202
|
(node, dir, context) => {
|
|
@@ -4149,9 +4207,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4149
4207
|
]);
|
|
4150
4208
|
const isTemplate = isTemplateNode(node);
|
|
4151
4209
|
const memo = findDir(node, "memo");
|
|
4152
|
-
const keyProp = findProp(node, `key
|
|
4153
|
-
|
|
4154
|
-
|
|
4210
|
+
const keyProp = findProp(node, `key`, false, true);
|
|
4211
|
+
if (keyProp && keyProp.type === 7 && !keyProp.exp) {
|
|
4212
|
+
transformBindShorthand(keyProp);
|
|
4213
|
+
}
|
|
4214
|
+
const keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
|
|
4215
|
+
const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
|
|
4155
4216
|
const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
|
|
4156
4217
|
const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
|
|
4157
4218
|
forNode.codegenNode = createVNodeCall(
|
|
@@ -4300,13 +4361,11 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4300
4361
|
const onExit = processCodegen && processCodegen(forNode);
|
|
4301
4362
|
return () => {
|
|
4302
4363
|
scopes.vFor--;
|
|
4303
|
-
if (onExit)
|
|
4304
|
-
onExit();
|
|
4364
|
+
if (onExit) onExit();
|
|
4305
4365
|
};
|
|
4306
4366
|
}
|
|
4307
4367
|
function finalizeForParseResult(result, context) {
|
|
4308
|
-
if (result.finalized)
|
|
4309
|
-
return;
|
|
4368
|
+
if (result.finalized) return;
|
|
4310
4369
|
{
|
|
4311
4370
|
validateBrowserExpression(result.source, context);
|
|
4312
4371
|
if (result.key) {
|
|
@@ -4339,8 +4398,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4339
4398
|
function createParamsList(args) {
|
|
4340
4399
|
let i = args.length;
|
|
4341
4400
|
while (i--) {
|
|
4342
|
-
if (args[i])
|
|
4343
|
-
break;
|
|
4401
|
+
if (args[i]) break;
|
|
4344
4402
|
}
|
|
4345
4403
|
return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));
|
|
4346
4404
|
}
|
|
@@ -4602,13 +4660,11 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4602
4660
|
}
|
|
4603
4661
|
break;
|
|
4604
4662
|
case 9:
|
|
4605
|
-
if (hasForwardedSlots(child.branches))
|
|
4606
|
-
return true;
|
|
4663
|
+
if (hasForwardedSlots(child.branches)) return true;
|
|
4607
4664
|
break;
|
|
4608
4665
|
case 10:
|
|
4609
4666
|
case 11:
|
|
4610
|
-
if (hasForwardedSlots(child.children))
|
|
4611
|
-
return true;
|
|
4667
|
+
if (hasForwardedSlots(child.children)) return true;
|
|
4612
4668
|
break;
|
|
4613
4669
|
}
|
|
4614
4670
|
}
|
|
@@ -4644,7 +4700,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4644
4700
|
// updates inside get proper isSVG flag at runtime. (#639, #643)
|
|
4645
4701
|
// This is technically web-specific, but splitting the logic out of core
|
|
4646
4702
|
// leads to too much unnecessary complexity.
|
|
4647
|
-
(tag === "svg" || tag === "foreignObject")
|
|
4703
|
+
(tag === "svg" || tag === "foreignObject" || tag === "math")
|
|
4648
4704
|
);
|
|
4649
4705
|
if (props.length > 0) {
|
|
4650
4706
|
const propsBuildResult = buildProps(
|
|
@@ -4767,8 +4823,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4767
4823
|
}
|
|
4768
4824
|
const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);
|
|
4769
4825
|
if (builtIn) {
|
|
4770
|
-
if (!ssr)
|
|
4771
|
-
context.helper(builtIn);
|
|
4826
|
+
if (!ssr) context.helper(builtIn);
|
|
4772
4827
|
return builtIn;
|
|
4773
4828
|
}
|
|
4774
4829
|
context.helper(RESOLVE_COMPONENT);
|
|
@@ -4797,8 +4852,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
4797
4852
|
);
|
|
4798
4853
|
properties = [];
|
|
4799
4854
|
}
|
|
4800
|
-
if (arg)
|
|
4801
|
-
mergeArgs.push(arg);
|
|
4855
|
+
if (arg) mergeArgs.push(arg);
|
|
4802
4856
|
};
|
|
4803
4857
|
const pushRefVForMarker = () => {
|
|
4804
4858
|
if (context.scopes.vFor > 0) {
|
|
@@ -5135,8 +5189,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5135
5189
|
}
|
|
5136
5190
|
}
|
|
5137
5191
|
const { loc } = dir;
|
|
5138
|
-
if (dir.exp)
|
|
5139
|
-
dirArgs.push(dir.exp);
|
|
5192
|
+
if (dir.exp) dirArgs.push(dir.exp);
|
|
5140
5193
|
if (dir.arg) {
|
|
5141
5194
|
if (!dir.exp) {
|
|
5142
5195
|
dirArgs.push(`void 0`);
|
|
@@ -5166,8 +5219,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5166
5219
|
let propsNamesString = `[`;
|
|
5167
5220
|
for (let i = 0, l = props.length; i < l; i++) {
|
|
5168
5221
|
propsNamesString += JSON.stringify(props[i]);
|
|
5169
|
-
if (i < l - 1)
|
|
5170
|
-
propsNamesString += ", ";
|
|
5222
|
+
if (i < l - 1) propsNamesString += ", ";
|
|
5171
5223
|
}
|
|
5172
5224
|
return propsNamesString + `]`;
|
|
5173
5225
|
}
|
|
@@ -5342,75 +5394,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5342
5394
|
return ret;
|
|
5343
5395
|
};
|
|
5344
5396
|
|
|
5345
|
-
const transformBind = (dir, _node, context) => {
|
|
5346
|
-
const { modifiers, loc } = dir;
|
|
5347
|
-
const arg = dir.arg;
|
|
5348
|
-
let { exp } = dir;
|
|
5349
|
-
if (exp && exp.type === 4 && !exp.content.trim()) {
|
|
5350
|
-
{
|
|
5351
|
-
exp = void 0;
|
|
5352
|
-
}
|
|
5353
|
-
}
|
|
5354
|
-
if (!exp) {
|
|
5355
|
-
if (arg.type !== 4 || !arg.isStatic) {
|
|
5356
|
-
context.onError(
|
|
5357
|
-
createCompilerError(
|
|
5358
|
-
52,
|
|
5359
|
-
arg.loc
|
|
5360
|
-
)
|
|
5361
|
-
);
|
|
5362
|
-
return {
|
|
5363
|
-
props: [
|
|
5364
|
-
createObjectProperty(arg, createSimpleExpression("", true, loc))
|
|
5365
|
-
]
|
|
5366
|
-
};
|
|
5367
|
-
}
|
|
5368
|
-
const propName = camelize(arg.content);
|
|
5369
|
-
exp = dir.exp = createSimpleExpression(propName, false, arg.loc);
|
|
5370
|
-
}
|
|
5371
|
-
if (arg.type !== 4) {
|
|
5372
|
-
arg.children.unshift(`(`);
|
|
5373
|
-
arg.children.push(`) || ""`);
|
|
5374
|
-
} else if (!arg.isStatic) {
|
|
5375
|
-
arg.content = `${arg.content} || ""`;
|
|
5376
|
-
}
|
|
5377
|
-
if (modifiers.includes("camel")) {
|
|
5378
|
-
if (arg.type === 4) {
|
|
5379
|
-
if (arg.isStatic) {
|
|
5380
|
-
arg.content = camelize(arg.content);
|
|
5381
|
-
} else {
|
|
5382
|
-
arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
|
|
5383
|
-
}
|
|
5384
|
-
} else {
|
|
5385
|
-
arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
|
|
5386
|
-
arg.children.push(`)`);
|
|
5387
|
-
}
|
|
5388
|
-
}
|
|
5389
|
-
if (!context.inSSR) {
|
|
5390
|
-
if (modifiers.includes("prop")) {
|
|
5391
|
-
injectPrefix(arg, ".");
|
|
5392
|
-
}
|
|
5393
|
-
if (modifiers.includes("attr")) {
|
|
5394
|
-
injectPrefix(arg, "^");
|
|
5395
|
-
}
|
|
5396
|
-
}
|
|
5397
|
-
return {
|
|
5398
|
-
props: [createObjectProperty(arg, exp)]
|
|
5399
|
-
};
|
|
5400
|
-
};
|
|
5401
|
-
const injectPrefix = (arg, prefix) => {
|
|
5402
|
-
if (arg.type === 4) {
|
|
5403
|
-
if (arg.isStatic) {
|
|
5404
|
-
arg.content = prefix + arg.content;
|
|
5405
|
-
} else {
|
|
5406
|
-
arg.content = `\`${prefix}\${${arg.content}}\``;
|
|
5407
|
-
}
|
|
5408
|
-
} else {
|
|
5409
|
-
arg.children.unshift(`'${prefix}' + (`);
|
|
5410
|
-
arg.children.push(`)`);
|
|
5411
|
-
}
|
|
5412
|
-
};
|
|
5413
|
-
|
|
5414
5397
|
const transformText = (node, context) => {
|
|
5415
5398
|
if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {
|
|
5416
5399
|
return () => {
|
|
@@ -5589,8 +5572,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5589
5572
|
} else {
|
|
5590
5573
|
for (let i = 0; i < node.children.length; i++) {
|
|
5591
5574
|
const child = node.children[i];
|
|
5592
|
-
if (typeof child !== "object")
|
|
5593
|
-
continue;
|
|
5575
|
+
if (typeof child !== "object") continue;
|
|
5594
5576
|
if (child.type === 4) {
|
|
5595
5577
|
parseFilter(child, context);
|
|
5596
5578
|
} else if (child.type === 8) {
|
|
@@ -5616,17 +5598,13 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5616
5598
|
prev = c;
|
|
5617
5599
|
c = exp.charCodeAt(i);
|
|
5618
5600
|
if (inSingle) {
|
|
5619
|
-
if (c === 39 && prev !== 92)
|
|
5620
|
-
inSingle = false;
|
|
5601
|
+
if (c === 39 && prev !== 92) inSingle = false;
|
|
5621
5602
|
} else if (inDouble) {
|
|
5622
|
-
if (c === 34 && prev !== 92)
|
|
5623
|
-
inDouble = false;
|
|
5603
|
+
if (c === 34 && prev !== 92) inDouble = false;
|
|
5624
5604
|
} else if (inTemplateString) {
|
|
5625
|
-
if (c === 96 && prev !== 92)
|
|
5626
|
-
inTemplateString = false;
|
|
5605
|
+
if (c === 96 && prev !== 92) inTemplateString = false;
|
|
5627
5606
|
} else if (inRegex) {
|
|
5628
|
-
if (c === 47 && prev !== 92)
|
|
5629
|
-
inRegex = false;
|
|
5607
|
+
if (c === 47 && prev !== 92) inRegex = false;
|
|
5630
5608
|
} else if (c === 124 && // pipe
|
|
5631
5609
|
exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
|
|
5632
5610
|
if (expression === void 0) {
|
|
@@ -5670,8 +5648,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5670
5648
|
let p;
|
|
5671
5649
|
for (; j >= 0; j--) {
|
|
5672
5650
|
p = exp.charAt(j);
|
|
5673
|
-
if (p !== " ")
|
|
5674
|
-
break;
|
|
5651
|
+
if (p !== " ") break;
|
|
5675
5652
|
}
|
|
5676
5653
|
if (!p || !validDivisionCharRE.test(p)) {
|
|
5677
5654
|
inRegex = true;
|
|
@@ -5698,6 +5675,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
5698
5675
|
expression = wrapFilter(expression, filters[i], context);
|
|
5699
5676
|
}
|
|
5700
5677
|
node.content = expression;
|
|
5678
|
+
node.ast = void 0;
|
|
5701
5679
|
}
|
|
5702
5680
|
}
|
|
5703
5681
|
function wrapFilter(exp, filter, context) {
|
|
@@ -6169,8 +6147,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
|
|
|
6169
6147
|
const transformOn = (dir, node, context) => {
|
|
6170
6148
|
return transformOn$1(dir, node, context, (baseResult) => {
|
|
6171
6149
|
const { modifiers } = dir;
|
|
6172
|
-
if (!modifiers.length)
|
|
6173
|
-
return baseResult;
|
|
6150
|
+
if (!modifiers.length) return baseResult;
|
|
6174
6151
|
let { key, value: handlerExp } = baseResult.props[0];
|
|
6175
6152
|
const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);
|
|
6176
6153
|
if (nonKeyModifiers.includes("right")) {
|