"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.addEasyComponentAutoImports = exports.onCompilerError = exports.rewriteObjectExpression = exports.genRenderFunctionDecl = exports.__COMPAT__ = exports.__BROWSER__ = exports.__DEV__ = void 0; const path_1 = __importDefault(require("path")); const compiler_core_1 = require("@vue/compiler-core"); const compiler_sfc_1 = require("@vue/compiler-sfc"); const parser_1 = require("@babel/parser"); const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared"); const transformExpression_1 = require("./transforms/transformExpression"); exports.__DEV__ = true; exports.__BROWSER__ = false; exports.__COMPAT__ = false; function genRenderFunctionDecl({ className = '', }) { // if(inline){ // return `(): VNode | null =>` // } // 调整返回值类型为 any | null, 支持 return `function ${className}Render(): any | null`; } exports.genRenderFunctionDecl = genRenderFunctionDecl; function rewriteObjectExpression(exp, context) { const source = (0, transformExpression_1.stringifyExpression)(exp); if (source.includes('{')) { const s = new compiler_sfc_1.MagicString(source); const ast = (0, parser_1.parseExpression)(source, { plugins: context.expressionPlugins, }); (0, compiler_sfc_1.walk)(ast, { enter(node) { if (node.type === 'ObjectExpression') { s.prependLeft(node.start, node.properties.length > 0 ? 'utsMapOf(' : 'utsMapOf('); s.prependRight(node.end, ')'); } }, }); return (0, compiler_core_1.createSimpleExpression)(s.toString(), false, exp.loc); } } exports.rewriteObjectExpression = rewriteObjectExpression; function onCompilerError(error) { } exports.onCompilerError = onCompilerError; function addEasyComponentAutoImports(easyComponentAutoImports, rootDir, tagName, fileName) { // 内置easycom,如 unicloud-db if (fileName.includes('@dcloudio')) { return; } rootDir = (0, uni_cli_shared_1.normalizePath)(rootDir); if (path_1.default.isAbsolute(fileName) && fileName.startsWith(rootDir)) { fileName = '@/' + (0, uni_cli_shared_1.normalizePath)(path_1.default.relative(rootDir, fileName)); } easyComponentAutoImports[fileName] = [ (0, uni_cli_shared_1.genUTSComponentPublicInstanceImported)(rootDir, fileName), (0, uni_cli_shared_1.genUTSComponentPublicInstanceIdent)(tagName), ]; } exports.addEasyComponentAutoImports = addEasyComponentAutoImports;