初始化
This commit is contained in:
91
uni_modules/UniDevTools/node_modules/@dcloudio/uni-mp-compiler/dist/ast.js
generated
vendored
Normal file
91
uni_modules/UniDevTools/node_modules/@dcloudio/uni-mp-compiler/dist/ast.js
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parseStringLiteral = exports.isTrueExpr = exports.isUndefined = exports.parseParam = exports.parseExpr = exports.createVIfSpreadElement = exports.createVIfConditionalExpression = exports.createVIfProperty = exports.createObjectExpression = exports.createSpreadElement = exports.createObjectProperty = exports.createIdentifier = void 0;
|
||||
const shared_1 = require("@vue/shared");
|
||||
const parser_1 = require("@babel/parser");
|
||||
const types_1 = require("@babel/types");
|
||||
const compiler_core_1 = require("@vue/compiler-core");
|
||||
const codegen_1 = require("./codegen");
|
||||
function createIdentifier(name) {
|
||||
return (0, types_1.identifier)(name);
|
||||
}
|
||||
exports.createIdentifier = createIdentifier;
|
||||
function createObjectProperty(name, value) {
|
||||
return (0, types_1.objectProperty)((0, types_1.identifier)(name), value);
|
||||
}
|
||||
exports.createObjectProperty = createObjectProperty;
|
||||
function createSpreadElement(argument) {
|
||||
return (0, types_1.spreadElement)(argument);
|
||||
}
|
||||
exports.createSpreadElement = createSpreadElement;
|
||||
function createObjectExpression(properties) {
|
||||
return (0, types_1.objectExpression)(properties);
|
||||
}
|
||||
exports.createObjectExpression = createObjectExpression;
|
||||
function createVIfProperty(condition, { id }) {
|
||||
return (0, types_1.objectProperty)((0, types_1.identifier)(id.next()), condition);
|
||||
}
|
||||
exports.createVIfProperty = createVIfProperty;
|
||||
function createVIfConditionalExpression({ condition, properties, }) {
|
||||
return (0, types_1.conditionalExpression)(condition, (0, types_1.objectExpression)(properties), (0, types_1.objectExpression)([]));
|
||||
}
|
||||
exports.createVIfConditionalExpression = createVIfConditionalExpression;
|
||||
function createVIfSpreadElement(vIfScope) {
|
||||
return (0, types_1.spreadElement)(createVIfConditionalExpression(vIfScope));
|
||||
}
|
||||
exports.createVIfSpreadElement = createVIfSpreadElement;
|
||||
// function numericLiteralToArrayExpr(num: number) {
|
||||
// const elements: NumericLiteral[] = []
|
||||
// for (let i = 0; i < num; i++) {
|
||||
// elements.push(numericLiteral(i + 1))
|
||||
// }
|
||||
// return arrayExpression(elements)
|
||||
// }
|
||||
function parseExpr(code, context, node) {
|
||||
if (!(0, shared_1.isString)(code)) {
|
||||
node = code;
|
||||
code = (0, codegen_1.genExpr)(code);
|
||||
}
|
||||
try {
|
||||
return (0, parser_1.parseExpression)(code, {
|
||||
plugins: context.expressionPlugins,
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
context.onError((0, compiler_core_1.createCompilerError)(45 /* ErrorCodes.X_INVALID_EXPRESSION */, node && node.loc, undefined, '\n' + code + '\n' + e.message));
|
||||
}
|
||||
}
|
||||
exports.parseExpr = parseExpr;
|
||||
function parseParam(code, context, node) {
|
||||
const { params: [expr], } = parseExpr(`(${code})=>{}`, context, node);
|
||||
return expr;
|
||||
}
|
||||
exports.parseParam = parseParam;
|
||||
function isUndefined(expr) {
|
||||
return (0, types_1.isIdentifier)(expr) && expr.name === 'undefined';
|
||||
}
|
||||
exports.isUndefined = isUndefined;
|
||||
function isTrueExpr(expr) {
|
||||
if ((0, types_1.isNullLiteral)(expr)) {
|
||||
return false;
|
||||
}
|
||||
if ((0, types_1.isStringLiteral)(expr) ||
|
||||
(0, types_1.isNumericLiteral)(expr) ||
|
||||
(0, types_1.isBooleanLiteral)(expr) ||
|
||||
(0, types_1.isBigIntLiteral)(expr) ||
|
||||
(0, types_1.isDecimalLiteral)(expr)) {
|
||||
return !!expr.value;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
exports.isTrueExpr = isTrueExpr;
|
||||
function parseStringLiteral(expr) {
|
||||
if ((0, types_1.isIdentifier)(expr)) {
|
||||
return (0, types_1.stringLiteral)(expr.name);
|
||||
}
|
||||
if ((0, types_1.isStringLiteral)(expr)) {
|
||||
return (0, types_1.stringLiteral)(expr.value);
|
||||
}
|
||||
return (0, types_1.stringLiteral)('');
|
||||
}
|
||||
exports.parseStringLiteral = parseStringLiteral;
|
||||
Reference in New Issue
Block a user