@mybricks/to-code-taro 1.0.2 → 1.0.4
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/README.md +58 -0
- package/dist/cjs/core/comlib/_AesEncode.js +115 -0
- package/dist/cjs/core/comlib/_BackTo.js +80 -0
- package/dist/cjs/core/comlib/{Index.js → _CallPhone.js} +29 -16
- package/dist/cjs/core/comlib/_ChooseFile.js +103 -0
- package/dist/cjs/core/comlib/_ChooseMedia.js +70 -0
- package/dist/cjs/core/comlib/_Connector.js +92 -0
- package/dist/cjs/core/comlib/_ConnectorGlobalHeaders.js +79 -0
- package/dist/cjs/core/comlib/_Format.js +123 -0
- package/dist/cjs/core/comlib/_GetLocation.js +60 -0
- package/dist/cjs/core/comlib/_GetStorage.js +68 -0
- package/dist/cjs/core/comlib/_GetSystemInfo.js +62 -0
- package/dist/cjs/core/comlib/_OpenCamera.js +73 -0
- package/dist/cjs/core/comlib/_OpenPetalMap.js +49 -0
- package/dist/cjs/core/comlib/_OpenUrl.js +62 -0
- package/dist/cjs/core/comlib/_RemoveStorage.js +68 -0
- package/dist/cjs/core/comlib/_Router.js +100 -0
- package/dist/cjs/core/comlib/_ScanQrcode.js +9 -10
- package/dist/cjs/core/comlib/_SetStorage.js +10 -19
- package/dist/cjs/core/comlib/_Share.js +58 -0
- package/dist/cjs/core/comlib/_ShowToast.js +23 -50
- package/dist/cjs/core/comlib/_TextToSpeech.js +120 -0
- package/dist/cjs/core/comlib/_TimerDebounce.js +72 -0
- package/dist/cjs/core/comlib/_TimerDelay.js +63 -0
- package/dist/cjs/core/comlib/_TimerThrottle.js +75 -0
- package/dist/cjs/core/comlib/_Vibrate.js +60 -0
- package/dist/cjs/core/comlib/index.js +111 -0
- package/dist/cjs/core/mybricks/index.js +47 -47
- package/dist/cjs/core/utils/ComContext.js +3 -0
- package/dist/cjs/core/utils/PopupRenderer.js +63 -0
- package/dist/cjs/core/utils/hooks.js +131 -0
- package/dist/cjs/core/utils/index.js +33 -57
- package/dist/cjs/core/utils/pageRouter.js +81 -0
- package/dist/cjs/core/utils/popupRouter.js +98 -0
- package/dist/cjs/core/utils/useContext.js +11 -2
- package/dist/cjs/core/utils/with.js +37 -13
- package/dist/cjs/generate/generateTaroProjectJson.d.ts +3 -14
- package/dist/cjs/generate/generateTaroProjectJson.js +39 -6
- package/dist/cjs/generate/utils/tabBarImages.d.ts +1 -1
- package/dist/cjs/handleCom.d.ts +1 -1
- package/dist/cjs/handleCom.js +91 -177
- package/dist/cjs/handleDom.js +7 -44
- package/dist/cjs/handleExtension.d.ts +2 -2
- package/dist/cjs/handleExtension.js +5 -5
- package/dist/cjs/handleGlobal.d.ts +2 -12
- package/dist/cjs/handleGlobal.js +23 -7
- package/dist/cjs/handleModule.js +3 -3
- package/dist/cjs/handleSlot.d.ts +4 -9
- package/dist/cjs/handleSlot.js +61 -150
- package/dist/cjs/processors/processComEvents.d.ts +9 -0
- package/dist/cjs/processors/processComEvents.js +164 -0
- package/dist/cjs/processors/processModule.d.ts +31 -0
- package/dist/cjs/processors/processModule.js +125 -0
- package/dist/cjs/processors/processScene.d.ts +32 -0
- package/dist/cjs/processors/processScene.js +128 -0
- package/dist/cjs/processors/processSceneLogic.d.ts +4 -0
- package/dist/cjs/processors/processSceneLogic.js +170 -0
- package/dist/cjs/shims-taro.d.ts +20 -0
- package/dist/cjs/taro-template.json +501 -351
- package/dist/cjs/toCodeTaro.d.ts +27 -6
- package/dist/cjs/toCodeTaro.js +68 -340
- package/dist/cjs/utils/builder/buildResult.d.ts +22 -0
- package/dist/cjs/utils/builder/buildResult.js +117 -0
- package/dist/cjs/utils/common/ImportManager.d.ts +19 -0
- package/dist/cjs/utils/common/ImportManager.js +105 -0
- package/dist/cjs/utils/common/helper.d.ts +2 -0
- package/dist/cjs/utils/common/helper.js +31 -0
- package/dist/cjs/utils/common/object.d.ts +5 -0
- package/dist/cjs/utils/common/object.js +58 -0
- package/dist/cjs/utils/common/string.d.ts +8 -0
- package/dist/cjs/utils/common/string.js +46 -0
- package/dist/cjs/utils/{pageConfig → config/content}/converter.js +1 -1
- package/dist/cjs/utils/{pageConfig → config/content}/index.js +9 -9
- package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.js +12 -22
- package/dist/{esm/utils/pageConfig → cjs/utils/config/content}/saveBase64Image.d.ts +1 -1
- package/dist/cjs/utils/{pageConfig → config/content}/saveBase64Image.js +8 -17
- package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.js +9 -32
- package/dist/cjs/utils/config/content/types.js +17 -0
- package/dist/cjs/utils/{pageConfig → config/content}/validator.js +1 -1
- package/dist/{esm/utils → cjs/utils/config}/handlePageConfig.d.ts +3 -2
- package/dist/cjs/utils/{handlePageConfig.js → config/handlePageConfig.js} +7 -6
- package/dist/cjs/utils/context/buildContext.d.ts +24 -0
- package/dist/cjs/utils/context/buildContext.js +65 -0
- package/dist/cjs/utils/context/buildFrameMap.d.ts +16 -0
- package/dist/cjs/utils/context/buildFrameMap.js +106 -0
- package/dist/cjs/utils/context/buildGlobalData.d.ts +13 -0
- package/dist/cjs/utils/context/buildGlobalData.js +58 -0
- package/dist/cjs/utils/context/collectJSModules.d.ts +37 -0
- package/dist/cjs/utils/context/collectJSModules.js +91 -0
- package/dist/cjs/utils/context/createEventQueries.d.ts +45 -0
- package/dist/cjs/utils/context/createEventQueries.js +99 -0
- package/dist/cjs/utils/context/createProvider.d.ts +21 -0
- package/dist/cjs/utils/context/createProvider.js +49 -0
- package/dist/cjs/utils/index.d.ts +10 -62
- package/dist/cjs/utils/index.js +21 -282
- package/dist/cjs/utils/{convertNamespace.js → logic/convertNamespace.js} +1 -1
- package/dist/cjs/utils/{genJSModules.js → logic/genJSModules.js} +1 -1
- package/dist/{esm/utils → cjs/utils/logic}/handleProcess.d.ts +2 -2
- package/dist/cjs/utils/{handleProcess.js → logic/handleProcess.js} +40 -16
- package/dist/cjs/utils/logic/processChildren.d.ts +12 -0
- package/dist/cjs/utils/logic/processChildren.js +82 -0
- package/dist/cjs/utils/style/color.d.ts +4 -0
- package/dist/cjs/utils/style/color.js +45 -0
- package/dist/cjs/utils/style/converter.d.ts +7 -0
- package/dist/cjs/utils/style/converter.js +181 -0
- package/dist/cjs/utils/{getComponentClassName.js → style/getComponentClassName.js} +1 -1
- package/dist/cjs/utils/{pxtransform.js → style/pxtransform.js} +1 -1
- package/dist/cjs/utils/style/types.d.ts +23 -0
- package/dist/cjs/utils/{pageConfig → style}/types.js +1 -1
- package/dist/cjs/utils/{code → templates}/component.js +1 -1
- package/dist/cjs/utils/{code → templates}/index.js +4 -4
- package/dist/cjs/utils/{code → templates}/renderManager.js +1 -1
- package/dist/cjs/utils/{code → templates}/scene.d.ts +3 -1
- package/dist/cjs/utils/{code → templates}/scene.js +17 -5
- package/dist/esm/core/comlib/_AesEncode.js +85 -0
- package/dist/esm/core/comlib/_BackTo.js +66 -0
- package/dist/esm/core/comlib/_CallPhone.js +30 -0
- package/dist/esm/core/comlib/_ChooseFile.js +81 -0
- package/dist/esm/core/comlib/_ChooseMedia.js +38 -0
- package/dist/esm/core/comlib/_Connector.js +60 -0
- package/dist/esm/core/comlib/_ConnectorGlobalHeaders.js +56 -0
- package/dist/esm/core/comlib/_Format.js +102 -0
- package/dist/esm/core/comlib/_GetLocation.js +26 -0
- package/dist/esm/core/comlib/_GetStorage.js +44 -0
- package/dist/esm/core/comlib/_GetSystemInfo.js +32 -0
- package/dist/esm/core/comlib/_OpenCamera.js +44 -0
- package/dist/esm/core/comlib/_OpenPetalMap.js +28 -0
- package/dist/esm/core/comlib/_OpenUrl.js +36 -0
- package/dist/esm/core/comlib/_RemoveStorage.js +42 -0
- package/dist/esm/core/comlib/_Router.js +113 -0
- package/dist/esm/core/comlib/_ScanQrcode.js +10 -11
- package/dist/esm/core/comlib/_SetStorage.js +13 -25
- package/dist/esm/core/comlib/_Share.js +28 -0
- package/dist/esm/core/comlib/_ShowToast.js +32 -55
- package/dist/esm/core/comlib/_TextToSpeech.js +117 -0
- package/dist/esm/core/comlib/_TimerDebounce.js +66 -0
- package/dist/esm/core/comlib/_TimerDelay.js +47 -0
- package/dist/esm/core/comlib/_TimerThrottle.js +69 -0
- package/dist/esm/core/comlib/_Vibrate.js +34 -0
- package/dist/esm/core/comlib/index.js +37 -0
- package/dist/esm/core/mybricks/index.js +1 -1
- package/dist/esm/core/utils/ComContext.js +1 -0
- package/dist/esm/core/utils/PopupRenderer.js +27 -0
- package/dist/esm/core/utils/hooks.js +130 -0
- package/dist/esm/core/utils/index.js +8 -57
- package/dist/esm/core/utils/pageRouter.js +69 -0
- package/dist/esm/core/utils/popupRouter.js +116 -0
- package/dist/esm/core/utils/useContext.js +16 -3
- package/dist/esm/core/utils/with.js +62 -19
- package/dist/esm/generate/generateTaroProjectJson.d.ts +3 -14
- package/dist/esm/generate/generateTaroProjectJson.js +62 -24
- package/dist/esm/generate/utils/tabBarImages.d.ts +1 -1
- package/dist/esm/handleCom.d.ts +1 -1
- package/dist/esm/handleCom.js +159 -244
- package/dist/esm/handleDom.js +9 -48
- package/dist/esm/handleExtension.d.ts +2 -2
- package/dist/esm/handleExtension.js +5 -5
- package/dist/esm/handleGlobal.d.ts +2 -12
- package/dist/esm/handleGlobal.js +17 -3
- package/dist/esm/handleModule.js +3 -3
- package/dist/esm/handleSlot.d.ts +4 -9
- package/dist/esm/handleSlot.js +112 -173
- package/dist/esm/processors/processComEvents.d.ts +9 -0
- package/dist/esm/processors/processComEvents.js +167 -0
- package/dist/esm/processors/processModule.d.ts +31 -0
- package/dist/esm/processors/processModule.js +126 -0
- package/dist/esm/processors/processScene.d.ts +32 -0
- package/dist/esm/processors/processScene.js +134 -0
- package/dist/esm/processors/processSceneLogic.d.ts +4 -0
- package/dist/esm/processors/processSceneLogic.js +170 -0
- package/dist/esm/shims-taro.d.ts +20 -0
- package/dist/esm/taro-template.json +501 -351
- package/dist/esm/toCodeTaro.d.ts +27 -6
- package/dist/esm/toCodeTaro.js +110 -395
- package/dist/esm/utils/builder/buildResult.d.ts +22 -0
- package/dist/esm/utils/builder/buildResult.js +82 -0
- package/dist/esm/utils/common/ImportManager.d.ts +19 -0
- package/dist/esm/utils/common/ImportManager.js +103 -0
- package/dist/esm/utils/common/helper.d.ts +2 -0
- package/dist/esm/utils/common/helper.js +4 -0
- package/dist/esm/utils/common/object.d.ts +5 -0
- package/dist/esm/utils/common/object.js +32 -0
- package/dist/esm/utils/common/string.d.ts +8 -0
- package/dist/esm/utils/common/string.js +21 -0
- package/dist/esm/utils/config/content/pageConfig.js +40 -0
- package/dist/{cjs/utils/pageConfig → esm/utils/config/content}/saveBase64Image.d.ts +1 -1
- package/dist/esm/utils/{pageConfig → config/content}/saveBase64Image.js +11 -30
- package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.js +12 -34
- package/dist/{cjs/utils → esm/utils/config}/handlePageConfig.d.ts +3 -2
- package/dist/esm/utils/{handlePageConfig.js → config/handlePageConfig.js} +6 -2
- package/dist/esm/utils/context/buildContext.d.ts +24 -0
- package/dist/esm/utils/context/buildContext.js +53 -0
- package/dist/esm/utils/context/buildFrameMap.d.ts +16 -0
- package/dist/esm/utils/context/buildFrameMap.js +131 -0
- package/dist/esm/utils/context/buildGlobalData.d.ts +13 -0
- package/dist/esm/utils/context/buildGlobalData.js +44 -0
- package/dist/esm/utils/context/collectJSModules.d.ts +37 -0
- package/dist/esm/utils/context/collectJSModules.js +87 -0
- package/dist/esm/utils/context/createEventQueries.d.ts +45 -0
- package/dist/esm/utils/context/createEventQueries.js +99 -0
- package/dist/esm/utils/context/createProvider.d.ts +21 -0
- package/dist/esm/utils/context/createProvider.js +33 -0
- package/dist/esm/utils/index.d.ts +10 -62
- package/dist/esm/utils/index.js +12 -345
- package/dist/{cjs/utils → esm/utils/logic}/handleProcess.d.ts +2 -2
- package/dist/esm/utils/{handleProcess.js → logic/handleProcess.js} +42 -9
- package/dist/esm/utils/logic/processChildren.d.ts +12 -0
- package/dist/esm/utils/logic/processChildren.js +48 -0
- package/dist/esm/utils/style/color.d.ts +4 -0
- package/dist/esm/utils/style/color.js +17 -0
- package/dist/esm/utils/style/converter.d.ts +7 -0
- package/dist/esm/utils/style/converter.js +176 -0
- package/dist/esm/utils/style/types.d.ts +23 -0
- package/dist/esm/utils/style/types.js +1 -0
- package/dist/esm/utils/{code → templates}/scene.d.ts +3 -1
- package/dist/esm/utils/{code → templates}/scene.js +13 -5
- package/package.json +4 -2
- package/dist/esm/core/comlib/Index.js +0 -3
- package/dist/esm/utils/pageConfig/pageConfig.js +0 -60
- /package/dist/cjs/utils/{pageConfig → config/content}/converter.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/index.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/types.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/validator.d.ts +0 -0
- /package/dist/cjs/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
- /package/dist/cjs/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
- /package/dist/cjs/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
- /package/dist/cjs/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
- /package/dist/cjs/utils/{code → templates}/component.d.ts +0 -0
- /package/dist/cjs/utils/{code → templates}/index.d.ts +0 -0
- /package/dist/cjs/utils/{code → templates}/renderManager.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/converter.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/converter.js +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/index.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/index.js +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/types.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/types.js +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/validator.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/validator.js +0 -0
- /package/dist/esm/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
- /package/dist/esm/utils/{convertNamespace.js → logic/convertNamespace.js} +0 -0
- /package/dist/esm/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
- /package/dist/esm/utils/{genJSModules.js → logic/genJSModules.js} +0 -0
- /package/dist/esm/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
- /package/dist/esm/utils/{getComponentClassName.js → style/getComponentClassName.js} +0 -0
- /package/dist/esm/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
- /package/dist/esm/utils/{pxtransform.js → style/pxtransform.js} +0 -0
- /package/dist/esm/utils/{code → templates}/component.d.ts +0 -0
- /package/dist/esm/utils/{code → templates}/component.js +0 -0
- /package/dist/esm/utils/{code → templates}/index.d.ts +0 -0
- /package/dist/esm/utils/{code → templates}/index.js +0 -0
- /package/dist/esm/utils/{code → templates}/renderManager.d.ts +0 -0
- /package/dist/esm/utils/{code → templates}/renderManager.js +0 -0
package/dist/esm/toCodeTaro.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Taro 代码生成入口文件
|
|
3
|
+
* 参考鸿蒙实现,采用低耦合、高内聚的设计
|
|
4
|
+
*/
|
|
1
5
|
import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
|
|
2
6
|
import type { ToJSON } from "@mybricks/to-code-react/dist/cjs/toCode/types";
|
|
3
|
-
import { ImportManager } from "./utils";
|
|
7
|
+
import { ImportManager } from "./utils/common/ImportManager";
|
|
4
8
|
export interface ToTaroCodeConfig {
|
|
5
9
|
getComponentMeta: (com: Extract<UI["children"][0], {
|
|
6
10
|
type: "com";
|
|
@@ -20,7 +24,7 @@ export interface ToTaroCodeConfig {
|
|
|
20
24
|
callName?: string;
|
|
21
25
|
};
|
|
22
26
|
getComponentPackageName: (props?: any) => string;
|
|
23
|
-
getUtilsPackageName: () => string;
|
|
27
|
+
getUtilsPackageName: (props?: any) => string;
|
|
24
28
|
getPageId?: (id: string) => string;
|
|
25
29
|
getBus?: (namespace: string) => {
|
|
26
30
|
title: string;
|
|
@@ -52,8 +56,8 @@ export interface ToTaroCodeConfig {
|
|
|
52
56
|
indent: number;
|
|
53
57
|
};
|
|
54
58
|
}
|
|
55
|
-
/**
|
|
56
|
-
export
|
|
59
|
+
/** 单个生成文件的信息 */
|
|
60
|
+
export interface GeneratedFile {
|
|
57
61
|
content: string;
|
|
58
62
|
cssContent?: string;
|
|
59
63
|
pageConfigContent?: string;
|
|
@@ -62,8 +66,18 @@ export type Result = Array<{
|
|
|
62
66
|
meta?: ReturnType<typeof toCode>["scenes"][0]["scene"];
|
|
63
67
|
name: string;
|
|
64
68
|
tabBarConfig?: string;
|
|
65
|
-
}
|
|
66
|
-
|
|
69
|
+
}
|
|
70
|
+
/** 统一的生成结果结构 */
|
|
71
|
+
export interface GenerationResult {
|
|
72
|
+
files: GeneratedFile[];
|
|
73
|
+
assets?: {
|
|
74
|
+
tabBarImages?: any[];
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Taro 代码生成主函数
|
|
79
|
+
*/
|
|
80
|
+
declare const toCodeTaro: (tojson: ToJSON, config: ToTaroCodeConfig) => GenerationResult;
|
|
67
81
|
type ToCodeResult = ReturnType<typeof toCode>;
|
|
68
82
|
export type UI = ToCodeResult["scenes"][0]["ui"];
|
|
69
83
|
interface Provider {
|
|
@@ -112,6 +126,13 @@ export interface BaseConfig extends ToTaroCodeConfig {
|
|
|
112
126
|
getProviderMap: () => Record<string, ReturnType<BaseConfig["getCurrentProvider"]>>;
|
|
113
127
|
getExtensionEventById: (id: string) => ReturnType<typeof toCode>["scenes"][0]["event"][0];
|
|
114
128
|
getSceneById: (id: string) => ReturnType<typeof toCode>["scenes"][0]["scene"];
|
|
129
|
+
/** 根据 pinId 获取场景/区块的输入项事件 */
|
|
130
|
+
getFrameInputEvent: (pinId: string, frameId?: string) => ReturnType<typeof toCode>["scenes"][0]["event"][0];
|
|
131
|
+
/** 根据 frameId 获取 frame 信息(参考鸿蒙实现) */
|
|
132
|
+
getFrameById?: (id: string) => {
|
|
133
|
+
frame: any;
|
|
134
|
+
meta: any;
|
|
135
|
+
} | undefined;
|
|
115
136
|
/** 层级,用于格式化代码 */
|
|
116
137
|
depth: number;
|
|
117
138
|
getTypeDef: () => {
|
package/dist/esm/toCodeTaro.js
CHANGED
|
@@ -1,27 +1,47 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
/**
|
|
4
|
+
* Taro 代码生成入口文件
|
|
5
|
+
* 参考鸿蒙实现,采用低耦合、高内聚的设计
|
|
6
|
+
*/
|
|
7
|
+
|
|
4
8
|
import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
|
|
5
|
-
import handleSlot from "./handleSlot";
|
|
6
|
-
import { ImportManager, firstCharToLowerCase, firstCharToUpperCase } from "./utils";
|
|
7
9
|
import handleGlobal from "./handleGlobal";
|
|
8
10
|
import handleExtension from "./handleExtension";
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
import { HandlePageConfig } from "./utils/config/handlePageConfig";
|
|
12
|
+
|
|
13
|
+
// 工具函数
|
|
14
|
+
import { buildFrameMap } from "./utils/context/buildFrameMap";
|
|
15
|
+
import { buildSceneMap, buildEventsMap, createGetSceneById, createGetExtensionEventById, createGetFrameById } from "./utils/context/buildContext";
|
|
16
|
+
import { createJSModulesCollector } from "./utils/context/collectJSModules";
|
|
17
|
+
import { buildGlobalVarTypeDef, buildDefaultFxsMap } from "./utils/context/buildGlobalData";
|
|
18
|
+
import { buildFinalResults } from "./utils/builder/buildResult";
|
|
19
|
+
|
|
20
|
+
// 处理器
|
|
21
|
+
import { processScenes } from "./processors/processScene";
|
|
22
|
+
import { processModules } from "./processors/processModule";
|
|
12
23
|
|
|
13
|
-
/**
|
|
24
|
+
/** 单个生成文件的信息 */
|
|
14
25
|
|
|
26
|
+
/** 统一的生成结果结构 */
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Taro 代码生成主函数
|
|
30
|
+
*/
|
|
15
31
|
var toCodeTaro = function toCodeTaro(tojson, config) {
|
|
16
|
-
console.log('tojson', tojson);
|
|
17
32
|
return getCode({
|
|
18
33
|
tojson: tojson,
|
|
19
34
|
toCodejson: toCode(tojson)
|
|
20
35
|
}, config);
|
|
21
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* 核心代码生成逻辑
|
|
39
|
+
* 参考鸿蒙实现,采用模块化设计
|
|
40
|
+
*/
|
|
22
41
|
var getCode = function getCode(params, config) {
|
|
42
|
+
// 初始化配置
|
|
23
43
|
transformConfig(config);
|
|
24
|
-
var
|
|
44
|
+
var files = [];
|
|
25
45
|
var tojson = params.tojson,
|
|
26
46
|
toCodejson = params.toCodejson;
|
|
27
47
|
var scenes = toCodejson.scenes,
|
|
@@ -30,25 +50,19 @@ var getCode = function getCode(params, config) {
|
|
|
30
50
|
globalVars = toCodejson.globalVars,
|
|
31
51
|
modules = toCodejson.modules;
|
|
32
52
|
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return sceneMap[id];
|
|
47
|
-
};
|
|
48
|
-
var getExtensionEventById = function getExtensionEventById(id) {
|
|
49
|
-
return eventsMap[id];
|
|
50
|
-
};
|
|
51
|
-
result.push.apply(result, _toConsumableArray(handleExtension({
|
|
53
|
+
// ========== 第一步:构建上下文数据 ==========
|
|
54
|
+
// 构建 frameMap(参考鸿蒙实现)
|
|
55
|
+
var frameMap = buildFrameMap(tojson);
|
|
56
|
+
var getFrameById = createGetFrameById(frameMap);
|
|
57
|
+
|
|
58
|
+
// 构建场景和事件映射
|
|
59
|
+
var sceneMap = buildSceneMap(tojson.scenes);
|
|
60
|
+
var eventsMap = buildEventsMap(tojson.frames);
|
|
61
|
+
var getSceneById = createGetSceneById(sceneMap);
|
|
62
|
+
var getExtensionEventById = createGetExtensionEventById(eventsMap);
|
|
63
|
+
|
|
64
|
+
// ========== 第二步:处理扩展事件 ==========
|
|
65
|
+
files.push.apply(files, _toConsumableArray(handleExtension({
|
|
52
66
|
extensionEvents: extensionEvents,
|
|
53
67
|
tojson: tojson
|
|
54
68
|
}, _objectSpread(_objectSpread({}, config), {}, {
|
|
@@ -56,34 +70,13 @@ var getCode = function getCode(params, config) {
|
|
|
56
70
|
getExtensionEventById: getExtensionEventById,
|
|
57
71
|
getSceneById: getSceneById
|
|
58
72
|
}))));
|
|
59
|
-
var globalVarTypeDef = {};
|
|
60
|
-
Object.entries(tojson.global.comsReg).forEach(function (_ref) {
|
|
61
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
62
|
-
com = _ref2[1];
|
|
63
|
-
if (com.def.namespace !== "mybricks.core-comlib.var") {
|
|
64
|
-
// 非变量,不需要初始化
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
globalVarTypeDef[com.title] = com;
|
|
68
|
-
});
|
|
69
73
|
|
|
70
|
-
|
|
71
|
-
var
|
|
72
|
-
(tojson.global.fxFrames || [])
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
name: "global",
|
|
77
|
-
class: "global",
|
|
78
|
-
controllers: new Set(),
|
|
79
|
-
useParams: false,
|
|
80
|
-
useEvents: false,
|
|
81
|
-
coms: new Set(),
|
|
82
|
-
useController: false,
|
|
83
|
-
useData: false
|
|
84
|
-
};
|
|
85
|
-
});
|
|
86
|
-
result.push(handleGlobal({
|
|
74
|
+
// ========== 第三步:构建全局数据 ==========
|
|
75
|
+
var globalVarTypeDef = buildGlobalVarTypeDef(tojson.global.comsReg);
|
|
76
|
+
var defaultFxsMap = buildDefaultFxsMap(tojson.global.fxFrames || []);
|
|
77
|
+
|
|
78
|
+
// ========== 第四步:处理全局变量和 FX ==========
|
|
79
|
+
files.push.apply(files, _toConsumableArray(handleGlobal({
|
|
87
80
|
tojson: tojson,
|
|
88
81
|
globalFxs: globalFxs,
|
|
89
82
|
globalVars: globalVars
|
|
@@ -91,357 +84,79 @@ var getCode = function getCode(params, config) {
|
|
|
91
84
|
// @ts-ignore
|
|
92
85
|
getExtensionEventById: getExtensionEventById,
|
|
93
86
|
getSceneById: getSceneById
|
|
94
|
-
})));
|
|
95
|
-
var abstractEventTypeDefMap = {};
|
|
87
|
+
}))));
|
|
96
88
|
|
|
97
|
-
//
|
|
89
|
+
// ========== 第五步:初始化共享资源 ==========
|
|
90
|
+
var abstractEventTypeDefMap = {};
|
|
91
|
+
var jsModulesCollector = createJSModulesCollector();
|
|
98
92
|
var pageConfigHandler = new HandlePageConfig();
|
|
99
|
-
scenes.forEach(function (_ref3) {
|
|
100
|
-
var _config$getFileName;
|
|
101
|
-
var scene = _ref3.scene,
|
|
102
|
-
ui = _ref3.ui,
|
|
103
|
-
event = _ref3.event;
|
|
104
|
-
Object.entries(scene.coms || {}).forEach(function (_ref4) {
|
|
105
|
-
var _ref5 = _slicedToArray(_ref4, 2),
|
|
106
|
-
comId = _ref5[0],
|
|
107
|
-
comInfo = _ref5[1];
|
|
108
|
-
var def = comInfo.def,
|
|
109
|
-
model = comInfo.model;
|
|
110
|
-
|
|
111
|
-
// 收集js计算
|
|
112
|
-
var isJsCalculationComponent = (def === null || def === void 0 ? void 0 : def.namespace) === "mybricks.taro._muilt-inputJs" || (def === null || def === void 0 ? void 0 : def.namespace) === "mybricks.core-comlib.js-ai";
|
|
113
|
-
if (isJsCalculationComponent) {
|
|
114
|
-
var _model$data, _model$data2, _model$data3;
|
|
115
|
-
// 优先使用原始代码(code),而不是转译后的代码(transformCode),避免包含 Babel 辅助函数
|
|
116
|
-
var transformCode = (model === null || model === void 0 || (_model$data = model.data) === null || _model$data === void 0 || (_model$data = _model$data.fns) === null || _model$data === void 0 ? void 0 : _model$data.code) || (model === null || model === void 0 || (_model$data2 = model.data) === null || _model$data2 === void 0 || (_model$data2 = _model$data2.fns) === null || _model$data2 === void 0 ? void 0 : _model$data2.transformCode) || (model === null || model === void 0 || (_model$data3 = model.data) === null || _model$data3 === void 0 ? void 0 : _model$data3.fns);
|
|
117
|
-
if (transformCode && !jsModulesMap.has(comId)) {
|
|
118
|
-
jsModulesMap.set(comId, {
|
|
119
|
-
id: comId,
|
|
120
|
-
title: comInfo.title || "JS计算",
|
|
121
|
-
transformCode: typeof transformCode === 'string' ? transformCode : '',
|
|
122
|
-
inputs: (model === null || model === void 0 ? void 0 : model.inputs) || [],
|
|
123
|
-
outputs: (model === null || model === void 0 ? void 0 : model.outputs) || [],
|
|
124
|
-
data: (model === null || model === void 0 ? void 0 : model.data) || {}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
var providerMap = {};
|
|
130
|
-
var fileName = (_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId);
|
|
131
|
-
var providerName = fileName ? "".concat(fileName, "Provider") : "slot_Index";
|
|
132
|
-
var currentProvider = {
|
|
133
|
-
name: firstCharToLowerCase(providerName),
|
|
134
|
-
class: firstCharToUpperCase(providerName),
|
|
135
|
-
controllers: new Set(),
|
|
136
|
-
useParams: false,
|
|
137
|
-
useEvents: false,
|
|
138
|
-
coms: new Set(),
|
|
139
|
-
useController: false,
|
|
140
|
-
useData: false
|
|
141
|
-
};
|
|
142
|
-
providerMap[currentProvider.name] = currentProvider;
|
|
143
|
-
|
|
144
|
-
/** 类型定义 */
|
|
145
|
-
var typeDef = {
|
|
146
|
-
// 变量
|
|
147
|
-
vars: Object.assign({}, globalVarTypeDef),
|
|
148
|
-
// 输入
|
|
149
|
-
inputs: {},
|
|
150
|
-
// 输出
|
|
151
|
-
outputs: {}
|
|
152
|
-
};
|
|
153
|
-
var fxsMap = Object.assign({}, defaultFxsMap);
|
|
154
93
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
meta: scene,
|
|
165
|
-
pageConfigContent: pageConfigContent // 添加页面配置内容
|
|
166
|
-
}));
|
|
167
|
-
},
|
|
168
|
-
addJSModule: function addJSModule(module) {
|
|
169
|
-
if (!jsModulesMap.has(module.id)) {
|
|
170
|
-
jsModulesMap.set(module.id, module);
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
getEventByDiagramId: function getEventByDiagramId(diagramId) {
|
|
174
|
-
return event.find(function (event) {
|
|
175
|
-
return event.diagramId === diagramId;
|
|
176
|
-
});
|
|
177
|
-
},
|
|
178
|
-
getVarEvents: function getVarEvents(params) {
|
|
179
|
-
if (!params) {
|
|
180
|
-
return event.filter(function (event) {
|
|
181
|
-
return event.type === "var" && !event.meta.parentComId || event.type === "listener" && !event.meta.proxy.parentComId;
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
return event.filter(function (event) {
|
|
185
|
-
return event.type === "var" && params.comId === event.meta.parentComId && params.slotId === event.meta.frameId || event.type === "listener" && params.comId === event.meta.proxy.parentComId && params.slotId === event.meta.proxy.frameId;
|
|
186
|
-
});
|
|
187
|
-
},
|
|
188
|
-
getFxEvents: function getFxEvents(params) {
|
|
189
|
-
if (!params) {
|
|
190
|
-
return event.filter(function (event) {
|
|
191
|
-
return event.type === "fx" && !event.parentComId;
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
return event.filter(function (event) {
|
|
195
|
-
return event.type === "fx" && params.comId === event.parentComId && params.slotId === event.parentSlotId;
|
|
196
|
-
});
|
|
197
|
-
},
|
|
198
|
-
checkIsRoot: function checkIsRoot() {
|
|
199
|
-
return true;
|
|
200
|
-
},
|
|
201
|
-
getEffectEvent: function getEffectEvent(params) {
|
|
202
|
-
// 默认只有一个生命周期事件
|
|
203
|
-
if (!params) {
|
|
204
|
-
// 主场景
|
|
205
|
-
return event.find(function (event) {
|
|
206
|
-
return !event.slotId; // 没有slotId,认为是主场景
|
|
207
|
-
});
|
|
208
|
-
} else {
|
|
209
|
-
// 作用域插槽
|
|
210
|
-
var comId = params.comId,
|
|
211
|
-
slotId = params.slotId;
|
|
212
|
-
return event.find(function (event) {
|
|
213
|
-
return event.slotId === slotId && event.comId === comId;
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
getCurrentProvider: function getCurrentProvider() {
|
|
218
|
-
return currentProvider;
|
|
219
|
-
},
|
|
220
|
-
getRootProvider: function getRootProvider() {
|
|
221
|
-
return currentProvider;
|
|
222
|
-
},
|
|
223
|
-
getProviderMap: function getProviderMap() {
|
|
224
|
-
return providerMap;
|
|
225
|
-
},
|
|
226
|
-
getExtensionEventById: getExtensionEventById,
|
|
227
|
-
getSceneById: getSceneById,
|
|
228
|
-
depth: 0,
|
|
229
|
-
getTypeDef: function getTypeDef() {
|
|
230
|
-
return typeDef;
|
|
231
|
-
},
|
|
232
|
-
getFxsMap: function getFxsMap() {
|
|
233
|
-
return fxsMap;
|
|
234
|
-
},
|
|
235
|
-
setAbstractEventTypeDefMap: function setAbstractEventTypeDefMap(params) {
|
|
236
|
-
var comId = params.comId,
|
|
237
|
-
eventId = params.eventId,
|
|
238
|
-
typeDef = params.typeDef,
|
|
239
|
-
schema = params.schema;
|
|
240
|
-
if (!abstractEventTypeDefMap[comId]) {
|
|
241
|
-
abstractEventTypeDefMap[comId] = {
|
|
242
|
-
typeDef: typeDef,
|
|
243
|
-
eventIdMap: {}
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
|
|
247
|
-
}
|
|
248
|
-
}));
|
|
94
|
+
// 提前识别所有弹窗场景
|
|
95
|
+
var popupIds = new Set();
|
|
96
|
+
tojson.scenes.forEach(function (s) {
|
|
97
|
+
var _s$deps;
|
|
98
|
+
if (s.type === 'popup' || (_s$deps = s.deps) !== null && _s$deps !== void 0 && _s$deps.some(function (dep) {
|
|
99
|
+
return dep.namespace === 'mybricks.taro.popup';
|
|
100
|
+
})) {
|
|
101
|
+
popupIds.add(s.id);
|
|
102
|
+
}
|
|
249
103
|
});
|
|
250
|
-
modules.forEach(function (_ref6) {
|
|
251
|
-
var _config$getFileName2;
|
|
252
|
-
var scene = _ref6.scene,
|
|
253
|
-
ui = _ref6.ui,
|
|
254
|
-
event = _ref6.event;
|
|
255
|
-
// 遍历 scene.coms 收集所有 JS 计算组件(它们不在 slot.comAry 中)
|
|
256
|
-
Object.entries(scene.coms || {}).forEach(function (_ref7) {
|
|
257
|
-
var _ref8 = _slicedToArray(_ref7, 2),
|
|
258
|
-
comId = _ref8[0],
|
|
259
|
-
comInfo = _ref8[1];
|
|
260
|
-
var def = comInfo.def,
|
|
261
|
-
model = comInfo.model;
|
|
262
|
-
var isJsCalculationComponent = (def === null || def === void 0 ? void 0 : def.namespace) === "mybricks.taro._muilt-inputJs" || (def === null || def === void 0 ? void 0 : def.namespace) === "mybricks.core-comlib.js-ai";
|
|
263
|
-
if (isJsCalculationComponent) {
|
|
264
|
-
var _model$data4, _model$data5, _model$data6;
|
|
265
|
-
// 优先使用原始代码(code),而不是转译后的代码(transformCode),避免包含 Babel 辅助函数
|
|
266
|
-
var transformCode = (model === null || model === void 0 || (_model$data4 = model.data) === null || _model$data4 === void 0 || (_model$data4 = _model$data4.fns) === null || _model$data4 === void 0 ? void 0 : _model$data4.code) || (model === null || model === void 0 || (_model$data5 = model.data) === null || _model$data5 === void 0 || (_model$data5 = _model$data5.fns) === null || _model$data5 === void 0 ? void 0 : _model$data5.transformCode) || (model === null || model === void 0 || (_model$data6 = model.data) === null || _model$data6 === void 0 ? void 0 : _model$data6.fns);
|
|
267
|
-
if (transformCode && !jsModulesMap.has(comId)) {
|
|
268
|
-
jsModulesMap.set(comId, {
|
|
269
|
-
id: comId,
|
|
270
|
-
title: comInfo.title || "JS计算",
|
|
271
|
-
transformCode: typeof transformCode === 'string' ? transformCode : '',
|
|
272
|
-
inputs: (model === null || model === void 0 ? void 0 : model.inputs) || [],
|
|
273
|
-
outputs: (model === null || model === void 0 ? void 0 : model.outputs) || [],
|
|
274
|
-
data: (model === null || model === void 0 ? void 0 : model.data) || {}
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
var providerMap = {};
|
|
280
|
-
var fileName = (_config$getFileName2 = config.getFileName) === null || _config$getFileName2 === void 0 ? void 0 : _config$getFileName2.call(config, ui.meta.slotId);
|
|
281
|
-
var providerName = fileName ? "".concat(fileName, "Provider") : "slot_Index";
|
|
282
|
-
var currentProvider = {
|
|
283
|
-
name: firstCharToLowerCase(providerName),
|
|
284
|
-
class: firstCharToUpperCase(providerName),
|
|
285
|
-
controllers: new Set(),
|
|
286
|
-
useParams: false,
|
|
287
|
-
useEvents: false,
|
|
288
|
-
coms: new Set(),
|
|
289
|
-
useController: false,
|
|
290
|
-
useData: false
|
|
291
|
-
};
|
|
292
|
-
providerMap[currentProvider.name] = currentProvider;
|
|
293
104
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
meta: scene
|
|
312
|
-
}));
|
|
313
|
-
},
|
|
314
|
-
addJSModule: function addJSModule(module) {
|
|
315
|
-
if (!jsModulesMap.has(module.id)) {
|
|
316
|
-
jsModulesMap.set(module.id, module);
|
|
317
|
-
}
|
|
318
|
-
},
|
|
319
|
-
getEventByDiagramId: function getEventByDiagramId(diagramId) {
|
|
320
|
-
return event.find(function (event) {
|
|
321
|
-
return event.diagramId === diagramId;
|
|
322
|
-
});
|
|
323
|
-
},
|
|
324
|
-
getVarEvents: function getVarEvents(params) {
|
|
325
|
-
if (!params) {
|
|
326
|
-
return event.filter(function (event) {
|
|
327
|
-
return event.type === "var" && !event.meta.parentComId || event.type === "listener" && !event.meta.proxy.parentComId;
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
return event.filter(function (event) {
|
|
331
|
-
return event.type === "var" && params.comId === event.meta.parentComId && params.slotId === event.meta.frameId || event.type === "listener" && params.comId === event.meta.proxy.parentComId && params.slotId === event.meta.proxy.frameId;
|
|
332
|
-
});
|
|
333
|
-
},
|
|
334
|
-
getFxEvents: function getFxEvents(params) {
|
|
335
|
-
if (!params) {
|
|
336
|
-
return event.filter(function (event) {
|
|
337
|
-
return event.type === "fx" && !event.parentComId;
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
return event.filter(function (event) {
|
|
341
|
-
return event.type === "fx" && params.comId === event.parentComId && params.slotId === event.parentSlotId;
|
|
342
|
-
});
|
|
343
|
-
},
|
|
344
|
-
checkIsRoot: function checkIsRoot() {
|
|
345
|
-
return true;
|
|
346
|
-
},
|
|
347
|
-
getEffectEvent: function getEffectEvent(params) {
|
|
348
|
-
// 默认只有一个生命周期事件
|
|
349
|
-
if (!params) {
|
|
350
|
-
// 主场景
|
|
351
|
-
return event.find(function (event) {
|
|
352
|
-
return !event.slotId; // 没有slotId,认为是主场景
|
|
353
|
-
});
|
|
354
|
-
} else {
|
|
355
|
-
// 作用域插槽
|
|
356
|
-
var comId = params.comId,
|
|
357
|
-
slotId = params.slotId;
|
|
358
|
-
return event.find(function (event) {
|
|
359
|
-
return event.slotId === slotId && event.comId === comId;
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
|
-
getCurrentProvider: function getCurrentProvider() {
|
|
364
|
-
return currentProvider;
|
|
365
|
-
},
|
|
366
|
-
getRootProvider: function getRootProvider() {
|
|
367
|
-
return currentProvider;
|
|
368
|
-
},
|
|
369
|
-
getProviderMap: function getProviderMap() {
|
|
370
|
-
return providerMap;
|
|
371
|
-
},
|
|
372
|
-
getExtensionEventById: getExtensionEventById,
|
|
373
|
-
getSceneById: getSceneById,
|
|
374
|
-
depth: 0,
|
|
375
|
-
getTypeDef: function getTypeDef() {
|
|
376
|
-
return typeDef;
|
|
377
|
-
},
|
|
378
|
-
getFxsMap: function getFxsMap() {
|
|
379
|
-
return fxsMap;
|
|
380
|
-
},
|
|
381
|
-
setAbstractEventTypeDefMap: function setAbstractEventTypeDefMap(params) {
|
|
382
|
-
var comId = params.comId,
|
|
383
|
-
eventId = params.eventId,
|
|
384
|
-
typeDef = params.typeDef,
|
|
385
|
-
schema = params.schema;
|
|
386
|
-
if (!abstractEventTypeDefMap[comId]) {
|
|
387
|
-
abstractEventTypeDefMap[comId] = {
|
|
388
|
-
typeDef: typeDef,
|
|
389
|
-
eventIdMap: {}
|
|
390
|
-
};
|
|
391
|
-
}
|
|
392
|
-
abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
|
|
393
|
-
},
|
|
394
|
-
getComponentController: function getComponentController(_ref9) {
|
|
395
|
-
var com = _ref9.com;
|
|
396
|
-
return com.id;
|
|
397
|
-
}
|
|
398
|
-
}));
|
|
399
|
-
});
|
|
400
|
-
result.push({
|
|
401
|
-
type: "abstractEventTypeDef",
|
|
402
|
-
content: abstractEventTypeDef(abstractEventTypeDefMap, config),
|
|
403
|
-
importManager: new ImportManager(config),
|
|
404
|
-
name: "abstractEventTypeDef"
|
|
105
|
+
// ========== 第六步:处理场景 ==========
|
|
106
|
+
processScenes(scenes, {
|
|
107
|
+
config: _objectSpread(_objectSpread({}, config), {}, {
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
hasPopups: popupIds.size > 0
|
|
110
|
+
}),
|
|
111
|
+
globalVarTypeDef: globalVarTypeDef,
|
|
112
|
+
defaultFxsMap: defaultFxsMap,
|
|
113
|
+
abstractEventTypeDefMap: abstractEventTypeDefMap,
|
|
114
|
+
jsModulesMap: jsModulesCollector.getMap(),
|
|
115
|
+
getExtensionEventById: getExtensionEventById,
|
|
116
|
+
getSceneById: getSceneById,
|
|
117
|
+
getFrameById: getFrameById,
|
|
118
|
+
pageConfigHandler: pageConfigHandler,
|
|
119
|
+
addResult: function addResult(item) {
|
|
120
|
+
files.push(item);
|
|
121
|
+
}
|
|
405
122
|
});
|
|
406
123
|
|
|
407
|
-
//
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
124
|
+
// ========== 第七步:处理模块 ==========
|
|
125
|
+
processModules(modules, {
|
|
126
|
+
config: config,
|
|
127
|
+
globalVarTypeDef: globalVarTypeDef,
|
|
128
|
+
defaultFxsMap: defaultFxsMap,
|
|
129
|
+
abstractEventTypeDefMap: abstractEventTypeDefMap,
|
|
130
|
+
jsModulesMap: jsModulesCollector.getMap(),
|
|
131
|
+
getExtensionEventById: getExtensionEventById,
|
|
132
|
+
getSceneById: getSceneById,
|
|
133
|
+
getFrameById: getFrameById,
|
|
134
|
+
addResult: function addResult(item) {
|
|
135
|
+
files.push(item);
|
|
136
|
+
}
|
|
413
137
|
});
|
|
414
138
|
|
|
415
|
-
//
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
content: globalTabBarConfig,
|
|
432
|
-
importManager: new ImportManager(config),
|
|
433
|
-
name: "tabBarConfig",
|
|
434
|
-
tabBarConfig: globalTabBarConfig
|
|
435
|
-
});
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
// 将 TabBar 图片文件信息附加到结果中(通过扩展字段)
|
|
439
|
-
// 由于 TypeScript 类型限制,我们使用 any 来扩展
|
|
440
|
-
result.__tabBarImageFiles = pageConfigHandler.getTabBarImageFiles();
|
|
441
|
-
return result;
|
|
139
|
+
// ========== 第八步:构建最终结果 ==========
|
|
140
|
+
var finalResultData = buildFinalResults({
|
|
141
|
+
abstractEventTypeDefMap: abstractEventTypeDefMap,
|
|
142
|
+
jsModulesMap: jsModulesCollector.getMap(),
|
|
143
|
+
globalTabBarConfig: pageConfigHandler.getTabBarConfig(),
|
|
144
|
+
tabBarImageFiles: pageConfigHandler.getTabBarImageFiles(),
|
|
145
|
+
popupIds: Array.from(popupIds),
|
|
146
|
+
config: config
|
|
147
|
+
});
|
|
148
|
+
files.push.apply(files, _toConsumableArray(finalResultData.files));
|
|
149
|
+
return {
|
|
150
|
+
files: files,
|
|
151
|
+
assets: {
|
|
152
|
+
tabBarImages: finalResultData.tabBarImageFiles
|
|
153
|
+
}
|
|
154
|
+
};
|
|
442
155
|
};
|
|
443
156
|
|
|
444
|
-
/**
|
|
157
|
+
/**
|
|
158
|
+
* 初始化配置
|
|
159
|
+
*/
|
|
445
160
|
var transformConfig = function transformConfig(config) {
|
|
446
161
|
if (!config.codeStyle) {
|
|
447
162
|
config.codeStyle = {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 构建最终结果
|
|
3
|
+
* 包括抽象事件类型定义、JS 模块、TabBar 配置等
|
|
4
|
+
*/
|
|
5
|
+
import type { ToTaroCodeConfig, GeneratedFile } from "../../toCodeTaro";
|
|
6
|
+
import type { JSModulesMap } from "../context/collectJSModules";
|
|
7
|
+
interface BuildResultParams {
|
|
8
|
+
abstractEventTypeDefMap: Record<string, any>;
|
|
9
|
+
jsModulesMap: JSModulesMap;
|
|
10
|
+
globalTabBarConfig: string | null;
|
|
11
|
+
tabBarImageFiles: any[];
|
|
12
|
+
popupIds: string[];
|
|
13
|
+
config: ToTaroCodeConfig;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 构建最终结果
|
|
17
|
+
*/
|
|
18
|
+
export declare const buildFinalResults: (params: BuildResultParams) => {
|
|
19
|
+
files: GeneratedFile[];
|
|
20
|
+
tabBarImageFiles: any[];
|
|
21
|
+
};
|
|
22
|
+
export {};
|