@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.
Files changed (256) hide show
  1. package/README.md +58 -0
  2. package/dist/cjs/core/comlib/_AesEncode.js +115 -0
  3. package/dist/cjs/core/comlib/_BackTo.js +80 -0
  4. package/dist/cjs/core/comlib/{Index.js → _CallPhone.js} +29 -16
  5. package/dist/cjs/core/comlib/_ChooseFile.js +103 -0
  6. package/dist/cjs/core/comlib/_ChooseMedia.js +70 -0
  7. package/dist/cjs/core/comlib/_Connector.js +92 -0
  8. package/dist/cjs/core/comlib/_ConnectorGlobalHeaders.js +79 -0
  9. package/dist/cjs/core/comlib/_Format.js +123 -0
  10. package/dist/cjs/core/comlib/_GetLocation.js +60 -0
  11. package/dist/cjs/core/comlib/_GetStorage.js +68 -0
  12. package/dist/cjs/core/comlib/_GetSystemInfo.js +62 -0
  13. package/dist/cjs/core/comlib/_OpenCamera.js +73 -0
  14. package/dist/cjs/core/comlib/_OpenPetalMap.js +49 -0
  15. package/dist/cjs/core/comlib/_OpenUrl.js +62 -0
  16. package/dist/cjs/core/comlib/_RemoveStorage.js +68 -0
  17. package/dist/cjs/core/comlib/_Router.js +100 -0
  18. package/dist/cjs/core/comlib/_ScanQrcode.js +9 -10
  19. package/dist/cjs/core/comlib/_SetStorage.js +10 -19
  20. package/dist/cjs/core/comlib/_Share.js +58 -0
  21. package/dist/cjs/core/comlib/_ShowToast.js +23 -50
  22. package/dist/cjs/core/comlib/_TextToSpeech.js +120 -0
  23. package/dist/cjs/core/comlib/_TimerDebounce.js +72 -0
  24. package/dist/cjs/core/comlib/_TimerDelay.js +63 -0
  25. package/dist/cjs/core/comlib/_TimerThrottle.js +75 -0
  26. package/dist/cjs/core/comlib/_Vibrate.js +60 -0
  27. package/dist/cjs/core/comlib/index.js +111 -0
  28. package/dist/cjs/core/mybricks/index.js +47 -47
  29. package/dist/cjs/core/utils/ComContext.js +3 -0
  30. package/dist/cjs/core/utils/PopupRenderer.js +63 -0
  31. package/dist/cjs/core/utils/hooks.js +131 -0
  32. package/dist/cjs/core/utils/index.js +33 -57
  33. package/dist/cjs/core/utils/pageRouter.js +81 -0
  34. package/dist/cjs/core/utils/popupRouter.js +98 -0
  35. package/dist/cjs/core/utils/useContext.js +11 -2
  36. package/dist/cjs/core/utils/with.js +37 -13
  37. package/dist/cjs/generate/generateTaroProjectJson.d.ts +3 -14
  38. package/dist/cjs/generate/generateTaroProjectJson.js +39 -6
  39. package/dist/cjs/generate/utils/tabBarImages.d.ts +1 -1
  40. package/dist/cjs/handleCom.d.ts +1 -1
  41. package/dist/cjs/handleCom.js +91 -177
  42. package/dist/cjs/handleDom.js +7 -44
  43. package/dist/cjs/handleExtension.d.ts +2 -2
  44. package/dist/cjs/handleExtension.js +5 -5
  45. package/dist/cjs/handleGlobal.d.ts +2 -12
  46. package/dist/cjs/handleGlobal.js +23 -7
  47. package/dist/cjs/handleModule.js +3 -3
  48. package/dist/cjs/handleSlot.d.ts +4 -9
  49. package/dist/cjs/handleSlot.js +61 -150
  50. package/dist/cjs/processors/processComEvents.d.ts +9 -0
  51. package/dist/cjs/processors/processComEvents.js +164 -0
  52. package/dist/cjs/processors/processModule.d.ts +31 -0
  53. package/dist/cjs/processors/processModule.js +125 -0
  54. package/dist/cjs/processors/processScene.d.ts +32 -0
  55. package/dist/cjs/processors/processScene.js +128 -0
  56. package/dist/cjs/processors/processSceneLogic.d.ts +4 -0
  57. package/dist/cjs/processors/processSceneLogic.js +170 -0
  58. package/dist/cjs/shims-taro.d.ts +20 -0
  59. package/dist/cjs/taro-template.json +501 -351
  60. package/dist/cjs/toCodeTaro.d.ts +27 -6
  61. package/dist/cjs/toCodeTaro.js +68 -340
  62. package/dist/cjs/utils/builder/buildResult.d.ts +22 -0
  63. package/dist/cjs/utils/builder/buildResult.js +117 -0
  64. package/dist/cjs/utils/common/ImportManager.d.ts +19 -0
  65. package/dist/cjs/utils/common/ImportManager.js +105 -0
  66. package/dist/cjs/utils/common/helper.d.ts +2 -0
  67. package/dist/cjs/utils/common/helper.js +31 -0
  68. package/dist/cjs/utils/common/object.d.ts +5 -0
  69. package/dist/cjs/utils/common/object.js +58 -0
  70. package/dist/cjs/utils/common/string.d.ts +8 -0
  71. package/dist/cjs/utils/common/string.js +46 -0
  72. package/dist/cjs/utils/{pageConfig → config/content}/converter.js +1 -1
  73. package/dist/cjs/utils/{pageConfig → config/content}/index.js +9 -9
  74. package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.js +12 -22
  75. package/dist/{esm/utils/pageConfig → cjs/utils/config/content}/saveBase64Image.d.ts +1 -1
  76. package/dist/cjs/utils/{pageConfig → config/content}/saveBase64Image.js +8 -17
  77. package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.js +9 -32
  78. package/dist/cjs/utils/config/content/types.js +17 -0
  79. package/dist/cjs/utils/{pageConfig → config/content}/validator.js +1 -1
  80. package/dist/{esm/utils → cjs/utils/config}/handlePageConfig.d.ts +3 -2
  81. package/dist/cjs/utils/{handlePageConfig.js → config/handlePageConfig.js} +7 -6
  82. package/dist/cjs/utils/context/buildContext.d.ts +24 -0
  83. package/dist/cjs/utils/context/buildContext.js +65 -0
  84. package/dist/cjs/utils/context/buildFrameMap.d.ts +16 -0
  85. package/dist/cjs/utils/context/buildFrameMap.js +106 -0
  86. package/dist/cjs/utils/context/buildGlobalData.d.ts +13 -0
  87. package/dist/cjs/utils/context/buildGlobalData.js +58 -0
  88. package/dist/cjs/utils/context/collectJSModules.d.ts +37 -0
  89. package/dist/cjs/utils/context/collectJSModules.js +91 -0
  90. package/dist/cjs/utils/context/createEventQueries.d.ts +45 -0
  91. package/dist/cjs/utils/context/createEventQueries.js +99 -0
  92. package/dist/cjs/utils/context/createProvider.d.ts +21 -0
  93. package/dist/cjs/utils/context/createProvider.js +49 -0
  94. package/dist/cjs/utils/index.d.ts +10 -62
  95. package/dist/cjs/utils/index.js +21 -282
  96. package/dist/cjs/utils/{convertNamespace.js → logic/convertNamespace.js} +1 -1
  97. package/dist/cjs/utils/{genJSModules.js → logic/genJSModules.js} +1 -1
  98. package/dist/{esm/utils → cjs/utils/logic}/handleProcess.d.ts +2 -2
  99. package/dist/cjs/utils/{handleProcess.js → logic/handleProcess.js} +40 -16
  100. package/dist/cjs/utils/logic/processChildren.d.ts +12 -0
  101. package/dist/cjs/utils/logic/processChildren.js +82 -0
  102. package/dist/cjs/utils/style/color.d.ts +4 -0
  103. package/dist/cjs/utils/style/color.js +45 -0
  104. package/dist/cjs/utils/style/converter.d.ts +7 -0
  105. package/dist/cjs/utils/style/converter.js +181 -0
  106. package/dist/cjs/utils/{getComponentClassName.js → style/getComponentClassName.js} +1 -1
  107. package/dist/cjs/utils/{pxtransform.js → style/pxtransform.js} +1 -1
  108. package/dist/cjs/utils/style/types.d.ts +23 -0
  109. package/dist/cjs/utils/{pageConfig → style}/types.js +1 -1
  110. package/dist/cjs/utils/{code → templates}/component.js +1 -1
  111. package/dist/cjs/utils/{code → templates}/index.js +4 -4
  112. package/dist/cjs/utils/{code → templates}/renderManager.js +1 -1
  113. package/dist/cjs/utils/{code → templates}/scene.d.ts +3 -1
  114. package/dist/cjs/utils/{code → templates}/scene.js +17 -5
  115. package/dist/esm/core/comlib/_AesEncode.js +85 -0
  116. package/dist/esm/core/comlib/_BackTo.js +66 -0
  117. package/dist/esm/core/comlib/_CallPhone.js +30 -0
  118. package/dist/esm/core/comlib/_ChooseFile.js +81 -0
  119. package/dist/esm/core/comlib/_ChooseMedia.js +38 -0
  120. package/dist/esm/core/comlib/_Connector.js +60 -0
  121. package/dist/esm/core/comlib/_ConnectorGlobalHeaders.js +56 -0
  122. package/dist/esm/core/comlib/_Format.js +102 -0
  123. package/dist/esm/core/comlib/_GetLocation.js +26 -0
  124. package/dist/esm/core/comlib/_GetStorage.js +44 -0
  125. package/dist/esm/core/comlib/_GetSystemInfo.js +32 -0
  126. package/dist/esm/core/comlib/_OpenCamera.js +44 -0
  127. package/dist/esm/core/comlib/_OpenPetalMap.js +28 -0
  128. package/dist/esm/core/comlib/_OpenUrl.js +36 -0
  129. package/dist/esm/core/comlib/_RemoveStorage.js +42 -0
  130. package/dist/esm/core/comlib/_Router.js +113 -0
  131. package/dist/esm/core/comlib/_ScanQrcode.js +10 -11
  132. package/dist/esm/core/comlib/_SetStorage.js +13 -25
  133. package/dist/esm/core/comlib/_Share.js +28 -0
  134. package/dist/esm/core/comlib/_ShowToast.js +32 -55
  135. package/dist/esm/core/comlib/_TextToSpeech.js +117 -0
  136. package/dist/esm/core/comlib/_TimerDebounce.js +66 -0
  137. package/dist/esm/core/comlib/_TimerDelay.js +47 -0
  138. package/dist/esm/core/comlib/_TimerThrottle.js +69 -0
  139. package/dist/esm/core/comlib/_Vibrate.js +34 -0
  140. package/dist/esm/core/comlib/index.js +37 -0
  141. package/dist/esm/core/mybricks/index.js +1 -1
  142. package/dist/esm/core/utils/ComContext.js +1 -0
  143. package/dist/esm/core/utils/PopupRenderer.js +27 -0
  144. package/dist/esm/core/utils/hooks.js +130 -0
  145. package/dist/esm/core/utils/index.js +8 -57
  146. package/dist/esm/core/utils/pageRouter.js +69 -0
  147. package/dist/esm/core/utils/popupRouter.js +116 -0
  148. package/dist/esm/core/utils/useContext.js +16 -3
  149. package/dist/esm/core/utils/with.js +62 -19
  150. package/dist/esm/generate/generateTaroProjectJson.d.ts +3 -14
  151. package/dist/esm/generate/generateTaroProjectJson.js +62 -24
  152. package/dist/esm/generate/utils/tabBarImages.d.ts +1 -1
  153. package/dist/esm/handleCom.d.ts +1 -1
  154. package/dist/esm/handleCom.js +159 -244
  155. package/dist/esm/handleDom.js +9 -48
  156. package/dist/esm/handleExtension.d.ts +2 -2
  157. package/dist/esm/handleExtension.js +5 -5
  158. package/dist/esm/handleGlobal.d.ts +2 -12
  159. package/dist/esm/handleGlobal.js +17 -3
  160. package/dist/esm/handleModule.js +3 -3
  161. package/dist/esm/handleSlot.d.ts +4 -9
  162. package/dist/esm/handleSlot.js +112 -173
  163. package/dist/esm/processors/processComEvents.d.ts +9 -0
  164. package/dist/esm/processors/processComEvents.js +167 -0
  165. package/dist/esm/processors/processModule.d.ts +31 -0
  166. package/dist/esm/processors/processModule.js +126 -0
  167. package/dist/esm/processors/processScene.d.ts +32 -0
  168. package/dist/esm/processors/processScene.js +134 -0
  169. package/dist/esm/processors/processSceneLogic.d.ts +4 -0
  170. package/dist/esm/processors/processSceneLogic.js +170 -0
  171. package/dist/esm/shims-taro.d.ts +20 -0
  172. package/dist/esm/taro-template.json +501 -351
  173. package/dist/esm/toCodeTaro.d.ts +27 -6
  174. package/dist/esm/toCodeTaro.js +110 -395
  175. package/dist/esm/utils/builder/buildResult.d.ts +22 -0
  176. package/dist/esm/utils/builder/buildResult.js +82 -0
  177. package/dist/esm/utils/common/ImportManager.d.ts +19 -0
  178. package/dist/esm/utils/common/ImportManager.js +103 -0
  179. package/dist/esm/utils/common/helper.d.ts +2 -0
  180. package/dist/esm/utils/common/helper.js +4 -0
  181. package/dist/esm/utils/common/object.d.ts +5 -0
  182. package/dist/esm/utils/common/object.js +32 -0
  183. package/dist/esm/utils/common/string.d.ts +8 -0
  184. package/dist/esm/utils/common/string.js +21 -0
  185. package/dist/esm/utils/config/content/pageConfig.js +40 -0
  186. package/dist/{cjs/utils/pageConfig → esm/utils/config/content}/saveBase64Image.d.ts +1 -1
  187. package/dist/esm/utils/{pageConfig → config/content}/saveBase64Image.js +11 -30
  188. package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.js +12 -34
  189. package/dist/{cjs/utils → esm/utils/config}/handlePageConfig.d.ts +3 -2
  190. package/dist/esm/utils/{handlePageConfig.js → config/handlePageConfig.js} +6 -2
  191. package/dist/esm/utils/context/buildContext.d.ts +24 -0
  192. package/dist/esm/utils/context/buildContext.js +53 -0
  193. package/dist/esm/utils/context/buildFrameMap.d.ts +16 -0
  194. package/dist/esm/utils/context/buildFrameMap.js +131 -0
  195. package/dist/esm/utils/context/buildGlobalData.d.ts +13 -0
  196. package/dist/esm/utils/context/buildGlobalData.js +44 -0
  197. package/dist/esm/utils/context/collectJSModules.d.ts +37 -0
  198. package/dist/esm/utils/context/collectJSModules.js +87 -0
  199. package/dist/esm/utils/context/createEventQueries.d.ts +45 -0
  200. package/dist/esm/utils/context/createEventQueries.js +99 -0
  201. package/dist/esm/utils/context/createProvider.d.ts +21 -0
  202. package/dist/esm/utils/context/createProvider.js +33 -0
  203. package/dist/esm/utils/index.d.ts +10 -62
  204. package/dist/esm/utils/index.js +12 -345
  205. package/dist/{cjs/utils → esm/utils/logic}/handleProcess.d.ts +2 -2
  206. package/dist/esm/utils/{handleProcess.js → logic/handleProcess.js} +42 -9
  207. package/dist/esm/utils/logic/processChildren.d.ts +12 -0
  208. package/dist/esm/utils/logic/processChildren.js +48 -0
  209. package/dist/esm/utils/style/color.d.ts +4 -0
  210. package/dist/esm/utils/style/color.js +17 -0
  211. package/dist/esm/utils/style/converter.d.ts +7 -0
  212. package/dist/esm/utils/style/converter.js +176 -0
  213. package/dist/esm/utils/style/types.d.ts +23 -0
  214. package/dist/esm/utils/style/types.js +1 -0
  215. package/dist/esm/utils/{code → templates}/scene.d.ts +3 -1
  216. package/dist/esm/utils/{code → templates}/scene.js +13 -5
  217. package/package.json +4 -2
  218. package/dist/esm/core/comlib/Index.js +0 -3
  219. package/dist/esm/utils/pageConfig/pageConfig.js +0 -60
  220. /package/dist/cjs/utils/{pageConfig → config/content}/converter.d.ts +0 -0
  221. /package/dist/cjs/utils/{pageConfig → config/content}/index.d.ts +0 -0
  222. /package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
  223. /package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
  224. /package/dist/cjs/utils/{pageConfig → config/content}/types.d.ts +0 -0
  225. /package/dist/cjs/utils/{pageConfig → config/content}/validator.d.ts +0 -0
  226. /package/dist/cjs/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
  227. /package/dist/cjs/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
  228. /package/dist/cjs/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
  229. /package/dist/cjs/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
  230. /package/dist/cjs/utils/{code → templates}/component.d.ts +0 -0
  231. /package/dist/cjs/utils/{code → templates}/index.d.ts +0 -0
  232. /package/dist/cjs/utils/{code → templates}/renderManager.d.ts +0 -0
  233. /package/dist/esm/utils/{pageConfig → config/content}/converter.d.ts +0 -0
  234. /package/dist/esm/utils/{pageConfig → config/content}/converter.js +0 -0
  235. /package/dist/esm/utils/{pageConfig → config/content}/index.d.ts +0 -0
  236. /package/dist/esm/utils/{pageConfig → config/content}/index.js +0 -0
  237. /package/dist/esm/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
  238. /package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
  239. /package/dist/esm/utils/{pageConfig → config/content}/types.d.ts +0 -0
  240. /package/dist/esm/utils/{pageConfig → config/content}/types.js +0 -0
  241. /package/dist/esm/utils/{pageConfig → config/content}/validator.d.ts +0 -0
  242. /package/dist/esm/utils/{pageConfig → config/content}/validator.js +0 -0
  243. /package/dist/esm/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
  244. /package/dist/esm/utils/{convertNamespace.js → logic/convertNamespace.js} +0 -0
  245. /package/dist/esm/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
  246. /package/dist/esm/utils/{genJSModules.js → logic/genJSModules.js} +0 -0
  247. /package/dist/esm/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
  248. /package/dist/esm/utils/{getComponentClassName.js → style/getComponentClassName.js} +0 -0
  249. /package/dist/esm/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
  250. /package/dist/esm/utils/{pxtransform.js → style/pxtransform.js} +0 -0
  251. /package/dist/esm/utils/{code → templates}/component.d.ts +0 -0
  252. /package/dist/esm/utils/{code → templates}/component.js +0 -0
  253. /package/dist/esm/utils/{code → templates}/index.d.ts +0 -0
  254. /package/dist/esm/utils/{code → templates}/index.js +0 -0
  255. /package/dist/esm/utils/{code → templates}/renderManager.d.ts +0 -0
  256. /package/dist/esm/utils/{code → templates}/renderManager.js +0 -0
