@gct-paas/core 0.1.4-dev.10 → 0.1.4-dev.12

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 (298) hide show
  1. package/dist/index.esm.min.js +21679 -0
  2. package/es/constants/core.mjs +5 -4
  3. package/es/constants/default-date-type/default-date-type.d.ts +70 -0
  4. package/es/constants/default-date-type/default-date-type.mjs +74 -0
  5. package/es/constants/editor-register/editor-register.mjs +17 -5
  6. package/es/constants/expression-type/BuiltOperators.mjs +152 -145
  7. package/es/constants/expression-type/FunctionKeys.mjs +75 -79
  8. package/es/constants/expression-type/editor.mjs +10 -3
  9. package/es/constants/expression-type/function.mjs +602 -613
  10. package/es/constants/expression-type/index.mjs +111 -113
  11. package/es/constants/expression-type/modeCfg.mjs +256 -263
  12. package/es/constants/expression-type/variable.mjs +43 -39
  13. package/es/constants/form-container-type/form-container-type.mjs +17 -5
  14. package/es/constants/index.d.ts +2 -1
  15. package/es/constants/index.mjs +30 -10
  16. package/es/constants/page-designer/model.d.ts +4 -0
  17. package/es/constants/page-designer/model.mjs +17 -0
  18. package/es/create-app-vue.mjs +15 -9
  19. package/es/enums/app-designer/index.d.ts +19 -0
  20. package/es/enums/app-designer/index.mjs +131 -63
  21. package/es/enums/appEnum.mjs +681 -360
  22. package/es/enums/appStateEnum.mjs +17 -10
  23. package/es/enums/authActionEnum.mjs +63 -51
  24. package/es/enums/breakpointEnum.mjs +27 -26
  25. package/es/enums/cacheEnum.mjs +22 -21
  26. package/es/enums/designEnum.mjs +110 -71
  27. package/es/enums/developer-center/integration.mjs +7 -6
  28. package/es/enums/exceptionEnum.mjs +21 -17
  29. package/es/enums/expressionEnum.d.ts +1 -1
  30. package/es/enums/expressionEnum.mjs +81 -74
  31. package/es/enums/globalEnum.d.ts +15 -0
  32. package/es/enums/globalEnum.mjs +60 -25
  33. package/es/enums/httpEnum.mjs +71 -61
  34. package/es/enums/index.mjs +43 -14
  35. package/es/enums/menuEnum.mjs +42 -38
  36. package/es/enums/page-designer/designer.mjs +403 -407
  37. package/es/enums/page-designer/index.mjs +4 -0
  38. package/es/enums/page-designer/panel.mjs +341 -213
  39. package/es/enums/page-designer/toolkit.mjs +13 -12
  40. package/es/enums/page-designer/widget.d.ts +5 -0
  41. package/es/enums/page-designer/widget.mjs +426 -334
  42. package/es/enums/pageEnum.mjs +14 -13
  43. package/es/enums/plugin-enum.mjs +23 -7
  44. package/es/enums/processEnum.mjs +95 -60
  45. package/es/enums/roleEnum.mjs +7 -6
  46. package/es/enums/sizeEnum.d.ts +18 -0
  47. package/es/enums/sizeEnum.mjs +28 -8
  48. package/es/global/gct/gct.d.ts +9 -3
  49. package/es/global/gct/gct.mjs +84 -91
  50. package/es/global/index.mjs +1 -0
  51. package/es/hooks/index.d.ts +0 -2
  52. package/es/hooks/index.mjs +4 -0
  53. package/es/hooks/use-app-inst/use-app-inst.mjs +11 -5
  54. package/es/hooks/use-modal/use-modal.mjs +16 -10
  55. package/es/hooks/use-sub-app-utils/use-sub-app-utils.mjs +43 -23
  56. package/es/hooks/useCopyToClipboard.mjs +50 -50
  57. package/es/index.d.ts +1 -3
  58. package/es/index.mjs +122 -134
  59. package/es/interface/i-dictionary/i-dictionary-item.d.ts +6 -0
  60. package/es/interface/i-global-register/i-global-register.d.ts +8 -0
  61. package/es/interface/i-pinia-action/i-global-actions.d.ts +4 -0
  62. package/es/interface/i-pinia-getter/i-global-getters.d.ts +2 -0
  63. package/es/interface/i-pinia-state/i-global-state.d.ts +12 -1
  64. package/es/interface/index.d.ts +3 -6
  65. package/es/interface/model-desginer/entity.d.ts +110 -0
  66. package/es/interface/provider/index.d.ts +0 -2
  67. package/es/locale/index.mjs +43 -57
  68. package/es/modules/env-manager/env-manager.const.mjs +16 -8
  69. package/es/modules/env-manager/env-manager.interface.mjs +14 -7
  70. package/es/modules/env-manager/env-manager.mjs +104 -107
  71. package/es/modules/error-handler/error-handler.const.mjs +11 -16
  72. package/es/modules/error-handler/error-strategy.mjs +199 -175
  73. package/es/modules/error-handler/index.mjs +120 -106
  74. package/es/modules/mqtt/constants/mqtt.const.d.ts +33 -0
  75. package/es/modules/mqtt/constants/mqtt.const.mjs +24 -0
  76. package/es/modules/mqtt/enums/mqtt-status.enum.d.ts +20 -0
  77. package/es/modules/mqtt/enums/mqtt-status.enum.mjs +24 -0
  78. package/es/modules/mqtt/index.d.ts +5 -0
  79. package/es/modules/mqtt/index.mjs +4 -0
  80. package/es/modules/mqtt/interfaces/i-mqtt.d.ts +139 -0
  81. package/es/modules/mqtt/mqtt-client.d.ts +117 -0
  82. package/es/modules/mqtt/mqtt-client.mjs +229 -0
  83. package/es/modules/mqtt/mqtt-manager.d.ts +87 -0
  84. package/es/modules/mqtt/mqtt-manager.mjs +118 -0
  85. package/es/modules/platform-config/constants/index.mjs +4 -0
  86. package/es/modules/platform-config/constants/login.const.mjs +48 -45
  87. package/es/modules/platform-config/constants/org.const.mjs +57 -52
  88. package/es/modules/platform-config/constants/theme.const.mjs +11 -4
  89. package/es/modules/platform-config/constants/watermark.const.mjs +17 -12
  90. package/es/modules/platform-config/enums/deploy.enum.mjs +13 -6
  91. package/es/modules/platform-config/enums/login.enum.mjs +29 -15
  92. package/es/modules/platform-config/enums/platform.enum.d.ts +0 -15
  93. package/es/modules/platform-config/enums/platform.enum.mjs +17 -26
  94. package/es/modules/platform-config/index.mjs +9 -0
  95. package/es/modules/platform-config/interfaces/index.d.ts +0 -1
  96. package/es/modules/platform-config/store.mjs +68 -76
  97. package/es/modules/platform-config/useBasicSetting.mjs +47 -35
  98. package/es/modules/platform-config/useDeploySetting.mjs +29 -21
  99. package/es/modules/platform-config/useLoginSetting.mjs +151 -173
  100. package/es/modules/platform-config/useOrgSetting.mjs +63 -62
  101. package/es/modules/platform-config/useProjectSetting.mjs +14 -6
  102. package/es/modules/platform-config/useSecuritySetting.mjs +68 -56
  103. package/es/modules/platform-config/useThemeSetting.mjs +78 -59
  104. package/es/modules/platform-config/useWatermarkSetting.mjs +37 -23
  105. package/es/modules/user-stores/index.mjs +3 -0
  106. package/es/modules/user-stores/store/permission.store.mjs +27 -36
  107. package/es/modules/user-stores/store/tenant.store.mjs +20 -22
  108. package/es/modules/user-stores/store/user.store.d.ts +74 -0
  109. package/es/modules/user-stores/store/user.store.mjs +94 -102
  110. package/es/modules/user-stores/types/user.d.ts +1 -0
  111. package/es/router/index.mjs +25 -28
  112. package/es/setup-app.mjs +23 -28
  113. package/es/state/global-pinia-state/global-pinia-state.d.ts +15 -1
  114. package/es/state/global-pinia-state/global-pinia-state.mjs +49 -57
  115. package/es/state/index.d.ts +0 -9
  116. package/es/state/index.mjs +1 -0
  117. package/es/store/global-store.mjs +50 -58
  118. package/es/store/index.mjs +25 -19
  119. package/es/types/index.d.ts +7 -0
  120. package/es/utils/axios/interceptors.mjs +21 -17
  121. package/es/utils/cache-adapter/cache-adapter.mjs +61 -56
  122. package/es/utils/design/design.d.ts +11 -0
  123. package/es/utils/design/design.mjs +21 -0
  124. package/es/utils/deviceFingerprint.mjs +74 -63
  125. package/es/utils/dictionary/dictionary.mjs +142 -145
  126. package/es/utils/file/base64Conver.d.ts +9 -0
  127. package/es/utils/file/base64Conver.mjs +40 -0
  128. package/es/utils/file/download.d.ts +44 -0
  129. package/es/utils/file/download.mjs +103 -0
  130. package/es/utils/file/parser.d.ts +3 -0
  131. package/es/utils/file/parser.mjs +29 -0
  132. package/es/utils/i18n/index.mjs +14 -3
  133. package/es/utils/index.d.ts +7 -2
  134. package/es/utils/index.mjs +31 -0
  135. package/es/utils/is-sort-filed/is-sort-filed.mjs +42 -37
  136. package/es/utils/linked-list/linked-list.mjs +115 -118
  137. package/es/utils/linked-node/linked-node.mjs +41 -31
  138. package/es/utils/lowcode/utils.mjs +13 -18
  139. package/es/utils/lowcode/validate.mjs +20 -26
  140. package/es/utils/mitt/mitt.mjs +4 -4
  141. package/es/utils/model-loader/model-loader.mjs +280 -325
  142. package/es/utils/namespace/namespace.mjs +178 -164
  143. package/es/utils/openUtil/index.mjs +2 -0
  144. package/es/utils/openUtil/modal/modal.mjs +72 -79
  145. package/es/utils/openUtil/overlay-container/overlay-container.mjs +144 -138
  146. package/es/utils/permission.d.ts +19 -0
  147. package/es/utils/permission.mjs +34 -0
  148. package/es/utils/plugin-static-resource/plugin-static-resource.mjs +46 -42
  149. package/es/utils/style/index.mjs +94 -138
  150. package/es/utils/tools/tools.mjs +86 -54
  151. package/es/utils/treeHelper/treeHelper.mjs +205 -233
  152. package/es/utils/uploader/uploader.d.ts +20 -0
  153. package/es/utils/uploader/uploader.mjs +86 -0
  154. package/es/utils/useUUid.mjs +79 -87
  155. package/es/utils/util.mjs +55 -35
  156. package/es/utils/uuid/uuid.d.ts +1 -0
  157. package/es/utils/uuid/uuid.mjs +36 -43
  158. package/es/utils/validate.d.ts +5 -0
  159. package/es/utils/validate.mjs +21 -0
  160. package/es/utils/value-helper/value-helper.mjs +113 -98
  161. package/package.json +14 -14
  162. package/dist/index.esm.min.mjs +0 -8101
  163. package/dist/index.min.cjs +0 -386
  164. package/dist/index.system.min.js +0 -386
  165. package/es/constants/editor-type/editor-type.d.ts +0 -244
  166. package/es/constants/editor-type/editor-type.mjs +0 -63
  167. package/es/controller/edit-form/edit-form.controller.d.ts +0 -28
  168. package/es/controller/edit-form/edit-form.controller.mjs +0 -47
  169. package/es/controller/editor/color-editor.controller.d.ts +0 -13
  170. package/es/controller/editor/color-editor.controller.mjs +0 -6
  171. package/es/controller/editor/length-unit-editor.controller.d.ts +0 -13
  172. package/es/controller/editor/length-unit-editor.controller.mjs +0 -6
  173. package/es/controller/editor-item/editor-item.controller.d.ts +0 -14
  174. package/es/controller/editor-item/editor-item.controller.mjs +0 -8
  175. package/es/controller/form/form.controller.d.ts +0 -76
  176. package/es/controller/form/form.controller.mjs +0 -147
  177. package/es/controller/form-collapse/form-collapse.controller.d.ts +0 -18
  178. package/es/controller/form-collapse/form-collapse.controller.mjs +0 -14
  179. package/es/controller/form-collapse-pane/form-collapse-pane.controller.d.ts +0 -18
  180. package/es/controller/form-collapse-pane/form-collapse-pane.controller.mjs +0 -14
  181. package/es/controller/form-edit-item/form-edit-item.controller.d.ts +0 -27
  182. package/es/controller/form-edit-item/form-edit-item.controller.mjs +0 -74
  183. package/es/controller/form-group/form-group.controller.d.ts +0 -18
  184. package/es/controller/form-group/form-group.controller.mjs +0 -14
  185. package/es/controller/form-item/form-item.controller.d.ts +0 -21
  186. package/es/controller/form-item/form-item.controller.mjs +0 -43
  187. package/es/controller/form-item-basic/form-item-basic.controller.d.ts +0 -57
  188. package/es/controller/form-item-basic/form-item-basic.controller.mjs +0 -49
  189. package/es/controller/form-item-hidden/form-item-hidden.controller.d.ts +0 -17
  190. package/es/controller/form-item-hidden/form-item-hidden.controller.mjs +0 -7
  191. package/es/controller/form-tab/form-tab.controller.d.ts +0 -18
  192. package/es/controller/form-tab/form-tab.controller.mjs +0 -14
  193. package/es/controller/form-tab-pane/form-tab-pane.controller.d.ts +0 -18
  194. package/es/controller/form-tab-pane/form-tab-pane.controller.mjs +0 -14
  195. package/es/controller/gct-form/gct-form.controller.d.ts +0 -101
  196. package/es/controller/gct-form/gct-form.controller.mjs +0 -214
  197. package/es/controller/index.d.ts +0 -15
  198. package/es/hooks/use-form/use-form.d.ts +0 -10
  199. package/es/hooks/use-form/use-form.mjs +0 -8
  200. package/es/hooks/use-gct-form-value/use-gct-form-value.d.ts +0 -22
  201. package/es/hooks/use-gct-form-value/use-gct-form-value.mjs +0 -89
  202. package/es/hooks/use-overlay-scrollbars/use-overlay-scrollbars.d.ts +0 -11
  203. package/es/interface/controller/edit-form/edit-form.controller.d.ts +0 -26
  204. package/es/interface/controller/editor/i-color-editor.controller.d.ts +0 -11
  205. package/es/interface/controller/editor/i-length-unit-editor.controller.d.ts +0 -11
  206. package/es/interface/controller/editor-item/editor-item.controller.d.ts +0 -19
  207. package/es/interface/controller/form/form.controller.d.ts +0 -121
  208. package/es/interface/controller/form-collapse/form-collapse.controller.d.ts +0 -23
  209. package/es/interface/controller/form-collapse-pane/form-collapse-pane.controller.d.ts +0 -23
  210. package/es/interface/controller/form-edit-item/form-edit-item.controller.d.ts +0 -59
  211. package/es/interface/controller/form-group/form-group.controller.d.ts +0 -24
  212. package/es/interface/controller/form-hidden-item/form-hidden-item.controller.d.ts +0 -24
  213. package/es/interface/controller/form-item/form-item.controller.d.ts +0 -40
  214. package/es/interface/controller/form-item-basic/form-item-basic.controller.d.ts +0 -51
  215. package/es/interface/controller/form-tab/form-tab.controller.d.ts +0 -23
  216. package/es/interface/controller/form-tab-pane/form-tab-pane.controller.d.ts +0 -23
  217. package/es/interface/controller/index.d.ts +0 -14
  218. package/es/interface/events/form/i-form.event.d.ts +0 -11
  219. package/es/interface/events/index.d.ts +0 -1
  220. package/es/interface/form/i-editor/i-check-switch.d.ts +0 -29
  221. package/es/interface/form/i-editor/i-checkbox-editor.d.ts +0 -9
  222. package/es/interface/form/i-editor/i-color-editor.d.ts +0 -13
  223. package/es/interface/form/i-editor/i-editor-basic.d.ts +0 -87
  224. package/es/interface/form/i-editor/i-icon-select-editor.d.ts +0 -21
  225. package/es/interface/form/i-editor/i-info-editor.d.ts +0 -21
  226. package/es/interface/form/i-editor/i-length-unit-editor.d.ts +0 -13
  227. package/es/interface/form/i-editor/i-model-field-select-editor.d.ts +0 -18
  228. package/es/interface/form/i-editor/i-number-editor.d.ts +0 -21
  229. package/es/interface/form/i-editor/i-picker-editor.d.ts +0 -30
  230. package/es/interface/form/i-editor/i-radio-editor.d.ts +0 -21
  231. package/es/interface/form/i-editor/i-select-editor.d.ts +0 -14
  232. package/es/interface/form/i-editor/i-span-editor.d.ts +0 -30
  233. package/es/interface/form/i-editor/i-switch-editor.d.ts +0 -14
  234. package/es/interface/form/i-editor/i-text-editor.d.ts +0 -46
  235. package/es/interface/form/i-editor/i-textarea-editor.d.ts +0 -25
  236. package/es/interface/form/i-form/i-edit-form.d.ts +0 -48
  237. package/es/interface/form/i-form/i-form-collapse-pane.d.ts +0 -30
  238. package/es/interface/form/i-form/i-form-collapse.d.ts +0 -35
  239. package/es/interface/form/i-form/i-form-container.d.ts +0 -53
  240. package/es/interface/form/i-form/i-form-edit-item.d.ts +0 -140
  241. package/es/interface/form/i-form/i-form-group-container.d.ts +0 -24
  242. package/es/interface/form/i-form/i-form-group.d.ts +0 -35
  243. package/es/interface/form/i-form/i-form-hidden-item.d.ts +0 -11
  244. package/es/interface/form/i-form/i-form-item-basic.d.ts +0 -126
  245. package/es/interface/form/i-form/i-form-item.d.ts +0 -11
  246. package/es/interface/form/i-form/i-form-tab-pane.d.ts +0 -23
  247. package/es/interface/form/i-form/i-form-tab.d.ts +0 -21
  248. package/es/interface/form/i-form/i-form.d.ts +0 -79
  249. package/es/interface/form/index.d.ts +0 -29
  250. package/es/interface/layout/i-flex-layout/i-flex-container.d.ts +0 -75
  251. package/es/interface/layout/i-flex-layout/i-flex-item.d.ts +0 -51
  252. package/es/interface/layout/i-grid-layout/i-grid-container.d.ts +0 -29
  253. package/es/interface/layout/i-grid-layout/i-grid-item-span.d.ts +0 -54
  254. package/es/interface/layout/i-grid-layout/i-grid-item.d.ts +0 -37
  255. package/es/interface/layout/i-layout-basis/i-layout-container-basis.d.ts +0 -11
  256. package/es/interface/layout/index.d.ts +0 -6
  257. package/es/interface/provider/i-editor-provider/i-editor-provider.d.ts +0 -24
  258. package/es/interface/provider/i-form-item-provider/i-form-item-provider.d.ts +0 -44
  259. package/es/interface/state/form/form.state.d.ts +0 -53
  260. package/es/interface/state/form-collapse/form-collapse.state.d.ts +0 -11
  261. package/es/interface/state/form-collapse-pane/form-collapse-pane.state.d.ts +0 -11
  262. package/es/interface/state/form-edit-item/form-edit-item.state.d.ts +0 -38
  263. package/es/interface/state/form-group/form-group.state.d.ts +0 -21
  264. package/es/interface/state/form-hidden-item/form-hidden-item.state.d.ts +0 -5
  265. package/es/interface/state/form-item/form-item.state.d.ts +0 -20
  266. package/es/interface/state/form-item-basic/form-item-basic.state.d.ts +0 -63
  267. package/es/interface/state/form-tab/form-tab.state.d.ts +0 -19
  268. package/es/interface/state/form-tab-pane/form-tab-pane.state.d.ts +0 -11
  269. package/es/interface/state/index.d.ts +0 -10
  270. package/es/modules/platform-config/interfaces/global-setting.interface.d.ts +0 -7
  271. package/es/register/editor-register/editor-register.d.ts +0 -49
  272. package/es/register/editor-register/editor-register.mjs +0 -57
  273. package/es/register/form-item-register/form-item-register.d.ts +0 -36
  274. package/es/register/form-item-register/form-item-register.mjs +0 -42
  275. package/es/register/index.d.ts +0 -14
  276. package/es/state/form/form.state.d.ts +0 -24
  277. package/es/state/form/form.state.mjs +0 -16
  278. package/es/state/form-collapse/form-collapse.state.d.ts +0 -14
  279. package/es/state/form-collapse/form-collapse.state.mjs +0 -6
  280. package/es/state/form-collapse-pane/form-collapse-pane.state.d.ts +0 -14
  281. package/es/state/form-collapse-pane/form-collapse-pane.state.mjs +0 -6
  282. package/es/state/form-edit-item/form-edit-item.state.d.ts +0 -17
  283. package/es/state/form-edit-item/form-edit-item.state.mjs +0 -10
  284. package/es/state/form-group/form-group.state.d.ts +0 -21
  285. package/es/state/form-group/form-group.state.mjs +0 -14
  286. package/es/state/form-item/form-item.state.d.ts +0 -14
  287. package/es/state/form-item/form-item.state.mjs +0 -6
  288. package/es/state/form-item-basic/form-item-basic.state.d.ts +0 -17
  289. package/es/state/form-item-basic/form-item-basic.state.mjs +0 -9
  290. package/es/state/form-tab/form-tab.state.d.ts +0 -15
  291. package/es/state/form-tab/form-tab.state.mjs +0 -7
  292. package/es/state/form-tab-pane/form-tab-pane.state.d.ts +0 -14
  293. package/es/state/form-tab-pane/form-tab-pane.state.mjs +0 -6
  294. package/es/utils/props/gct-form-item/gct-form-item.props.d.ts +0 -63
  295. package/es/utils/props/gct-form-item/gct-form-item.props.mjs +0 -66
  296. package/es/utils/props/index.d.ts +0 -1
  297. package/es/utils/width-install/width-install.d.ts +0 -17
  298. package/es/utils/width-install/width-install.mjs +0 -23
