| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.transformBind = void 0;
- const shared_1 = require("@vue/shared");
- const compiler_core_1 = require("@vue/compiler-core");
- const errors_1 = require("../errors");
- const transformBind = (dir, _node, context) => {
- const { exp, modifiers, loc } = dir;
- const arg = dir.arg;
- if (arg.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */) {
- arg.children.unshift(`(`);
- arg.children.push(`) || ""`);
- }
- else if (!arg.isStatic) {
- arg.content = `${arg.content} || ""`;
- }
- // .sync is replaced by v-model:arg
- if (modifiers.includes('camel')) {
- if (arg.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {
- if (arg.isStatic) {
- arg.content = (0, shared_1.camelize)(arg.content);
- }
- else {
- // arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`
- }
- }
- else {
- // arg.children.unshift(`${context.helperString(CAMELIZE)}(`)
- // arg.children.push(`)`)
- }
- }
- if (modifiers.includes('prop')) {
- context.onWarn((0, errors_1.createMPCompilerError)(4 /* MPErrorCodes.X_V_BIND_MODIFIER_PROP */, loc));
- }
- if (modifiers.includes('attr')) {
- context.onWarn((0, errors_1.createMPCompilerError)(5 /* MPErrorCodes.X_V_BIND_MODIFIER_ATTR */, loc));
- }
- if (!exp ||
- (exp.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ && !exp.content.trim())) {
- context.onError((0, compiler_core_1.createCompilerError)(34 /* ErrorCodes.X_V_BIND_NO_EXPRESSION */, loc));
- return {
- props: [(0, compiler_core_1.createObjectProperty)(arg, (0, compiler_core_1.createSimpleExpression)('', true, loc))],
- };
- }
- return {
- props: [(0, compiler_core_1.createObjectProperty)(arg, exp)],
- };
- };
- exports.transformBind = transformBind;
|