@@ -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 type Result = Array<{
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
- declare const toCodeTaro: (tojson: ToJSON, config: ToTaroCodeConfig) => Result;
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: () => {
@@ -33,40 +33,31 @@ __export(toCodeTaro_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(toCodeTaro_exports);
35
35
  var import_toCode = __toESM(require("@mybricks/to-code-react/dist/cjs/toCode"));
36
- var import_handleSlot = __toESM(require("./handleSlot"));
37
- var import_utils = require("./utils");
38
36
  var import_handleGlobal = __toESM(require("./handleGlobal"));
39
37
  var import_handleExtension = __toESM(require("./handleExtension"));
40
- var import_abstractEventTypeDef = __toESM(require("./abstractEventTypeDef"));
41
- var import_genJSModules = require("./utils/genJSModules");
42
- var import_handlePageConfig = require("./utils/handlePageConfig");
38
+ var import_handlePageConfig = require("./utils/config/handlePageConfig");
39
+ var import_buildFrameMap = require("./utils/context/buildFrameMap");
40
+ var import_buildContext = require("./utils/context/buildContext");
41
+ var import_collectJSModules = require("./utils/context/collectJSModules");
42
+ var import_buildGlobalData = require("./utils/context/buildGlobalData");
43
+ var import_buildResult = require("./utils/builder/buildResult");
44
+ var import_processScene = require("./processors/processScene");
45
+ var import_processModule = require("./processors/processModule");
43
46
  var toCodeTaro = (tojson, config) => {
44
- console.log("tojson", tojson);
45
47
  return getCode({ tojson, toCodejson: (0, import_toCode.default)(tojson) }, config);
46
48
  };
47
49
  var getCode = (params, config) => {
48
50
  transformConfig(config);
49
- const result = [];
51
+ const files = [];
50
52
  const { tojson, toCodejson } = params;
51
53
  const { scenes, extensionEvents, globalFxs, globalVars, modules } = toCodejson;
52
- const jsModulesMap = /* @__PURE__ */ new Map();
53
- const eventsMap = tojson.frames.reduce((pre, cur) => {
54
- if (cur.type === "extension-event") {
55
- pre[cur.id] = cur;
56
- }
57
- return pre;
58
- }, {});
59
- const sceneMap = tojson.scenes.reduce((pre, cur) => {
60
- pre[cur.id] = cur;
61
- return pre;
62
- }, {});
63
- const getSceneById = (id) => {
64
- return sceneMap[id];
65
- };
66
- const getExtensionEventById = (id) => {
67
- return eventsMap[id];
68
- };
69
- result.push(
54
+ const frameMap = (0, import_buildFrameMap.buildFrameMap)(tojson);
55
+ const getFrameById = (0, import_buildContext.createGetFrameById)(frameMap);
56
+ const sceneMap = (0, import_buildContext.buildSceneMap)(tojson.scenes);
57
+ const eventsMap = (0, import_buildContext.buildEventsMap)(tojson.frames);
58
+ const getSceneById = (0, import_buildContext.createGetSceneById)(sceneMap);
59
+ const getExtensionEventById = (0, import_buildContext.createGetExtensionEventById)(eventsMap);
60
+ files.push(
70
61
  ...(0, import_handleExtension.default)(
71
62
  {
72
63
  extensionEvents,
@@ -80,30 +71,10 @@ var getCode = (params, config) => {
80
71
  }
81
72
  )
82
73
  );
83
- const globalVarTypeDef = {};
84
- Object.entries(tojson.global.comsReg).forEach(([, com]) => {
85
- if (com.def.namespace !== "mybricks.core-comlib.var") {
86
- return;
87
- }
88
- globalVarTypeDef[com.title] = com;
89
- });
90
- const defaultFxsMap = {};
91
- (tojson.global.fxFrames || []).filter((fxFrame) => {
92
- return fxFrame.type === "fx";
93
- }).forEach((fxFrame) => {
94
- defaultFxsMap[fxFrame.id] = {
95
- name: "global",
96
- class: "global",
97
- controllers: /* @__PURE__ */ new Set(),
98
- useParams: false,
99
- useEvents: false,
100
- coms: /* @__PURE__ */ new Set(),
101
- useController: false,
102
- useData: false
103
- };
104
- });
105
- result.push(
106
- (0, import_handleGlobal.default)(
74
+ const globalVarTypeDef = (0, import_buildGlobalData.buildGlobalVarTypeDef)(tojson.global.comsReg);
75
+ const defaultFxsMap = (0, import_buildGlobalData.buildDefaultFxsMap)(tojson.global.fxFrames || []);
76
+ files.push(
77
+ ...(0, import_handleGlobal.default)(
107
78
  {
108
79
  tojson,
109
80
  globalFxs,
@@ -118,304 +89,61 @@ var getCode = (params, config) => {
118
89
  )
119
90
  );
120
91
  const abstractEventTypeDefMap = {};
92
+ const jsModulesCollector = (0, import_collectJSModules.createJSModulesCollector)();
121
93
  const pageConfigHandler = new import_handlePageConfig.HandlePageConfig();
122
- scenes.forEach(({ scene, ui, event }) => {
94
+ const popupIds = /* @__PURE__ */ new Set();
95
+ tojson.scenes.forEach((s) => {
123
96
  var _a;
124
- Object.entries(scene.coms || {}).forEach(([comId, comInfo]) => {
125
- var _a2, _b, _c, _d, _e;
126
- const { def, model } = comInfo;
127
- const isJsCalculationComponent = (def == null ? void 0 : def.namespace) === "mybricks.taro._muilt-inputJs" || (def == null ? void 0 : def.namespace) === "mybricks.core-comlib.js-ai";
128
- if (isJsCalculationComponent) {
129
- const transformCode = ((_b = (_a2 = model == null ? void 0 : model.data) == null ? void 0 : _a2.fns) == null ? void 0 : _b.code) || ((_d = (_c = model == null ? void 0 : model.data) == null ? void 0 : _c.fns) == null ? void 0 : _d.transformCode) || ((_e = model == null ? void 0 : model.data) == null ? void 0 : _e.fns);
130
- if (transformCode && !jsModulesMap.has(comId)) {
131
- jsModulesMap.set(comId, {
132
- id: comId,
133
- title: comInfo.title || "JS计算",
134
- transformCode: typeof transformCode === "string" ? transformCode : "",
135
- inputs: (model == null ? void 0 : model.inputs) || [],
136
- outputs: (model == null ? void 0 : model.outputs) || [],
137
- data: (model == null ? void 0 : model.data) || {}
138
- });
139
- }
140
- }
141
- });
142
- const providerMap = {};
143
- const fileName = (_a = config.getFileName) == null ? void 0 : _a.call(config, ui.meta.slotId);
144
- const providerName = fileName ? `${fileName}Provider` : "slot_Index";
145
- const currentProvider = {
146
- name: (0, import_utils.firstCharToLowerCase)(providerName),
147
- class: (0, import_utils.firstCharToUpperCase)(providerName),
148
- controllers: /* @__PURE__ */ new Set(),
149
- useParams: false,
150
- useEvents: false,
151
- coms: /* @__PURE__ */ new Set(),
152
- useController: false,
153
- useData: false
154
- };
155
- providerMap[currentProvider.name] = currentProvider;
156
- const typeDef = {
157
- // 变量
158
- vars: Object.assign({}, globalVarTypeDef),
159
- // 输入
160
- inputs: {},
161
- // 输出
162
- outputs: {}
163
- };
164
- const fxsMap = Object.assign({}, defaultFxsMap);
165
- const pageConfigContent = pageConfigHandler.handle(scene);
166
- (0, import_handleSlot.default)(ui, {
167
- ...config,
168
- getCurrentScene: () => {
169
- return scene;
170
- },
171
- add: (value) => {
172
- result.push({
173
- ...value,
174
- type: scene.type ? scene.type : "normal",
175
- meta: scene,
176
- pageConfigContent
177
- // 添加页面配置内容
178
- });
179
- },
180
- addJSModule: (module2) => {
181
- if (!jsModulesMap.has(module2.id)) {
182
- jsModulesMap.set(module2.id, module2);
183
- }
184
- },
185
- getEventByDiagramId: (diagramId) => {
186
- return event.find((event2) => event2.diagramId === diagramId);
187
- },
188
- getVarEvents: (params2) => {
189
- if (!params2) {
190
- return event.filter((event2) => {
191
- return event2.type === "var" && !event2.meta.parentComId || event2.type === "listener" && !event2.meta.proxy.parentComId;
192
- });
193
- }
194
- return event.filter((event2) => {
195
- return event2.type === "var" && params2.comId === event2.meta.parentComId && params2.slotId === event2.meta.frameId || event2.type === "listener" && params2.comId === event2.meta.proxy.parentComId && params2.slotId === event2.meta.proxy.frameId;
196
- });
197
- },
198
- getFxEvents: (params2) => {
199
- if (!params2) {
200
- return event.filter((event2) => {
201
- return event2.type === "fx" && !event2.parentComId;
202
- });
203
- }
204
- return event.filter((event2) => {
205
- return event2.type === "fx" && params2.comId === event2.parentComId && params2.slotId === event2.parentSlotId;
206
- });
207
- },
208
- checkIsRoot: () => true,
209
- getEffectEvent: (params2) => {
210
- if (!params2) {
211
- return event.find((event2) => {
212
- return !event2.slotId;
213
- });
214
- } else {
215
- const { comId, slotId } = params2;
216
- return event.find((event2) => {
217
- return event2.slotId === slotId && event2.comId === comId;
218
- });
219
- }
220
- },
221
- getCurrentProvider: () => {
222
- return currentProvider;
223
- },
224
- getRootProvider: () => {
225
- return currentProvider;
226
- },
227
- getProviderMap: () => {
228
- return providerMap;
229
- },
230
- getExtensionEventById,
231
- getSceneById,
232
- depth: 0,
233
- getTypeDef: () => {
234
- return typeDef;
235
- },
236
- getFxsMap: () => {
237
- return fxsMap;
238
- },
239
- setAbstractEventTypeDefMap: (params2) => {
240
- const { comId, eventId, typeDef: typeDef2, schema } = params2;
241
- if (!abstractEventTypeDefMap[comId]) {
242
- abstractEventTypeDefMap[comId] = {
243
- typeDef: typeDef2,
244
- eventIdMap: {}
245
- };
246
- }
247
- abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
248
- }
249
- });
97
+ if (s.type === "popup" || ((_a = s.deps) == null ? void 0 : _a.some((dep) => dep.namespace === "mybricks.taro.popup"))) {
98
+ popupIds.add(s.id);
99
+ }
250
100
  });
251
- modules.forEach(({ scene, ui, event }) => {
252
- var _a;
253
- Object.entries(scene.coms || {}).forEach(([comId, comInfo]) => {
254
- var _a2, _b, _c, _d, _e;
255
- const { def, model } = comInfo;
256
- const isJsCalculationComponent = (def == null ? void 0 : def.namespace) === "mybricks.taro._muilt-inputJs" || (def == null ? void 0 : def.namespace) === "mybricks.core-comlib.js-ai";
257
- if (isJsCalculationComponent) {
258
- const transformCode = ((_b = (_a2 = model == null ? void 0 : model.data) == null ? void 0 : _a2.fns) == null ? void 0 : _b.code) || ((_d = (_c = model == null ? void 0 : model.data) == null ? void 0 : _c.fns) == null ? void 0 : _d.transformCode) || ((_e = model == null ? void 0 : model.data) == null ? void 0 : _e.fns);
259
- if (transformCode && !jsModulesMap.has(comId)) {
260
- jsModulesMap.set(comId, {
261
- id: comId,
262
- title: comInfo.title || "JS计算",
263
- transformCode: typeof transformCode === "string" ? transformCode : "",
264
- inputs: (model == null ? void 0 : model.inputs) || [],
265
- outputs: (model == null ? void 0 : model.outputs) || [],
266
- data: (model == null ? void 0 : model.data) || {}
267
- });
268
- }
269
- }
270
- });
271
- const providerMap = {};
272
- const fileName = (_a = config.getFileName) == null ? void 0 : _a.call(config, ui.meta.slotId);
273
- const providerName = fileName ? `${fileName}Provider` : "slot_Index";
274
- const currentProvider = {
275
- name: (0, import_utils.firstCharToLowerCase)(providerName),
276
- class: (0, import_utils.firstCharToUpperCase)(providerName),
277
- controllers: /* @__PURE__ */ new Set(),
278
- useParams: false,
279
- useEvents: false,
280
- coms: /* @__PURE__ */ new Set(),
281
- useController: false,
282
- useData: false
283
- };
284
- providerMap[currentProvider.name] = currentProvider;
285
- const typeDef = {
286
- // 变量
287
- vars: Object.assign({}, globalVarTypeDef),
288
- // 输入
289
- inputs: {},
290
- // 输出
291
- outputs: {}
292
- };
293
- const fxsMap = Object.assign({}, defaultFxsMap);
294
- (0, import_handleSlot.default)(ui, {
101
+ (0, import_processScene.processScenes)(scenes, {
102
+ config: {
295
103
  ...config,
296
- getCurrentScene: () => {
297
- return scene;
298
- },
299
- add: (value) => {
300
- result.push({
301
- ...value,
302
- type: scene.type,
303
- meta: scene
304
- });
305
- },
306
- addJSModule: (module2) => {
307
- if (!jsModulesMap.has(module2.id)) {
308
- jsModulesMap.set(module2.id, module2);
309
- }
310
- },
311
- getEventByDiagramId: (diagramId) => {
312
- return event.find((event2) => event2.diagramId === diagramId);
313
- },
314
- getVarEvents: (params2) => {
315
- if (!params2) {
316
- return event.filter((event2) => {
317
- return event2.type === "var" && !event2.meta.parentComId || event2.type === "listener" && !event2.meta.proxy.parentComId;
318
- });
319
- }
320
- return event.filter((event2) => {
321
- return event2.type === "var" && params2.comId === event2.meta.parentComId && params2.slotId === event2.meta.frameId || event2.type === "listener" && params2.comId === event2.meta.proxy.parentComId && params2.slotId === event2.meta.proxy.frameId;
322
- });
323
- },
324
- getFxEvents: (params2) => {
325
- if (!params2) {
326
- return event.filter((event2) => {
327
- return event2.type === "fx" && !event2.parentComId;
328
- });
329
- }
330
- return event.filter((event2) => {
331
- return event2.type === "fx" && params2.comId === event2.parentComId && params2.slotId === event2.parentSlotId;
332
- });
333
- },
334
- checkIsRoot: () => true,
335
- getEffectEvent: (params2) => {
336
- if (!params2) {
337
- return event.find((event2) => {
338
- return !event2.slotId;
339
- });
340
- } else {
341
- const { comId, slotId } = params2;
342
- return event.find((event2) => {
343
- return event2.slotId === slotId && event2.comId === comId;
344
- });
345
- }
346
- },
347
- getCurrentProvider: () => {
348
- return currentProvider;
349
- },
350
- getRootProvider() {
351
- return currentProvider;
352
- },
353
- getProviderMap: () => {
354
- return providerMap;
355
- },
356
- getExtensionEventById,
357
- getSceneById,
358
- depth: 0,
359
- getTypeDef() {
360
- return typeDef;
361
- },
362
- getFxsMap: () => {
363
- return fxsMap;
364
- },
365
- setAbstractEventTypeDefMap: (params2) => {
366
- const { comId, eventId, typeDef: typeDef2, schema } = params2;
367
- if (!abstractEventTypeDefMap[comId]) {
368
- abstractEventTypeDefMap[comId] = {
369
- typeDef: typeDef2,
370
- eventIdMap: {}
371
- };
372
- }
373
- abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
374
- },
375
- getComponentController: ({ com }) => {
376
- return com.id;
377
- }
378
- });
104
+ // @ts-ignore
105
+ hasPopups: popupIds.size > 0
106
+ },
107
+ globalVarTypeDef,
108
+ defaultFxsMap,
109
+ abstractEventTypeDefMap,
110
+ jsModulesMap: jsModulesCollector.getMap(),
111
+ getExtensionEventById,
112
+ getSceneById,
113
+ getFrameById,
114
+ pageConfigHandler,
115
+ addResult: (item) => {
116
+ files.push(item);
117
+ }
379
118
  });
380
- result.push({
381
- type: "abstractEventTypeDef",
382
- content: (0, import_abstractEventTypeDef.default)(abstractEventTypeDefMap, config),
383
- importManager: new import_utils.ImportManager(config),
384
- name: "abstractEventTypeDef"
119
+ (0, import_processModule.processModules)(modules, {
120
+ config,
121
+ globalVarTypeDef,
122
+ defaultFxsMap,
123
+ abstractEventTypeDefMap,
124
+ jsModulesMap: jsModulesCollector.getMap(),
125
+ getExtensionEventById,
126
+ getSceneById,
127
+ getFrameById,
128
+ addResult: (item) => {
129
+ files.push(item);
130
+ }
385
131
  });
386
- result.push({
387
- type: "jsModules",
388
- content: (0, import_genJSModules.genJSModules)(Array.from(jsModulesMap.values())),
389
- importManager: new import_utils.ImportManager(config),
390
- name: "JSModules"
132
+ const finalResultData = (0, import_buildResult.buildFinalResults)({
133
+ abstractEventTypeDefMap,
134
+ jsModulesMap: jsModulesCollector.getMap(),
135
+ globalTabBarConfig: pageConfigHandler.getTabBarConfig(),
136
+ tabBarImageFiles: pageConfigHandler.getTabBarImageFiles(),
137
+ popupIds: Array.from(popupIds),
138
+ config
391
139
  });
392
- if (jsModulesMap.size > 0) {
393
- const commonIndexContent = `import jsModulesGenerator from "./jsModules";
394
- import { createJSHandle } from "../core/mybricks/index";
395
-
396
- const jsModules: Record<string, (props: any, appContext: any) => any> = jsModulesGenerator({ createJSHandle });
397
-
398
- export { jsModules };
399
- `;
400
- result.push({
401
- type: "commonIndex",
402
- content: commonIndexContent,
403
- importManager: new import_utils.ImportManager(config),
404
- name: "commonIndex"
405
- });
406
- }
407
- const globalTabBarConfig = pageConfigHandler.getTabBarConfig();
408
- if (globalTabBarConfig) {
409
- result.push({
410
- type: "tabBarConfig",
411
- content: globalTabBarConfig,
412
- importManager: new import_utils.ImportManager(config),
413
- name: "tabBarConfig",
414
- tabBarConfig: globalTabBarConfig
415
- });
416
- }
417
- result.__tabBarImageFiles = pageConfigHandler.getTabBarImageFiles();
418
- return result;
140
+ files.push(...finalResultData.files);
141
+ return {
142
+ files,
143
+ assets: {
144
+ tabBarImages: finalResultData.tabBarImageFiles
145
+ }
146
+ };
419
147
  };
420
148
  var transformConfig = (config) => {
421
149
  if (!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 {};
@@ -0,0 +1,117 @@
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/utils/builder/buildResult.ts
30
+ var buildResult_exports = {};
31
+ __export(buildResult_exports, {
32
+ buildFinalResults: () => buildFinalResults
33
+ });
34
+ module.exports = __toCommonJS(buildResult_exports);
35
+ var import_ImportManager = require("../common/ImportManager");
36
+ var import_abstractEventTypeDef = __toESM(require("../../abstractEventTypeDef"));
37
+ var import_genJSModules = require("../logic/genJSModules");
38
+ var buildFinalResults = (params) => {
39
+ const {
40
+ abstractEventTypeDefMap,
41
+ jsModulesMap,
42
+ globalTabBarConfig,
43
+ tabBarImageFiles,
44
+ popupIds,
45
+ config
46
+ } = params;
47
+ const files = [];
48
+ files.push({
49
+ type: "abstractEventTypeDef",
50
+ content: (0, import_abstractEventTypeDef.default)(abstractEventTypeDefMap, config),
51
+ importManager: new import_ImportManager.ImportManager(config),
52
+ name: "abstractEventTypeDef"
53
+ });
54
+ files.push({
55
+ type: "jsModules",
56
+ content: (0, import_genJSModules.genJSModules)(Array.from(jsModulesMap.values())),
57
+ importManager: new import_ImportManager.ImportManager(config),
58
+ name: "JSModules"
59
+ });
60
+ if (jsModulesMap.size > 0) {
61
+ const commonIndexContent = `import jsModulesGenerator from "./jsModules";
62
+ import { createJSHandle } from "../core/mybricks/index";
63
+
64
+ const jsModules: Record<string, (props: any, appContext: any) => any> = jsModulesGenerator({ createJSHandle });
65
+
66
+ export { jsModules };
67
+ `;
68
+ files.push({
69
+ type: "commonIndex",
70
+ content: commonIndexContent,
71
+ importManager: new import_ImportManager.ImportManager(config),
72
+ name: "commonIndex"
73
+ });
74
+ }
75
+ if (popupIds.length > 0) {
76
+ let registryContent = "";
77
+ popupIds.forEach((id) => {
78
+ registryContent += `import Scene_${id} from '../popupComponents/${id}/index';
79
+ `;
80
+ });
81
+ registryContent += `
82
+ export const POPUP_MAP: Record<string, any> = {
83
+ `;
84
+ popupIds.forEach((id) => {
85
+ registryContent += ` '${id}': Scene_${id},
86
+ `;
87
+ });
88
+ registryContent += `};
89
+
90
+ `;
91
+ registryContent += `export const POPUP_IDS = ${JSON.stringify(popupIds)};
92
+ `;
93
+ files.push({
94
+ type: "popup",
95
+ content: registryContent,
96
+ importManager: new import_ImportManager.ImportManager(config),
97
+ name: "popup"
98
+ });
99
+ }
100
+ if (globalTabBarConfig) {
101
+ files.push({
102
+ type: "tabBarConfig",
103
+ content: globalTabBarConfig,
104
+ importManager: new import_ImportManager.ImportManager(config),
105
+ name: "tabBarConfig",
106
+ tabBarConfig: globalTabBarConfig
107
+ });
108
+ }
109
+ return {
110
+ files,
111
+ tabBarImageFiles
112
+ };
113
+ };
114
+ // Annotate the CommonJS export names for ESM import in node:
115
+ 0 && (module.exports = {
116
+ buildFinalResults
117
+ });
@@ -0,0 +1,19 @@
1
+ import type { ToTaroCodeConfig } from "../../toCodeTaro";
2
+ export type ImportType = "default" | "named" | "module";
3
+ export type DependencyImport = Record<string, Record<string, {
4
+ importType: ImportType;
5
+ }>>;
6
+ /** 导入依赖收集、解析 */
7
+ export declare class ImportManager {
8
+ private _config;
9
+ private _imports;
10
+ constructor(_config: ToTaroCodeConfig);
11
+ /** 添加依赖 */
12
+ addImport({ packageName, dependencyNames, importType, }: {
13
+ packageName: string;
14
+ dependencyNames: string[];
15
+ importType: ImportType;
16
+ }): void;
17
+ /** 依赖解析为code */
18
+ toCode(): string;
19
+ }