@gct-paas/core 0.1.4-dev.11 → 0.1.4-dev.13
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.
- package/dist/index.esm.min.js +4522 -0
- package/es/constants/core.mjs +5 -4
- package/es/constants/default-date-type/default-date-type.mjs +73 -21
- package/es/constants/editor-register/editor-register.mjs +17 -5
- package/es/constants/expression-type/BuiltOperators.mjs +152 -147
- package/es/constants/expression-type/FunctionKeys.mjs +75 -79
- package/es/constants/expression-type/editor.mjs +10 -3
- package/es/constants/expression-type/function.mjs +602 -613
- package/es/constants/expression-type/index.mjs +111 -113
- package/es/constants/expression-type/modeCfg.mjs +256 -263
- package/es/constants/expression-type/variable.mjs +43 -39
- package/es/constants/form-container-type/form-container-type.mjs +17 -5
- package/es/constants/index.d.ts +1 -0
- package/es/constants/index.mjs +31 -10
- package/es/constants/page-designer/model.mjs +15 -5
- package/es/constants/page-designer/regex.d.ts +2 -0
- package/es/constants/page-designer/regex.mjs +5 -0
- package/es/create-app-vue.mjs +15 -9
- package/es/enums/app-designer/index.d.ts +19 -0
- package/es/enums/app-designer/index.mjs +131 -63
- package/es/enums/appEnum.mjs +681 -360
- package/es/enums/appStateEnum.mjs +17 -10
- package/es/enums/authActionEnum.mjs +63 -51
- package/es/enums/breakpointEnum.mjs +27 -26
- package/es/enums/cacheEnum.mjs +22 -21
- package/es/enums/designEnum.mjs +110 -71
- package/es/enums/developer-center/integration.mjs +7 -6
- package/es/enums/exceptionEnum.mjs +21 -17
- package/es/enums/expressionEnum.d.ts +1 -1
- package/es/enums/expressionEnum.mjs +81 -74
- package/es/enums/globalEnum.mjs +59 -36
- package/es/enums/httpEnum.mjs +71 -61
- package/es/enums/index.mjs +44 -14
- package/es/enums/menuEnum.mjs +42 -38
- package/es/enums/page-designer/designer.mjs +403 -407
- package/es/enums/page-designer/index.d.ts +1 -0
- package/es/enums/page-designer/index.mjs +5 -0
- package/es/enums/page-designer/layout.d.ts +12 -0
- package/es/enums/page-designer/layout.mjs +17 -0
- package/es/enums/page-designer/panel.mjs +341 -213
- package/es/enums/page-designer/toolkit.mjs +13 -12
- package/es/enums/page-designer/widget.mjs +425 -338
- package/es/enums/pageEnum.mjs +14 -13
- package/es/enums/plugin-enum.mjs +23 -7
- package/es/enums/processEnum.mjs +95 -60
- package/es/enums/roleEnum.mjs +7 -6
- package/es/enums/sizeEnum.d.ts +18 -0
- package/es/enums/sizeEnum.mjs +28 -8
- package/es/global/gct/gct.mjs +84 -96
- package/es/global/index.mjs +1 -0
- package/es/hooks/index.mjs +4 -0
- package/es/hooks/use-app-inst/use-app-inst.mjs +11 -5
- package/es/hooks/use-modal/use-modal.mjs +16 -10
- package/es/hooks/use-sub-app-utils/use-sub-app-utils.mjs +43 -23
- package/es/hooks/useCopyToClipboard.mjs +50 -50
- package/es/index.mjs +125 -114
- package/es/interface/i-pinia-state/i-global-state.d.ts +0 -11
- package/es/locale/index.mjs +50 -57
- package/es/modules/env-manager/env-manager.const.mjs +16 -8
- package/es/modules/env-manager/env-manager.d.ts +2 -0
- package/es/modules/env-manager/env-manager.interface.d.ts +2 -0
- package/es/modules/env-manager/env-manager.interface.mjs +14 -7
- package/es/modules/env-manager/env-manager.mjs +108 -107
- package/es/modules/error-handler/error-handler.const.mjs +11 -16
- package/es/modules/error-handler/error-strategy.mjs +199 -175
- package/es/modules/error-handler/index.mjs +120 -106
- package/es/modules/mqtt/constants/mqtt.const.mjs +21 -24
- package/es/modules/mqtt/enums/mqtt-status.enum.mjs +23 -9
- package/es/modules/mqtt/index.mjs +4 -0
- package/es/modules/mqtt/mqtt-client.mjs +228 -261
- package/es/modules/mqtt/mqtt-manager.mjs +117 -77
- package/es/modules/platform-config/constants/index.mjs +4 -0
- package/es/modules/platform-config/constants/login.const.mjs +48 -45
- package/es/modules/platform-config/constants/org.const.mjs +57 -52
- package/es/modules/platform-config/constants/theme.const.mjs +11 -4
- package/es/modules/platform-config/constants/watermark.const.mjs +17 -12
- package/es/modules/platform-config/enums/deploy.enum.mjs +13 -6
- package/es/modules/platform-config/enums/login.enum.mjs +29 -15
- package/es/modules/platform-config/enums/platform.enum.mjs +16 -13
- package/es/modules/platform-config/index.mjs +9 -0
- package/es/modules/platform-config/store.mjs +68 -79
- package/es/modules/platform-config/useBasicSetting.mjs +47 -35
- package/es/modules/platform-config/useDeploySetting.mjs +29 -21
- package/es/modules/platform-config/useLoginSetting.mjs +151 -173
- package/es/modules/platform-config/useOrgSetting.mjs +63 -62
- package/es/modules/platform-config/useProjectSetting.mjs +14 -6
- package/es/modules/platform-config/useSecuritySetting.mjs +68 -56
- package/es/modules/platform-config/useThemeSetting.mjs +78 -59
- package/es/modules/platform-config/useWatermarkSetting.mjs +37 -23
- package/es/modules/user-stores/index.mjs +3 -0
- package/es/modules/user-stores/store/permission.store.mjs +27 -36
- package/es/modules/user-stores/store/tenant.store.mjs +20 -22
- package/es/modules/user-stores/store/user.store.mjs +94 -117
- package/es/router/index.mjs +25 -28
- package/es/setup-app.mjs +23 -39
- package/es/state/global-pinia-state/global-pinia-state.d.ts +0 -6
- package/es/state/global-pinia-state/global-pinia-state.mjs +43 -71
- package/es/state/index.mjs +1 -0
- package/es/store/global-store.mjs +50 -72
- package/es/store/index.mjs +25 -19
- package/es/types/index.d.ts +7 -0
- package/es/utils/axios/interceptors.mjs +21 -17
- package/es/utils/cache-adapter/cache-adapter.mjs +61 -56
- package/es/utils/css-loader/css-loader.d.ts +36 -0
- package/es/utils/css-loader/css-loader.mjs +82 -0
- package/es/utils/design/design.mjs +18 -12
- package/es/utils/deviceFingerprint.mjs +77 -63
- package/es/utils/dictionary/dictionary.mjs +142 -145
- package/es/utils/file/base64Conver.mjs +35 -30
- package/es/utils/file/download.mjs +94 -98
- package/es/utils/file/parser.d.ts +3 -0
- package/es/utils/file/parser.mjs +29 -0
- package/es/utils/i18n/index.mjs +14 -3
- package/es/utils/index.d.ts +3 -1
- package/es/utils/index.mjs +32 -0
- package/es/utils/is-sort-filed/is-sort-filed.mjs +42 -37
- package/es/utils/linked-list/linked-list.mjs +115 -118
- package/es/utils/linked-node/linked-node.mjs +41 -31
- package/es/utils/lowcode/utils.mjs +13 -18
- package/es/utils/lowcode/validate.mjs +20 -26
- package/es/utils/mitt/mitt.mjs +4 -4
- package/es/utils/model-loader/model-loader.mjs +280 -325
- package/es/utils/namespace/namespace.mjs +178 -164
- package/es/utils/openUtil/index.mjs +2 -0
- package/es/utils/openUtil/modal/modal.mjs +72 -79
- package/es/utils/openUtil/overlay-container/overlay-container.mjs +144 -138
- package/es/utils/permission.mjs +33 -37
- package/es/utils/plugin-static-resource/plugin-static-resource.mjs +46 -42
- package/es/utils/style/index.mjs +94 -138
- package/es/utils/tools/tools.mjs +86 -54
- package/es/utils/treeHelper/treeHelper.mjs +205 -233
- package/es/utils/uploader/uploader.mjs +81 -115
- package/es/utils/useUUid.mjs +79 -87
- package/es/utils/util.mjs +55 -35
- package/es/utils/uuid/uuid.d.ts +2 -0
- package/es/utils/uuid/uuid.mjs +33 -43
- package/es/utils/validate.mjs +15 -19
- package/es/utils/value-helper/value-helper.mjs +113 -98
- package/package.json +9 -18
- package/dist/index.esm.min.mjs +0 -18322
- package/dist/index.min.cjs +0 -393
- package/dist/index.system.min.js +0 -393
|
@@ -1,56 +1,54 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
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
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
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
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
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
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
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
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
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
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
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
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
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
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
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
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
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
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
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
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
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
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
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
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
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
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
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
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
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
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
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
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
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
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
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
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
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
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
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
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
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
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
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
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
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
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
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
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
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
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
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
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
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
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
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
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
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
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
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
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
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
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
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
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
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
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
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
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
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
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
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
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
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
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
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
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
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
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
569
|
+
definition: "declare function ISTIMERANGE(v: string, r: [string, string]): Promise<boolean>;"
|
|
570
|
+
}
|
|
571
|
+
]
|
|
572
|
+
}
|
|
575
573
|
].map((group) => {
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
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
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
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
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
629
|
+
definition: "declare function UNIX10(): number;"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
desc: `UNIX13()
|
|
640
633
|
返回13位的时间戳
|
|
641
634
|
UNIX13() 返回 1677811200000`,
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
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
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
652
|
+
var ipaasBackFunctionMap = functionGroup.reduce((map, g) => {
|
|
653
|
+
g.children.forEach((item) => {
|
|
654
|
+
map[item.id] = item;
|
|
655
|
+
});
|
|
656
|
+
return map;
|
|
665
657
|
}, {});
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
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
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
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
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
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 };
|