@mybricks/to-code-taro 1.0.2 → 1.0.3

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 (197) hide show
  1. package/README.md +58 -0
  2. package/dist/cjs/core/comlib/{Index.js → index.js} +4 -4
  3. package/dist/cjs/core/mybricks/index.js +47 -47
  4. package/dist/cjs/core/utils/ComContext.js +3 -0
  5. package/dist/cjs/core/utils/hooks.js +125 -0
  6. package/dist/cjs/core/utils/index.js +21 -57
  7. package/dist/cjs/core/utils/page.js +67 -0
  8. package/dist/cjs/core/utils/useContext.js +2 -1
  9. package/dist/cjs/generate/generateTaroProjectJson.d.ts +3 -14
  10. package/dist/cjs/generate/generateTaroProjectJson.js +9 -6
  11. package/dist/cjs/generate/utils/tabBarImages.d.ts +1 -1
  12. package/dist/cjs/handleCom.d.ts +1 -1
  13. package/dist/cjs/handleCom.js +91 -177
  14. package/dist/cjs/handleDom.js +7 -44
  15. package/dist/cjs/handleExtension.d.ts +2 -2
  16. package/dist/cjs/handleExtension.js +5 -5
  17. package/dist/cjs/handleGlobal.d.ts +2 -12
  18. package/dist/cjs/handleGlobal.js +23 -7
  19. package/dist/cjs/handleModule.js +3 -3
  20. package/dist/cjs/handleSlot.d.ts +2 -9
  21. package/dist/cjs/handleSlot.js +47 -150
  22. package/dist/cjs/processors/processComEvents.d.ts +9 -0
  23. package/dist/cjs/processors/processComEvents.js +122 -0
  24. package/dist/cjs/processors/processModule.d.ts +31 -0
  25. package/dist/cjs/processors/processModule.js +125 -0
  26. package/dist/cjs/processors/processScene.d.ts +32 -0
  27. package/dist/cjs/processors/processScene.js +124 -0
  28. package/dist/cjs/processors/processSceneLogic.d.ts +4 -0
  29. package/dist/cjs/processors/processSceneLogic.js +166 -0
  30. package/dist/cjs/taro-template.json +15 -7
  31. package/dist/cjs/toCodeTaro.d.ts +26 -5
  32. package/dist/cjs/toCodeTaro.js +59 -343
  33. package/dist/cjs/utils/builder/buildResult.d.ts +21 -0
  34. package/dist/cjs/utils/builder/buildResult.js +91 -0
  35. package/dist/cjs/utils/common/ImportManager.d.ts +19 -0
  36. package/dist/cjs/utils/common/ImportManager.js +105 -0
  37. package/dist/cjs/utils/common/helper.d.ts +2 -0
  38. package/dist/cjs/utils/common/helper.js +31 -0
  39. package/dist/cjs/utils/common/object.d.ts +5 -0
  40. package/dist/cjs/utils/common/object.js +58 -0
  41. package/dist/cjs/utils/common/string.d.ts +8 -0
  42. package/dist/cjs/utils/common/string.js +46 -0
  43. package/dist/cjs/utils/{pageConfig → config/content}/converter.js +1 -1
  44. package/dist/cjs/utils/{pageConfig → config/content}/index.js +9 -9
  45. package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.js +12 -22
  46. package/dist/{esm/utils/pageConfig → cjs/utils/config/content}/saveBase64Image.d.ts +1 -1
  47. package/dist/cjs/utils/{pageConfig → config/content}/saveBase64Image.js +8 -17
  48. package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.js +9 -32
  49. package/dist/cjs/utils/config/content/types.js +17 -0
  50. package/dist/cjs/utils/{pageConfig → config/content}/validator.js +1 -1
  51. package/dist/{esm/utils → cjs/utils/config}/handlePageConfig.d.ts +1 -1
  52. package/dist/cjs/utils/{handlePageConfig.js → config/handlePageConfig.js} +4 -4
  53. package/dist/cjs/utils/context/buildContext.d.ts +24 -0
  54. package/dist/cjs/utils/context/buildContext.js +65 -0
  55. package/dist/cjs/utils/context/buildFrameMap.d.ts +16 -0
  56. package/dist/cjs/utils/context/buildFrameMap.js +106 -0
  57. package/dist/cjs/utils/context/buildGlobalData.d.ts +13 -0
  58. package/dist/cjs/utils/context/buildGlobalData.js +58 -0
  59. package/dist/cjs/utils/context/collectJSModules.d.ts +37 -0
  60. package/dist/cjs/utils/context/collectJSModules.js +91 -0
  61. package/dist/cjs/utils/context/createEventQueries.d.ts +45 -0
  62. package/dist/cjs/utils/context/createEventQueries.js +99 -0
  63. package/dist/cjs/utils/context/createProvider.d.ts +21 -0
  64. package/dist/cjs/utils/context/createProvider.js +49 -0
  65. package/dist/cjs/utils/index.d.ts +10 -62
  66. package/dist/cjs/utils/index.js +21 -282
  67. package/dist/cjs/utils/{convertNamespace.js → logic/convertNamespace.js} +1 -1
  68. package/dist/cjs/utils/{genJSModules.js → logic/genJSModules.js} +1 -1
  69. package/dist/{esm/utils → cjs/utils/logic}/handleProcess.d.ts +2 -2
  70. package/dist/cjs/utils/{handleProcess.js → logic/handleProcess.js} +14 -11
  71. package/dist/cjs/utils/logic/processChildren.d.ts +12 -0
  72. package/dist/cjs/utils/logic/processChildren.js +82 -0
  73. package/dist/cjs/utils/style/color.d.ts +4 -0
  74. package/dist/cjs/utils/style/color.js +45 -0
  75. package/dist/cjs/utils/style/converter.d.ts +7 -0
  76. package/dist/cjs/utils/style/converter.js +181 -0
  77. package/dist/cjs/utils/{getComponentClassName.js → style/getComponentClassName.js} +1 -1
  78. package/dist/cjs/utils/{pxtransform.js → style/pxtransform.js} +1 -1
  79. package/dist/cjs/utils/style/types.d.ts +23 -0
  80. package/dist/cjs/utils/{pageConfig → style}/types.js +1 -1
  81. package/dist/cjs/utils/{code → templates}/component.js +1 -1
  82. package/dist/cjs/utils/{code → templates}/index.js +4 -4
  83. package/dist/cjs/utils/{code → templates}/renderManager.js +1 -1
  84. package/dist/cjs/utils/{code → templates}/scene.js +1 -1
  85. package/dist/esm/core/mybricks/index.js +1 -1
  86. package/dist/esm/core/utils/ComContext.js +1 -0
  87. package/dist/esm/core/utils/hooks.js +118 -0
  88. package/dist/esm/core/utils/index.js +6 -57
  89. package/dist/esm/core/utils/page.js +50 -0
  90. package/dist/esm/core/utils/useContext.js +2 -1
  91. package/dist/esm/generate/generateTaroProjectJson.d.ts +3 -14
  92. package/dist/esm/generate/generateTaroProjectJson.js +27 -23
  93. package/dist/esm/generate/utils/tabBarImages.d.ts +1 -1
  94. package/dist/esm/handleCom.d.ts +1 -1
  95. package/dist/esm/handleCom.js +159 -244
  96. package/dist/esm/handleDom.js +9 -48
  97. package/dist/esm/handleExtension.d.ts +2 -2
  98. package/dist/esm/handleExtension.js +5 -5
  99. package/dist/esm/handleGlobal.d.ts +2 -12
  100. package/dist/esm/handleGlobal.js +17 -3
  101. package/dist/esm/handleModule.js +3 -3
  102. package/dist/esm/handleSlot.d.ts +2 -9
  103. package/dist/esm/handleSlot.js +97 -174
  104. package/dist/esm/processors/processComEvents.d.ts +9 -0
  105. package/dist/esm/processors/processComEvents.js +110 -0
  106. package/dist/esm/processors/processModule.d.ts +31 -0
  107. package/dist/esm/processors/processModule.js +126 -0
  108. package/dist/esm/processors/processScene.d.ts +32 -0
  109. package/dist/esm/processors/processScene.js +126 -0
  110. package/dist/esm/processors/processSceneLogic.d.ts +4 -0
  111. package/dist/esm/processors/processSceneLogic.js +160 -0
  112. package/dist/esm/taro-template.json +15 -7
  113. package/dist/esm/toCodeTaro.d.ts +26 -5
  114. package/dist/esm/toCodeTaro.js +96 -396
  115. package/dist/esm/utils/builder/buildResult.d.ts +21 -0
  116. package/dist/esm/utils/builder/buildResult.js +61 -0
  117. package/dist/esm/utils/common/ImportManager.d.ts +19 -0
  118. package/dist/esm/utils/common/ImportManager.js +103 -0
  119. package/dist/esm/utils/common/helper.d.ts +2 -0
  120. package/dist/esm/utils/common/helper.js +4 -0
  121. package/dist/esm/utils/common/object.d.ts +5 -0
  122. package/dist/esm/utils/common/object.js +32 -0
  123. package/dist/esm/utils/common/string.d.ts +8 -0
  124. package/dist/esm/utils/common/string.js +21 -0
  125. package/dist/esm/utils/config/content/pageConfig.js +40 -0
  126. package/dist/{cjs/utils/pageConfig → esm/utils/config/content}/saveBase64Image.d.ts +1 -1
  127. package/dist/esm/utils/{pageConfig → config/content}/saveBase64Image.js +11 -30
  128. package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.js +12 -34
  129. package/dist/{cjs/utils → esm/utils/config}/handlePageConfig.d.ts +1 -1
  130. package/dist/esm/utils/{handlePageConfig.js → config/handlePageConfig.js} +1 -1
  131. package/dist/esm/utils/context/buildContext.d.ts +24 -0
  132. package/dist/esm/utils/context/buildContext.js +53 -0
  133. package/dist/esm/utils/context/buildFrameMap.d.ts +16 -0
  134. package/dist/esm/utils/context/buildFrameMap.js +131 -0
  135. package/dist/esm/utils/context/buildGlobalData.d.ts +13 -0
  136. package/dist/esm/utils/context/buildGlobalData.js +44 -0
  137. package/dist/esm/utils/context/collectJSModules.d.ts +37 -0
  138. package/dist/esm/utils/context/collectJSModules.js +87 -0
  139. package/dist/esm/utils/context/createEventQueries.d.ts +45 -0
  140. package/dist/esm/utils/context/createEventQueries.js +98 -0
  141. package/dist/esm/utils/context/createProvider.d.ts +21 -0
  142. package/dist/esm/utils/context/createProvider.js +33 -0
  143. package/dist/esm/utils/index.d.ts +10 -62
  144. package/dist/esm/utils/index.js +12 -345
  145. package/dist/{cjs/utils → esm/utils/logic}/handleProcess.d.ts +2 -2
  146. package/dist/esm/utils/{handleProcess.js → logic/handleProcess.js} +11 -5
  147. package/dist/esm/utils/logic/processChildren.d.ts +12 -0
  148. package/dist/esm/utils/logic/processChildren.js +48 -0
  149. package/dist/esm/utils/style/color.d.ts +4 -0
  150. package/dist/esm/utils/style/color.js +17 -0
  151. package/dist/esm/utils/style/converter.d.ts +7 -0
  152. package/dist/esm/utils/style/converter.js +176 -0
  153. package/dist/esm/utils/style/types.d.ts +23 -0
  154. package/dist/esm/utils/style/types.js +1 -0
  155. package/package.json +1 -1
  156. package/dist/esm/utils/pageConfig/pageConfig.js +0 -60
  157. /package/dist/cjs/utils/{pageConfig → config/content}/converter.d.ts +0 -0
  158. /package/dist/cjs/utils/{pageConfig → config/content}/index.d.ts +0 -0
  159. /package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
  160. /package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
  161. /package/dist/cjs/utils/{pageConfig → config/content}/types.d.ts +0 -0
  162. /package/dist/cjs/utils/{pageConfig → config/content}/validator.d.ts +0 -0
  163. /package/dist/cjs/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
  164. /package/dist/cjs/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
  165. /package/dist/cjs/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
  166. /package/dist/cjs/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
  167. /package/dist/cjs/utils/{code → templates}/component.d.ts +0 -0
  168. /package/dist/cjs/utils/{code → templates}/index.d.ts +0 -0
  169. /package/dist/cjs/utils/{code → templates}/renderManager.d.ts +0 -0
  170. /package/dist/cjs/utils/{code → templates}/scene.d.ts +0 -0
  171. /package/dist/esm/core/comlib/{Index.js → index.js} +0 -0
  172. /package/dist/esm/utils/{pageConfig → config/content}/converter.d.ts +0 -0
  173. /package/dist/esm/utils/{pageConfig → config/content}/converter.js +0 -0
  174. /package/dist/esm/utils/{pageConfig → config/content}/index.d.ts +0 -0
  175. /package/dist/esm/utils/{pageConfig → config/content}/index.js +0 -0
  176. /package/dist/esm/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
  177. /package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
  178. /package/dist/esm/utils/{pageConfig → config/content}/types.d.ts +0 -0
  179. /package/dist/esm/utils/{pageConfig → config/content}/types.js +0 -0
  180. /package/dist/esm/utils/{pageConfig → config/content}/validator.d.ts +0 -0
  181. /package/dist/esm/utils/{pageConfig → config/content}/validator.js +0 -0
  182. /package/dist/esm/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
  183. /package/dist/esm/utils/{convertNamespace.js → logic/convertNamespace.js} +0 -0
  184. /package/dist/esm/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
  185. /package/dist/esm/utils/{genJSModules.js → logic/genJSModules.js} +0 -0
  186. /package/dist/esm/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
  187. /package/dist/esm/utils/{getComponentClassName.js → style/getComponentClassName.js} +0 -0
  188. /package/dist/esm/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
  189. /package/dist/esm/utils/{pxtransform.js → style/pxtransform.js} +0 -0
  190. /package/dist/esm/utils/{code → templates}/component.d.ts +0 -0
  191. /package/dist/esm/utils/{code → templates}/component.js +0 -0
  192. /package/dist/esm/utils/{code → templates}/index.d.ts +0 -0
  193. /package/dist/esm/utils/{code → templates}/index.js +0 -0
  194. /package/dist/esm/utils/{code → templates}/renderManager.d.ts +0 -0
  195. /package/dist/esm/utils/{code → templates}/renderManager.js +0 -0
  196. /package/dist/esm/utils/{code → templates}/scene.d.ts +0 -0
  197. /package/dist/esm/utils/{code → templates}/scene.js +0 -0
