amis-formula 6.9.0 → 6.10.0-beta.1
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/esm/doc.js +24 -24
- package/esm/doc.md +30 -16
- package/esm/error.js +1 -1
- package/esm/evalutor.d.ts +31 -17
- package/esm/evalutor.js +37 -20
- package/esm/evalutorForAsync.js +1 -1
- package/esm/filter.js +1 -1
- package/esm/function.js +1 -1
- package/esm/index.js +1 -1
- package/esm/lexer.js +1 -1
- package/esm/parser.js +1 -1
- package/lib/doc.js +24 -24
- package/lib/doc.md +30 -16
- package/lib/error.js +1 -1
- package/lib/evalutor.d.ts +31 -17
- package/lib/evalutor.js +37 -20
- package/lib/evalutorForAsync.js +1 -1
- package/lib/filter.js +1 -1
- package/lib/function.js +1 -1
- package/lib/index.js +1 -1
- package/lib/lexer.js +1 -1
- package/lib/parser.js +1 -1
- package/package.json +1 -1
package/esm/doc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-formula v6.
|
|
2
|
+
* amis-formula v6.10.0-beta.1
|
|
3
3
|
* Copyright 2021-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -129,7 +129,7 @@ bulkRegisterFunctionDoc([
|
|
|
129
129
|
{
|
|
130
130
|
name: "MAX",
|
|
131
131
|
description: "获取最大值,如果只有一个参数且是数组,则计算这个数组内的值。",
|
|
132
|
-
example: "MAX(num1, num2, ...numN)",
|
|
132
|
+
example: "MAX(num1, num2, ...numN) or MAX([num1, num2, ...numN])",
|
|
133
133
|
params: [
|
|
134
134
|
{
|
|
135
135
|
type: "...number",
|
|
@@ -146,7 +146,7 @@ bulkRegisterFunctionDoc([
|
|
|
146
146
|
{
|
|
147
147
|
name: "MIN",
|
|
148
148
|
description: "获取最小值,如果只有一个参数且是数组,则计算这个数组内的值。",
|
|
149
|
-
example: "MIN(num1, num2, ...numN)",
|
|
149
|
+
example: "MIN(num1, num2, ...numN) or MIN([num1, num2, ...numN])",
|
|
150
150
|
params: [
|
|
151
151
|
{
|
|
152
152
|
type: "...number",
|
|
@@ -163,7 +163,7 @@ bulkRegisterFunctionDoc([
|
|
|
163
163
|
{
|
|
164
164
|
name: "SUM",
|
|
165
165
|
description: "求和,如果只有一个参数且是数组,则计算这个数组内的值。",
|
|
166
|
-
example: "SUM(num1, num2, ...numN)",
|
|
166
|
+
example: "SUM(num1, num2, ...numN) or SUM([num1, num2, ...numN])",
|
|
167
167
|
params: [
|
|
168
168
|
{
|
|
169
169
|
type: "...number",
|
|
@@ -313,7 +313,7 @@ bulkRegisterFunctionDoc([
|
|
|
313
313
|
{
|
|
314
314
|
name: "AVG",
|
|
315
315
|
description: "返回所有参数的平均值,如果只有一个参数且是数组,则计算这个数组内的值。",
|
|
316
|
-
example: "AVG(num1, num2, ...numN)",
|
|
316
|
+
example: "AVG(num1, num2, ...numN) or AVG([num1, num2, ...numN])",
|
|
317
317
|
params: [
|
|
318
318
|
{
|
|
319
319
|
type: "...number",
|
|
@@ -842,7 +842,7 @@ bulkRegisterFunctionDoc([
|
|
|
842
842
|
}
|
|
843
843
|
],
|
|
844
844
|
returns: {
|
|
845
|
-
type: "
|
|
845
|
+
type: "boolean",
|
|
846
846
|
description: "判断结果"
|
|
847
847
|
},
|
|
848
848
|
namespace: "文本函数"
|
|
@@ -864,7 +864,7 @@ bulkRegisterFunctionDoc([
|
|
|
864
864
|
}
|
|
865
865
|
],
|
|
866
866
|
returns: {
|
|
867
|
-
type: "
|
|
867
|
+
type: "boolean",
|
|
868
868
|
description: "判断结果"
|
|
869
869
|
},
|
|
870
870
|
namespace: "文本函数"
|
|
@@ -886,7 +886,7 @@ bulkRegisterFunctionDoc([
|
|
|
886
886
|
}
|
|
887
887
|
],
|
|
888
888
|
returns: {
|
|
889
|
-
type: "
|
|
889
|
+
type: "boolean",
|
|
890
890
|
description: "判断结果"
|
|
891
891
|
},
|
|
892
892
|
namespace: "文本函数"
|
|
@@ -947,7 +947,7 @@ bulkRegisterFunctionDoc([
|
|
|
947
947
|
},
|
|
948
948
|
{
|
|
949
949
|
name: "MID",
|
|
950
|
-
description: "
|
|
950
|
+
description: "返回文本字符串中从指定位置开始的特定数目的字符。\n\n示例:`MID(\"amis.baidu.com\", 6, 3)`,\n\n返回 `aid`。",
|
|
951
951
|
example: "MID(text, from, len)",
|
|
952
952
|
params: [
|
|
953
953
|
{
|
|
@@ -967,14 +967,14 @@ bulkRegisterFunctionDoc([
|
|
|
967
967
|
}
|
|
968
968
|
],
|
|
969
969
|
returns: {
|
|
970
|
-
type: "
|
|
970
|
+
type: "string",
|
|
971
971
|
description: "命中的位置"
|
|
972
972
|
},
|
|
973
973
|
namespace: "文本函数"
|
|
974
974
|
},
|
|
975
975
|
{
|
|
976
976
|
name: "BASENAME",
|
|
977
|
-
description: "返回路径中的文件名。\n\n示例:`/home/amis/a.json`,\n\n
|
|
977
|
+
description: "返回路径中的文件名。\n\n示例:`/home/amis/a.json`,\n\n返回:`a.json`。",
|
|
978
978
|
example: "BASENAME(text)",
|
|
979
979
|
params: [
|
|
980
980
|
{
|
|
@@ -1181,8 +1181,8 @@ bulkRegisterFunctionDoc([
|
|
|
1181
1181
|
}
|
|
1182
1182
|
],
|
|
1183
1183
|
returns: {
|
|
1184
|
-
type: "
|
|
1185
|
-
description: "
|
|
1184
|
+
type: "any",
|
|
1185
|
+
description: "新的日期对象, 如果传入 format 则返回格式化后的日期字符串"
|
|
1186
1186
|
},
|
|
1187
1187
|
namespace: "日期函数"
|
|
1188
1188
|
},
|
|
@@ -1208,8 +1208,8 @@ bulkRegisterFunctionDoc([
|
|
|
1208
1208
|
}
|
|
1209
1209
|
],
|
|
1210
1210
|
returns: {
|
|
1211
|
-
type: "
|
|
1212
|
-
description: "
|
|
1211
|
+
type: "any",
|
|
1212
|
+
description: "新的日期对象, 如果传入 format 则返回格式化后的日期字符串"
|
|
1213
1213
|
},
|
|
1214
1214
|
namespace: "日期函数"
|
|
1215
1215
|
},
|
|
@@ -1604,14 +1604,14 @@ bulkRegisterFunctionDoc([
|
|
|
1604
1604
|
}
|
|
1605
1605
|
],
|
|
1606
1606
|
returns: {
|
|
1607
|
-
type: "
|
|
1607
|
+
type: "number",
|
|
1608
1608
|
description: "结果"
|
|
1609
1609
|
},
|
|
1610
1610
|
namespace: "数组"
|
|
1611
1611
|
},
|
|
1612
1612
|
{
|
|
1613
1613
|
name: "ARRAYMAP",
|
|
1614
|
-
description: "
|
|
1614
|
+
description: "数组做数据转换,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n\n将数组中的每个元素转换成箭头函数返回的值。\n\n示例:\n\nARRAYMAP([1, 2, 3], item => item + 1) 得到 [2, 3, 4]。",
|
|
1615
1615
|
example: "ARRAYMAP(arr, item => item)",
|
|
1616
1616
|
params: [
|
|
1617
1617
|
{
|
|
@@ -1626,14 +1626,14 @@ bulkRegisterFunctionDoc([
|
|
|
1626
1626
|
}
|
|
1627
1627
|
],
|
|
1628
1628
|
returns: {
|
|
1629
|
-
type: "
|
|
1630
|
-
description: "
|
|
1629
|
+
type: "Array<any>",
|
|
1630
|
+
description: "返回转换后的数组"
|
|
1631
1631
|
},
|
|
1632
1632
|
namespace: "数组"
|
|
1633
1633
|
},
|
|
1634
1634
|
{
|
|
1635
1635
|
name: "ARRAYFILTER",
|
|
1636
|
-
description: "数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n将第二个箭头函数返回为 false
|
|
1636
|
+
description: "数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n将第二个箭头函数返回为 false 的成员过滤掉。\n\n示例:\n\nARRAYFILTER([1, 2, 3], item => item > 1) 得到 [2, 3]。",
|
|
1637
1637
|
example: "ARRAYFILTER(arr, item => item)",
|
|
1638
1638
|
params: [
|
|
1639
1639
|
{
|
|
@@ -1648,8 +1648,8 @@ bulkRegisterFunctionDoc([
|
|
|
1648
1648
|
}
|
|
1649
1649
|
],
|
|
1650
1650
|
returns: {
|
|
1651
|
-
type: "
|
|
1652
|
-
description: "
|
|
1651
|
+
type: "Array<any>",
|
|
1652
|
+
description: "返回过滤后的数组"
|
|
1653
1653
|
},
|
|
1654
1654
|
namespace: "数组"
|
|
1655
1655
|
},
|
|
@@ -1797,7 +1797,7 @@ bulkRegisterFunctionDoc([
|
|
|
1797
1797
|
}
|
|
1798
1798
|
],
|
|
1799
1799
|
returns: {
|
|
1800
|
-
type: "
|
|
1800
|
+
type: "string",
|
|
1801
1801
|
description: "结果"
|
|
1802
1802
|
},
|
|
1803
1803
|
namespace: "数组"
|
|
@@ -1821,7 +1821,7 @@ bulkRegisterFunctionDoc([
|
|
|
1821
1821
|
},
|
|
1822
1822
|
{
|
|
1823
1823
|
name: "UNIQ",
|
|
1824
|
-
description: "数组去重,第二个参数「field」,可指定根据该字段去重。\n\n示例:\n\nUNIQ([{a: '1'}, {b: '2'}, {a: '1'}]
|
|
1824
|
+
description: "数组去重,第二个参数「field」,可指定根据该字段去重。\n\n示例:\n\nUNIQ([{a: '1'}, {b: '2'}, {a: '1'}]) 得到 [{a: '1'}, {b: '2'}]。",
|
|
1825
1825
|
example: "UNIQ([{a: '1'}, {b: '2'}, {a: '1'}], 'x')",
|
|
1826
1826
|
params: [
|
|
1827
1827
|
{
|
package/esm/doc.md
CHANGED
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
|
|
90
90
|
### MAX
|
|
91
91
|
|
|
92
|
-
用法:`MAX(num1, num2, ...numN)`
|
|
92
|
+
用法:`MAX(num1, num2, ...numN) or MAX([num1, num2, ...numN])`
|
|
93
93
|
|
|
94
94
|
* `num:...number` 数值
|
|
95
95
|
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
|
|
100
100
|
### MIN
|
|
101
101
|
|
|
102
|
-
用法:`MIN(num1, num2, ...numN)`
|
|
102
|
+
用法:`MIN(num1, num2, ...numN) or MIN([num1, num2, ...numN])`
|
|
103
103
|
|
|
104
104
|
* `num:...number` 数值
|
|
105
105
|
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
|
|
110
110
|
### SUM
|
|
111
111
|
|
|
112
|
-
用法:`SUM(num1, num2, ...numN)`
|
|
112
|
+
用法:`SUM(num1, num2, ...numN) or SUM([num1, num2, ...numN])`
|
|
113
113
|
|
|
114
114
|
* `num:...number` 数值
|
|
115
115
|
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
|
|
190
190
|
### AVG
|
|
191
191
|
|
|
192
|
-
用法:`AVG(num1, num2, ...numN)`
|
|
192
|
+
用法:`AVG(num1, num2, ...numN) or AVG([num1, num2, ...numN])`
|
|
193
193
|
|
|
194
194
|
* `num:...number` 要处理的数字
|
|
195
195
|
|
|
@@ -515,7 +515,7 @@
|
|
|
515
515
|
* `text:string` 文本
|
|
516
516
|
* `startString:string` 起始文本
|
|
517
517
|
|
|
518
|
-
返回:`
|
|
518
|
+
返回:`boolean` 判断结果
|
|
519
519
|
|
|
520
520
|
判断字符串(text)是否以特定字符串(startString)开始,是则返回 true,否则返回 false。
|
|
521
521
|
|
|
@@ -526,7 +526,7 @@
|
|
|
526
526
|
* `text:string` 文本
|
|
527
527
|
* `endString:string` 结束文本
|
|
528
528
|
|
|
529
|
-
返回:`
|
|
529
|
+
返回:`boolean` 判断结果
|
|
530
530
|
|
|
531
531
|
判断字符串(text)是否以特定字符串(endString)结束,是则返回 true,否则返回 false。
|
|
532
532
|
|
|
@@ -537,7 +537,7 @@
|
|
|
537
537
|
* `text:string` 文本
|
|
538
538
|
* `searchText:string` 搜索文本
|
|
539
539
|
|
|
540
|
-
返回:`
|
|
540
|
+
返回:`boolean` 判断结果
|
|
541
541
|
|
|
542
542
|
判断参数 1 中的文本是否包含参数 2 中的文本,是则返回 true,否则返回 false。
|
|
543
543
|
|
|
@@ -573,10 +573,14 @@
|
|
|
573
573
|
* `from:number` 起始位置
|
|
574
574
|
* `len:number` 处理长度
|
|
575
575
|
|
|
576
|
-
返回:`
|
|
576
|
+
返回:`string` 命中的位置
|
|
577
577
|
|
|
578
578
|
返回文本字符串中从指定位置开始的特定数目的字符。
|
|
579
579
|
|
|
580
|
+
示例:`MID("amis.baidu.com", 6, 3)`,
|
|
581
|
+
|
|
582
|
+
返回 `aid`。
|
|
583
|
+
|
|
580
584
|
### BASENAME
|
|
581
585
|
|
|
582
586
|
用法:`BASENAME(text)`
|
|
@@ -589,7 +593,7 @@
|
|
|
589
593
|
|
|
590
594
|
示例:`/home/amis/a.json`,
|
|
591
595
|
|
|
592
|
-
|
|
596
|
+
返回:`a.json`。
|
|
593
597
|
|
|
594
598
|
### UUID
|
|
595
599
|
|
|
@@ -714,7 +718,7 @@ DATERANGESPLIT('1676563200, 1676735999', 'end' , 'YYYY.MM.DD hh:mm:ss') 得到 '
|
|
|
714
718
|
* `unit:string` 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
|
|
715
719
|
* `format:string` 日期格式,可选
|
|
716
720
|
|
|
717
|
-
返回:`
|
|
721
|
+
返回:`any` 新的日期对象, 如果传入 format 则返回格式化后的日期字符串
|
|
718
722
|
|
|
719
723
|
返回日期的指定范围的开端。
|
|
720
724
|
|
|
@@ -726,7 +730,7 @@ DATERANGESPLIT('1676563200, 1676735999', 'end' , 'YYYY.MM.DD hh:mm:ss') 得到 '
|
|
|
726
730
|
* `unit:string` 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
|
|
727
731
|
* `format:string` 日期格式,可选
|
|
728
732
|
|
|
729
|
-
返回:`
|
|
733
|
+
返回:`any` 新的日期对象, 如果传入 format 则返回格式化后的日期字符串
|
|
730
734
|
|
|
731
735
|
返回日期的指定范围的末尾。
|
|
732
736
|
|
|
@@ -936,7 +940,7 @@ DATEMODIFY(A, -2, 'month'),
|
|
|
936
940
|
|
|
937
941
|
* `arr:Array<any>` 数组
|
|
938
942
|
|
|
939
|
-
返回:`
|
|
943
|
+
返回:`number` 结果
|
|
940
944
|
|
|
941
945
|
返回数组的长度。
|
|
942
946
|
|
|
@@ -947,10 +951,16 @@ DATEMODIFY(A, -2, 'month'),
|
|
|
947
951
|
* `arr:Array<any>` 数组
|
|
948
952
|
* `iterator:Array<any>` 箭头函数
|
|
949
953
|
|
|
950
|
-
返回:`
|
|
954
|
+
返回:`Array<any>` 返回转换后的数组
|
|
951
955
|
|
|
952
956
|
数组做数据转换,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
|
|
953
957
|
|
|
958
|
+
将数组中的每个元素转换成箭头函数返回的值。
|
|
959
|
+
|
|
960
|
+
示例:
|
|
961
|
+
|
|
962
|
+
ARRAYMAP([1, 2, 3], item => item + 1) 得到 [2, 3, 4]。
|
|
963
|
+
|
|
954
964
|
### ARRAYFILTER
|
|
955
965
|
|
|
956
966
|
用法:`ARRAYFILTER(arr, item => item)`
|
|
@@ -958,11 +968,15 @@ DATEMODIFY(A, -2, 'month'),
|
|
|
958
968
|
* `arr:Array<any>` 数组
|
|
959
969
|
* `iterator:Array<any>` 箭头函数
|
|
960
970
|
|
|
961
|
-
返回:`
|
|
971
|
+
返回:`Array<any>` 返回过滤后的数组
|
|
962
972
|
|
|
963
973
|
数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
|
|
964
974
|
将第二个箭头函数返回为 false 的成员过滤掉。
|
|
965
975
|
|
|
976
|
+
示例:
|
|
977
|
+
|
|
978
|
+
ARRAYFILTER([1, 2, 3], item => item > 1) 得到 [2, 3]。
|
|
979
|
+
|
|
966
980
|
### ARRAYFINDINDEX
|
|
967
981
|
|
|
968
982
|
用法:`ARRAYFINDINDEX(arr, item => item === 2)`
|
|
@@ -1063,7 +1077,7 @@ COMPACT([0, 1, false, 2, '', 3]) 得到 [1, 2, 3]。
|
|
|
1063
1077
|
* `arr:Array<any>` 数组
|
|
1064
1078
|
* `separator:String` 分隔符
|
|
1065
1079
|
|
|
1066
|
-
返回:`
|
|
1080
|
+
返回:`string` 结果
|
|
1067
1081
|
|
|
1068
1082
|
数组转成字符串。
|
|
1069
1083
|
|
|
@@ -1098,7 +1112,7 @@ CONCAT(['a', 'b', 'c'], ['1'], ['3']) 得到 ['a', 'b', 'c', '1', '3']。
|
|
|
1098
1112
|
|
|
1099
1113
|
示例:
|
|
1100
1114
|
|
|
1101
|
-
UNIQ([{a: '1'}, {b: '2'}, {a: '1'}]
|
|
1115
|
+
UNIQ([{a: '1'}, {b: '2'}, {a: '1'}]) 得到 [{a: '1'}, {b: '2'}]。
|
|
1102
1116
|
|
|
1103
1117
|
## 编码
|
|
1104
1118
|
|
package/esm/error.js
CHANGED
package/esm/evalutor.d.ts
CHANGED
|
@@ -281,7 +281,7 @@ export declare class Evaluator {
|
|
|
281
281
|
/**
|
|
282
282
|
* 获取最大值,如果只有一个参数且是数组,则计算这个数组内的值。
|
|
283
283
|
*
|
|
284
|
-
* @example MAX(num1, num2, ...numN)
|
|
284
|
+
* @example MAX(num1, num2, ...numN) or MAX([num1, num2, ...numN])
|
|
285
285
|
* @param {...number} num - 数值
|
|
286
286
|
* @namespace 数学函数
|
|
287
287
|
*
|
|
@@ -291,7 +291,7 @@ export declare class Evaluator {
|
|
|
291
291
|
/**
|
|
292
292
|
* 获取最小值,如果只有一个参数且是数组,则计算这个数组内的值。
|
|
293
293
|
*
|
|
294
|
-
* @example MIN(num1, num2, ...numN)
|
|
294
|
+
* @example MIN(num1, num2, ...numN) or MIN([num1, num2, ...numN])
|
|
295
295
|
* @param {...number} num - 数值
|
|
296
296
|
* @namespace 数学函数
|
|
297
297
|
*
|
|
@@ -301,7 +301,7 @@ export declare class Evaluator {
|
|
|
301
301
|
/**
|
|
302
302
|
* 求和,如果只有一个参数且是数组,则计算这个数组内的值。
|
|
303
303
|
*
|
|
304
|
-
* @example SUM(num1, num2, ...numN)
|
|
304
|
+
* @example SUM(num1, num2, ...numN) or SUM([num1, num2, ...numN])
|
|
305
305
|
* @param {...number} num - 数值
|
|
306
306
|
* @namespace 数学函数
|
|
307
307
|
*
|
|
@@ -384,7 +384,7 @@ export declare class Evaluator {
|
|
|
384
384
|
/**
|
|
385
385
|
* 返回所有参数的平均值,如果只有一个参数且是数组,则计算这个数组内的值。
|
|
386
386
|
*
|
|
387
|
-
* @example AVG(num1, num2, ...numN)
|
|
387
|
+
* @example AVG(num1, num2, ...numN) or AVG([num1, num2, ...numN])
|
|
388
388
|
* @param {...number} num - 要处理的数字
|
|
389
389
|
* @namespace 数学函数
|
|
390
390
|
*
|
|
@@ -580,7 +580,7 @@ export declare class Evaluator {
|
|
|
580
580
|
*
|
|
581
581
|
* @returns {string} 结果文本
|
|
582
582
|
*/
|
|
583
|
-
fnUPPERFIRST(text: string): string
|
|
583
|
+
fnUPPERFIRST(text: string): Capitalize<string>;
|
|
584
584
|
/**
|
|
585
585
|
* 向前补齐文本长度。
|
|
586
586
|
*
|
|
@@ -712,7 +712,7 @@ export declare class Evaluator {
|
|
|
712
712
|
* @param {string} startString - 起始文本
|
|
713
713
|
* @namespace 文本函数
|
|
714
714
|
*
|
|
715
|
-
* @returns {
|
|
715
|
+
* @returns {boolean} 判断结果
|
|
716
716
|
*/
|
|
717
717
|
fnSTARTSWITH(text: string, search: string): boolean;
|
|
718
718
|
/**
|
|
@@ -723,7 +723,7 @@ export declare class Evaluator {
|
|
|
723
723
|
* @param {string} endString - 结束文本
|
|
724
724
|
* @namespace 文本函数
|
|
725
725
|
*
|
|
726
|
-
* @returns {
|
|
726
|
+
* @returns {boolean} 判断结果
|
|
727
727
|
*/
|
|
728
728
|
fnENDSWITH(text: string, search: string): boolean;
|
|
729
729
|
/**
|
|
@@ -734,7 +734,7 @@ export declare class Evaluator {
|
|
|
734
734
|
* @param {string} searchText - 搜索文本
|
|
735
735
|
* @namespace 文本函数
|
|
736
736
|
*
|
|
737
|
-
* @returns {
|
|
737
|
+
* @returns {boolean} 判断结果
|
|
738
738
|
*/
|
|
739
739
|
fnCONTAINS(text: string, search: string): boolean;
|
|
740
740
|
/**
|
|
@@ -764,13 +764,17 @@ export declare class Evaluator {
|
|
|
764
764
|
/**
|
|
765
765
|
* 返回文本字符串中从指定位置开始的特定数目的字符。
|
|
766
766
|
*
|
|
767
|
+
* 示例:`MID("amis.baidu.com", 6, 3)`,
|
|
768
|
+
*
|
|
769
|
+
* 返回 `aid`。
|
|
770
|
+
*
|
|
767
771
|
* @example MID(text, from, len)
|
|
768
772
|
* @param {string} text - 要处理的文本
|
|
769
773
|
* @param {number} from - 起始位置
|
|
770
774
|
* @param {number} len - 处理长度
|
|
771
775
|
* @namespace 文本函数
|
|
772
776
|
*
|
|
773
|
-
* @returns {
|
|
777
|
+
* @returns {string} 命中的位置
|
|
774
778
|
*/
|
|
775
779
|
fnMID(text: string, from: number, len: number): string;
|
|
776
780
|
/**
|
|
@@ -778,7 +782,7 @@ export declare class Evaluator {
|
|
|
778
782
|
*
|
|
779
783
|
* 示例:`/home/amis/a.json`,
|
|
780
784
|
*
|
|
781
|
-
*
|
|
785
|
+
* 返回:`a.json`。
|
|
782
786
|
*
|
|
783
787
|
* @example BASENAME(text)
|
|
784
788
|
* @param {string} text - 要处理的文本
|
|
@@ -919,7 +923,7 @@ export declare class Evaluator {
|
|
|
919
923
|
* @param {date} date 日期对象
|
|
920
924
|
* @param {string} unit 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
|
|
921
925
|
* @param {string} format 日期格式,可选
|
|
922
|
-
* @returns {
|
|
926
|
+
* @returns {any} 新的日期对象, 如果传入 format 则返回格式化后的日期字符串
|
|
923
927
|
*/
|
|
924
928
|
fnSTARTOF(date: Date, unit?: any, format?: string): string | Date;
|
|
925
929
|
/**
|
|
@@ -930,7 +934,7 @@ export declare class Evaluator {
|
|
|
930
934
|
* @param {date} date 日期对象
|
|
931
935
|
* @param {string} unit 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
|
|
932
936
|
* @param {string} format 日期格式,可选
|
|
933
|
-
* @returns {
|
|
937
|
+
* @returns {any} 新的日期对象, 如果传入 format 则返回格式化后的日期字符串
|
|
934
938
|
*/
|
|
935
939
|
fnENDOF(date: Date, unit?: any, format?: string): string | Date;
|
|
936
940
|
normalizeDate(raw: any): Date;
|
|
@@ -1122,28 +1126,38 @@ export declare class Evaluator {
|
|
|
1122
1126
|
* @param {Array<any>} arr 数组
|
|
1123
1127
|
* @namespace 数组
|
|
1124
1128
|
* @example COUNT(arr)
|
|
1125
|
-
* @returns {
|
|
1129
|
+
* @returns {number} 结果
|
|
1126
1130
|
*/
|
|
1127
1131
|
fnCOUNT(value: any): number;
|
|
1128
1132
|
/**
|
|
1129
1133
|
* 数组做数据转换,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
|
|
1130
1134
|
*
|
|
1135
|
+
* 将数组中的每个元素转换成箭头函数返回的值。
|
|
1136
|
+
*
|
|
1137
|
+
* 示例:
|
|
1138
|
+
*
|
|
1139
|
+
* ARRAYMAP([1, 2, 3], item => item + 1) 得到 [2, 3, 4]。
|
|
1140
|
+
*
|
|
1131
1141
|
* @param {Array<any>} arr 数组
|
|
1132
1142
|
* @param {Function<any>} iterator 箭头函数
|
|
1133
1143
|
* @namespace 数组
|
|
1134
1144
|
* @example ARRAYMAP(arr, item => item)
|
|
1135
|
-
* @returns {
|
|
1145
|
+
* @returns {Array<any>} 返回转换后的数组
|
|
1136
1146
|
*/
|
|
1137
1147
|
fnARRAYMAP(value: any, iterator: any): any[];
|
|
1138
1148
|
/**
|
|
1139
1149
|
* 数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
|
|
1140
1150
|
* 将第二个箭头函数返回为 false 的成员过滤掉。
|
|
1141
1151
|
*
|
|
1152
|
+
* 示例:
|
|
1153
|
+
*
|
|
1154
|
+
* ARRAYFILTER([1, 2, 3], item => item > 1) 得到 [2, 3]。
|
|
1155
|
+
*
|
|
1142
1156
|
* @param {Array<any>} arr 数组
|
|
1143
1157
|
* @param {Function<any>} iterator 箭头函数
|
|
1144
1158
|
* @namespace 数组
|
|
1145
1159
|
* @example ARRAYFILTER(arr, item => item)
|
|
1146
|
-
* @returns {
|
|
1160
|
+
* @returns {Array<any>} 返回过滤后的数组
|
|
1147
1161
|
*/
|
|
1148
1162
|
fnARRAYFILTER(value: any, iterator: any): any[];
|
|
1149
1163
|
/**
|
|
@@ -1244,7 +1258,7 @@ export declare class Evaluator {
|
|
|
1244
1258
|
* @param { String} separator 分隔符
|
|
1245
1259
|
* @namespace 数组
|
|
1246
1260
|
* @example JOIN(arr, string)
|
|
1247
|
-
* @returns {
|
|
1261
|
+
* @returns {string} 结果
|
|
1248
1262
|
*/
|
|
1249
1263
|
fnJOIN(arr: any[], separator?: string): string;
|
|
1250
1264
|
/**
|
|
@@ -1265,7 +1279,7 @@ export declare class Evaluator {
|
|
|
1265
1279
|
*
|
|
1266
1280
|
* 示例:
|
|
1267
1281
|
*
|
|
1268
|
-
* UNIQ([{a: '1'}, {b: '2'}, {a: '1'}]
|
|
1282
|
+
* UNIQ([{a: '1'}, {b: '2'}, {a: '1'}]) 得到 [{a: '1'}, {b: '2'}]。
|
|
1269
1283
|
*
|
|
1270
1284
|
* @param {Array<any>} arr 数组
|
|
1271
1285
|
* @param {string} field 字段
|