amis-formula 2.2.0 → 2.3.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/lib/doc.js +1 -1
- package/lib/doc.md +1 -1
- package/lib/evalutor.d.ts +2 -2
- package/lib/index.js +18 -8
- package/package.json +16 -12
package/lib/doc.js
CHANGED
package/lib/doc.md
CHANGED
package/lib/evalutor.d.ts
CHANGED
|
@@ -227,7 +227,7 @@ export declare class Evaluator {
|
|
|
227
227
|
*/
|
|
228
228
|
fnOR(...condtions: Array<() => any>): boolean;
|
|
229
229
|
/**
|
|
230
|
-
*
|
|
230
|
+
* 异或处理,多个表达式组中存在奇数个真时认为真。
|
|
231
231
|
*
|
|
232
232
|
* @example XOR(condition1, condition2)
|
|
233
233
|
* @param {expression} condition1 - 条件表达式1
|
|
@@ -236,7 +236,7 @@ export declare class Evaluator {
|
|
|
236
236
|
*
|
|
237
237
|
* @returns {boolean}
|
|
238
238
|
*/
|
|
239
|
-
fnXOR(
|
|
239
|
+
fnXOR(...condtions: Array<() => any>): boolean;
|
|
240
240
|
/**
|
|
241
241
|
* 判断函数集合,相当于多个 else if 合并成一个。
|
|
242
242
|
*
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-formula v2.
|
|
2
|
+
* amis-formula v2.3.1
|
|
3
3
|
* Copyright 2021-2022 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -96,7 +96,7 @@ var Evaluator = /** @class */ (function () {
|
|
|
96
96
|
var filter = filters.shift();
|
|
97
97
|
var fn = this.filters[filter.name];
|
|
98
98
|
if (!fn) {
|
|
99
|
-
throw new Error("filter `".concat(filter.name, "` not
|
|
99
|
+
throw new Error("filter `".concat(filter.name, "` not exists."));
|
|
100
100
|
}
|
|
101
101
|
context.filter = filter;
|
|
102
102
|
input = fn.apply(context, [input].concat(filter.args.map(function (item) {
|
|
@@ -467,7 +467,7 @@ var Evaluator = /** @class */ (function () {
|
|
|
467
467
|
return condtions.some(function (c) { return c(); });
|
|
468
468
|
};
|
|
469
469
|
/**
|
|
470
|
-
*
|
|
470
|
+
* 异或处理,多个表达式组中存在奇数个真时认为真。
|
|
471
471
|
*
|
|
472
472
|
* @example XOR(condition1, condition2)
|
|
473
473
|
* @param {expression} condition1 - 条件表达式1
|
|
@@ -476,8 +476,12 @@ var Evaluator = /** @class */ (function () {
|
|
|
476
476
|
*
|
|
477
477
|
* @returns {boolean}
|
|
478
478
|
*/
|
|
479
|
-
Evaluator.prototype.fnXOR = function (
|
|
480
|
-
|
|
479
|
+
Evaluator.prototype.fnXOR = function () {
|
|
480
|
+
var condtions = [];
|
|
481
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
482
|
+
condtions[_i] = arguments[_i];
|
|
483
|
+
}
|
|
484
|
+
return !!(condtions.filter(function (c) { return c(); }).length % 2);
|
|
481
485
|
};
|
|
482
486
|
/**
|
|
483
487
|
* 判断函数集合,相当于多个 else if 合并成一个。
|
|
@@ -828,11 +832,16 @@ var Evaluator = /** @class */ (function () {
|
|
|
828
832
|
* @returns {string} 数值中文大写字符
|
|
829
833
|
*/
|
|
830
834
|
Evaluator.prototype.fnUPPERMONEY = function (n) {
|
|
835
|
+
var _a;
|
|
831
836
|
n = this.formatNumber(n);
|
|
837
|
+
var maxLen = 14;
|
|
838
|
+
if (((_a = n.toString().split('.')[0]) === null || _a === void 0 ? void 0 : _a.length) > maxLen) {
|
|
839
|
+
return "\u6700\u5927\u6570\u989D\u53EA\u652F\u6301\u5230\u5146(\u65E2\u5C0F\u6570\u70B9\u524D".concat(maxLen, "\u4F4D)");
|
|
840
|
+
}
|
|
832
841
|
var fraction = ['角', '分'];
|
|
833
842
|
var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
|
|
834
843
|
var unit = [
|
|
835
|
-
['元', '万', '亿'],
|
|
844
|
+
['元', '万', '亿', '兆'],
|
|
836
845
|
['', '拾', '佰', '仟']
|
|
837
846
|
];
|
|
838
847
|
var head = n < 0 ? '欠' : '';
|
|
@@ -1781,7 +1790,7 @@ function parseJson(str, defaultValue) {
|
|
|
1781
1790
|
}
|
|
1782
1791
|
function stripNumber(number) {
|
|
1783
1792
|
if (typeof number === 'number' && !Number.isInteger(number)) {
|
|
1784
|
-
return parseFloat(number.toPrecision(
|
|
1793
|
+
return parseFloat(number.toPrecision(16));
|
|
1785
1794
|
}
|
|
1786
1795
|
else {
|
|
1787
1796
|
return number;
|
|
@@ -2051,7 +2060,8 @@ function lexer(input, options) {
|
|
|
2051
2060
|
return tokenCache.length ? tokenCache.shift() : null;
|
|
2052
2061
|
}
|
|
2053
2062
|
function openScript() {
|
|
2054
|
-
if (mainState === mainStates.Template
|
|
2063
|
+
if (mainState === mainStates.Template ||
|
|
2064
|
+
mainState === mainStates.EXPRESSION) {
|
|
2055
2065
|
return null;
|
|
2056
2066
|
}
|
|
2057
2067
|
var ch = input[index];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "amis-formula",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "负责 amis 里面的表达式实现,内置公式,编辑器等",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -41,26 +41,26 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@rollup/plugin-commonjs": "^22.0.2",
|
|
43
43
|
"@rollup/plugin-json": "^4.1.0",
|
|
44
|
-
"@rollup/plugin-node-resolve": "^
|
|
44
|
+
"@rollup/plugin-node-resolve": "^14.1.0",
|
|
45
45
|
"@rollup/plugin-typescript": "^8.3.4",
|
|
46
46
|
"@types/doctrine": "0.0.5",
|
|
47
47
|
"@types/jest": "^28.1.0",
|
|
48
48
|
"@types/lodash": "^4.14.175",
|
|
49
49
|
"doctrine": "^3.0.0",
|
|
50
|
-
"jest": "^
|
|
50
|
+
"jest": "^29.0.3",
|
|
51
51
|
"jest-canvas-mock": "^2.3.0",
|
|
52
|
-
"jest-environment-jsdom": "^
|
|
52
|
+
"jest-environment-jsdom": "^29.0.3",
|
|
53
53
|
"mini-css-extract-plugin": "^2.4.5",
|
|
54
54
|
"moment-timezone": "^0.5.33",
|
|
55
55
|
"rimraf": "^3.0.2",
|
|
56
56
|
"rollup": "^2.60.2",
|
|
57
57
|
"rollup-plugin-license": "^2.6.0",
|
|
58
58
|
"rollup-plugin-terser": "^7.0.2",
|
|
59
|
-
"sass": "^1.54.
|
|
59
|
+
"sass": "^1.54.9",
|
|
60
60
|
"sass-loader": "^12.1.0",
|
|
61
61
|
"style-loader": "^3.2.1",
|
|
62
62
|
"stylelint": "^13.0.0",
|
|
63
|
-
"ts-jest": "^
|
|
63
|
+
"ts-jest": "^29.0.2",
|
|
64
64
|
"ts-loader": "^9.2.3",
|
|
65
65
|
"ts-node": "^10.4.0",
|
|
66
66
|
"typescript": "^4.3.5"
|
|
@@ -77,7 +77,12 @@
|
|
|
77
77
|
"js"
|
|
78
78
|
],
|
|
79
79
|
"transform": {
|
|
80
|
-
"\\.(ts|tsx)$":
|
|
80
|
+
"\\.(ts|tsx)$": [
|
|
81
|
+
"ts-jest",
|
|
82
|
+
{
|
|
83
|
+
"diagnostics": false
|
|
84
|
+
}
|
|
85
|
+
]
|
|
81
86
|
},
|
|
82
87
|
"setupFiles": [
|
|
83
88
|
"jest-canvas-mock"
|
|
@@ -90,11 +95,10 @@
|
|
|
90
95
|
"setupFilesAfterEnv": [
|
|
91
96
|
"<rootDir>/__tests__/jest.setup.js"
|
|
92
97
|
],
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
}
|
|
98
|
+
"snapshotFormat": {
|
|
99
|
+
"escapeString": false,
|
|
100
|
+
"printBasicPrototype": false
|
|
97
101
|
}
|
|
98
102
|
},
|
|
99
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "af69249562f9de5efbd47fd5553bcdb73b2eab4f"
|
|
100
104
|
}
|