@mybricks/to-code-taro 1.2.6 → 1.2.8
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/package.json +1 -1
- package/dist/cjs/abstractEventTypeDef.d.ts +0 -11
- package/dist/cjs/abstractEventTypeDef.js +0 -93
- package/dist/cjs/generate/compressImages.d.ts +0 -16
- package/dist/cjs/generate/compressImages.js +0 -76
- package/dist/cjs/generate/generateTaroProjectJson.d.ts +0 -13
- package/dist/cjs/generate/generateTaroProjectJson.js +0 -225
- package/dist/cjs/generate/generateTaroTempalteJson.d.ts +0 -15
- package/dist/cjs/generate/generateTaroTempalteJson.js +0 -103
- package/dist/cjs/generate/utils/appConfig.d.ts +0 -21
- package/dist/cjs/generate/utils/appConfig.js +0 -57
- package/dist/cjs/generate/utils/commonDir.d.ts +0 -21
- package/dist/cjs/generate/utils/commonDir.js +0 -63
- package/dist/cjs/generate/utils/customTabBar.d.ts +0 -11
- package/dist/cjs/generate/utils/customTabBar.js +0 -73
- package/dist/cjs/generate/utils/fileNode.d.ts +0 -21
- package/dist/cjs/generate/utils/fileNode.js +0 -67
- package/dist/cjs/generate/utils/index.d.ts +0 -7
- package/dist/cjs/generate/utils/index.js +0 -29
- package/dist/cjs/generate/utils/pageImages.d.ts +0 -14
- package/dist/cjs/generate/utils/pageImages.js +0 -36
- package/dist/cjs/generate/utils/tabBarImages.d.ts +0 -14
- package/dist/cjs/generate/utils/tabBarImages.js +0 -36
- package/dist/cjs/handleCom.d.ts +0 -8
- package/dist/cjs/handleCom.js +0 -280
- package/dist/cjs/handleDom.d.ts +0 -21
- package/dist/cjs/handleDom.js +0 -52
- package/dist/cjs/handleExtension.d.ts +0 -10
- package/dist/cjs/handleExtension.js +0 -300
- package/dist/cjs/handleGlobal.d.ts +0 -11
- package/dist/cjs/handleGlobal.js +0 -191
- package/dist/cjs/handleModule.d.ts +0 -15
- package/dist/cjs/handleModule.js +0 -104
- package/dist/cjs/handleSlot.d.ts +0 -29
- package/dist/cjs/handleSlot.js +0 -153
- package/dist/cjs/index.d.ts +0 -4
- package/dist/cjs/index.js +0 -48
- package/dist/cjs/processors/processComEvents.d.ts +0 -9
- package/dist/cjs/processors/processComEvents.js +0 -163
- package/dist/cjs/processors/processModule.d.ts +0 -31
- package/dist/cjs/processors/processModule.js +0 -159
- package/dist/cjs/processors/processScene.d.ts +0 -32
- package/dist/cjs/processors/processScene.js +0 -198
- package/dist/cjs/processors/processSceneLogic.d.ts +0 -7
- package/dist/cjs/processors/processSceneLogic.js +0 -230
- package/dist/cjs/shims-taro.d.ts +0 -20
- package/dist/cjs/taro-template.json +0 -154
- package/dist/cjs/toCodeTaro.d.ts +0 -168
- package/dist/cjs/toCodeTaro.js +0 -326
- package/dist/cjs/utils/builder/buildResult.d.ts +0 -24
- package/dist/cjs/utils/builder/buildResult.js +0 -163
- package/dist/cjs/utils/common/ImportManager.d.ts +0 -26
- package/dist/cjs/utils/common/ImportManager.js +0 -123
- package/dist/cjs/utils/common/helper.d.ts +0 -12
- package/dist/cjs/utils/common/helper.js +0 -52
- package/dist/cjs/utils/common/object.d.ts +0 -5
- package/dist/cjs/utils/common/object.js +0 -58
- package/dist/cjs/utils/common/string.d.ts +0 -18
- package/dist/cjs/utils/common/string.js +0 -59
- package/dist/cjs/utils/config/content/converter.d.ts +0 -17
- package/dist/cjs/utils/config/content/converter.js +0 -84
- package/dist/cjs/utils/config/content/index.d.ts +0 -10
- package/dist/cjs/utils/config/content/index.js +0 -33
- package/dist/cjs/utils/config/content/pageConfig.d.ts +0 -10
- package/dist/cjs/utils/config/content/pageConfig.js +0 -80
- package/dist/cjs/utils/config/content/saveBase64Image.d.ts +0 -24
- package/dist/cjs/utils/config/content/saveBase64Image.js +0 -113
- package/dist/cjs/utils/config/content/tabBarConfig.d.ts +0 -28
- package/dist/cjs/utils/config/content/tabBarConfig.js +0 -74
- package/dist/cjs/utils/config/content/types.d.ts +0 -73
- package/dist/cjs/utils/config/content/types.js +0 -17
- package/dist/cjs/utils/config/content/validator.d.ts +0 -13
- package/dist/cjs/utils/config/content/validator.js +0 -67
- package/dist/cjs/utils/config/handlePageConfig.d.ts +0 -31
- package/dist/cjs/utils/config/handlePageConfig.js +0 -88
- package/dist/cjs/utils/context/buildContext.d.ts +0 -31
- package/dist/cjs/utils/context/buildContext.js +0 -76
- package/dist/cjs/utils/context/buildFrameMap.d.ts +0 -16
- package/dist/cjs/utils/context/buildFrameMap.js +0 -106
- package/dist/cjs/utils/context/buildGlobalData.d.ts +0 -13
- package/dist/cjs/utils/context/buildGlobalData.js +0 -58
- package/dist/cjs/utils/context/collectJSModules.d.ts +0 -41
- package/dist/cjs/utils/context/collectJSModules.js +0 -93
- package/dist/cjs/utils/context/createEventQueries.d.ts +0 -45
- package/dist/cjs/utils/context/createEventQueries.js +0 -99
- package/dist/cjs/utils/context/createProvider.d.ts +0 -21
- package/dist/cjs/utils/context/createProvider.js +0 -49
- package/dist/cjs/utils/index.d.ts +0 -10
- package/dist/cjs/utils/index.js +0 -60
- package/dist/cjs/utils/logic/convertNamespace.d.ts +0 -11
- package/dist/cjs/utils/logic/convertNamespace.js +0 -43
- package/dist/cjs/utils/logic/genJSModules.d.ts +0 -16
- package/dist/cjs/utils/logic/genJSModules.js +0 -114
- package/dist/cjs/utils/logic/handleProcess.d.ts +0 -9
- package/dist/cjs/utils/logic/handleProcess.js +0 -462
- package/dist/cjs/utils/logic/processChildren.d.ts +0 -26
- package/dist/cjs/utils/logic/processChildren.js +0 -121
- package/dist/cjs/utils/style/color.d.ts +0 -4
- package/dist/cjs/utils/style/color.js +0 -45
- package/dist/cjs/utils/style/converter.d.ts +0 -7
- package/dist/cjs/utils/style/converter.js +0 -175
- package/dist/cjs/utils/style/getComponentClassName.d.ts +0 -16
- package/dist/cjs/utils/style/getComponentClassName.js +0 -47
- package/dist/cjs/utils/style/pxtransform.d.ts +0 -4
- package/dist/cjs/utils/style/pxtransform.js +0 -62
- package/dist/cjs/utils/style/types.d.ts +0 -23
- package/dist/cjs/utils/style/types.js +0 -17
- package/dist/cjs/utils/templates/component.d.ts +0 -19
- package/dist/cjs/utils/templates/component.js +0 -86
- package/dist/cjs/utils/templates/index.d.ts +0 -32
- package/dist/cjs/utils/templates/index.js +0 -116
- package/dist/cjs/utils/templates/renderManager.d.ts +0 -18
- package/dist/cjs/utils/templates/renderManager.js +0 -152
- package/dist/cjs/utils/templates/scene.d.ts +0 -23
- package/dist/cjs/utils/templates/scene.js +0 -113
- package/dist/esm/abstractEventTypeDef.d.ts +0 -11
- package/dist/esm/abstractEventTypeDef.js +0 -63
- package/dist/esm/generate/compressImages.d.ts +0 -16
- package/dist/esm/generate/compressImages.js +0 -108
- package/dist/esm/generate/generateTaroProjectJson.d.ts +0 -13
- package/dist/esm/generate/generateTaroProjectJson.js +0 -228
- package/dist/esm/generate/generateTaroTempalteJson.d.ts +0 -15
- package/dist/esm/generate/generateTaroTempalteJson.js +0 -94
- package/dist/esm/generate/utils/appConfig.d.ts +0 -21
- package/dist/esm/generate/utils/appConfig.js +0 -49
- package/dist/esm/generate/utils/commonDir.d.ts +0 -21
- package/dist/esm/generate/utils/commonDir.js +0 -53
- package/dist/esm/generate/utils/customTabBar.d.ts +0 -11
- package/dist/esm/generate/utils/customTabBar.js +0 -52
- package/dist/esm/generate/utils/fileNode.d.ts +0 -21
- package/dist/esm/generate/utils/fileNode.js +0 -62
- package/dist/esm/generate/utils/index.d.ts +0 -7
- package/dist/esm/generate/utils/index.js +0 -8
- package/dist/esm/generate/utils/pageImages.d.ts +0 -14
- package/dist/esm/generate/utils/pageImages.js +0 -15
- package/dist/esm/generate/utils/tabBarImages.d.ts +0 -14
- package/dist/esm/generate/utils/tabBarImages.js +0 -15
- package/dist/esm/handleCom.d.ts +0 -8
- package/dist/esm/handleCom.js +0 -350
- package/dist/esm/handleDom.d.ts +0 -21
- package/dist/esm/handleDom.js +0 -26
- package/dist/esm/handleExtension.d.ts +0 -10
- package/dist/esm/handleExtension.js +0 -243
- package/dist/esm/handleGlobal.d.ts +0 -11
- package/dist/esm/handleGlobal.js +0 -157
- package/dist/esm/handleModule.d.ts +0 -15
- package/dist/esm/handleModule.js +0 -73
- package/dist/esm/handleSlot.d.ts +0 -29
- package/dist/esm/handleSlot.js +0 -215
- package/dist/esm/index.d.ts +0 -4
- package/dist/esm/index.js +0 -4
- package/dist/esm/processors/processComEvents.d.ts +0 -9
- package/dist/esm/processors/processComEvents.js +0 -170
- package/dist/esm/processors/processModule.d.ts +0 -31
- package/dist/esm/processors/processModule.js +0 -177
- package/dist/esm/processors/processScene.d.ts +0 -32
- package/dist/esm/processors/processScene.js +0 -234
- package/dist/esm/processors/processSceneLogic.d.ts +0 -7
- package/dist/esm/processors/processSceneLogic.js +0 -247
- package/dist/esm/shims-taro.d.ts +0 -20
- package/dist/esm/taro-template.json +0 -154
- package/dist/esm/toCodeTaro.d.ts +0 -168
- package/dist/esm/toCodeTaro.js +0 -367
- package/dist/esm/utils/builder/buildResult.d.ts +0 -24
- package/dist/esm/utils/builder/buildResult.js +0 -119
- package/dist/esm/utils/common/ImportManager.d.ts +0 -26
- package/dist/esm/utils/common/ImportManager.js +0 -131
- package/dist/esm/utils/common/helper.d.ts +0 -12
- package/dist/esm/utils/common/helper.js +0 -33
- package/dist/esm/utils/common/object.d.ts +0 -5
- package/dist/esm/utils/common/object.js +0 -32
- package/dist/esm/utils/common/string.d.ts +0 -18
- package/dist/esm/utils/common/string.js +0 -37
- package/dist/esm/utils/config/content/converter.d.ts +0 -17
- package/dist/esm/utils/config/content/converter.js +0 -106
- package/dist/esm/utils/config/content/index.d.ts +0 -10
- package/dist/esm/utils/config/content/index.js +0 -11
- package/dist/esm/utils/config/content/pageConfig.d.ts +0 -10
- package/dist/esm/utils/config/content/pageConfig.js +0 -43
- package/dist/esm/utils/config/content/saveBase64Image.d.ts +0 -24
- package/dist/esm/utils/config/content/saveBase64Image.js +0 -127
- package/dist/esm/utils/config/content/tabBarConfig.d.ts +0 -28
- package/dist/esm/utils/config/content/tabBarConfig.js +0 -89
- package/dist/esm/utils/config/content/types.d.ts +0 -73
- package/dist/esm/utils/config/content/types.js +0 -1
- package/dist/esm/utils/config/content/validator.d.ts +0 -13
- package/dist/esm/utils/config/content/validator.js +0 -64
- package/dist/esm/utils/config/handlePageConfig.d.ts +0 -31
- package/dist/esm/utils/config/handlePageConfig.js +0 -89
- package/dist/esm/utils/context/buildContext.d.ts +0 -31
- package/dist/esm/utils/context/buildContext.js +0 -65
- package/dist/esm/utils/context/buildFrameMap.d.ts +0 -16
- package/dist/esm/utils/context/buildFrameMap.js +0 -131
- package/dist/esm/utils/context/buildGlobalData.d.ts +0 -13
- package/dist/esm/utils/context/buildGlobalData.js +0 -44
- package/dist/esm/utils/context/collectJSModules.d.ts +0 -41
- package/dist/esm/utils/context/collectJSModules.js +0 -87
- package/dist/esm/utils/context/createEventQueries.d.ts +0 -45
- package/dist/esm/utils/context/createEventQueries.js +0 -99
- package/dist/esm/utils/context/createProvider.d.ts +0 -21
- package/dist/esm/utils/context/createProvider.js +0 -33
- package/dist/esm/utils/index.d.ts +0 -10
- package/dist/esm/utils/index.js +0 -12
- package/dist/esm/utils/logic/convertNamespace.d.ts +0 -11
- package/dist/esm/utils/logic/convertNamespace.js +0 -27
- package/dist/esm/utils/logic/genJSModules.d.ts +0 -16
- package/dist/esm/utils/logic/genJSModules.js +0 -33
- package/dist/esm/utils/logic/handleProcess.d.ts +0 -9
- package/dist/esm/utils/logic/handleProcess.js +0 -520
- package/dist/esm/utils/logic/processChildren.d.ts +0 -26
- package/dist/esm/utils/logic/processChildren.js +0 -101
- package/dist/esm/utils/style/color.d.ts +0 -4
- package/dist/esm/utils/style/color.js +0 -17
- package/dist/esm/utils/style/converter.d.ts +0 -7
- package/dist/esm/utils/style/converter.js +0 -175
- package/dist/esm/utils/style/getComponentClassName.d.ts +0 -16
- package/dist/esm/utils/style/getComponentClassName.js +0 -37
- package/dist/esm/utils/style/pxtransform.d.ts +0 -4
- package/dist/esm/utils/style/pxtransform.js +0 -54
- package/dist/esm/utils/style/types.d.ts +0 -23
- package/dist/esm/utils/style/types.js +0 -1
- package/dist/esm/utils/templates/component.d.ts +0 -19
- package/dist/esm/utils/templates/component.js +0 -55
- package/dist/esm/utils/templates/index.d.ts +0 -32
- package/dist/esm/utils/templates/index.js +0 -97
- package/dist/esm/utils/templates/renderManager.d.ts +0 -18
- package/dist/esm/utils/templates/renderManager.js +0 -145
- package/dist/esm/utils/templates/scene.d.ts +0 -23
- package/dist/esm/utils/templates/scene.js +0 -66
package/dist/esm/handleSlot.js
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import { ImportManager, indentation, convertStyleAryToCss, convertRootStyle, getRootComponentClassName } from "./utils";
|
|
3
|
-
import { genRootDefineCode, genSlotDefineCode, genComponentTemplate, wrapInEffect } from "./utils/templates/scene";
|
|
4
|
-
import { RenderManager } from "./utils/templates/renderManager";
|
|
5
|
-
import { processChildren, normalizeChildren } from "./utils/logic/processChildren";
|
|
6
|
-
import { processSceneLogic } from "./processors/processSceneLogic";
|
|
7
|
-
var handleSlot = function handleSlot(ui, config) {
|
|
8
|
-
var _meta, _props$style;
|
|
9
|
-
var importManager = new ImportManager(config);
|
|
10
|
-
var _ui$props = ui.props,
|
|
11
|
-
props = _ui$props === void 0 ? {} : _ui$props;
|
|
12
|
-
// 使用归一化处理器
|
|
13
|
-
var children = normalizeChildren(ui);
|
|
14
|
-
var isRoot = config.checkIsRoot();
|
|
15
|
-
var slotId = ((_meta = ui.meta) === null || _meta === void 0 ? void 0 : _meta.id) || ui.id;
|
|
16
|
-
|
|
17
|
-
// 1. 初始化依赖与基础定义
|
|
18
|
-
var addDependencyImport = config.addParentDependencyImport || importManager.addImport.bind(importManager);
|
|
19
|
-
setupImports(addDependencyImport, config, isRoot);
|
|
20
|
-
|
|
21
|
-
// 鸿蒙规范:插槽组件内部需要使用 context 访问 comRefs/outputs
|
|
22
|
-
if (!isRoot) {
|
|
23
|
-
var utilsPkg = config.getUtilsPackageName({
|
|
24
|
-
isRoot: isRoot,
|
|
25
|
-
isPopup: config.isPopup
|
|
26
|
-
});
|
|
27
|
-
addDependencyImport({
|
|
28
|
-
packageName: utilsPkg,
|
|
29
|
-
dependencyNames: ["useAppContext"],
|
|
30
|
-
importType: "named"
|
|
31
|
-
});
|
|
32
|
-
// 补全 useEffect 导入(用于插槽逻辑驱动)
|
|
33
|
-
addDependencyImport({
|
|
34
|
-
packageName: "react",
|
|
35
|
-
dependencyNames: ["useEffect"],
|
|
36
|
-
importType: "named"
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
var indent2 = indentation(config.codeStyle.indent);
|
|
40
|
-
var envDefineCode = isRoot ? genRootDefineCode(indent2, config.getUtilsPackageName(), false, config.isModule) : genSlotDefineCode(indent2);
|
|
41
|
-
|
|
42
|
-
// 2. 处理子节点
|
|
43
|
-
var renderManager = isRoot ? new RenderManager() : config.renderManager || new RenderManager();
|
|
44
|
-
var childResults = processChildren(children, _objectSpread(_objectSpread({}, config), {}, {
|
|
45
|
-
depth: config.depth + 1,
|
|
46
|
-
addParentDependencyImport: addDependencyImport,
|
|
47
|
-
renderManager: renderManager,
|
|
48
|
-
// 让插槽内部的组件知道当前处于哪个 slot(用于接收父容器 inputValues)
|
|
49
|
-
currentSlotId: isRoot ? undefined : config.slotKey || slotId
|
|
50
|
-
}));
|
|
51
|
-
|
|
52
|
-
// 3. 处理场景逻辑 (变量/FX 初始化 + Start/Inputs 等)
|
|
53
|
-
var _processSceneLogic = processSceneLogic(ui, config, addDependencyImport),
|
|
54
|
-
initCode = _processSceneLogic.initCode,
|
|
55
|
-
effectCode = _processSceneLogic.effectCode;
|
|
56
|
-
|
|
57
|
-
// 4. 合并样式与代码
|
|
58
|
-
var cssContent = (convertStyleAryToCss((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.styleAry, slotId) || "") + (childResults.cssContent ? "\n" + childResults.cssContent : "");
|
|
59
|
-
var combinedJsCode = "".concat(envDefineCode).concat(childResults.js).concat(initCode).concat(wrapInEffect(indent2, effectCode));
|
|
60
|
-
|
|
61
|
-
// 5. 生成 UI 结构
|
|
62
|
-
var uiResult = generateSlotUi(ui, props, childResults.ui, childResults.childrenResults, config);
|
|
63
|
-
|
|
64
|
-
// 6. 如果是根场景,生成完整文件
|
|
65
|
-
if (isRoot) {
|
|
66
|
-
var renderDefinitions = renderManager ? renderManager.toCode("") : ""; // 顶层定义不需要缩进
|
|
67
|
-
finalizeRootComponent(ui, config, importManager, combinedJsCode, renderDefinitions, uiResult, cssContent);
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
js: childResults.js,
|
|
71
|
-
combinedJsCode: combinedJsCode,
|
|
72
|
-
ui: uiResult,
|
|
73
|
-
cssContent: cssContent,
|
|
74
|
-
slots: [],
|
|
75
|
-
scopeSlots: [],
|
|
76
|
-
directChildren: childResults.directChildren,
|
|
77
|
-
childrenResults: childResults.childrenResults
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* 设置基础导入
|
|
83
|
-
*/
|
|
84
|
-
var setupImports = function setupImports(addImport, config, isRoot) {
|
|
85
|
-
var importParams = {
|
|
86
|
-
isPopup: config.isPopup
|
|
87
|
-
};
|
|
88
|
-
var utilsPkg = config.getUtilsPackageName(importParams);
|
|
89
|
-
var comPkg = config.getComponentPackageName(importParams);
|
|
90
|
-
addImport({
|
|
91
|
-
packageName: "react",
|
|
92
|
-
dependencyNames: ["useRef", "useEffect", "useState", "createContext", "useContext"],
|
|
93
|
-
importType: "named"
|
|
94
|
-
});
|
|
95
|
-
addImport({
|
|
96
|
-
packageName: "@tarojs/components",
|
|
97
|
-
dependencyNames: ["View"],
|
|
98
|
-
importType: "named"
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
// 页面/插槽产物通常不直接使用,避免生成未使用的 import。
|
|
102
|
-
var dependencyNames = ["WithCom", "WithWrapper"];
|
|
103
|
-
if (isRoot && config.hasPopups) {
|
|
104
|
-
dependencyNames.push("PopupRenderer");
|
|
105
|
-
}
|
|
106
|
-
addImport({
|
|
107
|
-
packageName: utilsPkg,
|
|
108
|
-
dependencyNames: dependencyNames,
|
|
109
|
-
importType: "named"
|
|
110
|
-
});
|
|
111
|
-
addImport({
|
|
112
|
-
packageName: comPkg,
|
|
113
|
-
dependencyNames: ["useAppContext"],
|
|
114
|
-
importType: "named"
|
|
115
|
-
});
|
|
116
|
-
if (isRoot) {
|
|
117
|
-
if (!config.isModule) {
|
|
118
|
-
addImport({
|
|
119
|
-
packageName: "@/common/pageLife",
|
|
120
|
-
dependencyNames: ["usePageLife"],
|
|
121
|
-
importType: "named"
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
if (config.hasPopups) {
|
|
125
|
-
addImport({
|
|
126
|
-
packageName: "@/common/popup",
|
|
127
|
-
dependencyNames: ["POPUP_MAP", "POPUP_IDS"],
|
|
128
|
-
importType: "named"
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
addImport({
|
|
132
|
-
packageName: "./index.less",
|
|
133
|
-
dependencyNames: [],
|
|
134
|
-
importType: "module"
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* 生成 Slot 的 UI 代码
|
|
141
|
-
*/
|
|
142
|
-
var generateSlotUi = function generateSlotUi(ui, props, childrenUi, childrenResults, config) {
|
|
143
|
-
var indent = indentation(config.codeStyle.indent * config.depth);
|
|
144
|
-
var slotStyle = ui.style || {};
|
|
145
|
-
var propsStyle = props.style || {};
|
|
146
|
-
var mergedStyle = _objectSpread(_objectSpread({
|
|
147
|
-
width: "100%",
|
|
148
|
-
height: "100%"
|
|
149
|
-
}, slotStyle), propsStyle);
|
|
150
|
-
var layout = ui.layout || mergedStyle.layout;
|
|
151
|
-
var smart = isSmartLayout(layout);
|
|
152
|
-
var layoutAdjustment = smart ? {
|
|
153
|
-
position: "relative"
|
|
154
|
-
} : hasFixedChildren(childrenResults) ? {
|
|
155
|
-
transform: "translateX(0)"
|
|
156
|
-
} : {};
|
|
157
|
-
var styleCode = JSON.stringify(convertRootStyle(_objectSpread(_objectSpread({}, mergedStyle), {}, {
|
|
158
|
-
layout: layout
|
|
159
|
-
}, layoutAdjustment)));
|
|
160
|
-
var rootClassName = getRootComponentClassName(config.getCurrentScene(), config.checkIsRoot());
|
|
161
|
-
// 插槽根容器增强:加上可读的标识,便于用户定位/调试
|
|
162
|
-
// - className: slot-<parentComId>
|
|
163
|
-
var parentComId = config === null || config === void 0 ? void 0 : config.parentComId;
|
|
164
|
-
var slotMarkClass = parentComId ? "mybricks_slot slot-".concat(parentComId) : "";
|
|
165
|
-
var classNameStr = [rootClassName, slotMarkClass].filter(Boolean).join(" ");
|
|
166
|
-
var classNameAttr = classNameStr ? " className='".concat(classNameStr, "'") : "";
|
|
167
|
-
|
|
168
|
-
// 支持通过 params.style 传递额外样式
|
|
169
|
-
var styleAttr = slotMarkClass ? "style={{...params.style || {}, ...".concat(styleCode, "}}") : "style={".concat(styleCode, "}");
|
|
170
|
-
return "".concat(indent, "<View").concat(classNameAttr, " ").concat(styleAttr, ">\n").concat(childrenUi, "\n").concat(indent, "</View>");
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* 完成根组件的注册
|
|
175
|
-
*/
|
|
176
|
-
var finalizeRootComponent = function finalizeRootComponent(ui, config, importManager, combinedJsCode, renderDefinitions, uiResult, cssContent) {
|
|
177
|
-
var _config$getFileName, _ui$meta, _ui$meta2;
|
|
178
|
-
var fileName = ((_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId)) || ui.meta.title || "index";
|
|
179
|
-
var componentId = ((_ui$meta = ui.meta) === null || _ui$meta === void 0 ? void 0 : _ui$meta.id) || ui.id || ((_ui$meta2 = ui.meta) === null || _ui$meta2 === void 0 ? void 0 : _ui$meta2.slotId) || "Index";
|
|
180
|
-
var prefix = config.isModule ? "C" : "P";
|
|
181
|
-
var componentName = "".concat(prefix).concat(String(componentId).replace(/[^a-zA-Z0-9]/g, "_").toUpperCase());
|
|
182
|
-
var componentCode = genComponentTemplate({
|
|
183
|
-
componentId: componentId,
|
|
184
|
-
componentName: componentName,
|
|
185
|
-
combinedJsCode: combinedJsCode,
|
|
186
|
-
renderDefinitions: renderDefinitions,
|
|
187
|
-
uiResult: uiResult,
|
|
188
|
-
isPopup: config.isPopup,
|
|
189
|
-
hasPopups: config.hasPopups
|
|
190
|
-
});
|
|
191
|
-
config.add({
|
|
192
|
-
importManager: importManager,
|
|
193
|
-
content: componentCode,
|
|
194
|
-
cssContent: cssContent,
|
|
195
|
-
name: fileName
|
|
196
|
-
});
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* 检查子元素是否有固定定位的元素
|
|
201
|
-
*/
|
|
202
|
-
var hasFixedChildren = function hasFixedChildren(childrenResults) {
|
|
203
|
-
return childrenResults.some(function (item) {
|
|
204
|
-
var _item$rootStyle;
|
|
205
|
-
return (item === null || item === void 0 || (_item$rootStyle = item.rootStyle) === null || _item$rootStyle === void 0 ? void 0 : _item$rootStyle.position) === "fixed";
|
|
206
|
-
});
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* 检查是否是智能布局
|
|
211
|
-
*/
|
|
212
|
-
var isSmartLayout = function isSmartLayout(layout) {
|
|
213
|
-
return layout === "smart" || (layout === null || layout === void 0 ? void 0 : layout.position) === "smart";
|
|
214
|
-
};
|
|
215
|
-
export default handleSlot;
|
package/dist/esm/index.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { default as toCodeTaro } from './toCodeTaro';
|
|
2
|
-
export { default as generateTaroProjectJson } from './generate/generateTaroProjectJson';
|
|
3
|
-
export { default as generateTaroTempalteJson } from './generate/generateTaroTempalteJson';
|
|
4
|
-
export { compressImages, type ImageCompressionOptions } from './generate/compressImages';
|
package/dist/esm/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { default as toCodeTaro } from "./toCodeTaro";
|
|
2
|
-
export { default as generateTaroProjectJson } from "./generate/generateTaroProjectJson";
|
|
3
|
-
export { default as generateTaroTempalteJson } from "./generate/generateTaroTempalteJson";
|
|
4
|
-
export { compressImages } from "./generate/compressImages";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { HandleComConfig, Com } from "../handleCom";
|
|
2
|
-
/**
|
|
3
|
-
* 处理组件事件
|
|
4
|
-
*/
|
|
5
|
-
export declare const processComEvents: (com: Com, config: HandleComConfig) => {
|
|
6
|
-
comEventCode: string;
|
|
7
|
-
outputsConfig: Record<string, any>;
|
|
8
|
-
eventConfig: Record<string, any>;
|
|
9
|
-
};
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
-
import { indentation } from "../utils";
|
|
5
|
-
import { handleProcess } from "../utils/logic/handleProcess";
|
|
6
|
-
/**
|
|
7
|
-
* 处理组件事件
|
|
8
|
-
*/
|
|
9
|
-
export var processComEvents = function processComEvents(com, config) {
|
|
10
|
-
var _meta$def;
|
|
11
|
-
var meta = com.meta,
|
|
12
|
-
events = com.events;
|
|
13
|
-
var comEventCode = "";
|
|
14
|
-
var outputsConfig = {};
|
|
15
|
-
var eventConfig = {};
|
|
16
|
-
var outputEvents = events || {};
|
|
17
|
-
Object.entries(outputEvents).forEach(function (_ref) {
|
|
18
|
-
var _eventInfo$options, _eventInfo$options2;
|
|
19
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
20
|
-
eventId = _ref2[0],
|
|
21
|
-
eventInfo = _ref2[1];
|
|
22
|
-
var type = eventInfo.type,
|
|
23
|
-
isAbstract = eventInfo.isAbstract,
|
|
24
|
-
diagramId = eventInfo.diagramId,
|
|
25
|
-
schema = eventInfo.schema,
|
|
26
|
-
active = eventInfo.active;
|
|
27
|
-
if (active === false) return;
|
|
28
|
-
if (isAbstract) {
|
|
29
|
-
config.setAbstractEventTypeDefMap({
|
|
30
|
-
comId: com.meta.id,
|
|
31
|
-
eventId: eventId,
|
|
32
|
-
typeDef: config.getTypeDef(),
|
|
33
|
-
schema: schema
|
|
34
|
-
});
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (type === "fx") {
|
|
38
|
-
processFxEvent(eventId, com, config, function (code) {
|
|
39
|
-
comEventCode += code;
|
|
40
|
-
});
|
|
41
|
-
eventConfig[eventId] = {
|
|
42
|
-
connected: true
|
|
43
|
-
};
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (type !== "defined") return;
|
|
47
|
-
|
|
48
|
-
// 兼容:部分数据把 diagramId 放在 options.id(例如 test-data.json 的 outputEvents)
|
|
49
|
-
var resolvedDiagramId = diagramId || (eventInfo === null || eventInfo === void 0 || (_eventInfo$options = eventInfo.options) === null || _eventInfo$options === void 0 ? void 0 : _eventInfo$options.diagramId) || (eventInfo === null || eventInfo === void 0 || (_eventInfo$options2 = eventInfo.options) === null || _eventInfo$options2 === void 0 ? void 0 : _eventInfo$options2.id);
|
|
50
|
-
if (!resolvedDiagramId) return;
|
|
51
|
-
var event = config.getEventByDiagramId(resolvedDiagramId);
|
|
52
|
-
if (!event) return;
|
|
53
|
-
var paramName = "value";
|
|
54
|
-
var process = handleProcess(event, _objectSpread(_objectSpread({}, config), {}, {
|
|
55
|
-
target: "comRefs.current",
|
|
56
|
-
depth: config.depth + 3,
|
|
57
|
-
addParentDependencyImport: config.addParentDependencyImport,
|
|
58
|
-
getParams: function getParams() {
|
|
59
|
-
return _defineProperty({}, eventId, paramName);
|
|
60
|
-
}
|
|
61
|
-
})).replace(/this\.\$vars\./g, "$vars.current.").replace(/this\.\$fxs\./g, "$fxs.current.").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.");
|
|
62
|
-
if (process.includes("pageParams")) {
|
|
63
|
-
var importParams = {
|
|
64
|
-
isPopup: config.isPopup
|
|
65
|
-
};
|
|
66
|
-
var controllerName = config.isPopup ? "popupRouter" : "pageRouter";
|
|
67
|
-
config.addParentDependencyImport({
|
|
68
|
-
packageName: config.getComponentPackageName(importParams),
|
|
69
|
-
dependencyNames: [controllerName, "SUBJECT_VALUE"],
|
|
70
|
-
importType: "named"
|
|
71
|
-
});
|
|
72
|
-
var indent = indentation(config.codeStyle.indent * (config.depth + 3));
|
|
73
|
-
// 使用 SUBJECT_VALUE 获取当前参数值,保持与 MyBricks 逻辑一致
|
|
74
|
-
process = "".concat(indent, "const pageParams: any = ").concat(controllerName, ".getParams(\"").concat(config.getCurrentScene().id, "\")[SUBJECT_VALUE];\n").concat(process);
|
|
75
|
-
}
|
|
76
|
-
var handlerIndent = indentation(config.codeStyle.indent * (config.depth + 2));
|
|
77
|
-
var handlerCode = "(".concat(paramName, ": any) => {\n").concat(process, "\n").concat(handlerIndent, "}");
|
|
78
|
-
if (!outputsConfig[meta.id]) {
|
|
79
|
-
outputsConfig[meta.id] = {};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// 事件名必须与组件 runtime 的 outputs pin id 保持一致:
|
|
83
|
-
// - 例如 tabs2 的输出是 `changeTab`(不是 `onChangeTab`)
|
|
84
|
-
// - searchBar 的输出是 `onSearch`(本身就以 on 开头)
|
|
85
|
-
outputsConfig[meta.id][eventId] = handlerCode;
|
|
86
|
-
eventConfig[eventId] = {
|
|
87
|
-
connected: true
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
// 针对 mybricks.taro.popup 的特殊处理
|
|
92
|
-
if (((_meta$def = meta.def) === null || _meta$def === void 0 ? void 0 : _meta$def.namespace) === 'mybricks.taro.popup') {
|
|
93
|
-
var _config$getCurrentSce, _sceneCom$model;
|
|
94
|
-
if (!outputsConfig[meta.id]) {
|
|
95
|
-
outputsConfig[meta.id] = {};
|
|
96
|
-
}
|
|
97
|
-
var importParams = {
|
|
98
|
-
isPopup: config.isPopup
|
|
99
|
-
};
|
|
100
|
-
var sceneCom = (_config$getCurrentSce = config.getCurrentScene().coms) === null || _config$getCurrentSce === void 0 ? void 0 : _config$getCurrentSce[meta.id];
|
|
101
|
-
var popupData = (sceneCom === null || sceneCom === void 0 || (_sceneCom$model = sceneCom.model) === null || _sceneCom$model === void 0 ? void 0 : _sceneCom$model.data) || {};
|
|
102
|
-
var isTrue = function isTrue(v) {
|
|
103
|
-
return v === true || v === "true";
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// 如果 onClose 没被连接,且 visibleClose=true(会渲染关闭按钮),才添加默认 close
|
|
107
|
-
// visibleClose=false 时,运行时不会触发 onClose(模板里只在 close 按钮点击时触发)
|
|
108
|
-
if (!eventConfig['onClose'] && isTrue(popupData.visibleClose)) {
|
|
109
|
-
config.addParentDependencyImport({
|
|
110
|
-
packageName: config.getComponentPackageName(importParams),
|
|
111
|
-
dependencyNames: ["popupRouter"],
|
|
112
|
-
importType: "named"
|
|
113
|
-
});
|
|
114
|
-
var handlerIndent = indentation(config.codeStyle.indent * (config.depth + 2));
|
|
115
|
-
var processIndent = indentation(config.codeStyle.indent * (config.depth + 3));
|
|
116
|
-
outputsConfig[meta.id]['onClose'] = "() => {\n".concat(processIndent, "popupRouter.close(\"").concat(config.getCurrentScene().id, "\");\n").concat(handlerIndent, "}");
|
|
117
|
-
eventConfig['onClose'] = {
|
|
118
|
-
connected: true
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// 如果 onClickOverlay 没被连接,且组件配置了点击遮罩关闭
|
|
123
|
-
if (!eventConfig['onClickOverlay'] && isTrue(popupData.maskClose)) {
|
|
124
|
-
config.addParentDependencyImport({
|
|
125
|
-
packageName: config.getComponentPackageName(importParams),
|
|
126
|
-
dependencyNames: ["popupRouter"],
|
|
127
|
-
importType: "named"
|
|
128
|
-
});
|
|
129
|
-
var _handlerIndent = indentation(config.codeStyle.indent * (config.depth + 2));
|
|
130
|
-
var _processIndent = indentation(config.codeStyle.indent * (config.depth + 3));
|
|
131
|
-
outputsConfig[meta.id]['onClickOverlay'] = "() => {\n".concat(_processIndent, "popupRouter.close(\"").concat(config.getCurrentScene().id, "\");\n").concat(_handlerIndent, "}");
|
|
132
|
-
eventConfig['onClickOverlay'] = {
|
|
133
|
-
connected: true
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return {
|
|
138
|
-
comEventCode: comEventCode,
|
|
139
|
-
outputsConfig: outputsConfig,
|
|
140
|
-
eventConfig: eventConfig
|
|
141
|
-
};
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* 处理 FX 事件
|
|
146
|
-
*/
|
|
147
|
-
var processFxEvent = function processFxEvent(eventId, com, config, addCode) {
|
|
148
|
-
var fxsMap = config.getFxsMap();
|
|
149
|
-
var currentProvider = config.getCurrentProvider();
|
|
150
|
-
var scene = config.getCurrentScene();
|
|
151
|
-
var pinProxy = scene.pinProxies["".concat(com.props.id, "-").concat(eventId)];
|
|
152
|
-
if (!pinProxy) return;
|
|
153
|
-
var fxProvider = fxsMap[pinProxy.frameId];
|
|
154
|
-
if (!fxProvider) return;
|
|
155
|
-
var isGlobal = fxProvider.name === "global";
|
|
156
|
-
if (fxProvider.name !== currentProvider.name) {
|
|
157
|
-
if (isGlobal) {
|
|
158
|
-
config.addParentDependencyImport({
|
|
159
|
-
packageName: config.getComponentPackageName(),
|
|
160
|
-
dependencyNames: ["globalFxs"],
|
|
161
|
-
importType: "named"
|
|
162
|
-
});
|
|
163
|
-
} else {
|
|
164
|
-
config.addConsumer(fxProvider);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
var indent = indentation(config.codeStyle.indent * (config.depth + 2));
|
|
168
|
-
var code = "".concat(indent).concat(eventId, ": ").concat(isGlobal ? "globalFxs" : "comRefs.current.".concat(fxProvider.name, "_Fxs"), ".").concat(pinProxy.frameId, ",\n");
|
|
169
|
-
addCode(code);
|
|
170
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 处理模块(Module)
|
|
3
|
-
* 参考鸿蒙实现,将模块处理逻辑独立出来
|
|
4
|
-
*/
|
|
5
|
-
import type { ToTaroCodeConfig, GeneratedFile } from "../toCodeTaro";
|
|
6
|
-
import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
|
|
7
|
-
import { type Provider } from "../utils/context/createProvider";
|
|
8
|
-
import type { JSModulesMap } from "../utils/context/collectJSModules";
|
|
9
|
-
type ToCodeResult = ReturnType<typeof toCode>;
|
|
10
|
-
type Module = ToCodeResult["modules"][0];
|
|
11
|
-
interface ProcessModuleParams {
|
|
12
|
-
module: Module;
|
|
13
|
-
config: ToTaroCodeConfig;
|
|
14
|
-
globalVarTypeDef: Record<string, any>;
|
|
15
|
-
defaultFxsMap: Record<string, Provider>;
|
|
16
|
-
abstractEventTypeDefMap: Record<string, any>;
|
|
17
|
-
jsModulesMap: JSModulesMap;
|
|
18
|
-
getExtensionEventById: (id: string) => any;
|
|
19
|
-
getSceneById: (id: string) => any;
|
|
20
|
-
getFrameById?: (id: string) => any;
|
|
21
|
-
addResult: (result: GeneratedFile) => void;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 处理单个模块
|
|
25
|
-
*/
|
|
26
|
-
export declare const processModule: (params: ProcessModuleParams) => void;
|
|
27
|
-
/**
|
|
28
|
-
* 处理所有模块
|
|
29
|
-
*/
|
|
30
|
-
export declare const processModules: (modules: Module[], params: Omit<ProcessModuleParams, "module">) => void;
|
|
31
|
-
export {};
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
/**
|
|
3
|
-
* 处理模块(Module)
|
|
4
|
-
* 参考鸿蒙实现,将模块处理逻辑独立出来
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import handleSlot from "../handleSlot";
|
|
8
|
-
import { createProvider, createProviderMap } from "../utils/context/createProvider";
|
|
9
|
-
import { createEventQueries } from "../utils/context/createEventQueries";
|
|
10
|
-
import { collectJSModulesFromScene } from "../utils/context/collectJSModules";
|
|
11
|
-
/**
|
|
12
|
-
* 处理单个模块
|
|
13
|
-
*/
|
|
14
|
-
export var processModule = function processModule(params) {
|
|
15
|
-
var _config$getFileName;
|
|
16
|
-
var _params$module = params.module,
|
|
17
|
-
scene = _params$module.scene,
|
|
18
|
-
ui = _params$module.ui,
|
|
19
|
-
event = _params$module.event,
|
|
20
|
-
config = params.config,
|
|
21
|
-
globalVarTypeDef = params.globalVarTypeDef,
|
|
22
|
-
defaultFxsMap = params.defaultFxsMap,
|
|
23
|
-
abstractEventTypeDefMap = params.abstractEventTypeDefMap,
|
|
24
|
-
jsModulesMap = params.jsModulesMap,
|
|
25
|
-
getExtensionEventById = params.getExtensionEventById,
|
|
26
|
-
getSceneById = params.getSceneById,
|
|
27
|
-
getFrameById = params.getFrameById,
|
|
28
|
-
addResult = params.addResult;
|
|
29
|
-
|
|
30
|
-
// 收集 JS 计算组件
|
|
31
|
-
collectJSModulesFromScene(scene, jsModulesMap);
|
|
32
|
-
|
|
33
|
-
// 创建 Provider
|
|
34
|
-
var fileName = (_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId);
|
|
35
|
-
var currentProvider = createProvider(fileName, true);
|
|
36
|
-
var providerMap = createProviderMap(currentProvider);
|
|
37
|
-
|
|
38
|
-
// 创建类型定义
|
|
39
|
-
var typeDef = {
|
|
40
|
-
vars: Object.assign({}, globalVarTypeDef),
|
|
41
|
-
inputs: {},
|
|
42
|
-
outputs: {}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
// 创建 FX Map
|
|
46
|
-
var fxsMap = Object.assign({}, defaultFxsMap);
|
|
47
|
-
|
|
48
|
-
// 创建事件查询函数
|
|
49
|
-
var eventQueries = createEventQueries(event);
|
|
50
|
-
|
|
51
|
-
// 处理 Slot
|
|
52
|
-
handleSlot(ui, _objectSpread(_objectSpread({}, config), {}, {
|
|
53
|
-
isModule: true,
|
|
54
|
-
getCurrentScene: function getCurrentScene() {
|
|
55
|
-
var originalScene = getSceneById(scene.id);
|
|
56
|
-
return _objectSpread(_objectSpread(_objectSpread({}, scene), originalScene), {}, {
|
|
57
|
-
event: event
|
|
58
|
-
});
|
|
59
|
-
},
|
|
60
|
-
add: function add(value) {
|
|
61
|
-
var jsModules = Array.from(jsModulesMap.values());
|
|
62
|
-
addResult(_objectSpread(_objectSpread({}, value), {}, {
|
|
63
|
-
type: scene.type,
|
|
64
|
-
meta: scene,
|
|
65
|
-
jsModules: jsModules
|
|
66
|
-
}));
|
|
67
|
-
},
|
|
68
|
-
addJSModule: function addJSModule(module) {
|
|
69
|
-
if (!jsModulesMap.has(module.id)) {
|
|
70
|
-
jsModulesMap.set(module.id, module);
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
getEventByDiagramId: eventQueries.getEventByDiagramId,
|
|
74
|
-
getFrameInputEvent: eventQueries.getFrameInputEvent,
|
|
75
|
-
getVarEvents: eventQueries.getVarEvents,
|
|
76
|
-
getFxEvents: eventQueries.getFxEvents,
|
|
77
|
-
checkIsRoot: function checkIsRoot() {
|
|
78
|
-
return true;
|
|
79
|
-
},
|
|
80
|
-
getEffectEvent: eventQueries.getEffectEvent,
|
|
81
|
-
getCurrentProvider: function getCurrentProvider() {
|
|
82
|
-
return currentProvider;
|
|
83
|
-
},
|
|
84
|
-
getRootProvider: function getRootProvider() {
|
|
85
|
-
return currentProvider;
|
|
86
|
-
},
|
|
87
|
-
getProviderMap: function getProviderMap() {
|
|
88
|
-
return providerMap;
|
|
89
|
-
},
|
|
90
|
-
getExtensionEventById: getExtensionEventById,
|
|
91
|
-
getSceneById: getSceneById,
|
|
92
|
-
getFrameById: getFrameById,
|
|
93
|
-
depth: 0,
|
|
94
|
-
getTypeDef: function getTypeDef() {
|
|
95
|
-
return typeDef;
|
|
96
|
-
},
|
|
97
|
-
getFxsMap: function getFxsMap() {
|
|
98
|
-
return fxsMap;
|
|
99
|
-
},
|
|
100
|
-
setAbstractEventTypeDefMap: function setAbstractEventTypeDefMap(params) {
|
|
101
|
-
var comId = params.comId,
|
|
102
|
-
eventId = params.eventId,
|
|
103
|
-
typeDef = params.typeDef,
|
|
104
|
-
schema = params.schema;
|
|
105
|
-
if (!abstractEventTypeDefMap[comId]) {
|
|
106
|
-
abstractEventTypeDefMap[comId] = {
|
|
107
|
-
typeDef: typeDef,
|
|
108
|
-
eventIdMap: {}
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
|
|
112
|
-
},
|
|
113
|
-
getCallTemplate: function getCallTemplate(params) {
|
|
114
|
-
var com = params.com,
|
|
115
|
-
pinId = params.pinId,
|
|
116
|
-
args = params.args;
|
|
117
|
-
// 优先通过 sceneId 查找,如果找不到再通过 id 查找
|
|
118
|
-
var targetScene = getSceneById(com.sceneId || com.id);
|
|
119
|
-
if (targetScene || com.isScene) {
|
|
120
|
-
var _targetScene$deps, _targetScene$inputs, _targetScene$outputs2;
|
|
121
|
-
var sceneId = (targetScene === null || targetScene === void 0 ? void 0 : targetScene.id) || com.sceneId || com.id;
|
|
122
|
-
|
|
123
|
-
// 当前模块自身的 output → 通过 moduleOutputs 回调
|
|
124
|
-
if (sceneId === scene.id) {
|
|
125
|
-
var _targetScene$outputs;
|
|
126
|
-
var _isOutput = targetScene === null || targetScene === void 0 || (_targetScene$outputs = targetScene.outputs) === null || _targetScene$outputs === void 0 ? void 0 : _targetScene$outputs.some(function (pin) {
|
|
127
|
-
return pin.id === pinId;
|
|
128
|
-
});
|
|
129
|
-
if (_isOutput) {
|
|
130
|
-
return {
|
|
131
|
-
code: "moduleOutputs?.".concat(pinId, "?.(").concat(args || '', ")")
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
var isTargetPopup = (targetScene === null || targetScene === void 0 ? void 0 : targetScene.type) === 'popup' || (targetScene === null || targetScene === void 0 || (_targetScene$deps = targetScene.deps) === null || _targetScene$deps === void 0 ? void 0 : _targetScene$deps.some(function (dep) {
|
|
136
|
-
return dep.namespace === 'mybricks.taro.popup';
|
|
137
|
-
}));
|
|
138
|
-
var routerName = isTargetPopup ? "popupRouter" : "pageRouter";
|
|
139
|
-
|
|
140
|
-
// 动态判断 pinId 是否属于该场景的输入或输出
|
|
141
|
-
var isInput = targetScene === null || targetScene === void 0 || (_targetScene$inputs = targetScene.inputs) === null || _targetScene$inputs === void 0 ? void 0 : _targetScene$inputs.some(function (pin) {
|
|
142
|
-
return pin.id === pinId;
|
|
143
|
-
});
|
|
144
|
-
var isOutput = targetScene === null || targetScene === void 0 || (_targetScene$outputs2 = targetScene.outputs) === null || _targetScene$outputs2 === void 0 ? void 0 : _targetScene$outputs2.some(function (pin) {
|
|
145
|
-
return pin.id === pinId;
|
|
146
|
-
});
|
|
147
|
-
if (isInput || isOutput) {
|
|
148
|
-
var _config$getPageId;
|
|
149
|
-
return {
|
|
150
|
-
code: "".concat(routerName, ".").concat(pinId, "(\"").concat(((_config$getPageId = config.getPageId) === null || _config$getPageId === void 0 ? void 0 : _config$getPageId.call(config, sceneId)) || sceneId, "\"").concat(args ? ", ".concat(args) : "", ")"),
|
|
151
|
-
import: {
|
|
152
|
-
packageName: config.getComponentPackageName(),
|
|
153
|
-
dependencyNames: [routerName],
|
|
154
|
-
importType: "named"
|
|
155
|
-
}
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return undefined;
|
|
160
|
-
},
|
|
161
|
-
getComponentController: function getComponentController(_ref) {
|
|
162
|
-
var com = _ref.com;
|
|
163
|
-
return com.id;
|
|
164
|
-
}
|
|
165
|
-
}));
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* 处理所有模块
|
|
170
|
-
*/
|
|
171
|
-
export var processModules = function processModules(modules, params) {
|
|
172
|
-
modules.forEach(function (module) {
|
|
173
|
-
processModule(_objectSpread(_objectSpread({}, params), {}, {
|
|
174
|
-
module: module
|
|
175
|
-
}));
|
|
176
|
-
});
|
|
177
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 处理场景(Scene)
|
|
3
|
-
* 参考鸿蒙实现,将场景处理逻辑独立出来
|
|
4
|
-
*/
|
|
5
|
-
import type { ToTaroCodeConfig, GeneratedFile } from "../toCodeTaro";
|
|
6
|
-
import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
|
|
7
|
-
import { type Provider } from "../utils/context/createProvider";
|
|
8
|
-
import type { JSModulesMap } from "../utils/context/collectJSModules";
|
|
9
|
-
type ToCodeResult = ReturnType<typeof toCode>;
|
|
10
|
-
type Scene = ToCodeResult["scenes"][0];
|
|
11
|
-
interface ProcessSceneParams {
|
|
12
|
-
scene: Scene;
|
|
13
|
-
config: ToTaroCodeConfig;
|
|
14
|
-
globalVarTypeDef: Record<string, any>;
|
|
15
|
-
defaultFxsMap: Record<string, Provider>;
|
|
16
|
-
abstractEventTypeDefMap: Record<string, any>;
|
|
17
|
-
jsModulesMap: JSModulesMap;
|
|
18
|
-
getExtensionEventById: (id: string) => any;
|
|
19
|
-
getSceneById: (id: string) => any;
|
|
20
|
-
getFrameById?: (id: string) => any;
|
|
21
|
-
pageConfigHandler: any;
|
|
22
|
-
addResult: (result: GeneratedFile) => void;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 处理单个场景
|
|
26
|
-
*/
|
|
27
|
-
export declare const processScene: (params: ProcessSceneParams) => void;
|
|
28
|
-
/**
|
|
29
|
-
* 处理所有场景
|
|
30
|
-
*/
|
|
31
|
-
export declare const processScenes: (scenes: Scene[], params: Omit<ProcessSceneParams, "scene">) => void;
|
|
32
|
-
export {};
|