@@ -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,49 @@ 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 }) => {
123
- 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
- });
250
- });
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, {
295
- ...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
- });
94
+ (0, import_processScene.processScenes)(scenes, {
95
+ config,
96
+ globalVarTypeDef,
97
+ defaultFxsMap,
98
+ abstractEventTypeDefMap,
99
+ jsModulesMap: jsModulesCollector.getMap(),
100
+ getExtensionEventById,
101
+ getSceneById,
102
+ getFrameById,
103
+ pageConfigHandler,
104
+ addResult: (item) => {
105
+ files.push(item);
106
+ }
379
107
  });
380
- result.push({
381
- type: "abstractEventTypeDef",
382
- content: (0, import_abstractEventTypeDef.default)(abstractEventTypeDefMap, config),
383
- importManager: new import_utils.ImportManager(config),
384
- name: "abstractEventTypeDef"
108
+ (0, import_processModule.processModules)(modules, {
109
+ config,
110
+ globalVarTypeDef,
111
+ defaultFxsMap,
112
+ abstractEventTypeDefMap,
113
+ jsModulesMap: jsModulesCollector.getMap(),
114
+ getExtensionEventById,
115
+ getSceneById,
116
+ getFrameById,
117
+ addResult: (item) => {
118
+ files.push(item);
119
+ }
385
120
  });
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"
121
+ const finalResultData = (0, import_buildResult.buildFinalResults)({
122
+ abstractEventTypeDefMap,
123
+ jsModulesMap: jsModulesCollector.getMap(),
124
+ globalTabBarConfig: pageConfigHandler.getTabBarConfig(),
125
+ tabBarImageFiles: pageConfigHandler.getTabBarImageFiles(),
126
+ config
391
127
  });
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;
128
+ files.push(...finalResultData.files);
129
+ return {
130
+ files,
131
+ assets: {
132
+ tabBarImages: finalResultData.tabBarImageFiles
133
+ }
134
+ };
419
135
  };
420
136
  var transformConfig = (config) => {
421
137
  if (!config.codeStyle) {
@@ -0,0 +1,21 @@
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
+ config: ToTaroCodeConfig;
13
+ }
14
+ /**
15
+ * 构建最终结果
16
+ */
17
+ export declare const buildFinalResults: (params: BuildResultParams) => {
18
+ files: GeneratedFile[];
19
+ tabBarImageFiles: any[];
20
+ };
21
+ export {};
@@ -0,0 +1,91 @@
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
+ config
45
+ } = params;
46
+ const files = [];
47
+ files.push({
48
+ type: "abstractEventTypeDef",
49
+ content: (0, import_abstractEventTypeDef.default)(abstractEventTypeDefMap, config),
50
+ importManager: new import_ImportManager.ImportManager(config),
51
+ name: "abstractEventTypeDef"
52
+ });
53
+ files.push({
54
+ type: "jsModules",
55
+ content: (0, import_genJSModules.genJSModules)(Array.from(jsModulesMap.values())),
56
+ importManager: new import_ImportManager.ImportManager(config),
57
+ name: "JSModules"
58
+ });
59
+ if (jsModulesMap.size > 0) {
60
+ const commonIndexContent = `import jsModulesGenerator from "./jsModules";
61
+ import { createJSHandle } from "../core/mybricks/index";
62
+
63
+ const jsModules: Record<string, (props: any, appContext: any) => any> = jsModulesGenerator({ createJSHandle });
64
+
65
+ export { jsModules };
66
+ `;
67
+ files.push({
68
+ type: "commonIndex",
69
+ content: commonIndexContent,
70
+ importManager: new import_ImportManager.ImportManager(config),
71
+ name: "commonIndex"
72
+ });
73
+ }
74
+ if (globalTabBarConfig) {
75
+ files.push({
76
+ type: "tabBarConfig",
77
+ content: globalTabBarConfig,
78
+ importManager: new import_ImportManager.ImportManager(config),
79
+ name: "tabBarConfig",
80
+ tabBarConfig: globalTabBarConfig
81
+ });
82
+ }
83
+ return {
84
+ files,
85
+ tabBarImageFiles
86
+ };
87
+ };
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ buildFinalResults
91
+ });
@@ -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
+ }
@@ -0,0 +1,105 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/utils/common/ImportManager.ts
20
+ var ImportManager_exports = {};
21
+ __export(ImportManager_exports, {
22
+ ImportManager: () => ImportManager
23
+ });
24
+ module.exports = __toCommonJS(ImportManager_exports);
25
+ var import_helper = require("./helper");
26
+ var ImportManager = class {
27
+ constructor(_config) {
28
+ this._config = _config;
29
+ this._imports = {};
30
+ }
31
+ /** 添加依赖 */
32
+ addImport({
33
+ packageName,
34
+ dependencyNames,
35
+ importType
36
+ }) {
37
+ if (!packageName) {
38
+ return;
39
+ }
40
+ const { _imports } = this;
41
+ if (!_imports[packageName]) {
42
+ _imports[packageName] = {};
43
+ }
44
+ if (importType === "module" && dependencyNames.length === 0) {
45
+ _imports[packageName]["__module__"] = {
46
+ importType: "module"
47
+ };
48
+ } else {
49
+ dependencyNames.forEach((dependencyName) => {
50
+ _imports[packageName][dependencyName] = {
51
+ importType
52
+ };
53
+ });
54
+ }
55
+ }
56
+ /** 依赖解析为code */
57
+ toCode() {
58
+ const indent = (0, import_helper.indentation)(this._config.codeStyle.indent);
59
+ return Object.entries(this._imports).reduce(
60
+ (pre, [packageName, dependencies]) => {
61
+ var _a;
62
+ let defaultDependency = "";
63
+ let namedDependencies = "";
64
+ const dependencyEntries = Object.entries(dependencies);
65
+ const hasModuleType = ((_a = dependencies["__module__"]) == null ? void 0 : _a.importType) === "module" || dependencyEntries.some(([, { importType }]) => importType === "module");
66
+ if (hasModuleType) {
67
+ return pre + `import '${packageName}';
68
+ `;
69
+ }
70
+ const validEntries = dependencyEntries.filter(([key]) => key !== "__module__");
71
+ const wrap = validEntries.length > 3;
72
+ validEntries.forEach(([dependencyName, { importType }], index) => {
73
+ if (importType === "default") {
74
+ defaultDependency = dependencyName;
75
+ } else if (importType === "named") {
76
+ if (wrap) {
77
+ namedDependencies += `${indent}${dependencyName},
78
+ `;
79
+ } else {
80
+ namedDependencies += `${index ? ", " : ""}${dependencyName}`;
81
+ }
82
+ }
83
+ });
84
+ if (namedDependencies) {
85
+ if (wrap) {
86
+ namedDependencies = `{
87
+ ${namedDependencies}}`;
88
+ } else {
89
+ namedDependencies = `{ ${namedDependencies} }`;
90
+ }
91
+ if (defaultDependency) {
92
+ defaultDependency += ", ";
93
+ }
94
+ }
95
+ return pre + `import ${defaultDependency}${namedDependencies} from '${packageName}';
96
+ `;
97
+ },
98
+ ""
99
+ );
100
+ }
101
+ };
102
+ // Annotate the CommonJS export names for ESM import in node:
103
+ 0 && (module.exports = {
104
+ ImportManager
105
+ });
@@ -0,0 +1,2 @@
1
+ /** 缩进 */
2
+ export declare const indentation: (level: number) => string;