@mybricks/to-code-taro 1.0.0
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/cjs/abstractEventTypeDef.d.ts +11 -0
- package/dist/cjs/abstractEventTypeDef.js +93 -0
- package/dist/cjs/core/comlib/Index.js +45 -0
- package/dist/cjs/core/comlib/_ScanQrcode.js +60 -0
- package/dist/cjs/core/comlib/_SetStorage.js +76 -0
- package/dist/cjs/core/comlib/_ShowToast.js +96 -0
- package/dist/cjs/core/mybricks/MyBricksDescriptor.js +213 -0
- package/dist/cjs/core/mybricks/Subject.js +115 -0
- package/dist/cjs/core/mybricks/constant.js +70 -0
- package/dist/cjs/core/mybricks/context.js +33 -0
- package/dist/cjs/core/mybricks/createEnv.js +39 -0
- package/dist/cjs/core/mybricks/createJSHandle.js +150 -0
- package/dist/cjs/core/mybricks/createModuleEventsHandle.js +49 -0
- package/dist/cjs/core/mybricks/createReactiveInputHandler.js +63 -0
- package/dist/cjs/core/mybricks/event.js +70 -0
- package/dist/cjs/core/mybricks/index.js +871 -0
- package/dist/cjs/core/mybricks/log.js +38 -0
- package/dist/cjs/core/mybricks/utils.js +69 -0
- package/dist/cjs/core/mybricks/variables.js +217 -0
- package/dist/cjs/core/utils/ComContext.js +39 -0
- package/dist/cjs/core/utils/index.js +88 -0
- package/dist/cjs/core/utils/useContext.js +53 -0
- package/dist/cjs/core/utils/with.js +84 -0
- package/dist/cjs/generate/generateTaroProjectJson.d.ts +24 -0
- package/dist/cjs/generate/generateTaroProjectJson.js +101 -0
- package/dist/cjs/generate/generateTaroTempalteJson.d.ts +15 -0
- package/dist/cjs/generate/generateTaroTempalteJson.js +103 -0
- package/dist/cjs/generate/utils/appConfig.d.ts +21 -0
- package/dist/cjs/generate/utils/appConfig.js +47 -0
- package/dist/cjs/generate/utils/commonDir.d.ts +21 -0
- package/dist/cjs/generate/utils/commonDir.js +50 -0
- package/dist/cjs/generate/utils/fileNode.d.ts +17 -0
- package/dist/cjs/generate/utils/fileNode.js +57 -0
- package/dist/cjs/generate/utils/index.d.ts +7 -0
- package/dist/cjs/generate/utils/index.js +29 -0
- package/dist/cjs/generate/utils/tabBarImages.d.ts +14 -0
- package/dist/cjs/generate/utils/tabBarImages.js +36 -0
- package/dist/cjs/handleCom.d.ts +31 -0
- package/dist/cjs/handleCom.js +260 -0
- package/dist/cjs/handleDom.d.ts +19 -0
- package/dist/cjs/handleDom.js +86 -0
- package/dist/cjs/handleExtension.d.ts +10 -0
- package/dist/cjs/handleExtension.js +300 -0
- package/dist/cjs/handleGlobal.d.ts +21 -0
- package/dist/cjs/handleGlobal.js +155 -0
- package/dist/cjs/handleModule.d.ts +15 -0
- package/dist/cjs/handleModule.js +108 -0
- package/dist/cjs/handleSlot.d.ts +27 -0
- package/dist/cjs/handleSlot.js +197 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +44 -0
- package/dist/cjs/taro-template.json +5370 -0
- package/dist/cjs/toCodeTaro.d.ts +130 -0
- package/dist/cjs/toCodeTaro.js +427 -0
- package/dist/cjs/utils/code/component.d.ts +19 -0
- package/dist/cjs/utils/code/component.js +85 -0
- package/dist/cjs/utils/code/index.d.ts +18 -0
- package/dist/cjs/utils/code/index.js +71 -0
- package/dist/cjs/utils/code/renderManager.d.ts +22 -0
- package/dist/cjs/utils/code/renderManager.js +80 -0
- package/dist/cjs/utils/code/scene.d.ts +19 -0
- package/dist/cjs/utils/code/scene.js +82 -0
- package/dist/cjs/utils/convertNamespace.d.ts +11 -0
- package/dist/cjs/utils/convertNamespace.js +43 -0
- package/dist/cjs/utils/genJSModules.d.ts +12 -0
- package/dist/cjs/utils/genJSModules.js +116 -0
- package/dist/cjs/utils/getComponentClassName.d.ts +16 -0
- package/dist/cjs/utils/getComponentClassName.js +47 -0
- package/dist/cjs/utils/handlePageConfig.d.ts +24 -0
- package/dist/cjs/utils/handlePageConfig.js +73 -0
- package/dist/cjs/utils/handleProcess.d.ts +9 -0
- package/dist/cjs/utils/handleProcess.js +370 -0
- package/dist/cjs/utils/index.d.ts +62 -0
- package/dist/cjs/utils/index.js +321 -0
- package/dist/cjs/utils/pageConfig/converter.d.ts +17 -0
- package/dist/cjs/utils/pageConfig/converter.js +83 -0
- package/dist/cjs/utils/pageConfig/index.d.ts +10 -0
- package/dist/cjs/utils/pageConfig/index.js +33 -0
- package/dist/cjs/utils/pageConfig/pageConfig.d.ts +10 -0
- package/dist/cjs/utils/pageConfig/pageConfig.js +87 -0
- package/dist/cjs/utils/pageConfig/saveBase64Image.d.ts +14 -0
- package/dist/cjs/utils/pageConfig/saveBase64Image.js +81 -0
- package/dist/cjs/utils/pageConfig/tabBarConfig.d.ts +13 -0
- package/dist/cjs/utils/pageConfig/tabBarConfig.js +74 -0
- package/dist/cjs/utils/pageConfig/types.d.ts +68 -0
- package/dist/cjs/utils/pageConfig/types.js +17 -0
- package/dist/cjs/utils/pageConfig/validator.d.ts +13 -0
- package/dist/cjs/utils/pageConfig/validator.js +67 -0
- package/dist/cjs/utils/pxtransform.d.ts +28 -0
- package/dist/cjs/utils/pxtransform.js +102 -0
- package/dist/esm/abstractEventTypeDef.d.ts +11 -0
- package/dist/esm/abstractEventTypeDef.js +63 -0
- package/dist/esm/core/comlib/Index.js +3 -0
- package/dist/esm/core/comlib/_ScanQrcode.js +27 -0
- package/dist/esm/core/comlib/_SetStorage.js +52 -0
- package/dist/esm/core/comlib/_ShowToast.js +68 -0
- package/dist/esm/core/mybricks/MyBricksDescriptor.js +232 -0
- package/dist/esm/core/mybricks/Subject.js +143 -0
- package/dist/esm/core/mybricks/constant.js +18 -0
- package/dist/esm/core/mybricks/context.js +5 -0
- package/dist/esm/core/mybricks/createEnv.js +9 -0
- package/dist/esm/core/mybricks/createJSHandle.js +138 -0
- package/dist/esm/core/mybricks/createModuleEventsHandle.js +26 -0
- package/dist/esm/core/mybricks/createReactiveInputHandler.js +40 -0
- package/dist/esm/core/mybricks/event.js +44 -0
- package/dist/esm/core/mybricks/index.js +952 -0
- package/dist/esm/core/mybricks/log.js +12 -0
- package/dist/esm/core/mybricks/utils.js +41 -0
- package/dist/esm/core/mybricks/variables.js +190 -0
- package/dist/esm/core/utils/ComContext.js +10 -0
- package/dist/esm/core/utils/index.js +57 -0
- package/dist/esm/core/utils/useContext.js +24 -0
- package/dist/esm/core/utils/with.js +67 -0
- package/dist/esm/generate/generateTaroProjectJson.d.ts +24 -0
- package/dist/esm/generate/generateTaroProjectJson.js +102 -0
- package/dist/esm/generate/generateTaroTempalteJson.d.ts +15 -0
- package/dist/esm/generate/generateTaroTempalteJson.js +94 -0
- package/dist/esm/generate/utils/appConfig.d.ts +21 -0
- package/dist/esm/generate/utils/appConfig.js +30 -0
- package/dist/esm/generate/utils/commonDir.d.ts +21 -0
- package/dist/esm/generate/utils/commonDir.js +36 -0
- package/dist/esm/generate/utils/fileNode.d.ts +17 -0
- package/dist/esm/generate/utils/fileNode.js +49 -0
- package/dist/esm/generate/utils/index.d.ts +7 -0
- package/dist/esm/generate/utils/index.js +8 -0
- package/dist/esm/generate/utils/tabBarImages.d.ts +14 -0
- package/dist/esm/generate/utils/tabBarImages.js +15 -0
- package/dist/esm/handleCom.d.ts +31 -0
- package/dist/esm/handleCom.js +297 -0
- package/dist/esm/handleDom.d.ts +19 -0
- package/dist/esm/handleDom.js +63 -0
- package/dist/esm/handleExtension.d.ts +10 -0
- package/dist/esm/handleExtension.js +243 -0
- package/dist/esm/handleGlobal.d.ts +21 -0
- package/dist/esm/handleGlobal.js +117 -0
- package/dist/esm/handleModule.d.ts +15 -0
- package/dist/esm/handleModule.js +78 -0
- package/dist/esm/handleSlot.d.ts +27 -0
- package/dist/esm/handleSlot.js +205 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/taro-template.json +5370 -0
- package/dist/esm/toCodeTaro.d.ts +130 -0
- package/dist/esm/toCodeTaro.js +452 -0
- package/dist/esm/utils/code/component.d.ts +19 -0
- package/dist/esm/utils/code/component.js +54 -0
- package/dist/esm/utils/code/index.d.ts +18 -0
- package/dist/esm/utils/code/index.js +51 -0
- package/dist/esm/utils/code/renderManager.d.ts +22 -0
- package/dist/esm/utils/code/renderManager.js +62 -0
- package/dist/esm/utils/code/scene.d.ts +19 -0
- package/dist/esm/utils/code/scene.js +47 -0
- package/dist/esm/utils/convertNamespace.d.ts +11 -0
- package/dist/esm/utils/convertNamespace.js +27 -0
- package/dist/esm/utils/genJSModules.d.ts +12 -0
- package/dist/esm/utils/genJSModules.js +44 -0
- package/dist/esm/utils/getComponentClassName.d.ts +16 -0
- package/dist/esm/utils/getComponentClassName.js +37 -0
- package/dist/esm/utils/handlePageConfig.d.ts +24 -0
- package/dist/esm/utils/handlePageConfig.js +68 -0
- package/dist/esm/utils/handleProcess.d.ts +9 -0
- package/dist/esm/utils/handleProcess.js +379 -0
- package/dist/esm/utils/index.d.ts +62 -0
- package/dist/esm/utils/index.js +345 -0
- package/dist/esm/utils/pageConfig/converter.d.ts +17 -0
- package/dist/esm/utils/pageConfig/converter.js +105 -0
- package/dist/esm/utils/pageConfig/index.d.ts +10 -0
- package/dist/esm/utils/pageConfig/index.js +11 -0
- package/dist/esm/utils/pageConfig/pageConfig.d.ts +10 -0
- package/dist/esm/utils/pageConfig/pageConfig.js +60 -0
- package/dist/esm/utils/pageConfig/saveBase64Image.d.ts +14 -0
- package/dist/esm/utils/pageConfig/saveBase64Image.js +105 -0
- package/dist/esm/utils/pageConfig/tabBarConfig.d.ts +13 -0
- package/dist/esm/utils/pageConfig/tabBarConfig.js +82 -0
- package/dist/esm/utils/pageConfig/types.d.ts +68 -0
- package/dist/esm/utils/pageConfig/types.js +1 -0
- package/dist/esm/utils/pageConfig/validator.d.ts +13 -0
- package/dist/esm/utils/pageConfig/validator.js +64 -0
- package/dist/esm/utils/pxtransform.d.ts +28 -0
- package/dist/esm/utils/pxtransform.js +121 -0
- package/package.json +74 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/handleCom.ts
|
|
30
|
+
var handleCom_exports = {};
|
|
31
|
+
__export(handleCom_exports, {
|
|
32
|
+
default: () => handleCom_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(handleCom_exports);
|
|
35
|
+
var import_utils = require("./utils");
|
|
36
|
+
var import_code = require("./utils/code");
|
|
37
|
+
var import_handleSlot = __toESM(require("./handleSlot"));
|
|
38
|
+
var import_component = require("./utils/code/component");
|
|
39
|
+
var import_renderManager = require("./utils/code/renderManager");
|
|
40
|
+
var import_handleProcess = require("./utils/handleProcess");
|
|
41
|
+
var handleCom = (com, config) => {
|
|
42
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
43
|
+
const { meta, props, slots, events } = com;
|
|
44
|
+
const isModule = meta.def.namespace.startsWith("mybricks.taro.module");
|
|
45
|
+
const { importInfo, callName } = config.getComponentMeta(meta);
|
|
46
|
+
const isJsCalculationComponent = meta.def.namespace === "mybricks.taro._muilt-inputJs" || meta.def.namespace === "mybricks.core-comlib.js-ai";
|
|
47
|
+
if (isJsCalculationComponent) {
|
|
48
|
+
const transformCode = ((_b = (_a = props.data) == null ? void 0 : _a.fns) == null ? void 0 : _b.code) || ((_d = (_c = props.data) == null ? void 0 : _c.fns) == null ? void 0 : _d.transformCode) || ((_e = props.data) == null ? void 0 : _e.fns);
|
|
49
|
+
if (transformCode && config.addJSModule) {
|
|
50
|
+
config.addJSModule({
|
|
51
|
+
id: meta.id,
|
|
52
|
+
title: meta.title || "JS计算",
|
|
53
|
+
transformCode: typeof transformCode === "string" ? transformCode : "",
|
|
54
|
+
inputs: ((_f = meta.model) == null ? void 0 : _f.inputs) || [],
|
|
55
|
+
outputs: ((_g = meta.model) == null ? void 0 : _g.outputs) || [],
|
|
56
|
+
data: props.data || {}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
slots: [],
|
|
61
|
+
scopeSlots: [],
|
|
62
|
+
ui: "",
|
|
63
|
+
js: "",
|
|
64
|
+
cssContent: "",
|
|
65
|
+
outputsConfig: void 0
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const componentName = (0, import_utils.firstCharToUpperCase)(callName || importInfo.name);
|
|
69
|
+
const importName = (0, import_utils.firstCharToUpperCase)(importInfo.name);
|
|
70
|
+
config.addParentDependencyImport({
|
|
71
|
+
packageName: importInfo.from,
|
|
72
|
+
dependencyNames: [importName],
|
|
73
|
+
importType: importInfo.type
|
|
74
|
+
});
|
|
75
|
+
const currentProvider = config.getCurrentProvider();
|
|
76
|
+
const providerName = currentProvider.name;
|
|
77
|
+
const componentController = ((_h = config.getComponentController) == null ? void 0 : _h.call(config, {
|
|
78
|
+
com: meta,
|
|
79
|
+
scene: config.getCurrentScene()
|
|
80
|
+
})) || `controller_${meta.id}`;
|
|
81
|
+
const providerPath = `controllers.current.${providerName}`;
|
|
82
|
+
const controllerPath = `${providerPath}.${componentController}`;
|
|
83
|
+
const indentJs = (0, import_utils.indentation)(config.codeStyle.indent * (config.depth + 1));
|
|
84
|
+
let eventCode = "";
|
|
85
|
+
const scene = config.getCurrentScene();
|
|
86
|
+
const sceneCom = (_i = scene.coms) == null ? void 0 : _i[meta.id];
|
|
87
|
+
const componentInputs = (sceneCom == null ? void 0 : sceneCom.inputs) || [];
|
|
88
|
+
const componentOutputs = (sceneCom == null ? void 0 : sceneCom.outputs) || meta.outputs || [];
|
|
89
|
+
let comEventCode = "";
|
|
90
|
+
const outputsConfig = {};
|
|
91
|
+
const eventConfig = {};
|
|
92
|
+
const resultStyle = (0, import_utils.convertComponentStyle)(props.style);
|
|
93
|
+
const cssContent = (0, import_utils.convertStyleAryToCss)((_j = props.style) == null ? void 0 : _j.styleAry, meta.id);
|
|
94
|
+
const outputEvents = events || {};
|
|
95
|
+
Object.entries(outputEvents).forEach(
|
|
96
|
+
([eventId, eventInfo]) => {
|
|
97
|
+
const { type, isAbstract, diagramId, schema, active } = eventInfo;
|
|
98
|
+
if (active === false)
|
|
99
|
+
return;
|
|
100
|
+
if (isAbstract) {
|
|
101
|
+
config.setAbstractEventTypeDefMap({
|
|
102
|
+
comId: com.meta.id,
|
|
103
|
+
eventId,
|
|
104
|
+
typeDef: config.getTypeDef(),
|
|
105
|
+
schema
|
|
106
|
+
});
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (type === "fx") {
|
|
110
|
+
const fxsMap = config.getFxsMap();
|
|
111
|
+
const currentProvider2 = config.getCurrentProvider();
|
|
112
|
+
const scene2 = config.getCurrentScene();
|
|
113
|
+
const pinProxy = scene2.pinProxies[`${props.id}-${eventId}`];
|
|
114
|
+
const fxProvider = fxsMap[pinProxy.frameId];
|
|
115
|
+
const isGlobal = fxProvider.name === "global";
|
|
116
|
+
if (fxProvider.name !== currentProvider2.name) {
|
|
117
|
+
if (isGlobal) {
|
|
118
|
+
config.addParentDependencyImport({
|
|
119
|
+
packageName: config.getComponentPackageName(),
|
|
120
|
+
dependencyNames: ["globalFxs"],
|
|
121
|
+
importType: "named"
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
config.addConsumer(fxProvider);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const indent3 = (0, import_utils.indentation)(
|
|
128
|
+
config.codeStyle.indent * (config.depth + 2)
|
|
129
|
+
);
|
|
130
|
+
comEventCode += `${indent3}${eventId}: ${isGlobal ? `globalFxs` : `comRefs.current.${fxProvider.name}_Fxs`}.${pinProxy.frameId},
|
|
131
|
+
`;
|
|
132
|
+
eventConfig[eventId] = { connected: true };
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (type !== "defined") {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (!diagramId) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const event = config.getEventByDiagramId(diagramId);
|
|
142
|
+
if (!event) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const paramName = "value";
|
|
146
|
+
let process = (0, import_handleProcess.handleProcess)(event, {
|
|
147
|
+
...config,
|
|
148
|
+
target: "comRefs.current",
|
|
149
|
+
depth: config.depth + 3,
|
|
150
|
+
addParentDependencyImport: config.addParentDependencyImport,
|
|
151
|
+
getParams: () => {
|
|
152
|
+
return {
|
|
153
|
+
[eventId]: paramName
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}).replace(/this\./g, "comRefs.current.").replace(/comRefs\.current\.([a-zA-Z0-9_]+)\.controller_/g, "comRefs.current.$1.").replace(/comRefs\.current\.slot_Index\./g, "comRefs.current.");
|
|
157
|
+
if (process.includes("pageParams")) {
|
|
158
|
+
config.addParentDependencyImport({
|
|
159
|
+
packageName: config.getComponentPackageName(),
|
|
160
|
+
dependencyNames: ["page"],
|
|
161
|
+
importType: "named"
|
|
162
|
+
});
|
|
163
|
+
process = (0, import_utils.indentation)(config.codeStyle.indent * (config.depth + 3)) + `const pageParams: any = page.getParams("${config.getCurrentScene().id}");
|
|
164
|
+
` + process;
|
|
165
|
+
}
|
|
166
|
+
const handlerCode = `(${paramName}: any) => {
|
|
167
|
+
${process}
|
|
168
|
+
${(0, import_utils.indentation)(config.codeStyle.indent * (config.depth + 2))}}`;
|
|
169
|
+
if (!outputsConfig[meta.id]) {
|
|
170
|
+
outputsConfig[meta.id] = {};
|
|
171
|
+
}
|
|
172
|
+
const onEventName = eventId.startsWith("on") ? eventId : `on${eventId.charAt(0).toUpperCase()}${eventId.slice(1)}`;
|
|
173
|
+
outputsConfig[meta.id][onEventName] = handlerCode;
|
|
174
|
+
eventConfig[eventId] = { connected: true };
|
|
175
|
+
}
|
|
176
|
+
);
|
|
177
|
+
currentProvider.coms.add(meta.id);
|
|
178
|
+
currentProvider.controllers.add(meta.id);
|
|
179
|
+
const indent = (0, import_utils.indentation)(config.codeStyle.indent * config.depth);
|
|
180
|
+
const indent2 = (0, import_utils.indentation)(config.codeStyle.indent * (config.depth + 1));
|
|
181
|
+
let slotsCode = "";
|
|
182
|
+
let accumulatedCssContent = cssContent;
|
|
183
|
+
let renderCode = "";
|
|
184
|
+
const renderManager = config.renderManager || new import_renderManager.RenderManager();
|
|
185
|
+
if (slots) {
|
|
186
|
+
let slotsObjectCode = "";
|
|
187
|
+
const slotEntries = Object.entries(slots);
|
|
188
|
+
slotEntries.forEach(([slotId, slot], index) => {
|
|
189
|
+
var _a2, _b2;
|
|
190
|
+
const rawSlotInfo = (_b2 = (_a2 = props.style) == null ? void 0 : _a2.slots) == null ? void 0 : _b2[slotId];
|
|
191
|
+
if (rawSlotInfo == null ? void 0 : rawSlotInfo.layout) {
|
|
192
|
+
slot.layout = rawSlotInfo.layout;
|
|
193
|
+
}
|
|
194
|
+
const { js, ui: ui2, cssContent: slotCssContent } = (0, import_handleSlot.default)(slot, {
|
|
195
|
+
...config,
|
|
196
|
+
checkIsRoot: () => false,
|
|
197
|
+
depth: 1,
|
|
198
|
+
// 参照鸿蒙:非作用域插槽 depth 从 1 开始
|
|
199
|
+
renderManager
|
|
200
|
+
// 传递 renderManager
|
|
201
|
+
});
|
|
202
|
+
eventCode += js;
|
|
203
|
+
if (slotCssContent) {
|
|
204
|
+
accumulatedCssContent += (accumulatedCssContent ? "\n" : "") + slotCssContent;
|
|
205
|
+
}
|
|
206
|
+
const renderId = `${meta.id}_${slotId}`;
|
|
207
|
+
const baseIndentSize = config.codeStyle.indent;
|
|
208
|
+
const rootIndent = config.codeStyle.indent;
|
|
209
|
+
const renderBodyIndent = (0, import_utils.indentation)(rootIndent + config.codeStyle.indent);
|
|
210
|
+
const formattedContent = (0, import_component.formatSlotContent)({
|
|
211
|
+
uiContent: ui2,
|
|
212
|
+
baseIndentSize,
|
|
213
|
+
renderBodyIndent
|
|
214
|
+
});
|
|
215
|
+
renderManager.register(renderId, formattedContent);
|
|
216
|
+
const slotIndent = (0, import_utils.indentation)(config.codeStyle.indent * (config.depth + 2));
|
|
217
|
+
slotsObjectCode += (0, import_component.genSlotRenderRef)({
|
|
218
|
+
slotId,
|
|
219
|
+
renderId,
|
|
220
|
+
indent: slotIndent,
|
|
221
|
+
isLast: index === slotEntries.length - 1
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
slotsCode = slotsObjectCode;
|
|
225
|
+
}
|
|
226
|
+
const componentResultStyle = { ...resultStyle };
|
|
227
|
+
const rootStyle = componentResultStyle.root || {};
|
|
228
|
+
delete componentResultStyle.root;
|
|
229
|
+
const eventHandlers = outputsConfig[meta.id] || {};
|
|
230
|
+
const uiComponentCode = (0, import_code.getUiComponentCode)(
|
|
231
|
+
{
|
|
232
|
+
componentName,
|
|
233
|
+
meta,
|
|
234
|
+
props,
|
|
235
|
+
resultStyle: { root: rootStyle },
|
|
236
|
+
// 传递 root style
|
|
237
|
+
componentInputs: componentInputs.length > 0 ? componentInputs : void 0,
|
|
238
|
+
componentOutputs: componentOutputs.length > 0 ? componentOutputs : void 0,
|
|
239
|
+
comEventCode,
|
|
240
|
+
slotsCode,
|
|
241
|
+
eventHandlers
|
|
242
|
+
// 传递事件处理函数
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
codeStyle: config.codeStyle,
|
|
246
|
+
depth: config.depth + 1,
|
|
247
|
+
verbose: config.verbose
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
const ui = uiComponentCode;
|
|
251
|
+
return {
|
|
252
|
+
slots: [],
|
|
253
|
+
scopeSlots: [],
|
|
254
|
+
ui,
|
|
255
|
+
js: eventCode,
|
|
256
|
+
cssContent: accumulatedCssContent,
|
|
257
|
+
outputsConfig: Object.keys(outputsConfig).length > 0 ? outputsConfig : void 0
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
var handleCom_default = handleCom;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { UI, BaseConfig } from "./toCodeTaro";
|
|
2
|
+
import { ImportManager } from "./utils";
|
|
3
|
+
type Dom = Extract<UI["children"][0], {
|
|
4
|
+
type: "dom";
|
|
5
|
+
}>;
|
|
6
|
+
interface HandleDomConfig extends BaseConfig {
|
|
7
|
+
addParentDependencyImport: (typeof ImportManager)["prototype"]["addImport"];
|
|
8
|
+
addConsumer: (provider: ReturnType<BaseConfig["getCurrentProvider"]>) => void;
|
|
9
|
+
addComId: (comId: string) => void;
|
|
10
|
+
}
|
|
11
|
+
type HandleDomResult = {
|
|
12
|
+
ui: string;
|
|
13
|
+
js: string;
|
|
14
|
+
slots: string[];
|
|
15
|
+
scopeSlots: string[];
|
|
16
|
+
cssContent: string;
|
|
17
|
+
};
|
|
18
|
+
declare const handleDom: (dom: Dom, config: HandleDomConfig) => HandleDomResult;
|
|
19
|
+
export default handleDom;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/handleDom.ts
|
|
30
|
+
var handleDom_exports = {};
|
|
31
|
+
__export(handleDom_exports, {
|
|
32
|
+
default: () => handleDom_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(handleDom_exports);
|
|
35
|
+
var import_utils = require("./utils");
|
|
36
|
+
var import_handleCom = __toESM(require("./handleCom"));
|
|
37
|
+
var handleDom = (dom, config) => {
|
|
38
|
+
var _a;
|
|
39
|
+
const { props, children } = dom;
|
|
40
|
+
const domProps = props;
|
|
41
|
+
let uiCode = "";
|
|
42
|
+
let jsCode = "";
|
|
43
|
+
let cssContent = (0, import_utils.convertStyleAryToCss)((_a = domProps.style) == null ? void 0 : _a.styleAry, domProps.id);
|
|
44
|
+
const level0Slots = [];
|
|
45
|
+
const level1Slots = [];
|
|
46
|
+
const nextConfig = {
|
|
47
|
+
...config,
|
|
48
|
+
depth: config.depth + 1
|
|
49
|
+
};
|
|
50
|
+
children.forEach((child) => {
|
|
51
|
+
if (child.type === "com") {
|
|
52
|
+
const { ui: ui2, js, slots, scopeSlots, cssContent: childCssContent } = (0, import_handleCom.default)(child, nextConfig);
|
|
53
|
+
uiCode += uiCode ? "\n" + ui2 : ui2;
|
|
54
|
+
jsCode += js;
|
|
55
|
+
if (childCssContent) {
|
|
56
|
+
cssContent += (cssContent ? "\n" : "") + childCssContent;
|
|
57
|
+
}
|
|
58
|
+
level0Slots.push(...slots);
|
|
59
|
+
level1Slots.push(...scopeSlots);
|
|
60
|
+
} else if (child.type === "module") {
|
|
61
|
+
uiCode += uiCode ? "\n模块" : "模块";
|
|
62
|
+
} else {
|
|
63
|
+
const { ui: ui2, js, slots, scopeSlots, cssContent: childCssContent } = handleDom(child, nextConfig);
|
|
64
|
+
uiCode += uiCode ? "\n" + ui2 : ui2;
|
|
65
|
+
jsCode += js;
|
|
66
|
+
if (childCssContent) {
|
|
67
|
+
cssContent += (cssContent ? "\n" : "") + childCssContent;
|
|
68
|
+
}
|
|
69
|
+
level0Slots.push(...slots);
|
|
70
|
+
level1Slots.push(...scopeSlots);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const indent = (0, import_utils.indentation)(config.codeStyle.indent * config.depth);
|
|
74
|
+
const styleCode = JSON.stringify((0, import_utils.convertRootStyle)(domProps.style));
|
|
75
|
+
const ui = `${indent}<View${domProps.id ? ` id="${domProps.id}" className="${domProps.id}"` : ""} style={${styleCode}}>
|
|
76
|
+
${uiCode}
|
|
77
|
+
${indent}</View>`;
|
|
78
|
+
return {
|
|
79
|
+
ui,
|
|
80
|
+
js: jsCode,
|
|
81
|
+
slots: level0Slots,
|
|
82
|
+
scopeSlots: level1Slots,
|
|
83
|
+
cssContent
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
var handleDom_default = handleDom;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理Extension事件卡片
|
|
3
|
+
*/
|
|
4
|
+
import type { ToTaroCodeConfig, Result } from "./toCodeTaro";
|
|
5
|
+
interface HandleExtensionParams {
|
|
6
|
+
tojson: any;
|
|
7
|
+
extensionEvents: any[];
|
|
8
|
+
}
|
|
9
|
+
declare const handleExtension: (params: HandleExtensionParams, config: ToTaroCodeConfig) => Result;
|
|
10
|
+
export default handleExtension;
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/handleExtension.ts
|
|
20
|
+
var handleExtension_exports = {};
|
|
21
|
+
__export(handleExtension_exports, {
|
|
22
|
+
default: () => handleExtension_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(handleExtension_exports);
|
|
25
|
+
var import_utils = require("./utils");
|
|
26
|
+
var import_handleProcess = require("./utils/handleProcess");
|
|
27
|
+
var handleExtension = (params, config) => {
|
|
28
|
+
const { tojson, extensionEvents } = params;
|
|
29
|
+
const result = [];
|
|
30
|
+
const importManager = new import_utils.ImportManager(config);
|
|
31
|
+
const addDependencyImport = importManager.addImport.bind(importManager);
|
|
32
|
+
const eventCode = genEvent(
|
|
33
|
+
{
|
|
34
|
+
tojson,
|
|
35
|
+
extensionEvents: extensionEvents.filter((extensionEvent) => {
|
|
36
|
+
return extensionEvent.meta.type === "extension-event";
|
|
37
|
+
})
|
|
38
|
+
},
|
|
39
|
+
{ ...config, addParentDependencyImport: addDependencyImport }
|
|
40
|
+
);
|
|
41
|
+
const apiCode = genApi(
|
|
42
|
+
{
|
|
43
|
+
tojson,
|
|
44
|
+
extensionEvents: extensionEvents.filter((extensionEvent) => {
|
|
45
|
+
return extensionEvent.meta.type === "extension-api";
|
|
46
|
+
})
|
|
47
|
+
},
|
|
48
|
+
{ ...config, addParentDependencyImport: addDependencyImport }
|
|
49
|
+
);
|
|
50
|
+
const configCode = genConfig(
|
|
51
|
+
{
|
|
52
|
+
tojson,
|
|
53
|
+
extensionEvents: extensionEvents.filter((extensionEvent) => {
|
|
54
|
+
return extensionEvent.meta.type === "extension-config";
|
|
55
|
+
})
|
|
56
|
+
},
|
|
57
|
+
{ ...config, addParentDependencyImport: addDependencyImport }
|
|
58
|
+
);
|
|
59
|
+
result.push({
|
|
60
|
+
type: "api",
|
|
61
|
+
content: (apiCode ? `${apiCode}
|
|
62
|
+
|
|
63
|
+
` : "") + (configCode ? `${configCode}
|
|
64
|
+
|
|
65
|
+
` : "") + eventCode,
|
|
66
|
+
importManager,
|
|
67
|
+
name: "abstractEventTypeDef"
|
|
68
|
+
});
|
|
69
|
+
const extensionBusImportManager = new import_utils.ImportManager(config);
|
|
70
|
+
const addDependencyExtensionBusImport = extensionBusImportManager.addImport.bind(extensionBusImportManager);
|
|
71
|
+
const busCode = genBus(
|
|
72
|
+
{
|
|
73
|
+
tojson,
|
|
74
|
+
extensionEvents: extensionEvents.filter((extensionEvent) => {
|
|
75
|
+
return extensionEvent.meta.type === "extension-bus";
|
|
76
|
+
})
|
|
77
|
+
},
|
|
78
|
+
{ ...config, addParentDependencyImport: addDependencyExtensionBusImport }
|
|
79
|
+
);
|
|
80
|
+
if (busCode) {
|
|
81
|
+
result.push({
|
|
82
|
+
content: busCode,
|
|
83
|
+
importManager: extensionBusImportManager,
|
|
84
|
+
type: "extension-bus",
|
|
85
|
+
name: "系统总线"
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
};
|
|
90
|
+
var handleExtension_default = handleExtension;
|
|
91
|
+
var genConfig = (params, config) => {
|
|
92
|
+
var _a;
|
|
93
|
+
const { extensionEvents } = params;
|
|
94
|
+
const { addParentDependencyImport } = config;
|
|
95
|
+
if (!extensionEvents.length) {
|
|
96
|
+
return "";
|
|
97
|
+
}
|
|
98
|
+
const extensionEvent = extensionEvents[0];
|
|
99
|
+
const event = extensionEvent.events[0];
|
|
100
|
+
const eventParams = {};
|
|
101
|
+
(event.paramPins || []).forEach((cur) => {
|
|
102
|
+
eventParams[cur.id] = `value.${cur.id}`;
|
|
103
|
+
});
|
|
104
|
+
const code = (0, import_handleProcess.handleProcess)(event, {
|
|
105
|
+
...config,
|
|
106
|
+
depth: 2,
|
|
107
|
+
getParams: () => {
|
|
108
|
+
return eventParams;
|
|
109
|
+
},
|
|
110
|
+
getComponentPackageName: () => {
|
|
111
|
+
return config.getComponentPackageName({ type: "extensionEvent" });
|
|
112
|
+
},
|
|
113
|
+
addParentDependencyImport,
|
|
114
|
+
getComponentMeta: (com, configMeta) => {
|
|
115
|
+
return config.getComponentMeta(com, {
|
|
116
|
+
...configMeta,
|
|
117
|
+
json: extensionEvent.meta
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
addParentDependencyImport({
|
|
122
|
+
packageName: config.getUtilsPackageName(),
|
|
123
|
+
dependencyNames: ["MyBricks"],
|
|
124
|
+
importType: "named"
|
|
125
|
+
});
|
|
126
|
+
return `export const config = (${((_a = event.paramPins) == null ? void 0 : _a.length) ? "value: any" : ""}) => {` + (code ? `
|
|
127
|
+
${code}` : "") + `
|
|
128
|
+
}`;
|
|
129
|
+
};
|
|
130
|
+
var genApi = (params, config) => {
|
|
131
|
+
const { extensionEvents } = params;
|
|
132
|
+
const { addParentDependencyImport } = config;
|
|
133
|
+
if (!extensionEvents.length) {
|
|
134
|
+
return "";
|
|
135
|
+
}
|
|
136
|
+
let apiCode = "";
|
|
137
|
+
extensionEvents.forEach((extension) => {
|
|
138
|
+
const { meta, events } = extension;
|
|
139
|
+
const event = events[0];
|
|
140
|
+
const params2 = {
|
|
141
|
+
open: "value",
|
|
142
|
+
call: "value"
|
|
143
|
+
};
|
|
144
|
+
const code = (0, import_handleProcess.handleProcess)(event, {
|
|
145
|
+
...config,
|
|
146
|
+
depth: 2,
|
|
147
|
+
getParams: () => {
|
|
148
|
+
return params2;
|
|
149
|
+
},
|
|
150
|
+
getComponentPackageName: () => {
|
|
151
|
+
return config.getComponentPackageName({ type: "extensionEvent" });
|
|
152
|
+
},
|
|
153
|
+
addParentDependencyImport,
|
|
154
|
+
getComponentMeta: (com, configMeta) => {
|
|
155
|
+
return config.getComponentMeta(com, {
|
|
156
|
+
...configMeta,
|
|
157
|
+
json: meta
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
const indent = (0, import_utils.indentation)(config.codeStyle.indent);
|
|
162
|
+
const indent2 = (0, import_utils.indentation)(config.codeStyle.indent * 2);
|
|
163
|
+
apiCode += `${indent}/** ${event.title} */
|
|
164
|
+
${indent}${event.title}: any = transformApi((value: any) => {
|
|
165
|
+
${code}
|
|
166
|
+
${indent}})
|
|
167
|
+
`;
|
|
168
|
+
addParentDependencyImport({
|
|
169
|
+
packageName: config.getUtilsPackageName(),
|
|
170
|
+
dependencyNames: ["MyBricks", "transformApi"],
|
|
171
|
+
importType: "named"
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
return `class Api {
|
|
175
|
+
${apiCode}}
|
|
176
|
+
|
|
177
|
+
export const api = new Api()`;
|
|
178
|
+
};
|
|
179
|
+
var genBus = (params, config) => {
|
|
180
|
+
const { extensionEvents } = params;
|
|
181
|
+
const { addParentDependencyImport } = config;
|
|
182
|
+
if (!extensionEvents.length) {
|
|
183
|
+
return "";
|
|
184
|
+
}
|
|
185
|
+
let busCode = "";
|
|
186
|
+
extensionEvents.forEach((extension) => {
|
|
187
|
+
const { meta, events } = extension;
|
|
188
|
+
const event = events[0];
|
|
189
|
+
const params2 = {
|
|
190
|
+
open: "value",
|
|
191
|
+
call: "value"
|
|
192
|
+
};
|
|
193
|
+
const code = (0, import_handleProcess.handleProcess)(event, {
|
|
194
|
+
...config,
|
|
195
|
+
depth: 2,
|
|
196
|
+
getParams: () => {
|
|
197
|
+
return params2;
|
|
198
|
+
},
|
|
199
|
+
getComponentPackageName: () => {
|
|
200
|
+
return config.getComponentPackageName({ type: "extensionEvent" });
|
|
201
|
+
},
|
|
202
|
+
addParentDependencyImport,
|
|
203
|
+
getComponentMeta: (com, configMeta) => {
|
|
204
|
+
return config.getComponentMeta(com, {
|
|
205
|
+
...configMeta,
|
|
206
|
+
json: meta
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
const indent = (0, import_utils.indentation)(config.codeStyle.indent);
|
|
211
|
+
busCode += `${indent}/** ${event.title} */
|
|
212
|
+
${indent}${event.title}: any = createFx((value: any) => {
|
|
213
|
+
${code}
|
|
214
|
+
${indent}})
|
|
215
|
+
`;
|
|
216
|
+
addParentDependencyImport({
|
|
217
|
+
packageName: config.getUtilsPackageName(),
|
|
218
|
+
dependencyNames: ["MyBricks", "createFx"],
|
|
219
|
+
importType: "named"
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
return `/** 系统总线 */
|
|
223
|
+
class Bus {
|
|
224
|
+
${busCode}}
|
|
225
|
+
|
|
226
|
+
export const bus = new Bus()`;
|
|
227
|
+
};
|
|
228
|
+
var genEvent = (params, config) => {
|
|
229
|
+
const { tojson, extensionEvents } = params;
|
|
230
|
+
const { addParentDependencyImport } = config;
|
|
231
|
+
if (!extensionEvents.length) {
|
|
232
|
+
return "";
|
|
233
|
+
}
|
|
234
|
+
addParentDependencyImport({
|
|
235
|
+
packageName: config.getUtilsPackageName(),
|
|
236
|
+
dependencyNames: ["MyBricks", "createEvent", "transformEvents"],
|
|
237
|
+
importType: "named"
|
|
238
|
+
});
|
|
239
|
+
let typeCode = "";
|
|
240
|
+
let eventCode = "";
|
|
241
|
+
let eventCreateCode = "";
|
|
242
|
+
const indent = (0, import_utils.indentation)(config.codeStyle.indent);
|
|
243
|
+
extensionEvents.forEach((event) => {
|
|
244
|
+
const extensionEvent = tojson.frames.find(
|
|
245
|
+
(frame) => frame.id === event.meta.id
|
|
246
|
+
);
|
|
247
|
+
const typeParams = `T${extensionEvent.title}Params`;
|
|
248
|
+
const interfaceCallBack = `I${extensionEvent.title}CallBack`;
|
|
249
|
+
typeCode += `type ${typeParams} = any;
|
|
250
|
+
`;
|
|
251
|
+
let interfaceCallBackCode = "";
|
|
252
|
+
extensionEvent.outputs.forEach((output) => {
|
|
253
|
+
const title = output.title;
|
|
254
|
+
interfaceCallBackCode += (title ? `
|
|
255
|
+
${indent}/** ${title} */` : "") + `
|
|
256
|
+
${indent}${output.id}: (value: any) => void;`;
|
|
257
|
+
});
|
|
258
|
+
if (interfaceCallBackCode) {
|
|
259
|
+
typeCode += `interface ${interfaceCallBack} {${interfaceCallBackCode}
|
|
260
|
+
}
|
|
261
|
+
`;
|
|
262
|
+
}
|
|
263
|
+
eventCode += `${indent}${extensionEvent.title}?: ${interfaceCallBackCode ? "EventWithCallBack" : "Event"}<${typeParams}${interfaceCallBackCode ? `, ${interfaceCallBack}` : ""}>;
|
|
264
|
+
`;
|
|
265
|
+
const params2 = {
|
|
266
|
+
open: "value",
|
|
267
|
+
call: "value"
|
|
268
|
+
};
|
|
269
|
+
const code = (0, import_handleProcess.handleProcess)(event.events[0], {
|
|
270
|
+
...config,
|
|
271
|
+
depth: 2,
|
|
272
|
+
getParams: () => {
|
|
273
|
+
return params2;
|
|
274
|
+
},
|
|
275
|
+
getComponentPackageName: () => {
|
|
276
|
+
return config.getComponentPackageName({ type: "extensionEvent" });
|
|
277
|
+
},
|
|
278
|
+
getComponentMeta: (com, configMeta) => {
|
|
279
|
+
return config.getComponentMeta(com, {
|
|
280
|
+
...configMeta,
|
|
281
|
+
json: event.meta
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
eventCreateCode += `${indent}${extensionEvent.title}: any = createEvent((value: ${typeParams}${interfaceCallBackCode ? `, callBack: ${interfaceCallBack}` : ""}) => {` + code + `
|
|
286
|
+
${indent}})
|
|
287
|
+
`;
|
|
288
|
+
});
|
|
289
|
+
return `type Event<ParamsType> = (params: ParamsType) => void;
|
|
290
|
+
type EventWithCallBack<ParamsType, CallbackType> = (value: ParamsType, callBack: CallbackType) => void;
|
|
291
|
+
${typeCode}class Events {
|
|
292
|
+
${eventCreateCode}}
|
|
293
|
+
|
|
294
|
+
export const events = new Events();
|
|
295
|
+
|
|
296
|
+
interface OnEventParams {
|
|
297
|
+
${eventCode}}
|
|
298
|
+
|
|
299
|
+
export const onEvent: (events: OnEventParams) => void = transformEvents(events);`;
|
|
300
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理全局变量和全局Fx
|
|
3
|
+
*/
|
|
4
|
+
import { ImportManager } from "./utils";
|
|
5
|
+
import type { ToTaroCodeConfig } from "./toCodeTaro";
|
|
6
|
+
interface HandleGlobalParams {
|
|
7
|
+
tojson: any;
|
|
8
|
+
globalFxs: any[];
|
|
9
|
+
globalVars: any[];
|
|
10
|
+
}
|
|
11
|
+
declare const handleGlobal: (params: HandleGlobalParams, config: ToTaroCodeConfig) => {
|
|
12
|
+
content: string;
|
|
13
|
+
cssContent?: string;
|
|
14
|
+
pageConfigContent?: string;
|
|
15
|
+
importManager: ImportManager;
|
|
16
|
+
type: "module" | "normal" | "popup" | "global" | "extension-config" | "extension-api" | "extension-bus" | "abstractEventTypeDef" | "fx" | "api" | "extension-event" | "jsModules" | "commonIndex" | "tabBarConfig";
|
|
17
|
+
meta?: import("@mybricks/render-web/packages/code-next/dist/esm/toCode/types").Scene;
|
|
18
|
+
name: string;
|
|
19
|
+
tabBarConfig?: string;
|
|
20
|
+
};
|
|
21
|
+
export default handleGlobal;
|