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 CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
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.1
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
@@ -0,0 +1,3 @@
1
+ import { FunctionMap } from './types';
2
+ export declare const functions: FunctionMap;
3
+ export declare function registerFunction(name: string, fn: (input: any, ...args: any[]) => any): void;
@@ -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.1
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
package/esm/parser.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
package/lib/doc.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
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.1
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
@@ -0,0 +1,3 @@
1
+ import { FunctionMap } from './types';
2
+ export declare const functions: FunctionMap;
3
+ export declare function registerFunction(name: string, fn: (input: any, ...args: any[]) => any): void;
@@ -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.1
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
package/lib/parser.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.5.3-beta.1
2
+ * amis-formula v2.5.3-beta.3
3
3
  * Copyright 2021-2022 fex
4
4
  */
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amis-formula",
3
- "version": "2.5.3-beta.1",
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": "507a86187ba97123fff127cd905735e23a37024a"
116
+ "gitHead": "966a8fa1119534d3e19483ca64d4abab2b66d0f5"
117
117
  }