@lcap/nasl 0.3.9-beta

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 (881) hide show
  1. package/DEVELOPMENT.md +58 -0
  2. package/README.md +11 -0
  3. package/analysis/mergeBlock/README.md +14 -0
  4. package/analysis/mergeBlock/raw1.json +0 -0
  5. package/analysis/mergeBlock/raw2.json +2522 -0
  6. package/analysis/mergeBlock/raw3.json +505 -0
  7. package/analysis/mergeBlock/req2.json +2219 -0
  8. package/analysis/mergeBlock/req3.json +462 -0
  9. package/analysis/mergeBlock/script.js +159 -0
  10. package/docs/assets/css/main.css +2638 -0
  11. package/docs/assets/js/main.js +248 -0
  12. package/docs/assets/js/search.js +1 -0
  13. package/docs/classes/app_app.app.html +1359 -0
  14. package/docs/classes/app_service.microservice.html +1572 -0
  15. package/docs/classes/app_service.service.html +1233 -0
  16. package/docs/classes/app_service.webservice.html +1635 -0
  17. package/docs/classes/common_eventemitter.eventemitter.html +387 -0
  18. package/docs/classes/common_vertex.vertex.html +1086 -0
  19. package/docs/classes/data_datanode.datanode.html +1157 -0
  20. package/docs/classes/data_entity.entity.html +1656 -0
  21. package/docs/classes/data_entityproperty.entityproperty.html +1903 -0
  22. package/docs/classes/data_enum.enum.html +1402 -0
  23. package/docs/classes/data_enumitem.enumitem.html +1252 -0
  24. package/docs/classes/data_interface.interface.html +1673 -0
  25. package/docs/classes/data_structure.structure.html +1427 -0
  26. package/docs/classes/data_structureproperty.structureproperty.html +1656 -0
  27. package/docs/classes/logic_basevariable.basevariable.html +1261 -0
  28. package/docs/classes/logic_logic.logic.html +1639 -0
  29. package/docs/classes/logic_logicitem.expressionnode.html +1982 -0
  30. package/docs/classes/logic_logicitem.logicitem.html +1828 -0
  31. package/docs/classes/logic_logicitem.logicnode.html +2229 -0
  32. package/docs/classes/logic_param.param.html +1707 -0
  33. package/docs/classes/logic_return.return.html +1605 -0
  34. package/docs/classes/logic_variable.variable.html +1631 -0
  35. package/docs/classes/nuims_nuims.nuims.html +596 -0
  36. package/docs/classes/page_attr.attr.html +1335 -0
  37. package/docs/classes/page_block.block.html +1272 -0
  38. package/docs/classes/page_directive.directive.html +1350 -0
  39. package/docs/classes/page_element.element.html +2118 -0
  40. package/docs/classes/page_event.event.html +1284 -0
  41. package/docs/classes/page_lifecycle.lifecycle.html +1286 -0
  42. package/docs/classes/page_page.page.html +1389 -0
  43. package/docs/classes/page_view.view.html +2299 -0
  44. package/docs/classes/page_viewparam.viewparam.html +1727 -0
  45. package/docs/classes/page_viewvariable.viewvariable.html +1668 -0
  46. package/docs/classes/process_process.process.html +1532 -0
  47. package/docs/classes/process_processcomponent.processcomponent.html +1589 -0
  48. package/docs/classes/process_processcomponentattribute.processcomponentattribute.html +1236 -0
  49. package/docs/classes/process_processcomponentproperty.processcomponentproperty.html +1727 -0
  50. package/docs/classes/process_processcomponentreturn.processcomponentreturn.html +1704 -0
  51. package/docs/classes/process_processcomponentvariable.processcomponentvariable.html +1679 -0
  52. package/docs/classes/process_processinterface.processinterface.html +1462 -0
  53. package/docs/classes/process_processparam.processparam.html +1778 -0
  54. package/docs/classes/process_processproperty.processproperty.html +1727 -0
  55. package/docs/classes/process_processreturn.processreturn.html +1678 -0
  56. package/docs/enums/app_service.service_type.html +186 -0
  57. package/docs/enums/data_basictypes.basic_type.html +312 -0
  58. package/docs/enums/index.level_enum.html +655 -0
  59. package/docs/enums/logic_logicitem.logic_type.html +441 -0
  60. package/docs/index.html +313 -0
  61. package/docs/interfaces/app_service.assetsinfo.html +209 -0
  62. package/docs/interfaces/common_packagejson.default.html +431 -0
  63. package/docs/interfaces/data_entity.resolver.html +228 -0
  64. package/docs/interfaces/data_entityproperty.display.html +214 -0
  65. package/docs/interfaces/data_schema.arrayschema.html +306 -0
  66. package/docs/interfaces/data_schema.baseschema.html +361 -0
  67. package/docs/interfaces/data_schema.basicrefschema.html +362 -0
  68. package/docs/interfaces/data_schema.basicschema.html +334 -0
  69. package/docs/interfaces/data_schema.booleanschema.html +306 -0
  70. package/docs/interfaces/data_schema.enumitemschema.html +225 -0
  71. package/docs/interfaces/data_schema.enumschema.html +306 -0
  72. package/docs/interfaces/data_schema.integerschema.html +334 -0
  73. package/docs/interfaces/data_schema.mapschema.html +320 -0
  74. package/docs/interfaces/data_schema.numberschema.html +334 -0
  75. package/docs/interfaces/data_schema.objectschema.html +313 -0
  76. package/docs/interfaces/data_schema.refschema.html +332 -0
  77. package/docs/interfaces/data_schema.schema.html +511 -0
  78. package/docs/interfaces/data_schema.setschema.html +306 -0
  79. package/docs/interfaces/data_schema.stringschema.html +334 -0
  80. package/docs/interfaces/history.historyrecord.html +183 -0
  81. package/docs/interfaces/index.arrayschema.html +261 -0
  82. package/docs/interfaces/index.baseschema.html +236 -0
  83. package/docs/interfaces/index.basicrefschema.html +317 -0
  84. package/docs/interfaces/index.basicschema.html +289 -0
  85. package/docs/interfaces/index.booleanschema.html +261 -0
  86. package/docs/interfaces/index.enumitemschema.html +180 -0
  87. package/docs/interfaces/index.enumschema.html +261 -0
  88. package/docs/interfaces/index.integerschema.html +289 -0
  89. package/docs/interfaces/index.mapschema.html +275 -0
  90. package/docs/interfaces/index.numberschema.html +289 -0
  91. package/docs/interfaces/index.objectschema.html +261 -0
  92. package/docs/interfaces/index.refschema.html +287 -0
  93. package/docs/interfaces/index.schema.html +459 -0
  94. package/docs/interfaces/index.setschema.html +261 -0
  95. package/docs/interfaces/index.stringschema.html +289 -0
  96. package/docs/interfaces/page_element.elementtovueoptions.html +283 -0
  97. package/docs/interfaces/typecheck.typecheckrecord.html +211 -0
  98. package/docs/interfaces/utils.inode.html +212 -0
  99. package/docs/interfaces/utils.inodeinfo.html +295 -0
  100. package/docs/interfaces/utils_traverse.inode.html +191 -0
  101. package/docs/interfaces/utils_traverse.inodeinfo.html +274 -0
  102. package/docs/modules/app_app.html +149 -0
  103. package/docs/modules/app_service.html +175 -0
  104. package/docs/modules/cachedata.html +198 -0
  105. package/docs/modules/common_eventemitter.html +192 -0
  106. package/docs/modules/common_packagejson.html +132 -0
  107. package/docs/modules/common_vertex.html +149 -0
  108. package/docs/modules/config.html +168 -0
  109. package/docs/modules/data_basictypes.html +271 -0
  110. package/docs/modules/data_datanode.html +149 -0
  111. package/docs/modules/data_datatypes.html +196 -0
  112. package/docs/modules/data_datatypeutils.html +430 -0
  113. package/docs/modules/data_entity.html +158 -0
  114. package/docs/modules/data_entityproperty.html +158 -0
  115. package/docs/modules/data_entityutils.html +342 -0
  116. package/docs/modules/data_enum.html +149 -0
  117. package/docs/modules/data_enumitem.html +149 -0
  118. package/docs/modules/data_interface.html +149 -0
  119. package/docs/modules/data_schema.html +205 -0
  120. package/docs/modules/data_structure.html +149 -0
  121. package/docs/modules/data_structureproperty.html +149 -0
  122. package/docs/modules/data_systemtypes.html +167 -0
  123. package/docs/modules/decorators.html +333 -0
  124. package/docs/modules/eventbus.html +116 -0
  125. package/docs/modules/generator.html +749 -0
  126. package/docs/modules/generator_data.html +495 -0
  127. package/docs/modules/generator_hotreload.html +200 -0
  128. package/docs/modules/generator_load.html +247 -0
  129. package/docs/modules/generator_page.html +200 -0
  130. package/docs/modules/history.html +200 -0
  131. package/docs/modules/index.html +1163 -0
  132. package/docs/modules/logic_basevariable.html +238 -0
  133. package/docs/modules/logic_callinterface.html +116 -0
  134. package/docs/modules/logic_logic.html +149 -0
  135. package/docs/modules/logic_logicitem.html +220 -0
  136. package/docs/modules/logic_param.html +149 -0
  137. package/docs/modules/logic_return.html +149 -0
  138. package/docs/modules/logic_tools.html +326 -0
  139. package/docs/modules/logic_translator.html +158 -0
  140. package/docs/modules/logic_variable.html +149 -0
  141. package/docs/modules/nuims_nuims.html +149 -0
  142. package/docs/modules/page_attr.html +149 -0
  143. package/docs/modules/page_block.html +149 -0
  144. package/docs/modules/page_directive.html +149 -0
  145. package/docs/modules/page_element.html +158 -0
  146. package/docs/modules/page_event.html +149 -0
  147. package/docs/modules/page_lifecycle.html +149 -0
  148. package/docs/modules/page_page.html +149 -0
  149. package/docs/modules/page_view.html +149 -0
  150. package/docs/modules/page_viewparam.html +149 -0
  151. package/docs/modules/page_viewvariable.html +149 -0
  152. package/docs/modules/process_process.html +149 -0
  153. package/docs/modules/process_processcomponent.html +149 -0
  154. package/docs/modules/process_processcomponentattribute.html +149 -0
  155. package/docs/modules/process_processcomponentproperty.html +149 -0
  156. package/docs/modules/process_processcomponentreturn.html +149 -0
  157. package/docs/modules/process_processcomponentvariable.html +149 -0
  158. package/docs/modules/process_processinterface.html +149 -0
  159. package/docs/modules/process_processparam.html +149 -0
  160. package/docs/modules/process_processproperty.html +149 -0
  161. package/docs/modules/process_processreturn.html +149 -0
  162. package/docs/modules/typecheck.html +269 -0
  163. package/docs/modules/utils.html +536 -0
  164. package/docs/modules/utils_logger.html +172 -0
  165. package/docs/modules/utils_string.html +347 -0
  166. package/docs/modules/utils_traverse.html +248 -0
  167. package/docs/modules.html +377 -0
  168. package/docs-build/style.css +3 -0
  169. package/docs-build/typedoc.json +8 -0
  170. package/index.js +12 -0
  171. package/module/base.js +11 -0
  172. package/out/service/app/api.d.ts +75 -0
  173. package/out/service/app/api.js +87 -0
  174. package/out/service/app/api.js.map +1 -0
  175. package/out/service/app/index.d.ts +2 -0
  176. package/out/service/app/index.js +10 -0
  177. package/out/service/app/index.js.map +1 -0
  178. package/out/service/assets/asset.d.ts +104 -0
  179. package/out/service/assets/asset.js +78 -0
  180. package/out/service/assets/asset.js.map +1 -0
  181. package/out/service/assets/block.d.ts +9 -0
  182. package/out/service/assets/block.js +11 -0
  183. package/out/service/assets/block.js.map +1 -0
  184. package/out/service/assets/index.d.ts +2 -0
  185. package/out/service/assets/index.js +12 -0
  186. package/out/service/assets/index.js.map +1 -0
  187. package/out/service/common/findUsage.d.ts +9 -0
  188. package/out/service/common/findUsage.js +11 -0
  189. package/out/service/common/findUsage.js.map +1 -0
  190. package/out/service/common/index.d.ts +2 -0
  191. package/out/service/common/index.js +12 -0
  192. package/out/service/common/index.js.map +1 -0
  193. package/out/service/common/preprocess.d.ts +14 -0
  194. package/out/service/common/preprocess.js +75 -0
  195. package/out/service/common/preprocess.js.map +1 -0
  196. package/out/service/common/schema.d.ts +9 -0
  197. package/out/service/common/schema.js +12 -0
  198. package/out/service/common/schema.js.map +1 -0
  199. package/out/service/create/add.configs.d.ts +1 -0
  200. package/out/service/create/add.configs.js +68 -0
  201. package/out/service/create/add.configs.js.map +1 -0
  202. package/out/service/create/errHandles.d.ts +18 -0
  203. package/out/service/create/errHandles.js +40 -0
  204. package/out/service/create/errHandles.js.map +1 -0
  205. package/out/service/create/index.d.ts +1 -0
  206. package/out/service/create/index.js +72 -0
  207. package/out/service/create/index.js.map +1 -0
  208. package/out/service/data/api.d.ts +36 -0
  209. package/out/service/data/api.js +36 -0
  210. package/out/service/data/api.js.map +1 -0
  211. package/out/service/data/entity.d.ts +135 -0
  212. package/out/service/data/entity.js +103 -0
  213. package/out/service/data/entity.js.map +1 -0
  214. package/out/service/data/enum.d.ts +63 -0
  215. package/out/service/data/enum.js +55 -0
  216. package/out/service/data/enum.js.map +1 -0
  217. package/out/service/data/enumProperty.d.ts +28 -0
  218. package/out/service/data/enumProperty.js +23 -0
  219. package/out/service/data/enumProperty.js.map +1 -0
  220. package/out/service/data/generic.d.ts +9 -0
  221. package/out/service/data/generic.js +11 -0
  222. package/out/service/data/generic.js.map +1 -0
  223. package/out/service/data/index.d.ts +8 -0
  224. package/out/service/data/index.js +23 -0
  225. package/out/service/data/index.js.map +1 -0
  226. package/out/service/data/interface.d.ts +67 -0
  227. package/out/service/data/interface.js +58 -0
  228. package/out/service/data/interface.js.map +1 -0
  229. package/out/service/data/structure.d.ts +92 -0
  230. package/out/service/data/structure.js +77 -0
  231. package/out/service/data/structure.js.map +1 -0
  232. package/out/service/logic/index.d.ts +2 -0
  233. package/out/service/logic/index.js +14 -0
  234. package/out/service/logic/index.js.map +1 -0
  235. package/out/service/logic/logic.d.ts +121 -0
  236. package/out/service/logic/logic.js +90 -0
  237. package/out/service/logic/logic.js.map +1 -0
  238. package/out/service/logic/param.d.ts +37 -0
  239. package/out/service/logic/param.js +29 -0
  240. package/out/service/logic/param.js.map +1 -0
  241. package/out/service/nuims/api.d.ts +264 -0
  242. package/out/service/nuims/api.js +194 -0
  243. package/out/service/nuims/api.js.map +1 -0
  244. package/out/service/nuims/index.d.ts +2 -0
  245. package/out/service/nuims/index.js +17 -0
  246. package/out/service/nuims/index.js.map +1 -0
  247. package/out/service/page/api.d.ts +186 -0
  248. package/out/service/page/api.js +1376 -0
  249. package/out/service/page/api.js.map +1 -0
  250. package/out/service/page/attribute.d.ts +28 -0
  251. package/out/service/page/attribute.js +23 -0
  252. package/out/service/page/attribute.js.map +1 -0
  253. package/out/service/page/directive.d.ts +28 -0
  254. package/out/service/page/directive.js +23 -0
  255. package/out/service/page/directive.js.map +1 -0
  256. package/out/service/page/element.d.ts +36 -0
  257. package/out/service/page/element.js +36 -0
  258. package/out/service/page/element.js.map +1 -0
  259. package/out/service/page/event.d.ts +28 -0
  260. package/out/service/page/event.js +23 -0
  261. package/out/service/page/event.js.map +1 -0
  262. package/out/service/page/index.d.ts +8 -0
  263. package/out/service/page/index.js +23 -0
  264. package/out/service/page/index.js.map +1 -0
  265. package/out/service/page/lifecycle.d.ts +28 -0
  266. package/out/service/page/lifecycle.js +23 -0
  267. package/out/service/page/lifecycle.js.map +1 -0
  268. package/out/service/page/templates.d.ts +14 -0
  269. package/out/service/page/templates.js +70 -0
  270. package/out/service/page/templates.js.map +1 -0
  271. package/out/service/page/view.d.ts +130 -0
  272. package/out/service/page/view.js +116 -0
  273. package/out/service/page/view.js.map +1 -0
  274. package/out/service/process/api.d.ts +136 -0
  275. package/out/service/process/api.js +95 -0
  276. package/out/service/process/api.js.map +1 -0
  277. package/out/service/process/index.d.ts +2 -0
  278. package/out/service/process/index.js +10 -0
  279. package/out/service/process/index.js.map +1 -0
  280. package/out/service/undoredo/api.d.ts +36 -0
  281. package/out/service/undoredo/api.js +29 -0
  282. package/out/service/undoredo/api.js.map +1 -0
  283. package/out/service/undoredo/index.d.ts +2 -0
  284. package/out/service/undoredo/index.js +10 -0
  285. package/out/service/undoredo/index.js.map +1 -0
  286. package/out/service/webFile/api.d.ts +45 -0
  287. package/out/service/webFile/api.js +35 -0
  288. package/out/service/webFile/api.js.map +1 -0
  289. package/out/service/webFile/index.d.ts +3 -0
  290. package/out/service/webFile/index.js +27 -0
  291. package/out/service/webFile/index.js.map +1 -0
  292. package/out/service/webFile/loadCache.d.ts +18 -0
  293. package/out/service/webFile/loadCache.js +17 -0
  294. package/out/service/webFile/loadCache.js.map +1 -0
  295. package/out/test/fixtures/env.d.ts +5 -0
  296. package/out/test/fixtures/env.js +21 -0
  297. package/out/test/fixtures/env.js.map +1 -0
  298. package/out/test/units/app/App.spec.d.ts +1 -0
  299. package/out/test/units/app/App.spec.js +17 -0
  300. package/out/test/units/app/App.spec.js.map +1 -0
  301. package/out/test/units/app/Service.spec.d.ts +1 -0
  302. package/out/test/units/app/Service.spec.js +24 -0
  303. package/out/test/units/app/Service.spec.js.map +1 -0
  304. package/out/test/units/common/Vertex.spec.d.ts +1 -0
  305. package/out/test/units/common/Vertex.spec.js +44 -0
  306. package/out/test/units/common/Vertex.spec.js.map +1 -0
  307. package/out/test/units/config.spec.d.ts +1 -0
  308. package/out/test/units/config.spec.js +12 -0
  309. package/out/test/units/config.spec.js.map +1 -0
  310. package/out/test/units/data/Entity.spec.d.ts +1 -0
  311. package/out/test/units/data/Entity.spec.js +12 -0
  312. package/out/test/units/data/Entity.spec.js.map +1 -0
  313. package/out/test/units/login.spec.d.ts +1 -0
  314. package/out/test/units/login.spec.js +12 -0
  315. package/out/test/units/login.spec.js.map +1 -0
  316. package/out/test/units/page/Block.spec.d.ts +1 -0
  317. package/out/test/units/page/Block.spec.js +34 -0
  318. package/out/test/units/page/Block.spec.js.map +1 -0
  319. package/out/test/units/page/Element.spec.d.ts +1 -0
  320. package/out/test/units/page/Element.spec.js +44 -0
  321. package/out/test/units/page/Element.spec.js.map +1 -0
  322. package/out/test/units/temp/temp.spec.d.ts +1 -0
  323. package/out/test/units/temp/temp.spec.js +68 -0
  324. package/out/test/units/temp/temp.spec.js.map +1 -0
  325. package/out/types/app/App.d.ts +135 -0
  326. package/out/types/app/App.js +304 -0
  327. package/out/types/app/App.js.map +1 -0
  328. package/out/types/app/History.d.ts +36 -0
  329. package/out/types/app/History.js +365 -0
  330. package/out/types/app/History.js.map +1 -0
  331. package/out/types/app/Service.d.ts +247 -0
  332. package/out/types/app/Service.js +846 -0
  333. package/out/types/app/Service.js.map +1 -0
  334. package/out/types/cacheData.d.ts +4 -0
  335. package/out/types/cacheData.js +34 -0
  336. package/out/types/cacheData.js.map +1 -0
  337. package/out/types/common/ComponentAPI.d.ts +110 -0
  338. package/out/types/common/ComponentAPI.js +3 -0
  339. package/out/types/common/ComponentAPI.js.map +1 -0
  340. package/out/types/common/EventEmitter.d.ts +29 -0
  341. package/out/types/common/EventEmitter.js +66 -0
  342. package/out/types/common/EventEmitter.js.map +1 -0
  343. package/out/types/common/PackageJSON.d.ts +32 -0
  344. package/out/types/common/PackageJSON.js +3 -0
  345. package/out/types/common/PackageJSON.js.map +1 -0
  346. package/out/types/common/Vertex.d.ts +125 -0
  347. package/out/types/common/Vertex.js +283 -0
  348. package/out/types/common/Vertex.js.map +1 -0
  349. package/out/types/config.d.ts +24 -0
  350. package/out/types/config.js +22 -0
  351. package/out/types/config.js.map +1 -0
  352. package/out/types/data/DataNode.d.ts +24 -0
  353. package/out/types/data/DataNode.js +52 -0
  354. package/out/types/data/DataNode.js.map +1 -0
  355. package/out/types/data/Entity.d.ts +121 -0
  356. package/out/types/data/Entity.js +528 -0
  357. package/out/types/data/Entity.js.map +1 -0
  358. package/out/types/data/EntityIndex.d.ts +87 -0
  359. package/out/types/data/EntityIndex.js +262 -0
  360. package/out/types/data/EntityIndex.js.map +1 -0
  361. package/out/types/data/EntityProperty.d.ts +191 -0
  362. package/out/types/data/EntityProperty.js +568 -0
  363. package/out/types/data/EntityProperty.js.map +1 -0
  364. package/out/types/data/Enum.d.ts +92 -0
  365. package/out/types/data/Enum.js +262 -0
  366. package/out/types/data/Enum.js.map +1 -0
  367. package/out/types/data/EnumItem.d.ts +57 -0
  368. package/out/types/data/EnumItem.js +170 -0
  369. package/out/types/data/EnumItem.js.map +1 -0
  370. package/out/types/data/GlobalLogicNode.d.ts +44 -0
  371. package/out/types/data/GlobalLogicNode.js +194 -0
  372. package/out/types/data/GlobalLogicNode.js.map +1 -0
  373. package/out/types/data/Interface.d.ts +153 -0
  374. package/out/types/data/Interface.js +480 -0
  375. package/out/types/data/Interface.js.map +1 -0
  376. package/out/types/data/Schema.d.ts +121 -0
  377. package/out/types/data/Schema.js +3 -0
  378. package/out/types/data/Schema.js.map +1 -0
  379. package/out/types/data/Structure.d.ts +104 -0
  380. package/out/types/data/Structure.js +319 -0
  381. package/out/types/data/Structure.js.map +1 -0
  382. package/out/types/data/StructureProperty.d.ts +134 -0
  383. package/out/types/data/StructureProperty.js +380 -0
  384. package/out/types/data/StructureProperty.js.map +1 -0
  385. package/out/types/data/basicTypes.d.ts +25 -0
  386. package/out/types/data/basicTypes.js +77 -0
  387. package/out/types/data/basicTypes.js.map +1 -0
  388. package/out/types/data/dataTypeUtils.d.ts +94 -0
  389. package/out/types/data/dataTypeUtils.js +441 -0
  390. package/out/types/data/dataTypeUtils.js.map +1 -0
  391. package/out/types/data/dataTypes.d.ts +21 -0
  392. package/out/types/data/dataTypes.js +64 -0
  393. package/out/types/data/dataTypes.js.map +1 -0
  394. package/out/types/data/entityUtils.d.ts +164 -0
  395. package/out/types/data/entityUtils.js +632 -0
  396. package/out/types/data/entityUtils.js.map +1 -0
  397. package/out/types/data/genBlock/builtInFunctions.json +545 -0
  398. package/out/types/data/genBlock/genCallComponentLogic.d.ts +20 -0
  399. package/out/types/data/genBlock/genCallComponentLogic.js +32 -0
  400. package/out/types/data/genBlock/genCallComponentLogic.js.map +1 -0
  401. package/out/types/data/genBlock/genCallInterface.d.ts +41 -0
  402. package/out/types/data/genBlock/genCallInterface.js +86 -0
  403. package/out/types/data/genBlock/genCallInterface.js.map +1 -0
  404. package/out/types/data/genBlock/genCreateBlock.d.ts +10 -0
  405. package/out/types/data/genBlock/genCreateBlock.js +313 -0
  406. package/out/types/data/genBlock/genCreateBlock.js.map +1 -0
  407. package/out/types/data/genBlock/genCurdBlock.d.ts +4 -0
  408. package/out/types/data/genBlock/genCurdBlock.js +648 -0
  409. package/out/types/data/genBlock/genCurdBlock.js.map +1 -0
  410. package/out/types/data/genBlock/genEnumSelectBlock.d.ts +10 -0
  411. package/out/types/data/genBlock/genEnumSelectBlock.js +23 -0
  412. package/out/types/data/genBlock/genEnumSelectBlock.js.map +1 -0
  413. package/out/types/data/genBlock/genGetBlock.d.ts +6 -0
  414. package/out/types/data/genBlock/genGetBlock.js +151 -0
  415. package/out/types/data/genBlock/genGetBlock.js.map +1 -0
  416. package/out/types/data/genBlock/genGridViewBlock.d.ts +136 -0
  417. package/out/types/data/genBlock/genGridViewBlock.js +263 -0
  418. package/out/types/data/genBlock/genGridViewBlock.js.map +1 -0
  419. package/out/types/data/genBlock/genListViewBlock.d.ts +63 -0
  420. package/out/types/data/genBlock/genListViewBlock.js +110 -0
  421. package/out/types/data/genBlock/genListViewBlock.js.map +1 -0
  422. package/out/types/data/genBlock/genQueryComponent.d.ts +316 -0
  423. package/out/types/data/genBlock/genQueryComponent.js +470 -0
  424. package/out/types/data/genBlock/genQueryComponent.js.map +1 -0
  425. package/out/types/data/genBlock/genSelectBlock.d.ts +63 -0
  426. package/out/types/data/genBlock/genSelectBlock.js +106 -0
  427. package/out/types/data/genBlock/genSelectBlock.js.map +1 -0
  428. package/out/types/data/genBlock/genTableBlock.d.ts +136 -0
  429. package/out/types/data/genBlock/genTableBlock.js +255 -0
  430. package/out/types/data/genBlock/genTableBlock.js.map +1 -0
  431. package/out/types/data/genBlock/genUpdateBlock.d.ts +6 -0
  432. package/out/types/data/genBlock/genUpdateBlock.js +384 -0
  433. package/out/types/data/genBlock/genUpdateBlock.js.map +1 -0
  434. package/out/types/data/genBlock/index.d.ts +15 -0
  435. package/out/types/data/genBlock/index.js +29 -0
  436. package/out/types/data/genBlock/index.js.map +1 -0
  437. package/out/types/data/genBlock/utils.d.ts +92 -0
  438. package/out/types/data/genBlock/utils.js +187 -0
  439. package/out/types/data/genBlock/utils.js.map +1 -0
  440. package/out/types/data/genericTypes.d.ts +40 -0
  441. package/out/types/data/genericTypes.js +145 -0
  442. package/out/types/data/genericTypes.js.map +1 -0
  443. package/out/types/data/systemTypes.d.ts +9 -0
  444. package/out/types/data/systemTypes.js +1516 -0
  445. package/out/types/data/systemTypes.js.map +1 -0
  446. package/out/types/decorators/index.d.ts +25 -0
  447. package/out/types/decorators/index.js +57 -0
  448. package/out/types/decorators/index.js.map +1 -0
  449. package/out/types/eventBus.d.ts +1 -0
  450. package/out/types/eventBus.js +5 -0
  451. package/out/types/eventBus.js.map +1 -0
  452. package/out/types/generator/data.d.ts +36 -0
  453. package/out/types/generator/data.js +197 -0
  454. package/out/types/generator/data.js.map +1 -0
  455. package/out/types/generator/hotReload.d.ts +12 -0
  456. package/out/types/generator/hotReload.js +39 -0
  457. package/out/types/generator/hotReload.js.map +1 -0
  458. package/out/types/generator/index.d.ts +4 -0
  459. package/out/types/generator/index.js +17 -0
  460. package/out/types/generator/index.js.map +1 -0
  461. package/out/types/generator/load.d.ts +8 -0
  462. package/out/types/generator/load.js +92 -0
  463. package/out/types/generator/load.js.map +1 -0
  464. package/out/types/generator/page.d.ts +11 -0
  465. package/out/types/generator/page.js +42 -0
  466. package/out/types/generator/page.js.map +1 -0
  467. package/out/types/history.d.ts +10 -0
  468. package/out/types/history.js +13 -0
  469. package/out/types/history.js.map +1 -0
  470. package/out/types/index.d.ts +142 -0
  471. package/out/types/index.js +221 -0
  472. package/out/types/index.js.map +1 -0
  473. package/out/types/logic/BaseVariable.d.ts +75 -0
  474. package/out/types/logic/BaseVariable.js +159 -0
  475. package/out/types/logic/BaseVariable.js.map +1 -0
  476. package/out/types/logic/CallInterface.d.ts +1 -0
  477. package/out/types/logic/CallInterface.js +9 -0
  478. package/out/types/logic/CallInterface.js.map +1 -0
  479. package/out/types/logic/Logic.d.ts +148 -0
  480. package/out/types/logic/Logic.js +481 -0
  481. package/out/types/logic/Logic.js.map +1 -0
  482. package/out/types/logic/LogicItem.d.ts +319 -0
  483. package/out/types/logic/LogicItem.js +1278 -0
  484. package/out/types/logic/LogicItem.js.map +1 -0
  485. package/out/types/logic/Param.d.ts +85 -0
  486. package/out/types/logic/Param.js +357 -0
  487. package/out/types/logic/Param.js.map +1 -0
  488. package/out/types/logic/Return.d.ts +73 -0
  489. package/out/types/logic/Return.js +326 -0
  490. package/out/types/logic/Return.js.map +1 -0
  491. package/out/types/logic/Variable.d.ts +72 -0
  492. package/out/types/logic/Variable.js +317 -0
  493. package/out/types/logic/Variable.js.map +1 -0
  494. package/out/types/logic/expressions/BinaryExpression.d.ts +27 -0
  495. package/out/types/logic/expressions/BinaryExpression.js +56 -0
  496. package/out/types/logic/expressions/BinaryExpression.js.map +1 -0
  497. package/out/types/logic/expressions/BooleanLiteral.d.ts +19 -0
  498. package/out/types/logic/expressions/BooleanLiteral.js +42 -0
  499. package/out/types/logic/expressions/BooleanLiteral.js.map +1 -0
  500. package/out/types/logic/expressions/Identifier.d.ts +28 -0
  501. package/out/types/logic/expressions/Identifier.js +57 -0
  502. package/out/types/logic/expressions/Identifier.js.map +1 -0
  503. package/out/types/logic/expressions/LogicalExpression.d.ts +27 -0
  504. package/out/types/logic/expressions/LogicalExpression.js +56 -0
  505. package/out/types/logic/expressions/LogicalExpression.js.map +1 -0
  506. package/out/types/logic/expressions/MemberExpression.d.ts +23 -0
  507. package/out/types/logic/expressions/MemberExpression.js +52 -0
  508. package/out/types/logic/expressions/MemberExpression.js.map +1 -0
  509. package/out/types/logic/expressions/NullLiteral.d.ts +15 -0
  510. package/out/types/logic/expressions/NullLiteral.js +35 -0
  511. package/out/types/logic/expressions/NullLiteral.js.map +1 -0
  512. package/out/types/logic/expressions/NumericLiteral.d.ts +19 -0
  513. package/out/types/logic/expressions/NumericLiteral.js +42 -0
  514. package/out/types/logic/expressions/NumericLiteral.js.map +1 -0
  515. package/out/types/logic/expressions/StringLiteral.d.ts +19 -0
  516. package/out/types/logic/expressions/StringLiteral.js +42 -0
  517. package/out/types/logic/expressions/StringLiteral.js.map +1 -0
  518. package/out/types/logic/expressions/UnaryExpression.d.ts +23 -0
  519. package/out/types/logic/expressions/UnaryExpression.js +49 -0
  520. package/out/types/logic/expressions/UnaryExpression.js.map +1 -0
  521. package/out/types/logic/expressions/Unparsed.d.ts +19 -0
  522. package/out/types/logic/expressions/Unparsed.js +42 -0
  523. package/out/types/logic/expressions/Unparsed.js.map +1 -0
  524. package/out/types/logic/nodes/AssignmentExpression.d.ts +23 -0
  525. package/out/types/logic/nodes/AssignmentExpression.js +49 -0
  526. package/out/types/logic/nodes/AssignmentExpression.js.map +1 -0
  527. package/out/types/logic/nodes/BuiltInFuncParam.d.ts +27 -0
  528. package/out/types/logic/nodes/BuiltInFuncParam.js +56 -0
  529. package/out/types/logic/nodes/BuiltInFuncParam.js.map +1 -0
  530. package/out/types/logic/nodes/BuiltInFunction.d.ts +24 -0
  531. package/out/types/logic/nodes/BuiltInFunction.js +55 -0
  532. package/out/types/logic/nodes/BuiltInFunction.js.map +1 -0
  533. package/out/types/logic/nodes/CallConsoleLog.d.ts +19 -0
  534. package/out/types/logic/nodes/CallConsoleLog.js +42 -0
  535. package/out/types/logic/nodes/CallConsoleLog.js.map +1 -0
  536. package/out/types/logic/nodes/CallGraphQL.d.ts +28 -0
  537. package/out/types/logic/nodes/CallGraphQL.js +56 -0
  538. package/out/types/logic/nodes/CallGraphQL.js.map +1 -0
  539. package/out/types/logic/nodes/CallInterParam.d.ts +23 -0
  540. package/out/types/logic/nodes/CallInterParam.js +49 -0
  541. package/out/types/logic/nodes/CallInterParam.js.map +1 -0
  542. package/out/types/logic/nodes/CallInterface.d.ts +24 -0
  543. package/out/types/logic/nodes/CallInterface.js +49 -0
  544. package/out/types/logic/nodes/CallInterface.js.map +1 -0
  545. package/out/types/logic/nodes/CallLogic.d.ts +24 -0
  546. package/out/types/logic/nodes/CallLogic.js +55 -0
  547. package/out/types/logic/nodes/CallLogic.js.map +1 -0
  548. package/out/types/logic/nodes/CallMessageShow.d.ts +27 -0
  549. package/out/types/logic/nodes/CallMessageShow.js +56 -0
  550. package/out/types/logic/nodes/CallMessageShow.js.map +1 -0
  551. package/out/types/logic/nodes/Comment.d.ts +19 -0
  552. package/out/types/logic/nodes/Comment.js +42 -0
  553. package/out/types/logic/nodes/Comment.js.map +1 -0
  554. package/out/types/logic/nodes/CronJob.d.ts +19 -0
  555. package/out/types/logic/nodes/CronJob.js +42 -0
  556. package/out/types/logic/nodes/CronJob.js.map +1 -0
  557. package/out/types/logic/nodes/DBQuery.d.ts +19 -0
  558. package/out/types/logic/nodes/DBQuery.js +42 -0
  559. package/out/types/logic/nodes/DBQuery.js.map +1 -0
  560. package/out/types/logic/nodes/Destination.d.ts +32 -0
  561. package/out/types/logic/nodes/Destination.js +73 -0
  562. package/out/types/logic/nodes/Destination.js.map +1 -0
  563. package/out/types/logic/nodes/DestinationParam.d.ts +24 -0
  564. package/out/types/logic/nodes/DestinationParam.js +49 -0
  565. package/out/types/logic/nodes/DestinationParam.js.map +1 -0
  566. package/out/types/logic/nodes/End.d.ts +15 -0
  567. package/out/types/logic/nodes/End.js +36 -0
  568. package/out/types/logic/nodes/End.js.map +1 -0
  569. package/out/types/logic/nodes/ForEachStatement.d.ts +40 -0
  570. package/out/types/logic/nodes/ForEachStatement.js +77 -0
  571. package/out/types/logic/nodes/ForEachStatement.js.map +1 -0
  572. package/out/types/logic/nodes/IfStatement.d.ts +27 -0
  573. package/out/types/logic/nodes/IfStatement.js +56 -0
  574. package/out/types/logic/nodes/IfStatement.js.map +1 -0
  575. package/out/types/logic/nodes/JSBlock.d.ts +19 -0
  576. package/out/types/logic/nodes/JSBlock.js +46 -0
  577. package/out/types/logic/nodes/JSBlock.js.map +1 -0
  578. package/out/types/logic/nodes/JSONDeserialize.d.ts +19 -0
  579. package/out/types/logic/nodes/JSONDeserialize.js +42 -0
  580. package/out/types/logic/nodes/JSONDeserialize.js.map +1 -0
  581. package/out/types/logic/nodes/JSONSerialize.d.ts +19 -0
  582. package/out/types/logic/nodes/JSONSerialize.js +42 -0
  583. package/out/types/logic/nodes/JSONSerialize.js.map +1 -0
  584. package/out/types/logic/nodes/ProcessOutcome.d.ts +27 -0
  585. package/out/types/logic/nodes/ProcessOutcome.js +56 -0
  586. package/out/types/logic/nodes/ProcessOutcome.js.map +1 -0
  587. package/out/types/logic/nodes/Start.d.ts +15 -0
  588. package/out/types/logic/nodes/Start.js +35 -0
  589. package/out/types/logic/nodes/Start.js.map +1 -0
  590. package/out/types/logic/nodes/SwitchCase.d.ts +23 -0
  591. package/out/types/logic/nodes/SwitchCase.js +49 -0
  592. package/out/types/logic/nodes/SwitchCase.js.map +1 -0
  593. package/out/types/logic/nodes/SwitchStatement.d.ts +20 -0
  594. package/out/types/logic/nodes/SwitchStatement.js +42 -0
  595. package/out/types/logic/nodes/SwitchStatement.js.map +1 -0
  596. package/out/types/logic/nodes/TypeNote.d.ts +19 -0
  597. package/out/types/logic/nodes/TypeNote.js +42 -0
  598. package/out/types/logic/nodes/TypeNote.js.map +1 -0
  599. package/out/types/logic/nodes/WhileStatement.d.ts +23 -0
  600. package/out/types/logic/nodes/WhileStatement.js +49 -0
  601. package/out/types/logic/nodes/WhileStatement.js.map +1 -0
  602. package/out/types/logic/tools.d.ts +15 -0
  603. package/out/types/logic/tools.js +164 -0
  604. package/out/types/logic/tools.js.map +1 -0
  605. package/out/types/logic/translator.d.ts +1 -0
  606. package/out/types/logic/translator.js +595 -0
  607. package/out/types/logic/translator.js.map +1 -0
  608. package/out/types/login.d.ts +7 -0
  609. package/out/types/login.js +39 -0
  610. package/out/types/login.js.map +1 -0
  611. package/out/types/nuims/Nuims.d.ts +128 -0
  612. package/out/types/nuims/Nuims.js +439 -0
  613. package/out/types/nuims/Nuims.js.map +1 -0
  614. package/out/types/page/Attr.d.ts +79 -0
  615. package/out/types/page/Attr.js +217 -0
  616. package/out/types/page/Attr.js.map +1 -0
  617. package/out/types/page/Block.d.ts +65 -0
  618. package/out/types/page/Block.js +82 -0
  619. package/out/types/page/Block.js.map +1 -0
  620. package/out/types/page/Directive.d.ts +78 -0
  621. package/out/types/page/Directive.js +202 -0
  622. package/out/types/page/Directive.js.map +1 -0
  623. package/out/types/page/Element.d.ts +239 -0
  624. package/out/types/page/Element.js +1322 -0
  625. package/out/types/page/Element.js.map +1 -0
  626. package/out/types/page/Event.d.ts +63 -0
  627. package/out/types/page/Event.js +212 -0
  628. package/out/types/page/Event.js.map +1 -0
  629. package/out/types/page/Lifecycle.d.ts +58 -0
  630. package/out/types/page/Lifecycle.js +192 -0
  631. package/out/types/page/Lifecycle.js.map +1 -0
  632. package/out/types/page/Page.d.ts +90 -0
  633. package/out/types/page/Page.js +379 -0
  634. package/out/types/page/Page.js.map +1 -0
  635. package/out/types/page/View.d.ts +235 -0
  636. package/out/types/page/View.js +1065 -0
  637. package/out/types/page/View.js.map +1 -0
  638. package/out/types/page/ViewParam.d.ts +72 -0
  639. package/out/types/page/ViewParam.js +277 -0
  640. package/out/types/page/ViewParam.js.map +1 -0
  641. package/out/types/page/ViewVariable.d.ts +73 -0
  642. package/out/types/page/ViewVariable.js +287 -0
  643. package/out/types/page/ViewVariable.js.map +1 -0
  644. package/out/types/process/Process.d.ts +118 -0
  645. package/out/types/process/Process.js +357 -0
  646. package/out/types/process/Process.js.map +1 -0
  647. package/out/types/process/ProcessComponent.d.ts +133 -0
  648. package/out/types/process/ProcessComponent.js +339 -0
  649. package/out/types/process/ProcessComponent.js.map +1 -0
  650. package/out/types/process/ProcessComponentAttribute.d.ts +63 -0
  651. package/out/types/process/ProcessComponentAttribute.js +163 -0
  652. package/out/types/process/ProcessComponentAttribute.js.map +1 -0
  653. package/out/types/process/ProcessComponentProperty.d.ts +37 -0
  654. package/out/types/process/ProcessComponentProperty.js +81 -0
  655. package/out/types/process/ProcessComponentProperty.js.map +1 -0
  656. package/out/types/process/ProcessComponentReturn.d.ts +77 -0
  657. package/out/types/process/ProcessComponentReturn.js +260 -0
  658. package/out/types/process/ProcessComponentReturn.js.map +1 -0
  659. package/out/types/process/ProcessComponentVariable.d.ts +78 -0
  660. package/out/types/process/ProcessComponentVariable.js +252 -0
  661. package/out/types/process/ProcessComponentVariable.js.map +1 -0
  662. package/out/types/process/ProcessInterface.d.ts +112 -0
  663. package/out/types/process/ProcessInterface.js +227 -0
  664. package/out/types/process/ProcessInterface.js.map +1 -0
  665. package/out/types/process/ProcessParam.d.ts +77 -0
  666. package/out/types/process/ProcessParam.js +259 -0
  667. package/out/types/process/ProcessParam.js.map +1 -0
  668. package/out/types/process/ProcessProperty.d.ts +37 -0
  669. package/out/types/process/ProcessProperty.js +81 -0
  670. package/out/types/process/ProcessProperty.js.map +1 -0
  671. package/out/types/process/ProcessReturn.d.ts +73 -0
  672. package/out/types/process/ProcessReturn.js +237 -0
  673. package/out/types/process/ProcessReturn.js.map +1 -0
  674. package/out/types/typeCheck.d.ts +30 -0
  675. package/out/types/typeCheck.js +81 -0
  676. package/out/types/typeCheck.js.map +1 -0
  677. package/out/types/utils/index.d.ts +25 -0
  678. package/out/types/utils/index.js +81 -0
  679. package/out/types/utils/index.js.map +1 -0
  680. package/out/types/utils/logger.d.ts +3 -0
  681. package/out/types/utils/logger.js +14 -0
  682. package/out/types/utils/logger.js.map +1 -0
  683. package/out/types/utils/string.d.ts +34 -0
  684. package/out/types/utils/string.js +62 -0
  685. package/out/types/utils/string.js.map +1 -0
  686. package/out/types/utils/traverse.d.ts +35 -0
  687. package/out/types/utils/traverse.js +126 -0
  688. package/out/types/utils/traverse.js.map +1 -0
  689. package/package.json +64 -0
  690. package/spec/conceptMap.json +3310 -0
  691. package/spec/spec.yaml +416 -0
  692. package/spec-build/index.ts +98 -0
  693. package/src/routes.map.js +5 -0
  694. package/src/service/app/api.js +84 -0
  695. package/src/service/app/index.d.tmp +16 -0
  696. package/src/service/app/index.js +6 -0
  697. package/src/service/assets/asset.js +76 -0
  698. package/src/service/assets/block.js +8 -0
  699. package/src/service/assets/index.js +7 -0
  700. package/src/service/common/findUsage.js +8 -0
  701. package/src/service/common/index.js +6 -0
  702. package/src/service/common/preprocess.js +54 -0
  703. package/src/service/common/schema.js +9 -0
  704. package/src/service/create/add.configs.js +66 -0
  705. package/src/service/create/errHandles.js +42 -0
  706. package/src/service/create/index.js +74 -0
  707. package/src/service/data/api.js +33 -0
  708. package/src/service/data/entity.js +101 -0
  709. package/src/service/data/enum.js +53 -0
  710. package/src/service/data/enumProperty.js +20 -0
  711. package/src/service/data/generic.js +8 -0
  712. package/src/service/data/index.js +18 -0
  713. package/src/service/data/interface.js +56 -0
  714. package/src/service/data/structure.js +75 -0
  715. package/src/service/logic/index.js +11 -0
  716. package/src/service/logic/logic.js +88 -0
  717. package/src/service/logic/param.js +26 -0
  718. package/src/service/nuims/api.js +192 -0
  719. package/src/service/nuims/index.js +13 -0
  720. package/src/service/page/api.js +1374 -0
  721. package/src/service/page/attribute.js +20 -0
  722. package/src/service/page/directive.js +20 -0
  723. package/src/service/page/element.js +34 -0
  724. package/src/service/page/event.js +20 -0
  725. package/src/service/page/index.js +19 -0
  726. package/src/service/page/lifecycle.js +20 -0
  727. package/src/service/page/templates.ts +72 -0
  728. package/src/service/page/view.js +116 -0
  729. package/src/service/process/api.js +92 -0
  730. package/src/service/process/index.js +6 -0
  731. package/src/service/undoredo/api.js +26 -0
  732. package/src/service/undoredo/index.js +6 -0
  733. package/src/service/webFile/api.js +32 -0
  734. package/src/service/webFile/index.d.tmp +62 -0
  735. package/src/service/webFile/index.js +23 -0
  736. package/src/service/webFile/loadCache.js +14 -0
  737. package/src/test/fixtures/env.ts +21 -0
  738. package/src/test/units/app/App.spec.ts +16 -0
  739. package/src/test/units/app/Service.spec.ts +31 -0
  740. package/src/test/units/common/Vertex.spec.ts +25 -0
  741. package/src/test/units/data/Entity.spec.ts +10 -0
  742. package/src/test/units/login.spec.ts +10 -0
  743. package/src/test/units/page/Block.spec.ts +15 -0
  744. package/src/test/units/page/Element.spec.ts +45 -0
  745. package/src/test/units/page/example.dashboard.html +46 -0
  746. package/src/test/units/page/example.view1.html +63 -0
  747. package/src/test/units/temp/temp.spec.ts +66 -0
  748. package/src/types/app/App.ts +267 -0
  749. package/src/types/app/History.ts +388 -0
  750. package/src/types/app/Service.ts +920 -0
  751. package/src/types/cacheData.ts +33 -0
  752. package/src/types/common/ComponentAPI.ts +103 -0
  753. package/src/types/common/EventEmitter.ts +56 -0
  754. package/src/types/common/PackageJSON.ts +22 -0
  755. package/src/types/common/Vertex.ts +265 -0
  756. package/src/types/config.ts +22 -0
  757. package/src/types/data/DataNode.ts +37 -0
  758. package/src/types/data/Entity.ts +516 -0
  759. package/src/types/data/EntityIndex.ts +238 -0
  760. package/src/types/data/EntityProperty.ts +507 -0
  761. package/src/types/data/Enum.ts +235 -0
  762. package/src/types/data/EnumItem.ts +156 -0
  763. package/src/types/data/GlobalLogicNode.ts +201 -0
  764. package/src/types/data/Interface.ts +435 -0
  765. package/src/types/data/Schema.ts +133 -0
  766. package/src/types/data/Structure.ts +300 -0
  767. package/src/types/data/StructureProperty.ts +332 -0
  768. package/src/types/data/basicTypes.ts +76 -0
  769. package/src/types/data/dataTypeUtils.ts +426 -0
  770. package/src/types/data/dataTypes.ts +68 -0
  771. package/src/types/data/entityUtils.ts +681 -0
  772. package/src/types/data/genBlock/builtInFunctions.json +545 -0
  773. package/src/types/data/genBlock/genCallComponentLogic.ts +28 -0
  774. package/src/types/data/genBlock/genCallInterface.ts +87 -0
  775. package/src/types/data/genBlock/genCreateBlock.ts +306 -0
  776. package/src/types/data/genBlock/genCurdBlock.ts +654 -0
  777. package/src/types/data/genBlock/genEnumSelectBlock.ts +21 -0
  778. package/src/types/data/genBlock/genGetBlock.ts +160 -0
  779. package/src/types/data/genBlock/genGridViewBlock.ts +305 -0
  780. package/src/types/data/genBlock/genListViewBlock.ts +130 -0
  781. package/src/types/data/genBlock/genQueryComponent.ts +492 -0
  782. package/src/types/data/genBlock/genSelectBlock.ts +123 -0
  783. package/src/types/data/genBlock/genTableBlock.ts +300 -0
  784. package/src/types/data/genBlock/genUpdateBlock.ts +391 -0
  785. package/src/types/data/genBlock/index.ts +18 -0
  786. package/src/types/data/genBlock/utils.ts +214 -0
  787. package/src/types/data/genericTypes.ts +147 -0
  788. package/src/types/data/systemTypes.ts +1515 -0
  789. package/src/types/decorators/index.ts +52 -0
  790. package/src/types/generator/data.ts +206 -0
  791. package/src/types/generator/hotReload.ts +31 -0
  792. package/src/types/generator/index.ts +4 -0
  793. package/src/types/generator/load.ts +97 -0
  794. package/src/types/generator/page.ts +37 -0
  795. package/src/types/history.ts +14 -0
  796. package/src/types/index.ts +161 -0
  797. package/src/types/logic/BaseVariable.ts +130 -0
  798. package/src/types/logic/Logic.ts +442 -0
  799. package/src/types/logic/LogicItem.ts +1257 -0
  800. package/src/types/logic/Param.ts +328 -0
  801. package/src/types/logic/Return.ts +305 -0
  802. package/src/types/logic/Variable.ts +294 -0
  803. package/src/types/logic/expressions/BinaryExpression.ts +35 -0
  804. package/src/types/logic/expressions/BooleanLiteral.ts +25 -0
  805. package/src/types/logic/expressions/Identifier.ts +36 -0
  806. package/src/types/logic/expressions/LogicalExpression.ts +35 -0
  807. package/src/types/logic/expressions/MemberExpression.ts +33 -0
  808. package/src/types/logic/expressions/NullLiteral.ts +20 -0
  809. package/src/types/logic/expressions/NumericLiteral.ts +25 -0
  810. package/src/types/logic/expressions/StringLiteral.ts +25 -0
  811. package/src/types/logic/expressions/UnaryExpression.ts +30 -0
  812. package/src/types/logic/expressions/Unparsed.ts +25 -0
  813. package/src/types/logic/nodes/AssignmentExpression.ts +30 -0
  814. package/src/types/logic/nodes/BuiltInFuncParam.ts +35 -0
  815. package/src/types/logic/nodes/BuiltInFunction.ts +39 -0
  816. package/src/types/logic/nodes/CallConsoleLog.ts +25 -0
  817. package/src/types/logic/nodes/CallGraphQL.ts +36 -0
  818. package/src/types/logic/nodes/CallInterParam.ts +30 -0
  819. package/src/types/logic/nodes/CallInterface.ts +31 -0
  820. package/src/types/logic/nodes/CallLogic.ts +39 -0
  821. package/src/types/logic/nodes/CallMessageShow.ts +35 -0
  822. package/src/types/logic/nodes/Comment.ts +25 -0
  823. package/src/types/logic/nodes/CronJob.ts +25 -0
  824. package/src/types/logic/nodes/DBQuery.ts +25 -0
  825. package/src/types/logic/nodes/Destination.ts +52 -0
  826. package/src/types/logic/nodes/DestinationParam.ts +31 -0
  827. package/src/types/logic/nodes/End.ts +21 -0
  828. package/src/types/logic/nodes/ForEachStatement.ts +52 -0
  829. package/src/types/logic/nodes/IfStatement.ts +35 -0
  830. package/src/types/logic/nodes/JSBlock.ts +29 -0
  831. package/src/types/logic/nodes/JSONDeserialize.ts +25 -0
  832. package/src/types/logic/nodes/JSONSerialize.ts +25 -0
  833. package/src/types/logic/nodes/ProcessOutcome.ts +35 -0
  834. package/src/types/logic/nodes/Start.ts +20 -0
  835. package/src/types/logic/nodes/SwitchCase.ts +30 -0
  836. package/src/types/logic/nodes/SwitchStatement.ts +26 -0
  837. package/src/types/logic/nodes/TypeNote.ts +25 -0
  838. package/src/types/logic/nodes/WhileStatement.ts +30 -0
  839. package/src/types/logic/tools.js +170 -0
  840. package/src/types/logic/translator.js +636 -0
  841. package/src/types/logic/translator_backup.js +643 -0
  842. package/src/types/login.ts +36 -0
  843. package/src/types/nuims/Nuims.ts +493 -0
  844. package/src/types/page/Attr.ts +217 -0
  845. package/src/types/page/Block.ts +103 -0
  846. package/src/types/page/Directive.ts +208 -0
  847. package/src/types/page/Element.ts +1320 -0
  848. package/src/types/page/Event.ts +191 -0
  849. package/src/types/page/Lifecycle.ts +172 -0
  850. package/src/types/page/Page.ts +363 -0
  851. package/src/types/page/View.ts +1089 -0
  852. package/src/types/page/ViewParam.ts +265 -0
  853. package/src/types/page/ViewVariable.ts +274 -0
  854. package/src/types/process/Process.ts +306 -0
  855. package/src/types/process/ProcessComponent.ts +276 -0
  856. package/src/types/process/ProcessComponentAttribute.ts +131 -0
  857. package/src/types/process/ProcessComponentProperty.ts +68 -0
  858. package/src/types/process/ProcessComponentReturn.ts +235 -0
  859. package/src/types/process/ProcessComponentVariable.ts +225 -0
  860. package/src/types/process/ProcessInterface.ts +175 -0
  861. package/src/types/process/ProcessParam.ts +234 -0
  862. package/src/types/process/ProcessProperty.ts +69 -0
  863. package/src/types/process/ProcessReturn.ts +210 -0
  864. package/src/types/typeCheck.ts +109 -0
  865. package/src/types/utils/index.ts +82 -0
  866. package/src/types/utils/logger.ts +8 -0
  867. package/src/types/utils/string.ts +56 -0
  868. package/src/types/utils/traverse.ts +160 -0
  869. package/src/views/components/lcap-json-view/README.md +80 -0
  870. package/src/views/components/lcap-json-view/index.js +9 -0
  871. package/src/views/components/lcap-json-view/index.vue +61 -0
  872. package/src/views/components/lcap-json-view/node.vue +328 -0
  873. package/src/views/components/lcap-json-view/utils.js +41 -0
  874. package/src/views/examples/index.vue +44 -0
  875. package/src/views/examples/logic.json +1576 -0
  876. package/src/views/index.vue +28 -0
  877. package/src/views/specification/README.md +10 -0
  878. package/src/views/specification/conceptTree.js +1179 -0
  879. package/src/views/specification/index.vue +255 -0
  880. package/src/views/theme.css +138 -0
  881. package/tsconfig.json +34 -0
