94 lines
3.6 KiB
JavaScript
94 lines
3.6 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.isCompoundExpressionNode = exports.isSimpleExpressionNode = exports.isDirectiveNode = exports.isAttributeNode = exports.isElementNode = exports.parseVue = exports.createCallExpression = exports.createIdentifier = exports.createLiteral = exports.isReference = exports.isExportSpecifier = exports.isMethodDefinition = exports.isMemberExpression = exports.isCallExpression = exports.isAssignmentExpression = exports.isIdentifier = exports.isProperty = void 0;
|
|
const compiler_dom_1 = require("@vue/compiler-dom");
|
|
const isProperty = (node) => node.type === 'Property';
|
|
exports.isProperty = isProperty;
|
|
const isIdentifier = (node) => node.type === 'Identifier';
|
|
exports.isIdentifier = isIdentifier;
|
|
const isAssignmentExpression = (node) => node.type === 'AssignmentExpression';
|
|
exports.isAssignmentExpression = isAssignmentExpression;
|
|
const isCallExpression = (node) => node.type === 'CallExpression';
|
|
exports.isCallExpression = isCallExpression;
|
|
const isMemberExpression = (node) => node.type === 'MemberExpression';
|
|
exports.isMemberExpression = isMemberExpression;
|
|
const isMethodDefinition = (node) => node.type === 'MethodDefinition';
|
|
exports.isMethodDefinition = isMethodDefinition;
|
|
const isExportSpecifier = (node) => node.type === 'ExportSpecifier';
|
|
exports.isExportSpecifier = isExportSpecifier;
|
|
const isReference = (node, parent) => {
|
|
if ((0, exports.isMemberExpression)(node)) {
|
|
return !node.computed && (0, exports.isReference)(node.object, node);
|
|
}
|
|
if ((0, exports.isIdentifier)(node)) {
|
|
if ((0, exports.isMemberExpression)(parent))
|
|
return parent.computed || node === parent.object;
|
|
// `bar` in { bar: foo }
|
|
if ((0, exports.isProperty)(parent) && node !== parent.value)
|
|
return false;
|
|
// `bar` in `class Foo { bar () {...} }`
|
|
if ((0, exports.isMethodDefinition)(parent))
|
|
return false;
|
|
// `bar` in `export { foo as bar }`
|
|
if ((0, exports.isExportSpecifier)(parent) && node !== parent.local)
|
|
return false;
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
exports.isReference = isReference;
|
|
function createLiteral(value) {
|
|
return {
|
|
type: 'Literal',
|
|
value,
|
|
raw: `'${value}'`,
|
|
};
|
|
}
|
|
exports.createLiteral = createLiteral;
|
|
function createIdentifier(name) {
|
|
return {
|
|
type: 'Identifier',
|
|
name,
|
|
};
|
|
}
|
|
exports.createIdentifier = createIdentifier;
|
|
function createCallExpression(callee, args) {
|
|
return {
|
|
type: 'CallExpression',
|
|
callee,
|
|
arguments: args,
|
|
};
|
|
}
|
|
exports.createCallExpression = createCallExpression;
|
|
function parseVue(code, errors) {
|
|
return (0, compiler_dom_1.parse)(code, {
|
|
isNativeTag: () => true,
|
|
isPreTag: () => true,
|
|
getTextMode: () => 0 /* TextModes.DATA */,
|
|
onError: (e) => {
|
|
errors.push(e);
|
|
},
|
|
});
|
|
}
|
|
exports.parseVue = parseVue;
|
|
function isElementNode(node) {
|
|
return node.type === 1 /* NodeTypes.ELEMENT */;
|
|
}
|
|
exports.isElementNode = isElementNode;
|
|
function isAttributeNode(node) {
|
|
return node.type === 6 /* NodeTypes.ATTRIBUTE */;
|
|
}
|
|
exports.isAttributeNode = isAttributeNode;
|
|
function isDirectiveNode(node) {
|
|
return node.type === 7 /* NodeTypes.DIRECTIVE */;
|
|
}
|
|
exports.isDirectiveNode = isDirectiveNode;
|
|
function isSimpleExpressionNode(node) {
|
|
return node.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */;
|
|
}
|
|
exports.isSimpleExpressionNode = isSimpleExpressionNode;
|
|
function isCompoundExpressionNode(node) {
|
|
return node.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */;
|
|
}
|
|
exports.isCompoundExpressionNode = isCompoundExpressionNode;
|