@@ -1,56 +1,54 @@
1
- import '../../enums/app-designer/index.mjs';
2
- import '../../enums/page-designer/designer.mjs';
3
- import '../../enums/breakpointEnum.mjs';
4
-
5
- const functionGroup = [
6
- {
7
- id: "LOGIC",
8
- name: "逻辑",
9
- children: [
10
- {
11
- desc: "IF(expr, a, b)\n根据条件表达式,返回不同的值, 当expr执行为true,返回a, 否则返回b。\n参数 expr: 条件表达式 a: 值 b: 另一个值 返回值 a|b\n示例\nIF(1 > 2, 1, 2); 返回 2",
12
- definition: "declare function IF<T>(expr: boolean, v: T, l: T): T;"
13
- },
14
- {
15
- desc: "ISEMPTY(a)\n判断参数a是否为空,a为空则返回true\n参数a支持的类型:String,Array,Object,返回值 true|false\n示例\nISEMPTY('') 返回 true\nISEMPTY(null) 返回 true\nISEMPTY(undefined) 返回 true\nISEMPTY([]) 返回 true\nISEMPTY({}) 返回 true\n",
16
- definition: "declare function ISEMPTY<T>(val: T): boolean;"
17
- },
18
- {
19
- desc: `ISNULL(a)
1
+ import "../../enums/index.mjs";
2
+ //#region src/constants/expression-type/function.ts
3
+ var functionGroup = [
4
+ {
5
+ id: "LOGIC",
6
+ name: "逻辑",
7
+ children: [
8
+ {
9
+ desc: "IF(expr, a, b)\n根据条件表达式,返回不同的值, 当expr执行为true,返回a, 否则返回b。\n参数 expr: 条件表达式 a: 值 b: 另一个值 返回值 a|b\n示例\nIF(1 > 2, 1, 2); 返回 2",
10
+ definition: "declare function IF<T>(expr: boolean, v: T, l: T): T;"
11
+ },
12
+ {
13
+ desc: "ISEMPTY(a)\n判断参数a是否为空,a为空则返回true\n参数a支持的类型:String,Array,Object,返回值 true|false\n示例\nISEMPTY('') 返回 true\nISEMPTY(null) 返回 true\nISEMPTY(undefined) 返回 true\nISEMPTY([]) 返回 true\nISEMPTY({}) 返回 true\n",
14
+ definition: "declare function ISEMPTY<T>(val: T): boolean;"
15
+ },
16
+ {
17
+ desc: `ISNULL(a)
20
18
  判断参数a是否为null,a为null则返回true
21
19
  示例
22
20
  ISNULL('') 返回 false
23
21
  ISNULL(null) 返回 true
24
22
  ISNULL(undefined) 返回 false`,
25
- definition: "declare function ISNULL<T>(val: T): Promise<boolean>;"
26
- },
27
- {
28
- desc: `ISUNDEFINED(a)
23
+ definition: "declare function ISNULL<T>(val: T): Promise<boolean>;"
24
+ },
25
+ {
26
+ desc: `ISUNDEFINED(a)
29
27
  判断参数a是否为undefined,a为undefined则返回true
30
28
  示例
31
29
  ISUNDEFINED('') 返回 false
32
30
  ISUNDEFINED(null) 返回 false
33
31
  ISUNDEFINED(undefined) 返回 true`,
34
- definition: "declare function ISUNDEFINED<T>(val: T): Promise<boolean>;"
35
- },
36
- {
37
- desc: `AND(conditions): boolean
32
+ definition: "declare function ISUNDEFINED<T>(val: T): Promise<boolean>;"
33
+ },
34
+ {
35
+ desc: `AND(conditions): boolean
38
36
  根据一组表达式判断是否为真,只要有一个为false,则返回false
39
37
  参数 conditions: 条件表达式列表 返回值 true|false
40
38
  示例
41
39
  IF(AND(1==1,1 > 2,3==3),'正确','错误'); 返回 错误`,
42
- definition: "declare function AND<T>(...e: T[]): Promise<boolean>;"
43
- },
44
- {
45
- desc: `OR(conditions)
40
+ definition: "declare function AND<T>(...e: T[]): Promise<boolean>;"
41
+ },
42
+ {
43
+ desc: `OR(conditions)
46
44
  根据一组表达式判断是否为真,只要有一个为true,则返回true
47
45
  参数 conditions: 条件表达式数组 返回值 true|false
48
46
  示例
49
47
  IF(AND(1==1,1 > 2,3==3),'正确','错误'); 返回 正确`,
50
- definition: "declare function OR<T>(...e: T[]): Promise<boolean>;"
51
- },
52
- {
53
- desc: `EQ(a, b)
48
+ definition: "declare function OR<T>(...e: T[]): Promise<boolean>;"
49
+ },
50
+ {
51
+ desc: `EQ(a, b)
54
52
  比较两个值是否相等,如果相等则返回true
55
53
  参数a/b支持的类型:Number,String ,Boolean , Date , Array , Object,Array及Object比较数值型知否相等,参数 a: 一个值 b: 另一个值 返回值 true|false
56
54
  示例
@@ -58,10 +56,10 @@ const functionGroup = [
58
56
  EQ("a", "c"); 返回 false
59
57
  EQ([1,2,3],[1,2,3]) 返回 true
60
58
  EQ({a:1,b:1},{a:1,b:1}) 返回 true`,
61
- definition: "declare function EQ<T, K>(v: T, o: K): Promise<boolean>;"
62
- },
63
- {
64
- desc: `NE(a, b)
59
+ definition: "declare function EQ<T, K>(v: T, o: K): Promise<boolean>;"
60
+ },
61
+ {
62
+ desc: `NE(a, b)
65
63
  比较两个值是否不相等,如果不相等则返回true
66
64
  参数a/b支持的类型:Number,String ,Boolean , Date , Array , Object,Array及Object比较数值型知否不相等, 参数 a: 一个值 b: 另一个值 返回值 true|false
67
65
  示例
@@ -69,10 +67,10 @@ const functionGroup = [
69
67
  NE("a", "c"); 返回 true
70
68
  NE([1,2,3],[1,2,3]) 返回 false
71
69
  NE({a:1,b:1},{a:1,b:1}) 返回 false`,
72
- definition: "declare function NE<T>(v: T, o: T): Promise<boolean>;"
73
- },
74
- {
75
- desc: `LE(a, b)
70
+ definition: "declare function NE<T>(v: T, o: T): Promise<boolean>;"
71
+ },
72
+ {
73
+ desc: `LE(a, b)
76
74
  比较两个值大小,a小于等于b返回true
77
75
  参数a/b支持的类型:Number,String,Date, 参数 a: 一个值 b: 另一个值 返回值 true|false
78
76
  示例
@@ -80,10 +78,10 @@ const functionGroup = [
80
78
  LE(2, 1); 返回 false
81
79
  LE('2023-07-12',''2023-07-13'') 返回 true
82
80
  LE('12:00',''13:00'') 返回 true`,
83
- definition: "declare function LE<T>(v: T, o: T): Promise<boolean>;"
84
- },
85
- {
86
- desc: `LT(a, b)
81
+ definition: "declare function LE<T>(v: T, o: T): Promise<boolean>;"
82
+ },
83
+ {
84
+ desc: `LT(a, b)
87
85
  比较两个值大小,a小于b返回true
88
86
  参数a/b支持的类型:Number,String,Date, 参数 a: 一个值 b: 另一个值 返回值 true|false
89
87
  示例
@@ -91,10 +89,10 @@ const functionGroup = [
91
89
  LT(1, 2); 返回 true
92
90
  LT('2023-07-12',''2023-07-13'') 返回 true
93
91
  LT('13:00',''12:00'') 返回 true`,
94
- definition: "declare function LT<T>(v: T, o: T): Promise<boolean>;"
95
- },
96
- {
97
- desc: `GE(a, b)
92
+ definition: "declare function LT<T>(v: T, o: T): Promise<boolean>;"
93
+ },
94
+ {
95
+ desc: `GE(a, b)
98
96
  比较两个值大小,a大于等于b返回true
99
97
  参数a/b支持的类型:Number,String,Date, 参数 a: 一个值 b: 另一个值 返回值 true|false
100
98
  示例
@@ -102,10 +100,10 @@ const functionGroup = [
102
100
  GE(2, 3); 返回 false
103
101
  GE('2023-07-13','2023-07-12') 返回 true
104
102
  GE('13:00','12:00') 返回 true`,
105
- definition: "declare function GE<T>(v: T, o: T): Promise<boolean>;"
106
- },
107
- {
108
- desc: `GT(a, b)
103
+ definition: "declare function GE<T>(v: T, o: T): Promise<boolean>;"
104
+ },
105
+ {
106
+ desc: `GT(a, b)
109
107
  比较两个值大小,a大于b返回true
110
108
  参数a/b支持的类型:Number,String,Date, 参数 a: 一个值 b: 另一个值 返回值 true|false
111
109
  示例
@@ -113,763 +111,754 @@ const functionGroup = [
113
111
  GT(2, 1); 返回 false
114
112
  GT('2023-07-13','2023-07-12') 返回 true
115
113
  GT('13:00','12:00') 返回 true`,
116
- definition: "declare function GT<T>(v: T, o: T): Promise<boolean>;"
117
- }
118
- ]
119
- },
120
- {
121
- id: "STRING",
122
- name: "字符串",
123
- children: [
124
- {
125
- desc: `LEN(a)
114
+ definition: "declare function GT<T>(v: T, o: T): Promise<boolean>;"
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ id: "STRING",
120
+ name: "字符串",
121
+ children: [
122
+ {
123
+ desc: `LEN(a)
126
124
  返回字符串长度
127
125
  示例
128
126
  LEN('aa'); 返回 2`,
129
- definition: "declare function LEN(v: string): Promise<number>;"
130
- },
131
- {
132
- desc: `CONCAT(a,b....)
127
+ definition: "declare function LEN(v: string): Promise<number>;"
128
+ },
129
+ {
130
+ desc: `CONCAT(a,b....)
133
131
  拼接参数a和b,返回拼接后的字符串
134
132
  参数a/b支持字符串,返回字符串
135
133
  示例
136
134
  CONCAT('a','b','c') 返回abc`,
137
- definition: "declare function CONCAT(...args: string[]): Promise<string>;"
138
- },
139
- {
140
- desc: `SUBSTRING(str,start,end)
135
+ definition: "declare function CONCAT(...args: string[]): Promise<string>;"
136
+ },
137
+ {
138
+ desc: `SUBSTRING(str,start,end)
141
139
  截取字符串str,从start开始截取到end,start从0开始,如果start和end为负数表示从最后开始截取,start为-1表示从最后一位开始截取,返回截取的字符串
142
140
  示例
143
141
  SUBSTRING('abcd',0,2) 返回abc
144
142
  SUBSTRING('abcd',-1,-2) 返回 cd`,
145
- definition: "declare function SUBSTRING(v: string, s: number, e: number): Promise<string>;"
146
- },
147
- {
148
- desc: `SUBSTR(str,start,len)
143
+ definition: "declare function SUBSTRING(v: string, s: number, e: number): Promise<string>;"
144
+ },
145
+ {
146
+ desc: `SUBSTR(str,start,len)
149
147
  截取字符串str,从start开始截取len长度,start从0开始,如果start为负数表示从最后开始截取,start为-1表示从最后一位开始截取,返回截取的字符串
150
148
  SUBSTR('abcd',0,2) 返回ab
151
149
  SUBSTRING('abcd',-1,2) 返回 cd`,
152
- definition: "declare function SUBSTR(v: string, s: number, l: number): Promise<string>;"
153
- },
154
- {
155
- desc: `UPPER(a)
150
+ definition: "declare function SUBSTR(v: string, s: number, l: number): Promise<string>;"
151
+ },
152
+ {
153
+ desc: `UPPER(a)
156
154
  字符串a转化为大写,参数a支持字符串
157
155
  示例
158
156
  UPPER('aa') 返回 AA `,
159
- definition: "declare function UPPER(v: string): Promise<string>;"
160
- },
161
- {
162
- desc: `LOWER(a)
157
+ definition: "declare function UPPER(v: string): Promise<string>;"
158
+ },
159
+ {
160
+ desc: `LOWER(a)
163
161
  字符串a转化为小写,参数a支持字符串
164
162
  示例
165
163
  LOWER('AA') 返回 aa`,
166
- definition: "declare function LOWER(v: string): Promise<string>;"
167
- },
168
- {
169
- desc: `TRIM(a)
164
+ definition: "declare function LOWER(v: string): Promise<string>;"
165
+ },
166
+ {
167
+ desc: `TRIM(a)
170
168
  字符串a去前后空格
171
169
  示例
172
170
  TRIM(' ab ') 返回 'ab'`,
173
- definition: "declare function TRIM(v: string): Promise<string>;"
174
- },
175
- {
176
- desc: `LTRIM(a)
171
+ definition: "declare function TRIM(v: string): Promise<string>;"
172
+ },
173
+ {
174
+ desc: `LTRIM(a)
177
175
  字符串a去前空格
178
176
  示例
179
177
  LTRIM(' ab ') 返回 'ab '`,
180
- definition: "declare function LTRIM(v: string): Promise<string>;"
181
- },
182
- {
183
- desc: `RTRIM(a)
178
+ definition: "declare function LTRIM(v: string): Promise<string>;"
179
+ },
180
+ {
181
+ desc: `RTRIM(a)
184
182
  字符串a去前空格
185
183
  示例
186
184
  LTRIM(' ab ') 返回 ' ab'`,
187
- definition: "declare function RTRIM(v: string): Promise<string>;"
188
- },
189
- {
190
- desc: `REPEAT(str,a)
185
+ definition: "declare function RTRIM(v: string): Promise<string>;"
186
+ },
187
+ {
188
+ desc: `REPEAT(str,a)
191
189
  字符串a在str中重复的次数,返回重复次数
192
190
  示例
193
191
  REPEAT('aabbcc','a') 返回 2`,
194
- definition: "declare function REPEAT(v: string, c: string): Promise<number | null>;"
195
- },
196
- {
197
- desc: `REPLACE(str,a,b)
192
+ definition: "declare function REPEAT(v: string, c: string): Promise<number | null>;"
193
+ },
194
+ {
195
+ desc: `REPLACE(str,a,b)
198
196
  字符串str中把所有的a替换成b
199
197
  示例
200
198
  REPLACE('aabbcc','a','1') 返回 11bbcc`,
201
- definition: "declare function REPLACE(v: string, o: string, t: string): Promise<string>;"
202
- },
203
- {
204
- desc: `FINDSTR(str,a)
199
+ definition: "declare function REPLACE(v: string, o: string, t: string): Promise<string>;"
200
+ },
201
+ {
202
+ desc: `FINDSTR(str,a)
205
203
  在字符串str中查找字符串a,如果存在返回true,不存在返回false
206
204
  示例
207
205
  FINDSTR('aabbcc','a') 返回 true`,
208
- definition: "declare function FINDSTR(v: string, c: string): Promise<boolean>;"
209
- },
210
- {
211
- desc: `SEARCHSTR(str,a)
206
+ definition: "declare function FINDSTR(v: string, c: string): Promise<boolean>;"
207
+ },
208
+ {
209
+ desc: `SEARCHSTR(str,a)
212
210
  在字符串str中查找字符串a,返回a在str中出现的次数,如果不存在则返回0
213
211
  示例
214
212
  SEARCHSTR('aabbcc','a') 返回 2`,
215
- definition: "declare function SEARCHSTR(v: string, c: string): Promise<number>;"
216
- },
217
- {
218
- desc: `PARSENUMBER(str)
213
+ definition: "declare function SEARCHSTR(v: string, c: string): Promise<number>;"
214
+ },
215
+ {
216
+ desc: `PARSENUMBER(str)
219
217
  字符串str转化为数值
220
218
  示例
221
219
  PARSENUMBER('1') 返回 1
222
220
  PARSENUMBER('0.1') 返回 0.1`,
223
- definition: "declare function PARSENUMBER(v: string): Promise<number | null>;"
224
- },
225
- {
226
- desc: `SPLIET(str,a)
221
+ definition: "declare function PARSENUMBER(v: string): Promise<number | null>;"
222
+ },
223
+ {
224
+ desc: `SPLIET(str,a)
227
225
  字符串str根据a分割转化为数组,返回数组
228
226
  参数仅支持Number类型
229
227
  示例
230
228
  SPLIT('aa-bb-cc','-') 返回 ['aa','bb','cc']`,
231
- definition: "declare function SPLIT(v: string, c: string): Promise<string[]>;"
232
- }
233
- ]
234
- },
235
- {
236
- id: "NUMBER",
237
- name: "数值",
238
- children: [
239
- {
240
- desc: `SUM(a,b,c...)
229
+ definition: "declare function SPLIT(v: string, c: string): Promise<string[]>;"
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ id: "NUMBER",
235
+ name: "数值",
236
+ children: [
237
+ {
238
+ desc: `SUM(a,b,c...)
241
239
  参数a、b、c...相加,返回相加后的数值
242
240
  示例
243
241
  SUM(1,2,3) 返回 6`,
244
- definition: "declare function SUM(...args: number[]): Promise<number>;"
245
- },
246
- {
247
- desc: `REDUCE(a,b,c...)
242
+ definition: "declare function SUM(...args: number[]): Promise<number>;"
243
+ },
244
+ {
245
+ desc: `REDUCE(a,b,c...)
248
246
  参数a、b、c...相减,返回相减后的数值
249
247
  示例
250
248
  REDUCE(2,1) 返回 1
251
249
  REDUCE(5,1,2) 返回 2`,
252
- definition: "declare function REDUCE(...args: number[]): Promise<number>;"
253
- },
254
- {
255
- desc: `MULTIPLICATION(a,b,c...)
250
+ definition: "declare function REDUCE(...args: number[]): Promise<number>;"
251
+ },
252
+ {
253
+ desc: `MULTIPLICATION(a,b,c...)
256
254
  参数a、b、c...相乘,返回相乘后的数值
257
255
  示例
258
256
  MULTIPLICATION(2,1) 返回 2
259
257
  MULTIPLICATION(5,1,2) 返回 10`,
260
- definition: "declare function MULTIPLICATION(...args: number[]): Promise<number>;"
261
- },
262
- {
263
- desc: `DIVISION(a,b,c...)
258
+ definition: "declare function MULTIPLICATION(...args: number[]): Promise<number>;"
259
+ },
260
+ {
261
+ desc: `DIVISION(a,b,c...)
264
262
  参数a、b、c...相除,返回相除后的数值
265
263
  示例
266
264
  DIVISION(2,1) 返回 2
267
265
  DIVISION(10,5,2) 返回 1`,
268
- definition: "declare function DIVISION(...args: number[]): Promise<number>;"
269
- },
270
- {
271
- desc: `FIXED(value,num)
266
+ definition: "declare function DIVISION(...args: number[]): Promise<number>;"
267
+ },
268
+ {
269
+ desc: `FIXED(value,num)
272
270
  参数value保留num位小数,返回数值
273
271
  示例
274
272
  FIXED(2.01,1) 返回 2.0
275
273
  FIXED(2.015,2) 返回 2.01`,
276
- definition: "declare function FIXED(v: number, n: number): Promise<number | Promise<Error>>;"
277
- },
278
- {
279
- desc: `ROUND(value,num)
274
+ definition: "declare function FIXED(v: number, n: number): Promise<number | Promise<Error>>;"
275
+ },
276
+ {
277
+ desc: `ROUND(value,num)
280
278
  参数value保留num位四舍五入后的小数,返回数值
281
279
  示例
282
280
  ROUND(2.01,1) 返回 2.0
283
281
  ROUND(2.015,2) 返回 2.02`,
284
- definition: "declare function ROUND(v: number, n: number): Promise<number | Promise<Error>>;"
285
- },
286
- {
287
- desc: `ROUNDUP(value,num)
282
+ definition: "declare function ROUND(v: number, n: number): Promise<number | Promise<Error>>;"
283
+ },
284
+ {
285
+ desc: `ROUNDUP(value,num)
288
286
  将数字向上舍入到指定的位数。无论数字正负,舍入方向始终向绝对值更大的方向进行。
289
287
  示例
290
288
  ROUNDUP(3.141,2) 返回 3.15`,
291
- definition: "declare function ROUNDUP(v: number, n: number): Promise<number | Promise<Error>>;"
292
- },
293
- {
294
- desc: `MAX([value1, value2...])
289
+ definition: "declare function ROUNDUP(v: number, n: number): Promise<number | Promise<Error>>;"
290
+ },
291
+ {
292
+ desc: `MAX([value1, value2...])
295
293
  从数组参数中获取最大的数,返回数值
296
294
  参数必须为Number类型数组
297
295
  示例
298
296
  MAX([2, 1]) 返回 2
299
297
  MAX([2.1, 2.2]) 返回 2.2`,
300
- definition: "declare function MAX(v: number[]): Promise<number>;"
301
- },
302
- {
303
- desc: `LARGE([value1, value2...], n)
298
+ definition: "declare function MAX(v: number[]): Promise<number>;"
299
+ },
300
+ {
301
+ desc: `LARGE([value1, value2...], n)
304
302
  从数组参数中获取第n大数值,返回数值
305
303
  参数必须为Number类型数组
306
304
  示例
307
305
  LARGE([5, 4, 3, 2, 1],2) 返回 4
308
306
  LARGE([2.5, 2.4, 2.3, 2.2, 2.1], 3) 返回 2.3`,
309
- definition: "declare function LARGE(v: number[], n: number): Promise<number | Promise<Error>>;"
310
- },
311
- {
312
- desc: `MIN([value1, value2...])
307
+ definition: "declare function LARGE(v: number[], n: number): Promise<number | Promise<Error>>;"
308
+ },
309
+ {
310
+ desc: `MIN([value1, value2...])
313
311
  从数组参数中获取最小的数,返回数值
314
312
  参数必须为Number类型数组
315
313
  示例
316
314
  MIN([2, 1]) 返回 1
317
315
  MIN([2.1, 2.2]) 返回 2.1`,
318
- definition: "declare function MIN(v: number[]): Promise<number>;"
319
- },
320
- {
321
- desc: `SMALL([value1, value2...], n)
316
+ definition: "declare function MIN(v: number[]): Promise<number>;"
317
+ },
318
+ {
319
+ desc: `SMALL([value1, value2...], n)
322
320
  从数组参数中获取第n小数值,返回数值
323
321
  参数必须为Number类型数组
324
322
  示例
325
323
  SMALL([5, 4, 3, 2, 1], 2) 返回 2
326
324
  SMALL([2.5, 2.4, 2.3, 2.2, 2.1], 3) 返回 2.3`,
327
- definition: "declare function SMALL(v: number[], n: number): Promise<number | Promise<Error>>;"
328
- },
329
- {
330
- desc: `AVERAGE([value1, value2...])
325
+ definition: "declare function SMALL(v: number[], n: number): Promise<number | Promise<Error>>;"
326
+ },
327
+ {
328
+ desc: `AVERAGE([value1, value2...])
331
329
  取数组中所有数值的平均值,返回数值
332
330
  参数必须为Number类型数组
333
331
  示例
334
332
  AVERAGE([5, 4, 3, 2, 1]) 返回 3`,
335
- definition: "declare function AVERAGE(v: number[]): Promise<number | Promise<Error>>;"
336
- },
337
- {
338
- desc: `ABS(value)
333
+ definition: "declare function AVERAGE(v: number[]): Promise<number | Promise<Error>>;"
334
+ },
335
+ {
336
+ desc: `ABS(value)
339
337
  取数值参数value的绝对值,返回数值
340
338
  参数必须为Number类型
341
339
  示例
342
340
  ABS(-1) 返回 1`,
343
- definition: "declare function ABS(v: number): Promise<number>;"
344
- },
345
- {
346
- desc: `MOD(value1, value2)
341
+ definition: "declare function ABS(v: number): Promise<number>;"
342
+ },
343
+ {
344
+ desc: `MOD(value1, value2)
347
345
  取数value1除以value2的余数,返回数值
348
346
  参数必须为Number类型
349
347
  示例
350
348
  MOD(4, 3) 返回 1`,
351
- definition: "declare function MOD(v: number, n: number): Promise<number | Promise<Error>>;"
352
- },
353
- {
354
- desc: `POWER(value, n)
349
+ definition: "declare function MOD(v: number, n: number): Promise<number | Promise<Error>>;"
350
+ },
351
+ {
352
+ desc: `POWER(value, n)
355
353
  获取数值value的n次乘幂,返回数值
356
354
  参数必须为Number类型
357
355
  示例
358
356
  POWER(4, 2) 返回 16`,
359
- definition: "declare function POWER(v: number, n: number): Promise<number>;"
360
- },
361
- {
362
- desc: `SQRT(value)
357
+ definition: "declare function POWER(v: number, n: number): Promise<number>;"
358
+ },
359
+ {
360
+ desc: `SQRT(value)
363
361
  获取数值value的平方根,返回数值
364
362
  参数必须为Number类型
365
363
  示例
366
364
  SQRT(4) 返回 2`,
367
- definition: "declare function SQRT(v: number): Promise<number>;"
368
- },
369
- {
370
- desc: `SUMSQ
365
+ definition: "declare function SQRT(v: number): Promise<number>;"
366
+ },
367
+ {
368
+ desc: `SUMSQ
371
369
  SUMSQ(数字1, 数字2, ...) 计算一组数值的平方和。
372
370
  示例
373
371
  SUMSQ(2,3)=2²+3²=13`,
374
- definition: "declare function SUMSQ(...args: number[]): Promise<number>;"
375
- },
376
- {
377
- desc: `STDEV
372
+ definition: "declare function SUMSQ(...args: number[]): Promise<number>;"
373
+ },
374
+ {
375
+ desc: `STDEV
378
376
  STDEV(数字1, 数字2, ...) 计算一组数值的标准差。
379
377
  示例
380
378
  STDEV([10, 12, 23, 23, 16, 23, 21, 16])=5.237229365663817`,
381
- definition: "declare function STDEV(...args: number[]): Promise<number>;"
382
- }
383
- ]
384
- },
385
- {
386
- id: "OBJECT,ARRAY",
387
- name: "对象/数组",
388
- children: [
389
- {
390
- desc: `TUPLE(1, 2, 3)
379
+ definition: "declare function STDEV(...args: number[]): Promise<number>;"
380
+ }
381
+ ]
382
+ },
383
+ {
384
+ id: "OBJECT,ARRAY",
385
+ name: "对象/数组",
386
+ children: [
387
+ {
388
+ desc: `TUPLE(1, 2, 3)
391
389
  把多个参数转化为数组结构
392
390
  示例
393
391
  TUPLE(1, 2, 3) 返回[1, 2, 3]`,
394
- definition: "declare function TUPLE(x:any): any[]"
395
- },
396
- {
397
- desc: `SEQMAP('a', 1, 'b', 'c')
392
+ definition: "declare function TUPLE(x:any): any[]"
393
+ },
394
+ {
395
+ desc: `SEQMAP('a', 1, 'b', 'c')
398
396
  把多个参数转化对象
399
397
  示例
400
398
  SEQMAP('a', 1, 'b', 'c') 返回 { a: 1, b: 'c' } `,
401
- definition: "declare function SEQMAP(a:string,b:any): object"
402
- },
403
- {
404
- desc: `GET(a, b)
399
+ definition: "declare function SEQMAP(a:string,b:any): object"
400
+ },
401
+ {
402
+ desc: `GET(a, b)
405
403
  如果a是对象,则获取对象a中属性b的值,如果a是数组,则获取下标b的数据项
406
404
  参数a支持的类型: Array , Object,参数b支持的类型: Number,String
407
405
  示例
408
406
  GET(['A', 'B', 'C'], 1) 返回 A
409
407
  GET({ a: 1, b: 2, c: 3 }, 'a') 返回 B`,
410
- definition: "declare function GET<T extends object | any[]>(v: T, p: number | keyof T): Promise<T[keyof T]>;"
411
- },
412
- {
413
- desc: `PUT(a, b, c)
408
+ definition: "declare function GET<T extends object | any[]>(v: T, p: number | keyof T): Promise<T[keyof T]>;"
409
+ },
410
+ {
411
+ desc: `PUT(a, b, c)
414
412
  如果a是对象,则b为对象中的属性,c为需要设置的属性值,如果a是数组,则b数组的下标,c为该下标需要设置的数据项
415
413
  参数a支持的类型: Array , Object,参数b支持的类型: Number,String ,参数c泛型
416
414
  示例
417
415
  PUT(['A', 'B', 'C'], 1, 'D') 返回['A', 'D', 'C']
418
416
  PUT({ a: 1, b: 2, c: 3 }, 'a', 4) 返回 { a: 4, b: 2, c: 3 } `,
419
- definition: "declare function PUT<T>(a: T, b: keyof T, c: T[keyof T | any]): Promise<T | Promise<Error>>;"
420
- },
421
- {
422
- desc: `PUSH(a, b)
417
+ definition: "declare function PUT<T>(a: T, b: keyof T, c: T[keyof T | any]): Promise<T | Promise<Error>>;"
418
+ },
419
+ {
420
+ desc: `PUSH(a, b)
423
421
  在数组对象a末尾追加b
424
422
  参数a的类型为Array, 参数b泛型,返回数组
425
423
  示例
426
424
  PUSH([1, 2, 3], 4) 返回[1, 2, 3, 4]`,
427
- definition: "declare function PUSH<T>(v: any[], n: T): Promise<T[] | Promise<Error>>;"
428
- },
429
- {
430
- desc: `HEADPUSH(a, b)
425
+ definition: "declare function PUSH<T>(v: any[], n: T): Promise<T[] | Promise<Error>>;"
426
+ },
427
+ {
428
+ desc: `HEADPUSH(a, b)
431
429
  在数组对象a头部追加b
432
430
  参数a的类型为Array, 参数b泛型,返回数组
433
431
  示例
434
432
  HEADPUSH([1, 2, 3], 0) 返回[0, 1, 2, 3]`,
435
- definition: "declare function HEADPUSH<T>(v: any[], n: T): Promise<T[] | Promise<Error>>;"
436
- },
437
- {
438
- desc: `COUNT
433
+ definition: "declare function HEADPUSH<T>(v: any[], n: T): Promise<T[] | Promise<Error>>;"
434
+ },
435
+ {
436
+ desc: `COUNT
439
437
  COUNT([数字1, 数字2, ...]) 计算数组的数量。
440
438
  示例
441
439
  COUNT([10, 12, 23, 23, 16, 23, 21, 16])=8`,
442
- definition: "declare function COUNT(v: number[]): Promise<number>;"
443
- }
444
- ]
445
- },
446
- {
447
- id: "DATE",
448
- name: "日期",
449
- children: [
450
- {
451
- desc: `TIMESTAMP2DATE(dtstr)
440
+ definition: "declare function COUNT(v: number[]): Promise<number>;"
441
+ }
442
+ ]
443
+ },
444
+ {
445
+ id: "DATE",
446
+ name: "日期",
447
+ children: [
448
+ {
449
+ desc: `TIMESTAMP2DATE(dtstr)
452
450
  时间戳转化为日期对象,参数dtstr为时间戳类型,返回日期时间对象
453
451
  示例
454
452
  TIMESTAMP2DATE(1689558261) 返回 2023-07 - 17 9: 44: 21`,
455
- definition: "declare function TIMESTAMP2DATE(v: number): Promise<string | Promise<Error>>;"
456
- },
457
- {
458
- desc: `DATE2TIMESTAMP(dt)
453
+ definition: "declare function TIMESTAMP2DATE(v: number): Promise<string | Promise<Error>>;"
454
+ },
455
+ {
456
+ desc: `DATE2TIMESTAMP(dt)
459
457
  日期转时间戳,参数dt为日期类型,返回时间戳
460
458
  示例
461
459
  DATE2TIMESTAMP()`,
462
- definition: "declare function DATE2TIMESTAMP(v: string): Promise<number>;"
463
- },
464
- {
465
- desc: `DATEFORMAT(dt, format)
460
+ definition: "declare function DATE2TIMESTAMP(v: string): Promise<number>;"
461
+ },
462
+ {
463
+ desc: `DATEFORMAT(dt, format)
466
464
  日期转字符串,参数dt为日期类型,format为格式
467
465
  示例
468
466
  DATEFORMAT(NOW(), YYYY-MM-DD HH:mm)`,
469
- definition: "declare function DATEFORMAT(v: Date, f: string): Promise<string>;"
470
- },
471
- {
472
- desc: `NOW()
467
+ definition: "declare function DATEFORMAT(v: Date, f: string): Promise<string>;"
468
+ },
469
+ {
470
+ desc: `NOW()
473
471
  获取当前日期时间
474
472
  NOW() 返回 2023-07 - 17 9: 44: 21`,
475
- definition: "declare function NOW(): Promise<string>;"
476
- },
477
- {
478
- desc: "TODAY(获取当天日期TODAY() 返回2023-07-17",
479
- definition: "declare function TODAY(): Promise<string>;"
480
- },
481
- {
482
- desc: `YEAR(dt)
473
+ definition: "declare function NOW(): Promise<string>;"
474
+ },
475
+ {
476
+ desc: "TODAY(获取当天日期TODAY() 返回2023-07-17",
477
+ definition: "declare function TODAY(): Promise<string>;"
478
+ },
479
+ {
480
+ desc: `YEAR(dt)
483
481
  获取参数dt类型的年份
484
482
  YEAR(NOW()) 返回 2024`,
485
- definition: "declare function YEAR(v: string | number | Date | null | undefined): number;"
486
- },
487
- {
488
- desc: `MONTH(dt)
483
+ definition: "declare function YEAR(v: string | number | Date | null | undefined): number;"
484
+ },
485
+ {
486
+ desc: `MONTH(dt)
489
487
  获取参数dt类型的月份
490
488
  MONTH(NOW()) 返回 7`,
491
- definition: "declare function MONTH(v: string | number | Date | null | undefined): Promise<number>;"
492
- },
493
- {
494
- desc: `DAY(dt)
489
+ definition: "declare function MONTH(v: string | number | Date | null | undefined): Promise<number>;"
490
+ },
491
+ {
492
+ desc: `DAY(dt)
495
493
  获取参数dt类型的日
496
494
  DAY(NOW()) 返回 17`,
497
- definition: "declare function DAY(v: string | number | Date | null | undefined): Promise<number>;"
498
- },
499
- {
500
- desc: `HOUR(dt)
495
+ definition: "declare function DAY(v: string | number | Date | null | undefined): Promise<number>;"
496
+ },
497
+ {
498
+ desc: `HOUR(dt)
501
499
  获取参数dt类型的小时
502
500
  HOUR(NOW()) 返回 10`,
503
- definition: "declare function HOUR(v: string | number | Date | null | undefined): Promise<number>;"
504
- },
505
- {
506
- desc: `MINUTE(dt)
501
+ definition: "declare function HOUR(v: string | number | Date | null | undefined): Promise<number>;"
502
+ },
503
+ {
504
+ desc: `MINUTE(dt)
507
505
  获取参数dt类型的分钟
508
506
  MINUTE(NOW()) 返回 44`,
509
- definition: "declare function MINUTE(v: string | number | Date | null | undefined): Promise<number>;"
510
- },
511
- {
512
- desc: `WEEKRANGE()
507
+ definition: "declare function MINUTE(v: string | number | Date | null | undefined): Promise<number>;"
508
+ },
509
+ {
510
+ desc: `WEEKRANGE()
513
511
  获取本周开始及结束日期
514
512
  WEEKRANGE() 返回[2023-07 - 17 00:00:00.000000000 +0800 CST, 2023-07 - 23 23: 59: 59.000000000 +0800 CST]`,
515
- definition: "declare function WEEKRANGE(): Promise<[string, string]>;"
516
- },
517
- {
518
- desc: `LASTWEEKRANGE()
513
+ definition: "declare function WEEKRANGE(): Promise<[string, string]>;"
514
+ },
515
+ {
516
+ desc: `LASTWEEKRANGE()
519
517
  获取本周开始及结束日期
520
518
  LASTWEEKRANGE() 返回[2023-07 - 10 00:00:00.000000000 +0800 CST, 2023-07 - 16 23: 59: 59.000000000 +0800 CST]`,
521
- definition: "declare function LASTWEEKRANGE(): Promise<[string, string]>;"
522
- },
523
- {
524
- desc: `MONTHRANGE()
519
+ definition: "declare function LASTWEEKRANGE(): Promise<[string, string]>;"
520
+ },
521
+ {
522
+ desc: `MONTHRANGE()
525
523
  获取本月开始及结束日期
526
524
  MONTHRANGE() 返回[2023-07-01 00:00:00.000000000 +0800 CST, 2023-07 - 31 23: 59: 59.000000000 +0800 CST]`,
527
- definition: "declare function MONTHRANGE(): Promise<[string, string]>;"
528
- },
529
- {
530
- desc: `LASTMONTHRANGE()
525
+ definition: "declare function MONTHRANGE(): Promise<[string, string]>;"
526
+ },
527
+ {
528
+ desc: `LASTMONTHRANGE()
531
529
  获取上月开始及结束日期
532
530
  MONTHRANGE() 返回[2023-06-01 00:00:00.000000000 +0800 CST, 2023-06 - 30 23: 59: 59.000000000 +0800 CST]`,
533
- definition: "declare function LASTMONTHRANGE(): Promise<[string, string]>;"
534
- },
535
- {
536
- desc: `YEARRANGE()
531
+ definition: "declare function LASTMONTHRANGE(): Promise<[string, string]>;"
532
+ },
533
+ {
534
+ desc: `YEARRANGE()
537
535
  获取本年开始及结束日期
538
536
  YEARRANGE() 返回[2023-01-01 00:00:00.000000000 +0800 CST, 2023 - 12 - 31 23: 59: 59.000000000 +0800 CST]`,
539
- definition: "declare function YEARRANGE(): Promise<[string, string]>;"
540
- },
541
- {
542
- desc: `LASTYEARRANGE()
537
+ definition: "declare function YEARRANGE(): Promise<[string, string]>;"
538
+ },
539
+ {
540
+ desc: `LASTYEARRANGE()
543
541
  获取上一年开始及结束日期
544
542
  LASTYEARRANGE() 返回[2022-01-01 00:00:00.000000000 +0800 CST, 2022 - 12 - 31 23: 59: 59.000000000 +0800 CST]`,
545
- definition: "declare function LASTYEARRANGE(): Promise<[string, string]>;"
546
- },
547
- {
548
- desc: `QUARTER()
543
+ definition: "declare function LASTYEARRANGE(): Promise<[string, string]>;"
544
+ },
545
+ {
546
+ desc: `QUARTER()
549
547
  获取本季度开始及结束日期
550
548
  QUARTER() 返回[2022-07-01 00:00:00.000000000 +0800 CST, 2022 -09 - 30 23: 59: 59.000000000 +0800 CST]`,
551
- definition: "declare function QUARTER(): Promise<[string, string]>;"
552
- },
553
- {
554
- desc: `LASTQUARTER()
549
+ definition: "declare function QUARTER(): Promise<[string, string]>;"
550
+ },
551
+ {
552
+ desc: `LASTQUARTER()
555
553
  获取上季度开始及结束日期
556
554
  LASTQUARTER() 返回[2022-04-01 00:00:00.000000000 +0800 CST, 2022-06 - 30 23: 59: 59.000000000 +0800 CST]`,
557
- definition: "declare function LASTQUARTER(): Promise<[string, string]>;"
558
- },
559
- {
560
- desc: `ISDATERANGE(dt, [startDate, endDate])
555
+ definition: "declare function LASTQUARTER(): Promise<[string, string]>;"
556
+ },
557
+ {
558
+ desc: `ISDATERANGE(dt, [startDate, endDate])
561
559
  判断参数dt是否在给定的区间范围内,如果在则返回true,反之返回false
562
560
  ISDATERANGE(NOW(), WEEKRANGE()) 返回 true`,
563
- definition: "declare function ISDATERANGE(v: Date, r: [Date, Date]): Promise<boolean>;"
564
- },
565
- {
566
- desc: `ISTIMERANGE(dt, [startTime, endTime])
561
+ definition: "declare function ISDATERANGE(v: Date, r: [Date, Date]): Promise<boolean>;"
562
+ },
563
+ {
564
+ desc: `ISTIMERANGE(dt, [startTime, endTime])
567
565
  判断参数dt是否在给定的区间范围内,如果在则返回true,反之返回false
568
566
  参数dt、startTime、endTime为时间字符串,如果startTime大于endTime则跨天
569
567
  ISTIMERANGE(DATEFORMAT(NOW(), HH:mm), ['06:00', '12:00']) 返回 true
570
568
  ISTIMERANGE(DATEFORMAT(NOW(), HH:mm), ['13:00', '07:00']) 返回 true `,
571
- definition: "declare function ISTIMERANGE(v: string, r: [string, string]): Promise<boolean>;"
572
- }
573
- ]
574
- }
569
+ definition: "declare function ISTIMERANGE(v: string, r: [string, string]): Promise<boolean>;"
570
+ }
571
+ ]
572
+ }
575
573
  ].map((group) => {
576
- group.children = (group.children ?? []).map((item) => {
577
- const matchId = item.definition.match(/(?<=declare function )([A-Z0-9]+)/g);
578
- const id = matchId?.[0] ?? "UNKNOWN";
579
- const args = (item.definition.match(/([a-z]:)+/g) || []).length;
580
- Object.assign(item, {
581
- id,
582
- name: id,
583
- idToChildren: false,
584
- _args_: args
585
- });
586
- return item;
587
- });
588
- return group;
574
+ group.children = (group.children ?? []).map((item) => {
575
+ const id = item.definition.match(/(?<=declare function )([A-Z0-9]+)/g)?.[0] ?? "UNKNOWN";
576
+ const args = (item.definition.match(/([a-z]:)+/g) || []).length;
577
+ Object.assign(item, {
578
+ id,
579
+ name: id,
580
+ idToChildren: false,
581
+ _args_: args
582
+ });
583
+ return item;
584
+ });
585
+ return group;
589
586
  });
590
- const functionMap = functionGroup.reduce(
591
- (map, g) => {
592
- g.children.forEach((item) => {
593
- map[item.id] = item;
594
- });
595
- return map;
596
- },
597
- {}
598
- );
599
- const ipaasBackFunctionGroup = [
600
- {
601
- id: "INNER",
602
- name: "内置",
603
- children: [
604
- {
605
- desc: "MD5(str) 计算输入字符串的MD5值\n示例: MD5('abc')\n返回 900150983cd24fb0d6963f7d28e17f72\n",
606
- definition: "declare function MD5(str: string): string;"
607
- },
608
- {
609
- desc: "SHA1(str) 计算输入字符串的HASH值\n示例: SHA1('abc')\n返回 a9993e364706816aba3e25717850c26c9cd0d89d",
610
- definition: "declare function SHA1(str: string): string;"
611
- },
612
- {
613
- desc: "SHA256(str) 计算输入字符串的HASH值\n",
614
- definition: "declare function SHA256(str: string): string;"
615
- },
616
- {
617
- desc: "SHA512(str) 计算输入字符串的HASH值\n示例: SHA512('abc')\n返回 ddaf35a193617abacc417349ae20...",
618
- definition: "declare function SHA512(str: string): string;"
619
- },
620
- {
621
- desc: "RANDOMSTR(number) 生成随机字符串\nnumber:为随机字符串的长度\n示例: RandomStr(6)\n返回 o4EX1D",
622
- definition: "declare function RANDOMSTR(number: number): string;"
623
- },
624
- {
625
- desc: "NOW(format) 生成指定格式的当前时间戳\nformat为时间格式,可选值参考'yyyy-MM-dd','yyyy-MM-dd HH:mm:ss','HH:mm:ss'\n示例: NOW('yyyy-MM-dd')\n返回 1970-01-01",
626
- definition: "declare function NOW(format: string): string;"
627
- },
628
- {
629
- desc: "CONCAT(a,b....)\n拼接参数a和b,返回拼接后的字符串\n参数a/b支持字符串,返回字符串\n示例 CONCAT('a','b','c')\n返回abc",
630
- definition: "declare function CONCAT(...args: string[]): string;"
631
- },
632
- {
633
- desc: `UNIX10()
587
+ var functionMap = functionGroup.reduce((map, g) => {
588
+ g.children.forEach((item) => {
589
+ map[item.id] = item;
590
+ });
591
+ return map;
592
+ }, {});
593
+ var ipaasBackFunctionGroup = [{
594
+ id: "INNER",
595
+ name: "内置",
596
+ children: [
597
+ {
598
+ desc: "MD5(str) 计算输入字符串的MD5值\n示例: MD5('abc')\n返回 900150983cd24fb0d6963f7d28e17f72\n",
599
+ definition: "declare function MD5(str: string): string;"
600
+ },
601
+ {
602
+ desc: "SHA1(str) 计算输入字符串的HASH值\n示例: SHA1('abc')\n返回 a9993e364706816aba3e25717850c26c9cd0d89d",
603
+ definition: "declare function SHA1(str: string): string;"
604
+ },
605
+ {
606
+ desc: "SHA256(str) 计算输入字符串的HASH值\n",
607
+ definition: "declare function SHA256(str: string): string;"
608
+ },
609
+ {
610
+ desc: "SHA512(str) 计算输入字符串的HASH值\n示例: SHA512('abc')\n返回 ddaf35a193617abacc417349ae20...",
611
+ definition: "declare function SHA512(str: string): string;"
612
+ },
613
+ {
614
+ desc: "RANDOMSTR(number) 生成随机字符串\nnumber:为随机字符串的长度\n示例: RandomStr(6)\n返回 o4EX1D",
615
+ definition: "declare function RANDOMSTR(number: number): string;"
616
+ },
617
+ {
618
+ desc: "NOW(format) 生成指定格式的当前时间戳\nformat为时间格式,可选值参考'yyyy-MM-dd','yyyy-MM-dd HH:mm:ss','HH:mm:ss'\n示例: NOW('yyyy-MM-dd')\n返回 1970-01-01",
619
+ definition: "declare function NOW(format: string): string;"
620
+ },
621
+ {
622
+ desc: "CONCAT(a,b....)\n拼接参数a和b,返回拼接后的字符串\n参数a/b支持字符串,返回字符串\n示例 CONCAT('a','b','c')\n返回abc",
623
+ definition: "declare function CONCAT(...args: string[]): string;"
624
+ },
625
+ {
626
+ desc: `UNIX10()
634
627
  返回10位的时间戳
635
628
  UNIX10() 返回 1677811200`,
636
- definition: "declare function UNIX10(): number;"
637
- },
638
- {
639
- desc: `UNIX13()
629
+ definition: "declare function UNIX10(): number;"
630
+ },
631
+ {
632
+ desc: `UNIX13()
640
633
  返回13位的时间戳
641
634
  UNIX13() 返回 1677811200000`,
642
- definition: "declare function UNIX13(): number;"
643
- }
644
- ]
645
- }
646
- ].map((group) => {
647
- group.children = group.children.map((item) => {
648
- const id = item.definition.match(/(?<=declare function )([A-Z0-9]+)/g)[0];
649
- const args = (item.definition.match(/([a-z]:)+/g) || []).length;
650
- Object.assign(item, {
651
- id,
652
- name: id,
653
- idToChildren: false,
654
- _args_: args
655
- });
656
- return item;
657
- });
658
- return group;
635
+ definition: "declare function UNIX13(): number;"
636
+ }
637
+ ]
638
+ }].map((group) => {
639
+ group.children = group.children.map((item) => {
640
+ const id = item.definition.match(/(?<=declare function )([A-Z0-9]+)/g)[0];
641
+ const args = (item.definition.match(/([a-z]:)+/g) || []).length;
642
+ Object.assign(item, {
643
+ id,
644
+ name: id,
645
+ idToChildren: false,
646
+ _args_: args
647
+ });
648
+ return item;
649
+ });
650
+ return group;
659
651
  });
660
- const ipaasBackFunctionMap = functionGroup.reduce((map, g) => {
661
- g.children.forEach((item) => {
662
- map[item.id] = item;
663
- });
664
- return map;
652
+ var ipaasBackFunctionMap = functionGroup.reduce((map, g) => {
653
+ g.children.forEach((item) => {
654
+ map[item.id] = item;
655
+ });
656
+ return map;
665
657
  }, {});
666
- const biBackFunctionGroup = [
667
- {
668
- id: "COMMON",
669
- name: "常用",
670
- children: [
671
- {
672
- desc: "将多个字段合并成一个字符串\n示例: CONCAT('a', '-', 'b') = 'a-b'\n",
673
- definition: "declare function CONCAT( ...any: string[]): string;"
674
- },
675
- {
676
- desc: "返回日期的指定中加上指定的数字 后的日期\n示例: DATEADD('2020-09-29', 100, days) = 2021-01-07\n",
677
- definition: "declare function DATEADD(data: string, interval: number, date_part: string): string;"
678
- },
679
- {
680
- desc: "返回 <date1> 与 <date2> 之差。以 <date_part> 的单位表示,只计算完整<date_part>\n示例: DATEDIFF('2024-05-22', '2020-09-29', 'year') = 3\n",
681
- definition: "declare function DATEDIFF(date1: string, date2: string, date_part: string): number;"
682
- },
683
- {
684
- desc: "将日期进行格式化,并输出文本\n示例: DATEFORMAT(2020-09-29, yyyyMMdd) = '20200929'\n",
685
- definition: "declare function DATEFORMAT(date: any, format: string): string;"
686
- },
687
- {
688
- desc: "以<format>格式解析字符串<date_string>,并转化为日期类型。\n示例: TODATE('2020-09-29', 'yyyy-MM-dd') = 2020-09-29\n",
689
- definition: "declare function TODATE(date_string: string, format:string): any;"
690
- },
691
- {
692
- desc: "NULLIF函数接受两个参数,如果两个参数相等则返回NULL,否则返回第一个参数,可以用来避免分母为0的情况\n示例: 如果field为0 则返回null,NULLIF(<field>,0) = null\n",
693
- definition: "declare function NULLIF(arg1: any,arg2:any): any;"
694
- }
695
- ]
696
- },
697
- {
698
- id: "NUMBER",
699
- name: "数值",
700
- children: [
701
- {
702
- desc: "返回多个参数中的最大值,至少输入2个参数\n示例: GREATEST(10, 5, 7) = 10\n",
703
- definition: "declare function GREATEST( ...any: number[]): number;"
704
- },
705
- {
706
- desc: "返回多个参数中的最小值,至少输入2个参数\n示例: LEAST(10, 5, 7) = 5\n",
707
- definition: "declare function LEAST( ...any: number[]): number;"
708
- },
709
- {
710
- desc: "将<number> 舍入为指定位数。 <decimals>指定输出结果的小数位数精度。如果省略decimals,则输出为整数\n示例: ROUND(1/3, 2) = 0.33\n",
711
- definition: "declare function ROUND(number: number, decimals?: number): number"
712
- }
713
- ]
714
- },
715
- {
716
- id: "TEXT",
717
- name: "文本",
718
- children: [
719
- {
720
- desc: "将多个字段合并成一个字符串\n示例: CONCAT('a', '-', 'b') = 'a-b'\n",
721
- definition: "declare function CONCAT( ...any: string[]): string;"
722
- },
723
- {
724
- desc: "如果给定字符串包含指定子字符串,则返回 true\n示例: CONTAINS('Hello World', ' ') = true\n",
725
- definition: "declare function CONTAINS(string: string, substring: string): boolean;"
726
- },
727
- {
728
- desc: "返回子字符串在字符串中的索引位置,从指定的索引<start>开始查找(<start>可不填)。如果未找到子字符串,则返回 0。字符串中第一个字符的位置为 1\n示例: FIND('World', 'Hello World') = 7\nFIND('Computer', 'Hello World') = 0\n",
729
- definition: "declare function FIND(substring: string, string: string, start?: number): number;"
730
- },
731
- {
732
- desc: "返回字符串长度\n示例: LEN('Hello World') = 11\n",
733
- definition: "declare function LEN(string: string): number;"
734
- },
735
- {
736
- desc: "返回<string>从指定<start>位置处开始的字符串。字符串中第一个字符的位置为 1。 如果添加了可选数字参数<length>,则返回的字符串仅包含该数量的字符\n示例: MID('Hello World', 2) = 'ello World'\nMID('Hello World', 2, 4) ='ello'\n",
737
- definition: "declare function MID(string: string, start: number, length?: number): string"
738
- },
739
- {
740
- desc: "在 <string> 中搜索 <substring> 并将其替换为 <replacement>。如果未找到 <substring>,则字符串保持不变。\n示例: REPLACE('Hello World', ' ', '-') = 'Hello-World'\n",
741
- definition: "declare function REPLACE(string: string, substring: string, replacement: string): string"
742
- },
743
- {
744
- desc: "移除 <string> 的所有前置空格和尾随空格\n示例: TRIM(' Hello World ') = 'Hello World'\n",
745
- definition: "declare function TRIM(string: string): string"
746
- }
747
- ]
748
- },
749
- {
750
- id: "DATE",
751
- name: "日期",
752
- children: [
753
- {
754
- desc: "返回日期的指定中加上指定的数字 后的日期\n示例: DATEADD('2020-09-29', 100, days) = 2021-01-07\n",
755
- definition: "declare function DATEADD(data: string, interval: number, date_part: string): string;"
756
- },
757
- {
758
- desc: "以整数的形式返回给定 <date> 的天\n示例: DAY('2020-09-29') = 29\n",
759
- definition: "declare function DAY(date: string): number;"
760
- },
761
- {
762
- desc: "以整数形式返回给定 <date> 的月份\n示例: MONTH('2020-09-29') = 9\n",
763
- definition: "declare function MONTH(date: string): number;"
764
- },
765
- {
766
- desc: "返回一个依据指定 <year>、<month> 和 <day> 构造的日期值\n示例: MAKEDATE(2020, 9, 29) = 2020-09-29\n",
767
- definition: "declare function MAKEDATE(year: number, month: number, day: number): any;"
768
- },
769
- {
770
- desc: "返回当前时间\n示例: NOW() = 2024-05-22 09:29:29\n",
771
- definition: "declare function NOW(): any;"
772
- },
773
- {
774
- desc: "以整数形式返回给定 <date> 的季度\n示例: QUARTER('2020-09-29') = 3\n",
775
- definition: "declare function QUARTER(date: string): number;"
776
- },
777
- {
778
- desc: "返回当前日期\n示例: TODAY() = 2024-05-22\n",
779
- definition: "declare function TODAY(): any;"
780
- },
781
- {
782
- desc: "以整数形式返回给定 <date> 的周\n示例: WEEK('2010-01-01') = 52\nWEEK('2010-01-06') = 1\n",
783
- definition: "declare function WEEK(date: string): number;"
784
- },
785
- {
786
- desc: "以整数形式返回给定 <date> 的年份\n示例: YEAR('2020-09-29') = 2020\n",
787
- definition: "declare function YEAR(date: string): number;"
788
- }
789
- ]
790
- },
791
- {
792
- id: "PARSE",
793
- name: "转换",
794
- children: [
795
- {
796
- desc: "将日期进行格式化,并输出文本\n示例: DATEFORMAT(2020-09-29, yyyyMMdd) = '20200929'\n",
797
- definition: "declare function DATEFORMAT(date: any, format: string): string;"
798
- },
799
- {
800
- desc: "以<format>格式解析字符串<date_string>,并转化为日期类型。\n示例: TODATE('2020-09-29', 'yyyy-MM-dd') = 2020-09-29\n",
801
- definition: "declare function TODATE(date_string: string, format:string): any;"
802
- },
803
- {
804
- desc: "将文本或数值转为浮点数\n示例: TODOUBLE('123.21') = 123.21\nTODOUBLE(3) = 3.0\n",
805
- definition: "declare function TODOUBLE(expression: string | number): number;"
806
- },
807
- {
808
- desc: "将文本或数值转为整数,若存在小数部分将舍弃\nTOINT('123.9') = 123\n",
809
- definition: "declare function TOINT(expression: string | number) : number;"
810
- },
811
- {
812
- desc: "将数值转为字符串\nTOSTR(123) = '123'\n",
813
- definition: "declare function TOSTR(expression: number) : string;"
814
- }
815
- ]
816
- },
817
- {
818
- id: "AGG",
819
- name: "聚合",
820
- children: [
821
- {
822
- desc: "平均值\n示例: AVG([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的平均值\n",
823
- definition: "declare function AVG(number: number): number;"
824
- },
825
- {
826
- desc: "计数\n示例: COUNT([订单ID])\n根据图表中使用的维度进行聚合,求订单的数量\n",
827
- definition: "declare function COUNT(expression: string | number): number;"
828
- },
829
- {
830
- desc: "去重计数\n示例: COUNTD([订单ID])\n根据图表中使用的维度进行聚合,求订单ID去重后的数量\n",
831
- definition: "declare function COUNTD(expression: string | number): number;"
832
- },
833
- {
834
- desc: "最大值\n示例: MAX([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的最大值\n",
835
- definition: "declare function MAX(expression: number): number;"
836
- },
837
- {
838
- desc: "中位数\n示例: MEDIAN([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的中位数\n",
839
- definition: "declare function MEDIAN(number: number): number;"
840
- },
841
- {
842
- desc: "最小值\n示例: MIN([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的最小值\n",
843
- definition: "declare function MIN(expression: number): number;"
844
- },
845
- {
846
- desc: "求和\n示例: SUM([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的总和\n",
847
- definition: "declare function SUM(number: number): number;"
848
- }
849
- ]
850
- }
658
+ var biBackFunctionGroup = [
659
+ {
660
+ id: "COMMON",
661
+ name: "常用",
662
+ children: [
663
+ {
664
+ desc: "将多个字段合并成一个字符串\n示例: CONCAT('a', '-', 'b') = 'a-b'\n",
665
+ definition: "declare function CONCAT( ...any: string[]): string;"
666
+ },
667
+ {
668
+ desc: "返回日期的指定中加上指定的数字 后的日期\n示例: DATEADD('2020-09-29', 100, days) = 2021-01-07\n",
669
+ definition: "declare function DATEADD(data: string, interval: number, date_part: string): string;"
670
+ },
671
+ {
672
+ desc: "返回 <date1> 与 <date2> 之差。以 <date_part> 的单位表示,只计算完整<date_part>\n示例: DATEDIFF('2024-05-22', '2020-09-29', 'year') = 3\n",
673
+ definition: "declare function DATEDIFF(date1: string, date2: string, date_part: string): number;"
674
+ },
675
+ {
676
+ desc: "将日期进行格式化,并输出文本\n示例: DATEFORMAT(2020-09-29, yyyyMMdd) = '20200929'\n",
677
+ definition: "declare function DATEFORMAT(date: any, format: string): string;"
678
+ },
679
+ {
680
+ desc: "以<format>格式解析字符串<date_string>,并转化为日期类型。\n示例: TODATE('2020-09-29', 'yyyy-MM-dd') = 2020-09-29\n",
681
+ definition: "declare function TODATE(date_string: string, format:string): any;"
682
+ },
683
+ {
684
+ desc: "NULLIF函数接受两个参数,如果两个参数相等则返回NULL,否则返回第一个参数,可以用来避免分母为0的情况\n示例: 如果field为0 则返回null,NULLIF(<field>,0) = null\n",
685
+ definition: "declare function NULLIF(arg1: any,arg2:any): any;"
686
+ }
687
+ ]
688
+ },
689
+ {
690
+ id: "NUMBER",
691
+ name: "数值",
692
+ children: [
693
+ {
694
+ desc: "返回多个参数中的最大值,至少输入2个参数\n示例: GREATEST(10, 5, 7) = 10\n",
695
+ definition: "declare function GREATEST( ...any: number[]): number;"
696
+ },
697
+ {
698
+ desc: "返回多个参数中的最小值,至少输入2个参数\n示例: LEAST(10, 5, 7) = 5\n",
699
+ definition: "declare function LEAST( ...any: number[]): number;"
700
+ },
701
+ {
702
+ desc: "将<number> 舍入为指定位数。 <decimals>指定输出结果的小数位数精度。如果省略decimals,则输出为整数\n示例: ROUND(1/3, 2) = 0.33\n",
703
+ definition: "declare function ROUND(number: number, decimals?: number): number"
704
+ }
705
+ ]
706
+ },
707
+ {
708
+ id: "TEXT",
709
+ name: "文本",
710
+ children: [
711
+ {
712
+ desc: "将多个字段合并成一个字符串\n示例: CONCAT('a', '-', 'b') = 'a-b'\n",
713
+ definition: "declare function CONCAT( ...any: string[]): string;"
714
+ },
715
+ {
716
+ desc: "如果给定字符串包含指定子字符串,则返回 true\n示例: CONTAINS('Hello World', ' ') = true\n",
717
+ definition: "declare function CONTAINS(string: string, substring: string): boolean;"
718
+ },
719
+ {
720
+ desc: "返回子字符串在字符串中的索引位置,从指定的索引<start>开始查找(<start>可不填)。如果未找到子字符串,则返回 0。字符串中第一个字符的位置为 1\n示例: FIND('World', 'Hello World') = 7\nFIND('Computer', 'Hello World') = 0\n",
721
+ definition: "declare function FIND(substring: string, string: string, start?: number): number;"
722
+ },
723
+ {
724
+ desc: "返回字符串长度\n示例: LEN('Hello World') = 11\n",
725
+ definition: "declare function LEN(string: string): number;"
726
+ },
727
+ {
728
+ desc: "返回<string>从指定<start>位置处开始的字符串。字符串中第一个字符的位置为 1。 如果添加了可选数字参数<length>,则返回的字符串仅包含该数量的字符\n示例: MID('Hello World', 2) = 'ello World'\nMID('Hello World', 2, 4) ='ello'\n",
729
+ definition: "declare function MID(string: string, start: number, length?: number): string"
730
+ },
731
+ {
732
+ desc: "在 <string> 中搜索 <substring> 并将其替换为 <replacement>。如果未找到 <substring>,则字符串保持不变。\n示例: REPLACE('Hello World', ' ', '-') = 'Hello-World'\n",
733
+ definition: "declare function REPLACE(string: string, substring: string, replacement: string): string"
734
+ },
735
+ {
736
+ desc: "移除 <string> 的所有前置空格和尾随空格\n示例: TRIM(' Hello World ') = 'Hello World'\n",
737
+ definition: "declare function TRIM(string: string): string"
738
+ }
739
+ ]
740
+ },
741
+ {
742
+ id: "DATE",
743
+ name: "日期",
744
+ children: [
745
+ {
746
+ desc: "返回日期的指定中加上指定的数字 后的日期\n示例: DATEADD('2020-09-29', 100, days) = 2021-01-07\n",
747
+ definition: "declare function DATEADD(data: string, interval: number, date_part: string): string;"
748
+ },
749
+ {
750
+ desc: "以整数的形式返回给定 <date> 的天\n示例: DAY('2020-09-29') = 29\n",
751
+ definition: "declare function DAY(date: string): number;"
752
+ },
753
+ {
754
+ desc: "以整数形式返回给定 <date> 的月份\n示例: MONTH('2020-09-29') = 9\n",
755
+ definition: "declare function MONTH(date: string): number;"
756
+ },
757
+ {
758
+ desc: "返回一个依据指定 <year>、<month> 和 <day> 构造的日期值\n示例: MAKEDATE(2020, 9, 29) = 2020-09-29\n",
759
+ definition: "declare function MAKEDATE(year: number, month: number, day: number): any;"
760
+ },
761
+ {
762
+ desc: "返回当前时间\n示例: NOW() = 2024-05-22 09:29:29\n",
763
+ definition: "declare function NOW(): any;"
764
+ },
765
+ {
766
+ desc: "以整数形式返回给定 <date> 的季度\n示例: QUARTER('2020-09-29') = 3\n",
767
+ definition: "declare function QUARTER(date: string): number;"
768
+ },
769
+ {
770
+ desc: "返回当前日期\n示例: TODAY() = 2024-05-22\n",
771
+ definition: "declare function TODAY(): any;"
772
+ },
773
+ {
774
+ desc: "以整数形式返回给定 <date> 的周\n示例: WEEK('2010-01-01') = 52\nWEEK('2010-01-06') = 1\n",
775
+ definition: "declare function WEEK(date: string): number;"
776
+ },
777
+ {
778
+ desc: "以整数形式返回给定 <date> 的年份\n示例: YEAR('2020-09-29') = 2020\n",
779
+ definition: "declare function YEAR(date: string): number;"
780
+ }
781
+ ]
782
+ },
783
+ {
784
+ id: "PARSE",
785
+ name: "转换",
786
+ children: [
787
+ {
788
+ desc: "将日期进行格式化,并输出文本\n示例: DATEFORMAT(2020-09-29, yyyyMMdd) = '20200929'\n",
789
+ definition: "declare function DATEFORMAT(date: any, format: string): string;"
790
+ },
791
+ {
792
+ desc: "以<format>格式解析字符串<date_string>,并转化为日期类型。\n示例: TODATE('2020-09-29', 'yyyy-MM-dd') = 2020-09-29\n",
793
+ definition: "declare function TODATE(date_string: string, format:string): any;"
794
+ },
795
+ {
796
+ desc: "将文本或数值转为浮点数\n示例: TODOUBLE('123.21') = 123.21\nTODOUBLE(3) = 3.0\n",
797
+ definition: "declare function TODOUBLE(expression: string | number): number;"
798
+ },
799
+ {
800
+ desc: "将文本或数值转为整数,若存在小数部分将舍弃\nTOINT('123.9') = 123\n",
801
+ definition: "declare function TOINT(expression: string | number) : number;"
802
+ },
803
+ {
804
+ desc: "将数值转为字符串\nTOSTR(123) = '123'\n",
805
+ definition: "declare function TOSTR(expression: number) : string;"
806
+ }
807
+ ]
808
+ },
809
+ {
810
+ id: "AGG",
811
+ name: "聚合",
812
+ children: [
813
+ {
814
+ desc: "平均值\n示例: AVG([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的平均值\n",
815
+ definition: "declare function AVG(number: number): number;"
816
+ },
817
+ {
818
+ desc: "计数\n示例: COUNT([订单ID])\n根据图表中使用的维度进行聚合,求订单的数量\n",
819
+ definition: "declare function COUNT(expression: string | number): number;"
820
+ },
821
+ {
822
+ desc: "去重计数\n示例: COUNTD([订单ID])\n根据图表中使用的维度进行聚合,求订单ID去重后的数量\n",
823
+ definition: "declare function COUNTD(expression: string | number): number;"
824
+ },
825
+ {
826
+ desc: "最大值\n示例: MAX([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的最大值\n",
827
+ definition: "declare function MAX(expression: number): number;"
828
+ },
829
+ {
830
+ desc: "中位数\n示例: MEDIAN([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的中位数\n",
831
+ definition: "declare function MEDIAN(number: number): number;"
832
+ },
833
+ {
834
+ desc: "最小值\n示例: MIN([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的最小值\n",
835
+ definition: "declare function MIN(expression: number): number;"
836
+ },
837
+ {
838
+ desc: "求和\n示例: SUM([订单金额])\n根据图表中使用的维度进行聚合,求订单金额的总和\n",
839
+ definition: "declare function SUM(number: number): number;"
840
+ }
841
+ ]
842
+ }
851
843
  ].map((group) => {
852
- group.children = group.children.map((item) => {
853
- const id = item.definition.match(/(?<=declare function )([A-Z0-9_]+)/g)[0];
854
- const args = (item.definition.match(/([a-z]:)+/g) || []).length;
855
- Object.assign(item, {
856
- id,
857
- name: id,
858
- idToChildren: false,
859
- _args_: args
860
- });
861
- return item;
862
- });
863
- return group;
844
+ group.children = group.children.map((item) => {
845
+ const id = item.definition.match(/(?<=declare function )([A-Z0-9_]+)/g)[0];
846
+ const args = (item.definition.match(/([a-z]:)+/g) || []).length;
847
+ Object.assign(item, {
848
+ id,
849
+ name: id,
850
+ idToChildren: false,
851
+ _args_: args
852
+ });
853
+ return item;
854
+ });
855
+ return group;
864
856
  });
865
- const biBackFunctionMap = biBackFunctionGroup.reduce(
866
- (map, g) => {
867
- g.children.forEach((item) => {
868
- map[item.id] = item;
869
- });
870
- return map;
871
- },
872
- {}
873
- );
874
-
857
+ var biBackFunctionMap = biBackFunctionGroup.reduce((map, g) => {
858
+ g.children.forEach((item) => {
859
+ map[item.id] = item;
860
+ });
861
+ return map;
862
+ }, {});
863
+ //#endregion
875
864
  export { biBackFunctionGroup, biBackFunctionMap, functionGroup, functionMap, ipaasBackFunctionGroup, ipaasBackFunctionMap };