amis-formula 2.5.3-beta.1 → 2.5.3-beta.3
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 +1 -1
- package/esm/evalutor.d.ts +2 -0
- package/esm/evalutor.js +6 -2
- package/esm/filter.js +1 -1
- package/esm/function.d.ts +3 -0
- package/esm/function.js +14 -0
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -1
- package/esm/lexer.js +1 -1
- package/esm/parser.js +1 -1
- package/lib/doc.js +1 -1
- package/lib/evalutor.d.ts +2 -0
- package/lib/evalutor.js +6 -2
- package/lib/filter.js +1 -1
- package/lib/function.d.ts +3 -0
- package/lib/function.js +19 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +3 -1
- package/lib/lexer.js +1 -1
- package/lib/parser.js +1 -1
- package/package.json +2 -2
package/esm/doc.js
CHANGED
package/esm/evalutor.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export declare class Evaluator {
|
|
|
12
12
|
contextStack: Array<(varname: string) => any>;
|
|
13
13
|
static defaultFilters: FilterMap;
|
|
14
14
|
static setDefaultFilters(filters: FilterMap): void;
|
|
15
|
+
static defaultFunctions: FunctionMap;
|
|
16
|
+
static setDefaultFunctions(funtions: FunctionMap): void;
|
|
15
17
|
constructor(context: {
|
|
16
18
|
[propName: string]: any;
|
|
17
19
|
}, options?: EvaluatorOptions);
|
package/esm/evalutor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-formula v2.5.3-beta.
|
|
2
|
+
* amis-formula v2.5.3-beta.3
|
|
3
3
|
* Copyright 2021-2022 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -31,11 +31,14 @@ var Evaluator = /** @class */ (function () {
|
|
|
31
31
|
return varname === '&' ? context : context === null || context === void 0 ? void 0 : context[varname];
|
|
32
32
|
});
|
|
33
33
|
this.filters = __assign(__assign(__assign({}, Evaluator.defaultFilters), this.filters), options === null || options === void 0 ? void 0 : options.filters);
|
|
34
|
-
this.functions = __assign(__assign({}, this.functions), options === null || options === void 0 ? void 0 : options.functions);
|
|
34
|
+
this.functions = __assign(__assign(__assign({}, Evaluator.defaultFunctions), this.functions), options === null || options === void 0 ? void 0 : options.functions);
|
|
35
35
|
}
|
|
36
36
|
Evaluator.setDefaultFilters = function (filters) {
|
|
37
37
|
Evaluator.defaultFilters = __assign(__assign({}, Evaluator.defaultFilters), filters);
|
|
38
38
|
};
|
|
39
|
+
Evaluator.setDefaultFunctions = function (funtions) {
|
|
40
|
+
Evaluator.defaultFunctions = __assign(__assign({}, Evaluator.defaultFunctions), funtions);
|
|
41
|
+
};
|
|
39
42
|
// 主入口
|
|
40
43
|
Evaluator.prototype.evalute = function (ast) {
|
|
41
44
|
if (ast && ast.type) {
|
|
@@ -1802,6 +1805,7 @@ var Evaluator = /** @class */ (function () {
|
|
|
1802
1805
|
return false;
|
|
1803
1806
|
};
|
|
1804
1807
|
Evaluator.defaultFilters = {};
|
|
1808
|
+
Evaluator.defaultFunctions = {};
|
|
1805
1809
|
return Evaluator;
|
|
1806
1810
|
}());
|
|
1807
1811
|
function getCookie(name) {
|
package/esm/filter.js
CHANGED
package/esm/function.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-formula v2.5.3-beta.3
|
|
3
|
+
* Copyright 2021-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { Evaluator } from './evalutor.js';
|
|
7
|
+
|
|
8
|
+
var functions = {};
|
|
9
|
+
function registerFunction(name, fn) {
|
|
10
|
+
functions["fn".concat(name)] = fn;
|
|
11
|
+
Evaluator.setDefaultFunctions(functions);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { functions, registerFunction };
|
package/esm/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Evaluator } from './evalutor';
|
|
|
2
2
|
import { parse } from './parser';
|
|
3
3
|
import { lexer } from './lexer';
|
|
4
4
|
import { registerFilter, filters, getFilters, extendsFilters } from './filter';
|
|
5
|
+
import { registerFunction } from './function';
|
|
5
6
|
import type { FilterContext, ASTNode, ParserOptions, EvaluatorOptions } from './types';
|
|
6
|
-
export { parse, lexer, Evaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters };
|
|
7
|
+
export { parse, lexer, Evaluator, FilterContext, filters, getFilters, registerFilter, registerFunction, extendsFilters };
|
|
7
8
|
export declare function evaluate(astOrString: string | ASTNode, data: any, options?: ParserOptions & EvaluatorOptions): any;
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-formula v2.5.3-beta.
|
|
2
|
+
* amis-formula v2.5.3-beta.3
|
|
3
3
|
* Copyright 2021-2022 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -10,6 +10,7 @@ export { parse } from './parser.js';
|
|
|
10
10
|
export { lexer } from './lexer.js';
|
|
11
11
|
import { getFilters } from './filter.js';
|
|
12
12
|
export { extendsFilters, filters, getFilters, registerFilter } from './filter.js';
|
|
13
|
+
export { registerFunction } from './function.js';
|
|
13
14
|
|
|
14
15
|
function evaluate(astOrString, data, options) {
|
|
15
16
|
var ast = astOrString;
|
package/esm/lexer.js
CHANGED
package/esm/parser.js
CHANGED
package/lib/doc.js
CHANGED
package/lib/evalutor.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export declare class Evaluator {
|
|
|
12
12
|
contextStack: Array<(varname: string) => any>;
|
|
13
13
|
static defaultFilters: FilterMap;
|
|
14
14
|
static setDefaultFilters(filters: FilterMap): void;
|
|
15
|
+
static defaultFunctions: FunctionMap;
|
|
16
|
+
static setDefaultFunctions(funtions: FunctionMap): void;
|
|
15
17
|
constructor(context: {
|
|
16
18
|
[propName: string]: any;
|
|
17
19
|
}, options?: EvaluatorOptions);
|
package/lib/evalutor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-formula v2.5.3-beta.
|
|
2
|
+
* amis-formula v2.5.3-beta.3
|
|
3
3
|
* Copyright 2021-2022 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -48,11 +48,14 @@ var Evaluator = /** @class */ (function () {
|
|
|
48
48
|
return varname === '&' ? context : context === null || context === void 0 ? void 0 : context[varname];
|
|
49
49
|
});
|
|
50
50
|
this.filters = tslib.__assign(tslib.__assign(tslib.__assign({}, Evaluator.defaultFilters), this.filters), options === null || options === void 0 ? void 0 : options.filters);
|
|
51
|
-
this.functions = tslib.__assign(tslib.__assign({}, this.functions), options === null || options === void 0 ? void 0 : options.functions);
|
|
51
|
+
this.functions = tslib.__assign(tslib.__assign(tslib.__assign({}, Evaluator.defaultFunctions), this.functions), options === null || options === void 0 ? void 0 : options.functions);
|
|
52
52
|
}
|
|
53
53
|
Evaluator.setDefaultFilters = function (filters) {
|
|
54
54
|
Evaluator.defaultFilters = tslib.__assign(tslib.__assign({}, Evaluator.defaultFilters), filters);
|
|
55
55
|
};
|
|
56
|
+
Evaluator.setDefaultFunctions = function (funtions) {
|
|
57
|
+
Evaluator.defaultFunctions = tslib.__assign(tslib.__assign({}, Evaluator.defaultFunctions), funtions);
|
|
58
|
+
};
|
|
56
59
|
// 主入口
|
|
57
60
|
Evaluator.prototype.evalute = function (ast) {
|
|
58
61
|
if (ast && ast.type) {
|
|
@@ -1819,6 +1822,7 @@ var Evaluator = /** @class */ (function () {
|
|
|
1819
1822
|
return false;
|
|
1820
1823
|
};
|
|
1821
1824
|
Evaluator.defaultFilters = {};
|
|
1825
|
+
Evaluator.defaultFunctions = {};
|
|
1822
1826
|
return Evaluator;
|
|
1823
1827
|
}());
|
|
1824
1828
|
function getCookie(name) {
|
package/lib/filter.js
CHANGED
package/lib/function.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-formula v2.5.3-beta.3
|
|
3
|
+
* Copyright 2021-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var evalutor = require('./evalutor.js');
|
|
11
|
+
|
|
12
|
+
var functions = {};
|
|
13
|
+
function registerFunction(name, fn) {
|
|
14
|
+
functions["fn".concat(name)] = fn;
|
|
15
|
+
evalutor.Evaluator.setDefaultFunctions(functions);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.functions = functions;
|
|
19
|
+
exports.registerFunction = registerFunction;
|
package/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Evaluator } from './evalutor';
|
|
|
2
2
|
import { parse } from './parser';
|
|
3
3
|
import { lexer } from './lexer';
|
|
4
4
|
import { registerFilter, filters, getFilters, extendsFilters } from './filter';
|
|
5
|
+
import { registerFunction } from './function';
|
|
5
6
|
import type { FilterContext, ASTNode, ParserOptions, EvaluatorOptions } from './types';
|
|
6
|
-
export { parse, lexer, Evaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters };
|
|
7
|
+
export { parse, lexer, Evaluator, FilterContext, filters, getFilters, registerFilter, registerFunction, extendsFilters };
|
|
7
8
|
export declare function evaluate(astOrString: string | ASTNode, data: any, options?: ParserOptions & EvaluatorOptions): any;
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-formula v2.5.3-beta.
|
|
2
|
+
* amis-formula v2.5.3-beta.3
|
|
3
3
|
* Copyright 2021-2022 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -11,6 +11,7 @@ var evalutor = require('./evalutor.js');
|
|
|
11
11
|
var parser = require('./parser.js');
|
|
12
12
|
var lexer = require('./lexer.js');
|
|
13
13
|
var filter = require('./filter.js');
|
|
14
|
+
var _function = require('./function.js');
|
|
14
15
|
|
|
15
16
|
function evaluate(astOrString, data, options) {
|
|
16
17
|
var ast = astOrString;
|
|
@@ -28,4 +29,5 @@ exports.extendsFilters = filter.extendsFilters;
|
|
|
28
29
|
exports.filters = filter.filters;
|
|
29
30
|
exports.getFilters = filter.getFilters;
|
|
30
31
|
exports.registerFilter = filter.registerFilter;
|
|
32
|
+
exports.registerFunction = _function.registerFunction;
|
|
31
33
|
exports.evaluate = evaluate;
|
package/lib/lexer.js
CHANGED
package/lib/parser.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "amis-formula",
|
|
3
|
-
"version": "2.5.3-beta.
|
|
3
|
+
"version": "2.5.3-beta.3",
|
|
4
4
|
"description": "负责 amis 里面的表达式实现,内置公式,编辑器等",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"printBasicPrototype": false
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "966a8fa1119534d3e19483ca64d4abab2b66d0f5"
|
|
117
117
|
}
|