amis-formula 6.9.0 → 6.10.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/evalutor.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -580,7 +580,7 @@ var Evaluator = /** @class */ (function () {
580
580
  /**
581
581
  * 获取最大值,如果只有一个参数且是数组,则计算这个数组内的值。
582
582
  *
583
- * @example MAX(num1, num2, ...numN)
583
+ * @example MAX(num1, num2, ...numN) or MAX([num1, num2, ...numN])
584
584
  * @param {...number} num - 数值
585
585
  * @namespace 数学函数
586
586
  *
@@ -598,7 +598,7 @@ var Evaluator = /** @class */ (function () {
598
598
  /**
599
599
  * 获取最小值,如果只有一个参数且是数组,则计算这个数组内的值。
600
600
  *
601
- * @example MIN(num1, num2, ...numN)
601
+ * @example MIN(num1, num2, ...numN) or MIN([num1, num2, ...numN])
602
602
  * @param {...number} num - 数值
603
603
  * @namespace 数学函数
604
604
  *
@@ -616,7 +616,7 @@ var Evaluator = /** @class */ (function () {
616
616
  /**
617
617
  * 求和,如果只有一个参数且是数组,则计算这个数组内的值。
618
618
  *
619
- * @example SUM(num1, num2, ...numN)
619
+ * @example SUM(num1, num2, ...numN) or SUM([num1, num2, ...numN])
620
620
  * @param {...number} num - 数值
621
621
  * @namespace 数学函数
622
622
  *
@@ -745,7 +745,7 @@ var Evaluator = /** @class */ (function () {
745
745
  /**
746
746
  * 返回所有参数的平均值,如果只有一个参数且是数组,则计算这个数组内的值。
747
747
  *
748
- * @example AVG(num1, num2, ...numN)
748
+ * @example AVG(num1, num2, ...numN) or AVG([num1, num2, ...numN])
749
749
  * @param {...number} num - 要处理的数字
750
750
  * @namespace 数学函数
751
751
  *
@@ -989,7 +989,7 @@ var Evaluator = /** @class */ (function () {
989
989
  if (!this.isValidValue(base) || !this.isValidValue(exponent)) {
990
990
  return base;
991
991
  }
992
- return Math.pow(base, exponent);
992
+ return Math.pow(this.formatNumber(base), this.formatNumber(exponent));
993
993
  };
994
994
  // 文本函数
995
995
  Evaluator.prototype.normalizeText = function (raw) {
@@ -1036,6 +1036,9 @@ var Evaluator = /** @class */ (function () {
1036
1036
  * @returns {number} 长度
1037
1037
  */
1038
1038
  Evaluator.prototype.fnLEN = function (text) {
1039
+ if (text === undefined || text === null) {
1040
+ return 0;
1041
+ }
1039
1042
  text = this.normalizeText(text);
1040
1043
  return text === null || text === void 0 ? void 0 : text.length;
1041
1044
  };
@@ -1053,7 +1056,7 @@ var Evaluator = /** @class */ (function () {
1053
1056
  for (var _i = 0; _i < arguments.length; _i++) {
1054
1057
  args[_i] = arguments[_i];
1055
1058
  }
1056
- return this.fnLEN.call(this, args);
1059
+ return this.fnLEN.apply(this, args);
1057
1060
  };
1058
1061
  /**
1059
1062
  * 判断文本是否为空。
@@ -1081,7 +1084,7 @@ var Evaluator = /** @class */ (function () {
1081
1084
  for (var _i = 0; _i < arguments.length; _i++) {
1082
1085
  args[_i] = arguments[_i];
1083
1086
  }
1084
- return args.join('');
1087
+ return args.map(this.normalizeText).join('');
1085
1088
  };
1086
1089
  /**
1087
1090
  * 返回计算机字符集的数字代码所对应的字符。
@@ -1297,7 +1300,7 @@ var Evaluator = /** @class */ (function () {
1297
1300
  * @param {string} startString - 起始文本
1298
1301
  * @namespace 文本函数
1299
1302
  *
1300
- * @returns {string} 判断结果
1303
+ * @returns {boolean} 判断结果
1301
1304
  */
1302
1305
  Evaluator.prototype.fnSTARTSWITH = function (text, search) {
1303
1306
  search = this.normalizeText(search);
@@ -1315,7 +1318,7 @@ var Evaluator = /** @class */ (function () {
1315
1318
  * @param {string} endString - 结束文本
1316
1319
  * @namespace 文本函数
1317
1320
  *
1318
- * @returns {string} 判断结果
1321
+ * @returns {boolean} 判断结果
1319
1322
  */
1320
1323
  Evaluator.prototype.fnENDSWITH = function (text, search) {
1321
1324
  search = this.normalizeText(search);
@@ -1333,7 +1336,7 @@ var Evaluator = /** @class */ (function () {
1333
1336
  * @param {string} searchText - 搜索文本
1334
1337
  * @namespace 文本函数
1335
1338
  *
1336
- * @returns {string} 判断结果
1339
+ * @returns {boolean} 判断结果
1337
1340
  */
1338
1341
  Evaluator.prototype.fnCONTAINS = function (text, search) {
1339
1342
  search = this.normalizeText(search);
@@ -1403,13 +1406,17 @@ var Evaluator = /** @class */ (function () {
1403
1406
  /**
1404
1407
  * 返回文本字符串中从指定位置开始的特定数目的字符。
1405
1408
  *
1409
+ * 示例:`MID("amis.baidu.com", 6, 3)`,
1410
+ *
1411
+ * 返回 `aid`。
1412
+ *
1406
1413
  * @example MID(text, from, len)
1407
1414
  * @param {string} text - 要处理的文本
1408
1415
  * @param {number} from - 起始位置
1409
1416
  * @param {number} len - 处理长度
1410
1417
  * @namespace 文本函数
1411
1418
  *
1412
- * @returns {number} 命中的位置
1419
+ * @returns {string} 命中的位置
1413
1420
  */
1414
1421
  Evaluator.prototype.fnMID = function (text, from, len) {
1415
1422
  text = this.normalizeText(text);
@@ -1422,7 +1429,7 @@ var Evaluator = /** @class */ (function () {
1422
1429
  *
1423
1430
  * 示例:`/home/amis/a.json`,
1424
1431
  *
1425
- * 返回:a.json`。
1432
+ * 返回:`a.json`。
1426
1433
  *
1427
1434
  * @example BASENAME(text)
1428
1435
  * @param {string} text - 要处理的文本
@@ -1613,7 +1620,7 @@ var Evaluator = /** @class */ (function () {
1613
1620
  * @param {date} date 日期对象
1614
1621
  * @param {string} unit 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
1615
1622
  * @param {string} format 日期格式,可选
1616
- * @returns {date} 新的日期对象
1623
+ * @returns {any} 新的日期对象, 如果传入 format 则返回格式化后的日期字符串
1617
1624
  */
1618
1625
  Evaluator.prototype.fnSTARTOF = function (date, unit, format) {
1619
1626
  var md = moment(this.normalizeDate(date)).startOf(unit || 'day');
@@ -1627,7 +1634,7 @@ var Evaluator = /** @class */ (function () {
1627
1634
  * @param {date} date 日期对象
1628
1635
  * @param {string} unit 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
1629
1636
  * @param {string} format 日期格式,可选
1630
- * @returns {date} 新的日期对象
1637
+ * @returns {any} 新的日期对象, 如果传入 format 则返回格式化后的日期字符串
1631
1638
  */
1632
1639
  Evaluator.prototype.fnENDOF = function (date, unit, format) {
1633
1640
  var md = moment(this.normalizeDate(date)).endOf(unit || 'day');
@@ -1910,7 +1917,7 @@ var Evaluator = /** @class */ (function () {
1910
1917
  * @param {Array<any>} arr 数组
1911
1918
  * @namespace 数组
1912
1919
  * @example COUNT(arr)
1913
- * @returns {boolean} 结果
1920
+ * @returns {number} 结果
1914
1921
  */
1915
1922
  Evaluator.prototype.fnCOUNT = function (value) {
1916
1923
  return Array.isArray(value) ? value.length : value ? 1 : 0;
@@ -1918,11 +1925,17 @@ var Evaluator = /** @class */ (function () {
1918
1925
  /**
1919
1926
  * 数组做数据转换,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
1920
1927
  *
1928
+ * 将数组中的每个元素转换成箭头函数返回的值。
1929
+ *
1930
+ * 示例:
1931
+ *
1932
+ * ARRAYMAP([1, 2, 3], item => item + 1) 得到 [2, 3, 4]。
1933
+ *
1921
1934
  * @param {Array<any>} arr 数组
1922
1935
  * @param {Function<any>} iterator 箭头函数
1923
1936
  * @namespace 数组
1924
1937
  * @example ARRAYMAP(arr, item => item)
1925
- * @returns {boolean} 结果
1938
+ * @returns {Array<any>} 返回转换后的数组
1926
1939
  */
1927
1940
  Evaluator.prototype.fnARRAYMAP = function (value, iterator) {
1928
1941
  var _this = this;
@@ -1937,11 +1950,15 @@ var Evaluator = /** @class */ (function () {
1937
1950
  * 数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
1938
1951
  * 将第二个箭头函数返回为 false 的成员过滤掉。
1939
1952
  *
1953
+ * 示例:
1954
+ *
1955
+ * ARRAYFILTER([1, 2, 3], item => item > 1) 得到 [2, 3]。
1956
+ *
1940
1957
  * @param {Array<any>} arr 数组
1941
1958
  * @param {Function<any>} iterator 箭头函数
1942
1959
  * @namespace 数组
1943
1960
  * @example ARRAYFILTER(arr, item => item)
1944
- * @returns {boolean} 结果
1961
+ * @returns {Array<any>} 返回过滤后的数组
1945
1962
  */
1946
1963
  Evaluator.prototype.fnARRAYFILTER = function (value, iterator) {
1947
1964
  var _this = this;
@@ -2109,7 +2126,7 @@ var Evaluator = /** @class */ (function () {
2109
2126
  * @param { String} separator 分隔符
2110
2127
  * @namespace 数组
2111
2128
  * @example JOIN(arr, string)
2112
- * @returns {String} 结果
2129
+ * @returns {string} 结果
2113
2130
  */
2114
2131
  Evaluator.prototype.fnJOIN = function (arr, separator) {
2115
2132
  if (separator === void 0) { separator = ''; }
@@ -2147,7 +2164,7 @@ var Evaluator = /** @class */ (function () {
2147
2164
  *
2148
2165
  * 示例:
2149
2166
  *
2150
- * UNIQ([{a: '1'}, {b: '2'}, {a: '1'}] 'id')
2167
+ * UNIQ([{a: '1'}, {b: '2'}, {a: '1'}]) 得到 [{a: '1'}, {b: '2'}]
2151
2168
  *
2152
2169
  * @param {Array<any>} arr 数组
2153
2170
  * @param {string} field 字段
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/filter.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/function.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/lexer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/parser.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/lib/doc.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -131,7 +131,7 @@ _function.bulkRegisterFunctionDoc([
131
131
  {
132
132
  name: "MAX",
133
133
  description: "获取最大值,如果只有一个参数且是数组,则计算这个数组内的值。",
134
- example: "MAX(num1, num2, ...numN)",
134
+ example: "MAX(num1, num2, ...numN) or MAX([num1, num2, ...numN])",
135
135
  params: [
136
136
  {
137
137
  type: "...number",
@@ -148,7 +148,7 @@ _function.bulkRegisterFunctionDoc([
148
148
  {
149
149
  name: "MIN",
150
150
  description: "获取最小值,如果只有一个参数且是数组,则计算这个数组内的值。",
151
- example: "MIN(num1, num2, ...numN)",
151
+ example: "MIN(num1, num2, ...numN) or MIN([num1, num2, ...numN])",
152
152
  params: [
153
153
  {
154
154
  type: "...number",
@@ -165,7 +165,7 @@ _function.bulkRegisterFunctionDoc([
165
165
  {
166
166
  name: "SUM",
167
167
  description: "求和,如果只有一个参数且是数组,则计算这个数组内的值。",
168
- example: "SUM(num1, num2, ...numN)",
168
+ example: "SUM(num1, num2, ...numN) or SUM([num1, num2, ...numN])",
169
169
  params: [
170
170
  {
171
171
  type: "...number",
@@ -315,7 +315,7 @@ _function.bulkRegisterFunctionDoc([
315
315
  {
316
316
  name: "AVG",
317
317
  description: "返回所有参数的平均值,如果只有一个参数且是数组,则计算这个数组内的值。",
318
- example: "AVG(num1, num2, ...numN)",
318
+ example: "AVG(num1, num2, ...numN) or AVG([num1, num2, ...numN])",
319
319
  params: [
320
320
  {
321
321
  type: "...number",
@@ -844,7 +844,7 @@ _function.bulkRegisterFunctionDoc([
844
844
  }
845
845
  ],
846
846
  returns: {
847
- type: "string",
847
+ type: "boolean",
848
848
  description: "判断结果"
849
849
  },
850
850
  namespace: "文本函数"
@@ -866,7 +866,7 @@ _function.bulkRegisterFunctionDoc([
866
866
  }
867
867
  ],
868
868
  returns: {
869
- type: "string",
869
+ type: "boolean",
870
870
  description: "判断结果"
871
871
  },
872
872
  namespace: "文本函数"
@@ -888,7 +888,7 @@ _function.bulkRegisterFunctionDoc([
888
888
  }
889
889
  ],
890
890
  returns: {
891
- type: "string",
891
+ type: "boolean",
892
892
  description: "判断结果"
893
893
  },
894
894
  namespace: "文本函数"
@@ -949,7 +949,7 @@ _function.bulkRegisterFunctionDoc([
949
949
  },
950
950
  {
951
951
  name: "MID",
952
- description: "返回文本字符串中从指定位置开始的特定数目的字符。",
952
+ description: "返回文本字符串中从指定位置开始的特定数目的字符。\n\n示例:`MID(\"amis.baidu.com\", 6, 3)`,\n\n返回 `aid`。",
953
953
  example: "MID(text, from, len)",
954
954
  params: [
955
955
  {
@@ -969,14 +969,14 @@ _function.bulkRegisterFunctionDoc([
969
969
  }
970
970
  ],
971
971
  returns: {
972
- type: "number",
972
+ type: "string",
973
973
  description: "命中的位置"
974
974
  },
975
975
  namespace: "文本函数"
976
976
  },
977
977
  {
978
978
  name: "BASENAME",
979
- description: "返回路径中的文件名。\n\n示例:`/home/amis/a.json`,\n\n返回:a.json`。",
979
+ description: "返回路径中的文件名。\n\n示例:`/home/amis/a.json`,\n\n返回:`a.json`。",
980
980
  example: "BASENAME(text)",
981
981
  params: [
982
982
  {
@@ -1183,8 +1183,8 @@ _function.bulkRegisterFunctionDoc([
1183
1183
  }
1184
1184
  ],
1185
1185
  returns: {
1186
- type: "date",
1187
- description: "新的日期对象"
1186
+ type: "any",
1187
+ description: "新的日期对象, 如果传入 format 则返回格式化后的日期字符串"
1188
1188
  },
1189
1189
  namespace: "日期函数"
1190
1190
  },
@@ -1210,8 +1210,8 @@ _function.bulkRegisterFunctionDoc([
1210
1210
  }
1211
1211
  ],
1212
1212
  returns: {
1213
- type: "date",
1214
- description: "新的日期对象"
1213
+ type: "any",
1214
+ description: "新的日期对象, 如果传入 format 则返回格式化后的日期字符串"
1215
1215
  },
1216
1216
  namespace: "日期函数"
1217
1217
  },
@@ -1606,14 +1606,14 @@ _function.bulkRegisterFunctionDoc([
1606
1606
  }
1607
1607
  ],
1608
1608
  returns: {
1609
- type: "boolean",
1609
+ type: "number",
1610
1610
  description: "结果"
1611
1611
  },
1612
1612
  namespace: "数组"
1613
1613
  },
1614
1614
  {
1615
1615
  name: "ARRAYMAP",
1616
- description: "数组做数据转换,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。",
1616
+ description: "数组做数据转换,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n\n将数组中的每个元素转换成箭头函数返回的值。\n\n示例:\n\nARRAYMAP([1, 2, 3], item => item + 1) 得到 [2, 3, 4]。",
1617
1617
  example: "ARRAYMAP(arr, item => item)",
1618
1618
  params: [
1619
1619
  {
@@ -1628,14 +1628,14 @@ _function.bulkRegisterFunctionDoc([
1628
1628
  }
1629
1629
  ],
1630
1630
  returns: {
1631
- type: "boolean",
1632
- description: "结果"
1631
+ type: "Array<any>",
1632
+ description: "返回转换后的数组"
1633
1633
  },
1634
1634
  namespace: "数组"
1635
1635
  },
1636
1636
  {
1637
1637
  name: "ARRAYFILTER",
1638
- description: "数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n将第二个箭头函数返回为 false 的成员过滤掉。",
1638
+ description: "数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n将第二个箭头函数返回为 false 的成员过滤掉。\n\n示例:\n\nARRAYFILTER([1, 2, 3], item => item > 1) 得到 [2, 3]。",
1639
1639
  example: "ARRAYFILTER(arr, item => item)",
1640
1640
  params: [
1641
1641
  {
@@ -1650,8 +1650,8 @@ _function.bulkRegisterFunctionDoc([
1650
1650
  }
1651
1651
  ],
1652
1652
  returns: {
1653
- type: "boolean",
1654
- description: "结果"
1653
+ type: "Array<any>",
1654
+ description: "返回过滤后的数组"
1655
1655
  },
1656
1656
  namespace: "数组"
1657
1657
  },
@@ -1799,7 +1799,7 @@ _function.bulkRegisterFunctionDoc([
1799
1799
  }
1800
1800
  ],
1801
1801
  returns: {
1802
- type: "String",
1802
+ type: "string",
1803
1803
  description: "结果"
1804
1804
  },
1805
1805
  namespace: "数组"
@@ -1823,7 +1823,7 @@ _function.bulkRegisterFunctionDoc([
1823
1823
  },
1824
1824
  {
1825
1825
  name: "UNIQ",
1826
- description: "数组去重,第二个参数「field」,可指定根据该字段去重。\n\n示例:\n\nUNIQ([{a: '1'}, {b: '2'}, {a: '1'}] 'id')。",
1826
+ description: "数组去重,第二个参数「field」,可指定根据该字段去重。\n\n示例:\n\nUNIQ([{a: '1'}, {b: '2'}, {a: '1'}]) 得到 [{a: '1'}, {b: '2'}]。",
1827
1827
  example: "UNIQ([{a: '1'}, {b: '2'}, {a: '1'}], 'x')",
1828
1828
  params: [
1829
1829
  {
package/lib/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
- 返回:`string` 判断结果
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
- 返回:`string` 判断结果
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
- 返回:`string` 判断结果
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
- 返回:`number` 命中的位置
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
- 返回:a.json`。
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
- 返回:`date` 新的日期对象
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
- 返回:`date` 新的日期对象
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
- 返回:`boolean` 结果
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
- 返回:`boolean` 结果
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
- 返回:`boolean` 结果
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
- 返回:`String` 结果
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'}] 'id')
1115
+ UNIQ([{a: '1'}, {b: '2'}, {a: '1'}]) 得到 [{a: '1'}, {b: '2'}]
1102
1116
 
1103
1117
  ## 编码
1104
1118
 
package/lib/error.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.9.0
2
+ * amis-formula v6.10.0-beta.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5