@mybricks/to-code-taro 1.0.0

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