@@ -0,0 +1,1322 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.Element = void 0;
29
+ // import stringify = require('json-stringify-safe');
30
+ const decorators_1 = require("../decorators");
31
+ const __1 = require("..");
32
+ const compiler = __importStar(require("vue-template-compiler"));
33
+ const json5 = __importStar(require("json5"));
34
+ const page_1 = require("../../service/page");
35
+ const cacheData_1 = require("../cacheData");
36
+ const babelParser = __importStar(require("@babel/parser"));
37
+ const lodash_1 = require("lodash");
38
+ /**
39
+ * 前端页面元素
40
+ * @example
41
+ * <u-input size="small" v-model="value" @change="onChange"></u-input>
42
+ */
43
+ class Element extends __1.Vertex {
44
+ /**
45
+ * @param source 需要合并的部分参数
46
+ */
47
+ constructor(source) {
48
+ super();
49
+ /**
50
+ * 概念类型
51
+ */
52
+ this.level = __1.LEVEL_ENUM.element;
53
+ /**
54
+ * 元素类型
55
+ * 去除了 expression 和 text,目前只有一种节点类型
56
+ */
57
+ this.type = 0;
58
+ /**
59
+ * 元素 Id
60
+ */
61
+ this.id = undefined;
62
+ /**
63
+ * 元素标签
64
+ */
65
+ this.tag = undefined;
66
+ /**
67
+ * 元素名称
68
+ * 用户可以自定义
69
+ * Vue 中的 ref
70
+ */
71
+ this.name = undefined;
72
+ /**
73
+ * 属性列表
74
+ * 和原来的 attrsList 不同,注意区分
75
+ */
76
+ this.attrList = [];
77
+ /**
78
+ * 事件列表
79
+ */
80
+ this.eventList = [];
81
+ /**
82
+ * 指令列表
83
+ */
84
+ this.directiveList = [];
85
+ /**
86
+ * 插槽目标
87
+ * @example
88
+ * 'cell'
89
+ */
90
+ this.slotTarget = undefined;
91
+ /**
92
+ * 插槽 scope 表达式
93
+ * @example
94
+ * 'scope'
95
+ */
96
+ this.slotScope = undefined;
97
+ /**
98
+ * 静态 class 名
99
+ * 不计划支持动态 class
100
+ */
101
+ this.staticClass = undefined;
102
+ /**
103
+ * 静态 style
104
+ * 不计划支持动态样式
105
+ */
106
+ this.staticStyle = undefined;
107
+ /**
108
+ * 当前节点路径,只在前端动态计算后使用
109
+ */
110
+ this.nodePath = undefined;
111
+ /**
112
+ * 所在父元素 Id
113
+ */
114
+ this.parentId = undefined;
115
+ /**
116
+ * 所在位置
117
+ */
118
+ this._posIndex = undefined;
119
+ /**
120
+ * 所在父元素
121
+ */
122
+ this.parent = undefined;
123
+ /**
124
+ * 所在父元素 Id
125
+ */
126
+ this.viewId = undefined;
127
+ /**
128
+ * 所在子页面
129
+ */
130
+ this.view = undefined;
131
+ /**
132
+ * 子元素
133
+ */
134
+ this.children = [];
135
+ source && this.assign(source);
136
+ // 为了给生成的节点使用
137
+ // !this.id && this.assign({ id: uuidv4() });
138
+ // this.assign({ id: 'temp-' + uuidv4() });
139
+ }
140
+ assign(source) {
141
+ ['attrList', 'eventList', 'directiveList', 'children'].forEach((key) => {
142
+ if (source[key] === null)
143
+ delete source[key];
144
+ });
145
+ super.assign(source);
146
+ }
147
+ /**
148
+ * 添加元素
149
+ */
150
+ async create(none, actionOptions) {
151
+ if (actionOptions?.actionMode === __1.ACTION_MODE.local) {
152
+ this.view && this.view.emit('local-change');
153
+ return this;
154
+ }
155
+ __1.config.defaultApp?.emit('saving');
156
+ try {
157
+ if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
158
+ const body = this.toJSON();
159
+ body.parentId = this.parent && this.parent.id;
160
+ body._posIndex = this.parent && this.parent.children.indexOf(this);
161
+ __1.utils.logger.debug('添加元素', body);
162
+ const result = await page_1.elementService.create({
163
+ headers: {
164
+ appId: __1.config.defaultApp?.id,
165
+ operationAction: 'Element.create',
166
+ operationDesc: `添加组件"${this.getElementTitle()}"`,
167
+ },
168
+ body,
169
+ });
170
+ // Nuims createResource
171
+ // Element 对应资源增删在 undo/redo 情况下可能存在权限丢失的情况
172
+ // 暂时只增不减
173
+ // new Nuims({
174
+ // domainName: this.view.page.service.app.name,
175
+ // element: this,
176
+ // }).createResource();
177
+ this.deepPick(result, ['id', 'parentId', 'elementId']);
178
+ // attr,directive,event的id,exprssion需要合并
179
+ this.attrList.forEach((attr, index) => {
180
+ attr.deepPick(result.attrList[index], ['id', 'expression']);
181
+ });
182
+ this.directiveList.forEach((directive, index) => {
183
+ directive.deepPick(result.directiveList[index], ['id', 'expression']);
184
+ });
185
+ this.eventList.forEach((event, index) => {
186
+ event.deepPick(result.eventList[index], ['id']);
187
+ });
188
+ }
189
+ this.view && this.view.emit('change');
190
+ if (actionOptions?.loadHistory !== false) {
191
+ await __1.config.defaultApp?.history.load(actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo && {
192
+ operationAction: 'Element.create',
193
+ operationBeforeImage: null,
194
+ operationAfterImage: JSON.parse(JSON.stringify(this)),
195
+ operationDesc: `添加组件"${this.getElementTitle()}"`,
196
+ });
197
+ __1.config.defaultApp?.emit('saved');
198
+ }
199
+ return this;
200
+ }
201
+ catch (err) {
202
+ if (this.view) {
203
+ await this.view.load();
204
+ this.view.emit('change');
205
+ __1.config.defaultApp?.emit('saved');
206
+ }
207
+ throw err;
208
+ }
209
+ }
210
+ /**
211
+ * 删除元素
212
+ */
213
+ async delete(none, actionOptions) {
214
+ if (actionOptions?.actionMode === __1.ACTION_MODE.local) {
215
+ const index = this.parent.children.indexOf(this);
216
+ ~index && this.parent.children.splice(index, 1);
217
+ this.view && this.view.emit('local-change');
218
+ return this;
219
+ }
220
+ __1.config.defaultApp?.emit('saving');
221
+ if (!this.parent)
222
+ throw Error('该元素为根节点!');
223
+ if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
224
+ if (this.id) {
225
+ try {
226
+ await page_1.elementService.delete({
227
+ headers: {
228
+ appId: __1.config.defaultApp?.id,
229
+ operationAction: 'Element.delete',
230
+ operationDesc: `删除组件"${this.getElementTitle()}"`,
231
+ },
232
+ query: {
233
+ id: this.id,
234
+ },
235
+ });
236
+ }
237
+ catch (err) {
238
+ await __1.config.defaultApp?.history.load();
239
+ throw err;
240
+ }
241
+ // Nuims deleteResource
242
+ // Element 对应资源增删在 undo/redo 情况下可能存在权限丢失的情况
243
+ // 暂时只增不减
244
+ // new Nuims({
245
+ // domainName: this.view.page.service.app.name,
246
+ // element: this,
247
+ // }).deleteResources();
248
+ }
249
+ }
250
+ const index = this.parent.children.indexOf(this);
251
+ ~index && this.parent.children.splice(index, 1);
252
+ this.destroy();
253
+ this.view && this.view.emit('change');
254
+ if (actionOptions?.loadHistory !== false) {
255
+ await __1.config.defaultApp?.history.load(actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo && {
256
+ operationAction: 'Element.delete',
257
+ operationBeforeImage: JSON.parse(JSON.stringify(this)),
258
+ operationAfterImage: null,
259
+ operationDesc: `删除组件"${this.getElementTitle()}"`,
260
+ });
261
+ __1.config.defaultApp?.emit('saved');
262
+ }
263
+ }
264
+ /**
265
+ * 修改元素
266
+ */
267
+ async update(source, actionOptions) {
268
+ __1.config.defaultApp?.emit('saving');
269
+ source && this.assign(source);
270
+ try {
271
+ if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
272
+ const body = this.toPlainJSON();
273
+ __1.utils.logger.debug('修改组件', body);
274
+ await page_1.elementService.update({
275
+ headers: {
276
+ appId: __1.config.defaultApp?.id,
277
+ operationAction: actionOptions?.actionName || 'Element.update',
278
+ operationDesc: actionOptions?.actionDesc || `修改组件"${this.getElementTitle()}"`,
279
+ },
280
+ body,
281
+ });
282
+ }
283
+ this.view && this.view.emit('change');
284
+ await __1.config.defaultApp?.history.load(actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo && {
285
+ operationAction: 'Element.update',
286
+ operationBeforeImage: null,
287
+ operationAfterImage: null,
288
+ operationDesc: `修改组件"${this.getElementTitle()}"`,
289
+ });
290
+ __1.config.defaultApp?.emit('saved');
291
+ return this;
292
+ }
293
+ catch (err) {
294
+ if (this.view) {
295
+ await this.view.load();
296
+ this.view.emit('change');
297
+ __1.config.defaultApp?.emit('saved');
298
+ }
299
+ throw err;
300
+ }
301
+ }
302
+ async move(options, actionOptions) {
303
+ try {
304
+ if (!options.parentId)
305
+ return;
306
+ __1.config.defaultApp?.emit('element.moving');
307
+ const index = this.parent.children.indexOf(this);
308
+ ~index && this.parent.children.splice(index, 1);
309
+ const parent = cacheData_1.vertexsMap.get(options.parentId);
310
+ parent.children.splice(options._posIndex, 0, this);
311
+ this.assign({
312
+ parent,
313
+ parentId: options.parentId,
314
+ _posIndex: options._posIndex,
315
+ });
316
+ if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
317
+ await this.update(undefined, {
318
+ actionName: 'Element.move',
319
+ actionDesc: `移动组件"${this.getElementTitle()}"`,
320
+ });
321
+ this.view.attachNodePath();
322
+ }
323
+ else {
324
+ this.view.attachNodePath();
325
+ this.view && this.view.emit('change');
326
+ await __1.config.defaultApp?.history.load();
327
+ }
328
+ __1.config.defaultApp?.emit('element.moved');
329
+ }
330
+ catch (err) {
331
+ if (this.view) {
332
+ await this.view.load();
333
+ this.view.emit('change');
334
+ }
335
+ throw err;
336
+ }
337
+ }
338
+ /**
339
+ * 添加元素副本
340
+ * 在所在父节点的后面添加一个相同的元素
341
+ */
342
+ async duplicate() {
343
+ const code = this.toVue();
344
+ const index = this.parent.children.indexOf(this);
345
+ const newNode = Element.fromHTML(code, this.parent, this.view);
346
+ const mergeExpression = (originList, newList) => {
347
+ newList.forEach((item) => {
348
+ const originItem = originList.find((originItem) => originItem.name === item.name);
349
+ if (originItem && originItem.expression) {
350
+ // item.expression可能为空
351
+ const expression = lodash_1.cloneDeep(originItem.expression);
352
+ Object.assign(item, { expression, value: '' });
353
+ Object.assign(item.expression, { id: '' });
354
+ __1.utils.traverse((current) => {
355
+ delete current.node.editable;
356
+ delete current.node.index;
357
+ delete current.node.parentAttr;
358
+ delete current.node.parentId;
359
+ delete current.node.id;
360
+ }, { node: item.expression }, { mode: 'anyObject' });
361
+ }
362
+ });
363
+ };
364
+ // 遍历合并
365
+ const traverseMergeNode = (origiNode, newNode) => {
366
+ const originalStack = [];
367
+ const newStack = [];
368
+ originalStack.push(origiNode);
369
+ newStack.push(newNode);
370
+ let originalTempNode;
371
+ let newTempNode;
372
+ while (originalStack.length) {
373
+ originalTempNode = originalStack.pop();
374
+ newTempNode = newStack.pop();
375
+ if (newTempNode) {
376
+ mergeExpression(originalTempNode.attrList, newTempNode.attrList);
377
+ mergeExpression(originalTempNode.directiveList, newTempNode.directiveList);
378
+ newTempNode.eventList.forEach((event) => {
379
+ const originEvent = originalTempNode.eventList.find((eventTemp) => eventTemp.name === event.name);
380
+ if (originEvent) {
381
+ Object.assign(event, {
382
+ logicId: originEvent.logicId,
383
+ });
384
+ }
385
+ });
386
+ if (originalTempNode.children.length) {
387
+ for (let i = originalTempNode.children.length - 1; i >= 0; i--) {
388
+ originalStack.push(originalTempNode.children[i]);
389
+ newStack.push(newTempNode.children[i]);
390
+ }
391
+ }
392
+ }
393
+ }
394
+ };
395
+ traverseMergeNode(this, newNode);
396
+ ~index && this.parent.children.splice(index + 1, 0, newNode);
397
+ this.parent.children.forEach((item, index) => {
398
+ item._posIndex = index;
399
+ });
400
+ try {
401
+ await newNode.create();
402
+ }
403
+ catch {
404
+ ~index && this.parent.children.splice(index + 1, 1);
405
+ this.parent.children.forEach((item, index) => {
406
+ item._posIndex = index;
407
+ });
408
+ }
409
+ }
410
+ /**
411
+ * 添加子元素
412
+ * @param child
413
+ */
414
+ addChild(child, actionOptions) {
415
+ if (typeof child === 'string') {
416
+ child = Element.fromHTML(child, this, this.view);
417
+ }
418
+ if (lodash_1.isPlainObject(child)) {
419
+ child = Element.from(child, this, this.view);
420
+ }
421
+ if (!this.children.includes(child)) {
422
+ const index = child._posIndex === undefined ? this.children.length : child._posIndex;
423
+ this.children.splice(index, 0, child);
424
+ }
425
+ return child.create(undefined, actionOptions);
426
+ }
427
+ /**
428
+ * 删除子元素
429
+ * @param child
430
+ */
431
+ removeChild(child, actionOptions) {
432
+ if (lodash_1.isPlainObject(child)) {
433
+ child = this.children.find((item) => item.id === child.id);
434
+ }
435
+ return child.delete(undefined, actionOptions);
436
+ }
437
+ getElementTitle() {
438
+ const currentNode = __1.config.allNodesAPI?.[this.tag];
439
+ return currentNode?.title || this.tag;
440
+ }
441
+ /**
442
+ * 设置组件名称
443
+ */
444
+ async setName(name) {
445
+ const oldName = this.name;
446
+ this.assign({ name });
447
+ await this.update(undefined, {
448
+ actionDesc: `设置组件"${this.getElementTitle()}"的名称为"${name}"`,
449
+ });
450
+ // 同步权限
451
+ new __1.Nuims({
452
+ domainName: this.view.page.service.app.name,
453
+ element: this,
454
+ }).editResourceFromResourceValue(oldName ? `${this.view.tempPath}/${oldName}` : null);
455
+ this.view && this.view.emit('change');
456
+ if (this.view && this.view.page && this.view.page.service) {
457
+ this.view.page.service.emit('vertexIdToNameChange', this.id, this.name);
458
+ }
459
+ }
460
+ /**
461
+ * 添加组件属性
462
+ */
463
+ async addAttr(attr, actionOptions) {
464
+ if (lodash_1.isPlainObject(attr)) {
465
+ attr = __1.Attr.from(attr, this);
466
+ }
467
+ if (!this.attrList.includes(attr))
468
+ this.attrList.push(attr);
469
+ await attr.create(undefined, Object.assign({
470
+ actionDesc: `添加组件"${this.getElementTitle()}"属性"${attr.name}"`,
471
+ }, actionOptions));
472
+ }
473
+ /**
474
+ * 删除组件属性
475
+ */
476
+ async deleteAttr(attr, actionOptions) {
477
+ if (!attr)
478
+ throw Error(`该组件"${this.getElementTitle()}"没有属性"${attr.name}"`);
479
+ if (lodash_1.isPlainObject(attr))
480
+ attr = this.attrList.find((item) => item.id === attr.id);
481
+ await attr.delete(undefined, Object.assign({
482
+ actionDesc: `删除组件"${this.getElementTitle()}"属性"${attr.name}"`,
483
+ }, actionOptions));
484
+ }
485
+ /**
486
+ * 获取组件属性
487
+ */
488
+ getAttr(name) {
489
+ return this.attrList.find((attr) => attr.name === name);
490
+ }
491
+ /**
492
+ * 设置组件属性
493
+ */
494
+ async setAttr(name, type, value) {
495
+ let attr = this.getAttr(name);
496
+ //
497
+ if (value === undefined) {
498
+ }
499
+ else {
500
+ if (typeof value !== 'string')
501
+ value = JSON.stringify(value);
502
+ if (attr) {
503
+ attr.assign({
504
+ type,
505
+ value,
506
+ });
507
+ await attr.update(undefined, {
508
+ actionDesc: `设置组件"${this.getElementTitle()}"属性"${attr.name}"的值为"${attr.value}"`,
509
+ });
510
+ }
511
+ else {
512
+ attr = __1.Attr.from({
513
+ name,
514
+ type,
515
+ value,
516
+ elementId: this.id,
517
+ }, this);
518
+ await attr.create(undefined, {
519
+ actionDesc: `设置组件"${this.getElementTitle()}"属性"${attr.name}"的值为"${attr.value}"`,
520
+ });
521
+ this.attrList.push(attr);
522
+ }
523
+ }
524
+ this.view && this.view.emit('change');
525
+ }
526
+ /**
527
+ * 添加组件事件
528
+ */
529
+ async addEvent(data, actionOptions) {
530
+ // (data as any).element = this;
531
+ let event = new __1.Event(data);
532
+ await event.create(undefined, Object.assign({
533
+ actionDesc: `添加组件"${this.getElementTitle()}"事件"${event.name}"`,
534
+ }, actionOptions));
535
+ event = __1.Event.from(event, this);
536
+ this.eventList.push(event);
537
+ this.view && this.view.emit('change');
538
+ await __1.config.defaultApp?.history.load();
539
+ __1.config.defaultApp?.emit('saved');
540
+ return event;
541
+ }
542
+ /**
543
+ * 删除组件属性
544
+ */
545
+ async deleteEvent(event, actionOptions) {
546
+ if (!event)
547
+ throw Error(`该组件"${this.getElementTitle()}"没有事件"${event.name}"`);
548
+ if (lodash_1.isPlainObject(event))
549
+ event = this.eventList.find((item) => item.id === event.id);
550
+ await event.delete(undefined, Object.assign({
551
+ actionDesc: `删除组件"${this.getElementTitle()}"事件"${event.name}"`,
552
+ }, actionOptions));
553
+ const index = this.eventList.indexOf(event);
554
+ ~index && this.eventList.splice(index, 1);
555
+ this.view && this.view.emit('change');
556
+ await __1.config.defaultApp?.history.load();
557
+ __1.config.defaultApp?.emit('saved');
558
+ }
559
+ /**
560
+ * 添加组件指令
561
+ */
562
+ async addDirective(data, actionOptions) {
563
+ // (data as any).element = this;
564
+ const directive = new __1.Directive(data);
565
+ await directive.create(undefined, Object.assign({
566
+ actionDesc: `添加组件"${this.getElementTitle()}"指令"${directive.name}"`,
567
+ }, actionOptions));
568
+ this.directiveList.push(__1.Directive.from(directive, this));
569
+ this.view && this.view.emit('change');
570
+ }
571
+ /**
572
+ * 删除组件属性
573
+ */
574
+ async deleteDirective(directive, actionOptions) {
575
+ if (!directive)
576
+ throw Error(`该组件"${this.getElementTitle()}"没有指令"${directive.name}"`);
577
+ if (lodash_1.isPlainObject(directive))
578
+ directive = this.directiveList.find((item) => item.id === directive.id);
579
+ await directive.delete(undefined, Object.assign({
580
+ actionDesc: `删除组件"${this.getElementTitle()}"属性"${directive.name}"`,
581
+ }, actionOptions));
582
+ const index = this.directiveList.indexOf(directive);
583
+ ~index && this.directiveList.splice(index, 1);
584
+ this.view && this.view.emit('change');
585
+ }
586
+ /**
587
+ * 转换成 Vue 的模板格式
588
+ */
589
+ toVue(options) {
590
+ options = Object.assign({
591
+ indentStyle: 'space',
592
+ tabSize: 4,
593
+ indentLevel: 0,
594
+ aslIdAttr: false,
595
+ nodePathAttr: false,
596
+ getExtraParts: () => [],
597
+ attrFormat: (attr, element, defaultResult) => defaultResult,
598
+ }, options);
599
+ const tabString = ' '.repeat(options.tabSize * options.indentLevel);
600
+ const insideTabString = ' '.repeat(options.tabSize * (options.indentLevel + 1));
601
+ let shouldIndent = true;
602
+ const content = !this.children ? '' : this.children.map((element) => {
603
+ const childOptions = Object.assign({}, options);
604
+ childOptions.indentLevel++;
605
+ return (shouldIndent ? '\n' + insideTabString : '') + element.toVue(childOptions);
606
+ }).join('');
607
+ if (!content.length)
608
+ shouldIndent = false;
609
+ const parts = [];
610
+ if (options.aslIdAttr) {
611
+ if (options.aslIdAttr === true)
612
+ options.aslIdAttr = 'asl-id';
613
+ parts.push(`${options.aslIdAttr}="${this.id}"`);
614
+ }
615
+ if (options.nodePathAttr) {
616
+ // 注入 asl 的 node-path
617
+ parts.push(`vusion-node-path="${this.nodePath}"`);
618
+ }
619
+ this.slotTarget && parts.push(`#${this.slotTarget}` + (this.slotScope ? `="${this.slotScope}"` : ''));
620
+ this.name && parts.push(`ref="${this.name}"`);
621
+ this.staticClass && parts.push(`class="${this.staticClass}"`);
622
+ this.staticStyle && parts.push(`style="${this.staticStyle}"`);
623
+ const { finalCode } = options;
624
+ [].concat(this.attrList, this.directiveList, this.eventList)
625
+ .forEach((attr) => {
626
+ const result = options.attrFormat(attr, this, attr.toVue(this, finalCode));
627
+ result && parts.push(result);
628
+ });
629
+ options.getExtraParts(this).forEach((part) => parts.push(part));
630
+ let partsLength = 0;
631
+ let partsString = '';
632
+ parts.forEach((part) => {
633
+ if (partsLength >= 120 || part.length >= 120) {
634
+ partsString += '\n' + tabString + ' '.repeat(3); // ' '.repeat(el.tag.length + 1);
635
+ partsLength = 0;
636
+ }
637
+ partsString += ' ' + part;
638
+ partsLength += part.length;
639
+ });
640
+ return `<${this.tag}${partsString.length ? partsString : ''}>` + content + (shouldIndent ? '\n' + tabString : '') + `</${this.tag}>`;
641
+ }
642
+ /**
643
+ * 转换成设计器中使用的 Vue 文件
644
+ * @param options
645
+ */
646
+ toDesignerVue(options) {
647
+ options = Object.assign({
648
+ nodePathAttr: true,
649
+ attrFormat: (attr, el, defaultResult) => {
650
+ if (attr.level === __1.LEVEL_ENUM.event || attr.level === __1.LEVEL_ENUM.directive)
651
+ return false;
652
+ if (attr.level === __1.LEVEL_ENUM.attr) {
653
+ const api = __1.config.allNodesAPI[el.tag];
654
+ const apiOfAttr = api && api.attrs && api.attrs.find((_attr) => _attr.name === attr.name);
655
+ if (apiOfAttr && apiOfAttr['designer-value']) {
656
+ const designerValue = apiOfAttr['designer-value'].replace(/"/g, '\'');
657
+ try {
658
+ json5.parse(designerValue);
659
+ return `:${attr.name}="${designerValue}"`;
660
+ }
661
+ catch (e) {
662
+ return `${attr.name}="${designerValue}"`;
663
+ }
664
+ }
665
+ if (attr.type === 'dynamic'
666
+ && !(el.tag === 'u-cascade-select' && attr.name === 'categories'))
667
+ return defaultResult.replace(/:?(\w+)(?:.*?)="(.*)"/, (m, name, value) => {
668
+ try {
669
+ const tempValue = json5.parse(value);
670
+ if (typeof tempValue === 'boolean' || typeof tempValue === 'number') { // 简单类型走属性
671
+ return `:${name}="${value.replace(/"/g, '\'')}"`;
672
+ }
673
+ }
674
+ catch (e) {
675
+ if (apiOfAttr && !apiOfAttr.type.includes('string'))
676
+ return '';
677
+ }
678
+ return `${name}="{{ ${value.replace(/"/g, '\'')} }}"`;
679
+ });
680
+ else
681
+ return defaultResult;
682
+ }
683
+ return false;
684
+ },
685
+ getExtraParts: (el) => {
686
+ const parts = [];
687
+ const api = __1.config.allNodesAPI[el.tag];
688
+ const emptySlot = api && api.slots && api.slots.find((slot) => slot.name === 'default' && slot['empty-background']);
689
+ if (!el.children.length && emptySlot) {
690
+ let addEmpty = true;
691
+ if (el.tag === 'u-grid-view'
692
+ || el.tag === 'u-list-view'
693
+ || el.tag === 'van-list-view') {
694
+ const hasDataSource = el.attrList.find((attr) => attr.name === 'data-source');
695
+ addEmpty = !hasDataSource;
696
+ }
697
+ addEmpty && parts.push(`vusion-empty-background="${emptySlot['empty-background']}"`);
698
+ }
699
+ return parts;
700
+ },
701
+ }, options);
702
+ return this.toVue(options);
703
+ }
704
+ /**
705
+ * 同 toVue 方法
706
+ * @param options 缩进等选项
707
+ */
708
+ toHTML(options) {
709
+ return this.toVue(options);
710
+ }
711
+ /**
712
+ * 根据标签查找元素
713
+ * @param tag
714
+ */
715
+ findElementByTag(tag) {
716
+ if (this.tag === tag)
717
+ return this;
718
+ else {
719
+ for (const child of this.children) {
720
+ const result = child.findElementByTag(tag);
721
+ if (result)
722
+ return result;
723
+ }
724
+ }
725
+ }
726
+ /**
727
+ * 根据属性查找元素
728
+ * @param name
729
+ * @param value
730
+ */
731
+ findElementByAttr(name, value) {
732
+ if (this.attrList.find((attr) => attr.name === name && attr.value === value))
733
+ return this;
734
+ else {
735
+ for (const child of this.children) {
736
+ const result = child.findElementByAttr(name, value);
737
+ if (result)
738
+ return result;
739
+ }
740
+ }
741
+ }
742
+ /**
743
+ * 从 Vue 的 ASTNode 转换成 ASL 元素
744
+ * @param astNode Vue 的 ASTNode
745
+ */
746
+ static _fromASTNode(astNode, context) {
747
+ // 临时处理组件的 text
748
+ //h5-mock
749
+ if (['u-text', 'van-text', 'u-link', 'u-button', 'u-label', 'u-radio', 'u-checkbox', 'u-navbar-item', 'u-sidebar-item', 'u-menu-item'].includes(astNode.tag)
750
+ && astNode.children.length === 1 && astNode.children[0].type === 3) {
751
+ astNode.attrs = astNode.attrs || [];
752
+ astNode.attrs.push({ name: 'text', value: JSON.stringify(astNode.children[0].text) });
753
+ astNode.children = [];
754
+ }
755
+ // 将 scopedSlots 合并到 children 中
756
+ if (astNode.scopedSlots) {
757
+ astNode.children = astNode.children || [];
758
+ Object.keys(astNode.scopedSlots).forEach((key) => {
759
+ if (!astNode.children.find((child) => key === child.slotTarget))
760
+ astNode.children.unshift(astNode.scopedSlots[key]);
761
+ });
762
+ delete astNode.scopedSlots;
763
+ }
764
+ // 提示不支持的字段
765
+ [
766
+ 'component', 'inlineTemplate', 'pre', 'ns',
767
+ 'transition', 'transitionOnAppear', 'transitionMode',
768
+ 'slotName', 'classBinding', 'styleBinding',
769
+ ].forEach((key) => {
770
+ if (astNode[key])
771
+ console.warn(`[warn] Element NASL unsupports '${key}' field in node `, astNode);
772
+ });
773
+ let element;
774
+ if (astNode.type === 1) {
775
+ if (astNode.tag === 'router-view') {
776
+ if (__1.config.scope === 'h5') {
777
+ astNode.tag = 'van-router-view';
778
+ }
779
+ else {
780
+ astNode.tag = 'u-router-view';
781
+ }
782
+ }
783
+ // if (astNode.tag === 'template')
784
+ // astNode.tag = 'div';
785
+ element = new Element({
786
+ tag: astNode.tag,
787
+ name: astNode.attrsMap.ref,
788
+ staticClass: astNode.attrsMap.class,
789
+ staticStyle: astNode.attrsMap.style,
790
+ slotTarget: astNode.slotTarget && json5.parse(astNode.slotTarget),
791
+ slotScope: astNode.slotScope === '_empty_' ? '' : astNode.slotScope,
792
+ children: astNode.children,
793
+ });
794
+ astNode.attrs && astNode.attrs.forEach((oldAttr) => {
795
+ let attr;
796
+ if (oldAttr.value === '""' && oldAttr.end - oldAttr.start === oldAttr.name.length) {
797
+ attr = __1.Attr.from({
798
+ type: 'static',
799
+ name: oldAttr.name,
800
+ value: 'true',
801
+ }, element);
802
+ }
803
+ else {
804
+ try {
805
+ const tmp = json5.parse(oldAttr.value);
806
+ attr = __1.Attr.from({
807
+ type: typeof tmp === 'string' ? 'string' : 'static',
808
+ name: oldAttr.name,
809
+ value: typeof tmp === 'string' ? tmp : oldAttr.value,
810
+ }, element);
811
+ }
812
+ catch (e) {
813
+ const expression = this._parseExpression(oldAttr.value, context);
814
+ attr = __1.Attr.from({
815
+ type: 'dynamic',
816
+ name: oldAttr.name,
817
+ value: expression ? '' : oldAttr.value,
818
+ expression,
819
+ }, element);
820
+ if (astNode.attrsMap[`:${attr.name}.sync`]) {
821
+ attr.assign({ sync: true });
822
+ }
823
+ }
824
+ }
825
+ element.attrList.push(attr);
826
+ // element.attrMap[attr.name] = attr;
827
+ });
828
+ // compiler 处理:value.sync 时会加上update:value事件,需要过滤
829
+ astNode.events && Object.keys(astNode.events).filter((name) => !name.startsWith('update:')).forEach((name) => {
830
+ const oldEvent = astNode.events[name];
831
+ const value = oldEvent.value.split('(')[0];
832
+ element.eventList.push(__1.Event.from({
833
+ name,
834
+ value,
835
+ logicId: value[0] === '$' ? undefined : value,
836
+ }, element));
837
+ // element.eventMap[name] = new Event({
838
+ // name,
839
+ // value: oldEvent.value,
840
+ // });
841
+ });
842
+ astNode.directives && astNode.directives.forEach((directive) => {
843
+ if (directive.name === 'model') {
844
+ const valueAttr = astNode.attrs && astNode.attrs.find((attr) => attr.name === 'value');
845
+ if (!valueAttr) {
846
+ const expression = this._parseExpression(directive.value, context);
847
+ element.attrList.push(__1.Attr.from({
848
+ type: 'dynamic',
849
+ name: 'value',
850
+ value: expression ? '' : directive.value,
851
+ expression,
852
+ sync: true,
853
+ }, element));
854
+ }
855
+ }
856
+ else {
857
+ const expression = this._parseExpression(directive.value, context);
858
+ element.directiveList.push(__1.Directive.from({
859
+ type: expression ? 'string' : 'dynamic',
860
+ name: directive.name,
861
+ rawName: directive.rawName,
862
+ value: expression ? '' : directive.value,
863
+ expression,
864
+ arg: directive.arg,
865
+ modifiers: directive.modifiers,
866
+ }, element));
867
+ // element.directiveMap[directive.name] = );
868
+ }
869
+ });
870
+ if (astNode.if) {
871
+ element.directiveList.push(__1.Directive.from({
872
+ type: 'dynamic',
873
+ name: 'if',
874
+ rawName: 'v-if',
875
+ value: '',
876
+ expression: this._parseExpression(astNode.if, context),
877
+ }, element));
878
+ }
879
+ // Removed
880
+ // hasBindings:
881
+ // static:
882
+ // staticRoot:
883
+ // refInFor?: boolean;
884
+ // if?: string;
885
+ // ifProcessed?: boolean;
886
+ // elseif?: string;
887
+ // else?: true;
888
+ // ifConditions?: ASTIfCondition[];
889
+ // for?: string;
890
+ // forProcessed?: boolean;
891
+ // key?: string;
892
+ // alias?: string;
893
+ // iterator1?: string;
894
+ // iterator2?: string;
895
+ // events?: ASTElementHandlers;
896
+ // nativeEvents?: ASTElementHandlers;
897
+ // model?: {
898
+ // value: string;
899
+ // callback: string;
900
+ // expression: string;
901
+ // };
902
+ // directives?: ASTDirective[];
903
+ }
904
+ else if (astNode.type === 2) {
905
+ if (__1.config.scope === 'h5') {
906
+ element = new Element({
907
+ tag: 'van-text',
908
+ });
909
+ }
910
+ else {
911
+ element = new Element({
912
+ tag: 'u-text',
913
+ });
914
+ }
915
+ const value = astNode.text.match(/{{(.*?)}}/)[1].trim();
916
+ const expression = this._parseExpression(value, context);
917
+ element.attrList.push(new __1.Attr({
918
+ type: 'dynamic',
919
+ name: 'text',
920
+ value: expression ? '' : value,
921
+ expression,
922
+ element,
923
+ }));
924
+ }
925
+ else if (astNode.type === 3) {
926
+ if (__1.config.scope === 'h5') {
927
+ element = new Element({
928
+ tag: 'van-text',
929
+ });
930
+ }
931
+ else {
932
+ element = new Element({
933
+ tag: 'u-text',
934
+ });
935
+ }
936
+ element.attrList.push(new __1.Attr({
937
+ name: 'text',
938
+ value: astNode.text,
939
+ element,
940
+ }));
941
+ }
942
+ return element;
943
+ }
944
+ /**
945
+ * 解析属性中的表达式
946
+ * @param value
947
+ * @param $def 目前 $def 只用来查找 $def.variables 和 $def.structures
948
+ * @param dataSchema
949
+ */
950
+ static _parseExpression(value, context = {}) {
951
+ try {
952
+ let ast = babelParser.parseExpression(value);
953
+ __1.utils.traverse((current) => {
954
+ if (!current.node)
955
+ return;
956
+ current.node.level = 'expressionNode';
957
+ delete current.node.loc;
958
+ delete current.node.start;
959
+ delete current.node.end;
960
+ delete current.node.errors;
961
+ delete current.node.comments;
962
+ delete current.node.innerComments;
963
+ delete current.node.leadingComments;
964
+ delete current.node.trailingComments;
965
+ if (current.node.type === 'CallExpression' && current.node.callee.object.name === '$utils') {
966
+ const calleeCode = current.node.callee.property.name || current.node.callee.property.value;
967
+ if (calleeCode === 'Enum') {
968
+ const enumName = current.node.arguments[0] && current.node.arguments[0].value;
969
+ if (enumName) {
970
+ let enumNode;
971
+ Object.keys(__1.dataTypesMap).forEach((dataTypeKey) => {
972
+ if (__1.dataTypesMap[dataTypeKey].type === 'enum') {
973
+ if (__1.dataTypesMap[dataTypeKey].name === enumName) {
974
+ enumNode = __1.dataTypesMap[dataTypeKey];
975
+ }
976
+ }
977
+ });
978
+ if (enumNode) {
979
+ const code = 'ID_' + enumNode.id;
980
+ current.node.arguments[0].value = code;
981
+ current.node.arguments[0].code = code;
982
+ }
983
+ }
984
+ }
985
+ Object.assign(current.node, {
986
+ type: 'BuiltInFunction',
987
+ value: calleeCode,
988
+ calleeCode,
989
+ label: '内置函数',
990
+ level: 'expressionNode',
991
+ builtInFuncParams: current.node.arguments.map((argument) => ({
992
+ level: 'expressionNode',
993
+ type: 'BuiltInFuncParam',
994
+ name: '',
995
+ builtInFuncParamValue: Object.assign({
996
+ level: 'expressionNode',
997
+ }, argument),
998
+ })),
999
+ });
1000
+ delete current.node.arguments;
1001
+ delete current.node.callee;
1002
+ }
1003
+ else if (current.node.type === 'MemberExpression') {
1004
+ let object = current.node.object;
1005
+ const properties = [current.node.property];
1006
+ while (object.type === 'MemberExpression') {
1007
+ properties.push(object.property);
1008
+ object = object.object;
1009
+ }
1010
+ if (object.name === 'scope') {
1011
+ let schema = {
1012
+ $ref: '',
1013
+ };
1014
+ if (context.dataSchema) { // 可以直接用 dataSchema,处理 mergeBlock 的情况
1015
+ const typeKey = '#/genericTypes/ScopeOf';
1016
+ schema = {
1017
+ type: 'genericType',
1018
+ typeKey,
1019
+ typeInstantiation: {
1020
+ typeName: 'ScopeOf',
1021
+ typeParams: [
1022
+ {
1023
+ typeParamName: 'T',
1024
+ typeParamValue: {
1025
+ $ref: context.dataSchema,
1026
+ typeKey: context.dataSchema,
1027
+ },
1028
+ },
1029
+ ],
1030
+ },
1031
+ };
1032
+ }
1033
+ Object.assign(object, { schema, code: object.name });
1034
+ }
1035
+ if (context && object.name) {
1036
+ let variable = (context.variables || []).find((variable) => variable.name === object.name);
1037
+ variable = variable || object;
1038
+ if (variable) {
1039
+ let schemaData = __1.dataTypesMap[variable.schema && variable.schema.$ref];
1040
+ if (variable.schema && variable.schema.type === 'genericType') {
1041
+ const genericClass = __1.dataTypesMap[variable.schema.typeKey];
1042
+ let propertyList = [];
1043
+ if (genericClass) {
1044
+ propertyList = lodash_1.cloneDeep(genericClass.propertyList);
1045
+ propertyList = propertyList.map((property) => {
1046
+ if (property.type === 'genericParam' && variable.schema.typeInstantiation) {
1047
+ const param = variable.schema.typeInstantiation.typeParams.find((typeParam) => typeParam.typeParamName === property.typeParamName);
1048
+ if (param) {
1049
+ property = Object.assign({ name: property.name }, param.typeParamValue);
1050
+ }
1051
+ }
1052
+ return property;
1053
+ });
1054
+ }
1055
+ schemaData = { propertyList };
1056
+ }
1057
+ // 这部分功能还不稳定,先单独处理一下
1058
+ if (object.name === 'scope' && properties.length >= 3) {
1059
+ const tempStructure = context.structures.find((structure) => context.dataSchema === structure.schemaRef || context.dataSchema === structure.name);
1060
+ if (tempStructure && !tempStructure.id) {
1061
+ properties.pop(); // scope.item 那一项
1062
+ let property = properties.pop();
1063
+ property.schemaRef = tempStructure.name + '.' + property.name;
1064
+ const originProp = tempStructure.propertyList.find((tempProp) => tempProp.name === property.name);
1065
+ schemaData = originProp && __1.dataTypesMap[originProp.$ref];
1066
+ property = properties.pop();
1067
+ while (property && schemaData) {
1068
+ if (schemaData.propertyList) {
1069
+ const originProp = schemaData.propertyList.find((tempProp) => tempProp.name === property.name);
1070
+ if (originProp) {
1071
+ if (originProp.id) {
1072
+ Object.assign(property, {
1073
+ schemaRef: '#/' + originProp.id,
1074
+ code: `ID_${originProp.id}`,
1075
+ });
1076
+ }
1077
+ schemaData = __1.dataTypesMap[originProp.$ref];
1078
+ }
1079
+ }
1080
+ property = properties.pop();
1081
+ }
1082
+ }
1083
+ else if (tempStructure && tempStructure.id && context.recordProperty) {
1084
+ properties.pop(); // scope.item 那一项
1085
+ let property = properties.pop();
1086
+ property.schemaRef = context.recordProperty.$ref;
1087
+ property.code = `ID_${context.recordProperty.id}`;
1088
+ const originProp = context.recordProperty;
1089
+ schemaData = originProp && __1.dataTypesMap[originProp.$ref];
1090
+ property = properties.pop();
1091
+ while (property && schemaData) {
1092
+ if (schemaData.propertyList) {
1093
+ const originProp = schemaData.propertyList.find((tempProp) => tempProp.name === property.name);
1094
+ if (originProp) {
1095
+ if (originProp.id) {
1096
+ Object.assign(property, {
1097
+ schemaRef: `#/${originProp.id}`,
1098
+ code: `ID_${originProp.id}`,
1099
+ });
1100
+ }
1101
+ schemaData = __1.dataTypesMap[originProp.$ref];
1102
+ }
1103
+ }
1104
+ property = properties.pop();
1105
+ }
1106
+ }
1107
+ }
1108
+ else {
1109
+ let property = properties.pop();
1110
+ while (property && schemaData) {
1111
+ if (schemaData.propertyList) {
1112
+ const originProp = schemaData.propertyList.find((tempProp) => tempProp.name === property.name);
1113
+ if (originProp) {
1114
+ if (originProp.id) {
1115
+ Object.assign(property, {
1116
+ schemaRef: '#/' + originProp.id,
1117
+ });
1118
+ }
1119
+ schemaData = __1.dataTypesMap[originProp.$ref];
1120
+ }
1121
+ }
1122
+ property = properties.pop();
1123
+ }
1124
+ }
1125
+ }
1126
+ }
1127
+ const property = current.node.property;
1128
+ if (property.type === 'StringLiteral') {
1129
+ // 区分单引号的变量和纯文字
1130
+ // $utils['FormatDate']()
1131
+ // 把 'FormatDate' 变成 Identifier, 因为内置函数名是通过选择出来的;如果不改,会展示成输入框
1132
+ if (property.extra.raw.includes("'")) {
1133
+ property.type = 'Identifier';
1134
+ property.name = ast.value;
1135
+ property.level = 'expressionNode';
1136
+ }
1137
+ }
1138
+ }
1139
+ else if (current.node.type === 'Identifier') {
1140
+ if (current.node.name && current.node.name.startsWith('ID_ENUM_LIST_')) {
1141
+ current.node.schemaRef = current.node.name.replace('ID_ENUM_LIST_', '');
1142
+ current.node.code = current.node.name;
1143
+ }
1144
+ }
1145
+ delete current.node.extra;
1146
+ }, { node: ast }, { mode: 'anyObject' });
1147
+ if (ast) {
1148
+ let hasSchema = !!context.dataSchema;
1149
+ let object = ast;
1150
+ while (!hasSchema && object) {
1151
+ if (object.schema || object.schemaRef || (object.property && (object.property.schema || object.property.schemaRef)))
1152
+ hasSchema = true;
1153
+ object = object.object;
1154
+ }
1155
+ if (ast.type === 'ArrayExpression' || ast.type === 'ObjectExpression'
1156
+ || ast.type === 'MemberExpression' && !hasSchema) {
1157
+ ast = {
1158
+ label: '原子项',
1159
+ level: 'expressionNode',
1160
+ type: 'Unparsed',
1161
+ editable: true,
1162
+ code: value,
1163
+ };
1164
+ }
1165
+ }
1166
+ return __1.LogicItem.from(ast, null, null);
1167
+ }
1168
+ catch (e) {
1169
+ return null;
1170
+ }
1171
+ }
1172
+ /**
1173
+ * 解析 Vue 模板
1174
+ * 该方法不会绑定 view 和 parent,如果是添加元素优先使用 fromHTML
1175
+ * @param html Vue 的模板
1176
+ * @TODO 处理多个元素的问题
1177
+ */
1178
+ static parse(html, context) {
1179
+ html = html || '<div></div>';
1180
+ const compilerOptions = {
1181
+ preserveWhitespace: false,
1182
+ outputSourceRange: true,
1183
+ };
1184
+ let ast = compiler.compile(html, compilerOptions).ast;
1185
+ if (ast.tag === 'template' && !ast.slotTarget)
1186
+ ast = ast.children[0];
1187
+ if (context && !context.dataSchema) {
1188
+ const cap = html.match(/data-schema="(.*?)"/);
1189
+ context.dataSchema = cap ? cap[1] : '';
1190
+ }
1191
+ let root;
1192
+ __1.utils.traverse((current) => {
1193
+ // 处理 scopedSlots;
1194
+ if (!current.parent)
1195
+ root = this._fromASTNode(current.node, context);
1196
+ else
1197
+ current.parent.children[current.index] = this._fromASTNode(current.node, context);
1198
+ }, { node: ast });
1199
+ return root;
1200
+ }
1201
+ /**
1202
+ * 从模板生成规范的 Element 对象
1203
+ */
1204
+ static fromHTML(html, parent, view, context) {
1205
+ const element = this.parse(html, context);
1206
+ __1.utils.traverse((current) => {
1207
+ current.node.assign({ view, parent: current.parent });
1208
+ }, { node: element, parent });
1209
+ return element;
1210
+ }
1211
+ /**
1212
+ * 从后端 JSON 生成规范的 Element 对象
1213
+ */
1214
+ static from(source, parent, view, currentElement) {
1215
+ const element = new Element(source);
1216
+ currentElement = currentElement || element;
1217
+ element.assign({
1218
+ attrList: element.attrList.map((attr) => __1.Attr.from(attr, currentElement)),
1219
+ eventList: element.eventList.map((ret) => __1.Event.from(ret, currentElement)),
1220
+ directiveList: element.directiveList.map((directive) => __1.Directive.from(directive, currentElement)),
1221
+ children: element.children.map((child) => Element.from(child, currentElement, view)),
1222
+ view,
1223
+ parent,
1224
+ });
1225
+ return element;
1226
+ }
1227
+ }
1228
+ __decorate([
1229
+ decorators_1.immutable()
1230
+ ], Element.prototype, "level", void 0);
1231
+ __decorate([
1232
+ decorators_1.immutable()
1233
+ ], Element.prototype, "type", void 0);
1234
+ __decorate([
1235
+ decorators_1.immutable()
1236
+ ], Element.prototype, "id", void 0);
1237
+ __decorate([
1238
+ decorators_1.immutable()
1239
+ ], Element.prototype, "tag", void 0);
1240
+ __decorate([
1241
+ decorators_1.immutable()
1242
+ ], Element.prototype, "name", void 0);
1243
+ __decorate([
1244
+ decorators_1.immutable()
1245
+ ], Element.prototype, "attrList", void 0);
1246
+ __decorate([
1247
+ decorators_1.immutable()
1248
+ ], Element.prototype, "eventList", void 0);
1249
+ __decorate([
1250
+ decorators_1.immutable()
1251
+ ], Element.prototype, "directiveList", void 0);
1252
+ __decorate([
1253
+ decorators_1.immutable()
1254
+ ], Element.prototype, "slotTarget", void 0);
1255
+ __decorate([
1256
+ decorators_1.immutable()
1257
+ ], Element.prototype, "slotScope", void 0);
1258
+ __decorate([
1259
+ decorators_1.immutable()
1260
+ ], Element.prototype, "staticClass", void 0);
1261
+ __decorate([
1262
+ decorators_1.immutable()
1263
+ ], Element.prototype, "staticStyle", void 0);
1264
+ __decorate([
1265
+ decorators_1.excludedInJSON()
1266
+ ], Element.prototype, "nodePath", void 0);
1267
+ __decorate([
1268
+ decorators_1.immutable()
1269
+ ], Element.prototype, "parentId", void 0);
1270
+ __decorate([
1271
+ decorators_1.immutable()
1272
+ ], Element.prototype, "_posIndex", void 0);
1273
+ __decorate([
1274
+ decorators_1.circular(),
1275
+ decorators_1.immutable()
1276
+ ], Element.prototype, "parent", void 0);
1277
+ __decorate([
1278
+ decorators_1.immutable()
1279
+ ], Element.prototype, "viewId", void 0);
1280
+ __decorate([
1281
+ decorators_1.circular(),
1282
+ decorators_1.immutable()
1283
+ ], Element.prototype, "view", void 0);
1284
+ __decorate([
1285
+ decorators_1.immutable()
1286
+ ], Element.prototype, "children", void 0);
1287
+ __decorate([
1288
+ decorators_1.action('添加元素')
1289
+ ], Element.prototype, "create", null);
1290
+ __decorate([
1291
+ decorators_1.action('删除元素')
1292
+ ], Element.prototype, "delete", null);
1293
+ __decorate([
1294
+ decorators_1.action('添加元素副本')
1295
+ ], Element.prototype, "duplicate", null);
1296
+ __decorate([
1297
+ decorators_1.action('设置组件名称')
1298
+ ], Element.prototype, "setName", null);
1299
+ __decorate([
1300
+ decorators_1.action('添加组件属性')
1301
+ ], Element.prototype, "addAttr", null);
1302
+ __decorate([
1303
+ decorators_1.action('删除组件属性')
1304
+ ], Element.prototype, "deleteAttr", null);
1305
+ __decorate([
1306
+ decorators_1.action('设置组件属性')
1307
+ ], Element.prototype, "setAttr", null);
1308
+ __decorate([
1309
+ decorators_1.action('添加组件事件')
1310
+ ], Element.prototype, "addEvent", null);
1311
+ __decorate([
1312
+ decorators_1.action('删除组件事件')
1313
+ ], Element.prototype, "deleteEvent", null);
1314
+ __decorate([
1315
+ decorators_1.action('添加组件指令')
1316
+ ], Element.prototype, "addDirective", null);
1317
+ __decorate([
1318
+ decorators_1.action('删除组件指令')
1319
+ ], Element.prototype, "deleteDirective", null);
1320
+ exports.Element = Element;
1321
+ exports.default = Element;
1322
+ //# sourceMappingURL=Element.js.map