amis-formula 6.8.0 → 6.9.0-rc.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/doc.d.ts CHANGED
@@ -1,18 +1,4 @@
1
1
  /**
2
2
  * 公式文档 请运行 `npm run genDoc` 自动生成
3
3
  */
4
- export declare const doc: {
5
- name: string;
6
- description: string;
7
- example: string;
8
- params: {
9
- type: string;
10
- name: string;
11
- description: string | null;
12
- }[];
13
- returns: {
14
- type: string;
15
- description: string | null;
16
- };
17
- namespace: string;
18
- }[];
4
+ export {};
package/esm/doc.js CHANGED
@@ -1,12 +1,14 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
6
+ import { bulkRegisterFunctionDoc } from './function.js';
7
+
6
8
  /**
7
9
  * 公式文档 请运行 `npm run genDoc` 自动生成
8
10
  */
9
- var doc = [
11
+ bulkRegisterFunctionDoc([
10
12
  {
11
13
  name: "IF",
12
14
  description: "如果满足条件condition,则返回consequent,否则返回alternate,支持多层嵌套IF函数。\n\n等价于直接用JS表达式如:condition ? consequent : alternate。",
@@ -1917,6 +1919,4 @@ var doc = [
1917
1919
  },
1918
1920
  namespace: "其他"
1919
1921
  }
1920
- ];
1921
-
1922
- export { doc };
1922
+ ]);
package/esm/error.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/evalutor.d.ts CHANGED
@@ -11,9 +11,9 @@ export declare class Evaluator {
11
11
  };
12
12
  contextStack: Array<(varname: string) => any>;
13
13
  static defaultFilters: FilterMap;
14
- static setDefaultFilters(filters: FilterMap): void;
14
+ static extendDefaultFilters(filters: FilterMap): void;
15
15
  static defaultFunctions: FunctionMap;
16
- static setDefaultFunctions(funtions: FunctionMap): void;
16
+ static extendDefaultFunctions(funtions: FunctionMap): void;
17
17
  constructor(context: {
18
18
  [propName: string]: any;
19
19
  }, options?: EvaluatorOptions);
package/esm/evalutor.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -36,10 +36,10 @@ var Evaluator = /** @class */ (function () {
36
36
  this.filters = __assign(__assign(__assign({}, Evaluator.defaultFilters), this.filters), options === null || options === void 0 ? void 0 : options.filters);
37
37
  this.functions = __assign(__assign(__assign({}, Evaluator.defaultFunctions), this.functions), options === null || options === void 0 ? void 0 : options.functions);
38
38
  }
39
- Evaluator.setDefaultFilters = function (filters) {
39
+ Evaluator.extendDefaultFilters = function (filters) {
40
40
  Evaluator.defaultFilters = __assign(__assign({}, Evaluator.defaultFilters), filters);
41
41
  };
42
- Evaluator.setDefaultFunctions = function (funtions) {
42
+ Evaluator.extendDefaultFunctions = function (funtions) {
43
43
  Evaluator.defaultFunctions = __assign(__assign({}, Evaluator.defaultFunctions), funtions);
44
44
  };
45
45
  // 主入口
@@ -2232,6 +2232,9 @@ var Evaluator = /** @class */ (function () {
2232
2232
  Evaluator.defaultFunctions = {};
2233
2233
  return Evaluator;
2234
2234
  }());
2235
+ // 兼容
2236
+ Evaluator.setDefaultFilters = Evaluator.extendDefaultFilters;
2237
+ Evaluator.setDefaultFunctions = Evaluator.extendDefaultFunctions;
2235
2238
  function getCookie(name) {
2236
2239
  var value = "; ".concat(document.cookie);
2237
2240
  var parts = value.split("; ".concat(name, "="));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.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.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -33,11 +33,11 @@ var filters = {
33
33
  };
34
34
  function registerFilter(name, fn) {
35
35
  filters[name] = fn;
36
- Evaluator.setDefaultFilters(filters);
36
+ Evaluator.extendDefaultFilters(filters);
37
37
  }
38
38
  function extendsFilters(value) {
39
39
  Object.assign(filters, value);
40
- Evaluator.setDefaultFilters(filters);
40
+ Evaluator.extendDefaultFilters(filters);
41
41
  }
42
42
  function getFilters() {
43
43
  return filters;
package/esm/function.d.ts CHANGED
@@ -1,5 +1,27 @@
1
- import { FunctionMap, FunctionDocMap, FunctionDocItem } from './types';
2
- export declare const functions: FunctionMap;
3
- export declare function registerFunction(name: string, fn: (input: any, ...args: any[]) => any): void;
4
- export declare let functionDocs: FunctionDocMap;
1
+ import { Evaluator } from './evalutor';
2
+ import { FunctionDocMap, FunctionDocItem } from './types';
3
+ export declare function registerFunction(name: string, fn: (this: Evaluator, ...args: Array<any>) => any): void;
4
+ export declare const functionDocs: FunctionDocMap;
5
5
  export declare function registerFunctionDoc(groupName: string, item: FunctionDocItem): void;
6
+ export declare function bulkRegisterFunctionDoc(fnDocs: {
7
+ name: string;
8
+ description: string;
9
+ example: string;
10
+ params: {
11
+ type: string;
12
+ name: string;
13
+ description: string | null;
14
+ }[];
15
+ returns: {
16
+ type: string;
17
+ description: string | null;
18
+ };
19
+ namespace: string;
20
+ }[]): void;
21
+ /**
22
+ * 注册公式,并同时注册公式说明
23
+ * @param name
24
+ * @param fn
25
+ * @param fnInfo
26
+ */
27
+ export declare function registerFormula(name: string, fn: (this: Evaluator, ...args: Array<any>) => any, fnInfo?: FunctionDocItem): void;
package/esm/function.js CHANGED
@@ -1,14 +1,15 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
6
6
  import { Evaluator } from './evalutor.js';
7
7
 
8
- var functions = {};
9
8
  function registerFunction(name, fn) {
10
- functions["fn".concat(name)] = fn;
11
- Evaluator.setDefaultFunctions(functions);
9
+ var _a;
10
+ Evaluator.extendDefaultFunctions((_a = {},
11
+ _a["fn".concat(name)] = fn,
12
+ _a));
12
13
  }
13
14
  var functionDocs = {};
14
15
  function registerFunctionDoc(groupName, item) {
@@ -19,5 +20,18 @@ function registerFunctionDoc(groupName, item) {
19
20
  functionDocs[groupName] = [item];
20
21
  }
21
22
  }
23
+ function bulkRegisterFunctionDoc(fnDocs) {
24
+ fnDocs.forEach(function (item) { return registerFunctionDoc(item.namespace || 'Others', item); });
25
+ }
26
+ /**
27
+ * 注册公式,并同时注册公式说明
28
+ * @param name
29
+ * @param fn
30
+ * @param fnInfo
31
+ */
32
+ function registerFormula(name, fn, fnInfo) {
33
+ registerFunction(name, fn);
34
+ fnInfo && registerFunctionDoc(fnInfo.namespace || 'Others', fnInfo);
35
+ }
22
36
 
23
- export { functionDocs, functions, registerFunction, registerFunctionDoc };
37
+ export { bulkRegisterFunctionDoc, functionDocs, registerFormula, registerFunction, registerFunctionDoc };
package/esm/index.d.ts CHANGED
@@ -3,9 +3,13 @@ import { AsyncEvaluator } from './evalutorForAsync';
3
3
  import { parse } from './parser';
4
4
  import { lexer } from './lexer';
5
5
  import { registerFilter, filters, getFilters, extendsFilters } from './filter';
6
- import { registerFunction, registerFunctionDoc, functionDocs } from './function';
6
+ import { registerFunction, registerFunctionDoc, registerFormula } from './function';
7
7
  import type { FilterContext, ASTNode, ParserOptions, EvaluatorOptions } from './types';
8
- export { parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, registerFunction, registerFunctionDoc, functionDocs, extendsFilters };
8
+ export { parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, registerFormula, registerFunction, registerFunctionDoc, extendsFilters };
9
9
  export * from './types';
10
10
  export declare function evaluate(astOrString: string | ASTNode, data: any, options?: ParserOptions & EvaluatorOptions): any;
11
11
  export declare function evaluateForAsync(astOrString: string | ASTNode, data: any, options?: ParserOptions & EvaluatorOptions): Promise<any>;
12
+ export declare function getFunctionsDoc(): Promise<{
13
+ groupName: string;
14
+ items: import("./types").FunctionDocItem[];
15
+ }[]>;
package/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
6
- import { __awaiter, __generator } from 'tslib';
6
+ import { __awaiter, __generator, __read } from 'tslib';
7
7
  import { Evaluator } from './evalutor.js';
8
8
  export { Evaluator } from './evalutor.js';
9
9
  import { AsyncEvaluator } from './evalutorForAsync.js';
@@ -13,7 +13,8 @@ export { parse } from './parser.js';
13
13
  export { lexer } from './lexer.js';
14
14
  import { getFilters } from './filter.js';
15
15
  export { extendsFilters, filters, getFilters, registerFilter } from './filter.js';
16
- export { functionDocs, registerFunction, registerFunctionDoc } from './function.js';
16
+ import { functionDocs } from './function.js';
17
+ export { registerFormula, registerFunction, registerFunctionDoc } from './function.js';
17
18
 
18
19
  function evaluate(astOrString, data, options) {
19
20
  var ast = astOrString;
@@ -34,7 +35,25 @@ function evaluateForAsync(astOrString, data, options) {
34
35
  });
35
36
  });
36
37
  }
37
- Evaluator.setDefaultFilters(getFilters());
38
+ Evaluator.extendDefaultFilters(getFilters());
38
39
  AsyncEvaluator.setDefaultFilters(getFilters());
40
+ function getFunctionsDoc() {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ switch (_a.label) {
44
+ case 0: return [4 /*yield*/, import('./doc.js')];
45
+ case 1:
46
+ _a.sent();
47
+ return [2 /*return*/, Object.entries(functionDocs).map(function (_a) {
48
+ var _b = __read(_a, 2), k = _b[0], items = _b[1];
49
+ return ({
50
+ groupName: k,
51
+ items: items
52
+ });
53
+ })];
54
+ }
55
+ });
56
+ });
57
+ }
39
58
 
40
- export { evaluate, evaluateForAsync };
59
+ export { evaluate, evaluateForAsync, getFunctionsDoc };
package/esm/lexer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.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.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/esm/types.d.ts CHANGED
@@ -3,12 +3,13 @@ export interface FilterMap {
3
3
  [propName: string]: (this: FilterContext, input: any, ...args: any[]) => any;
4
4
  }
5
5
  export interface FunctionMap {
6
- [propName: string]: (this: Evaluator, ast: Object, data: any) => any;
6
+ [propName: string]: (this: Evaluator, ...args: Array<any>) => any;
7
7
  }
8
8
  export interface FunctionDocItem {
9
9
  name: string;
10
10
  example?: string;
11
11
  description?: string;
12
+ namespace?: string;
12
13
  [propName: string]: any;
13
14
  }
14
15
  export interface FunctionDocMap {
package/lib/doc.d.ts CHANGED
@@ -1,18 +1,4 @@
1
1
  /**
2
2
  * 公式文档 请运行 `npm run genDoc` 自动生成
3
3
  */
4
- export declare const doc: {
5
- name: string;
6
- description: string;
7
- example: string;
8
- params: {
9
- type: string;
10
- name: string;
11
- description: string | null;
12
- }[];
13
- returns: {
14
- type: string;
15
- description: string | null;
16
- };
17
- namespace: string;
18
- }[];
4
+ export {};
package/lib/doc.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- Object.defineProperty(exports, '__esModule', { value: true });
8
+ var _function = require('./function.js');
9
9
 
10
10
  /**
11
11
  * 公式文档 请运行 `npm run genDoc` 自动生成
12
12
  */
13
- var doc = [
13
+ _function.bulkRegisterFunctionDoc([
14
14
  {
15
15
  name: "IF",
16
16
  description: "如果满足条件condition,则返回consequent,否则返回alternate,支持多层嵌套IF函数。\n\n等价于直接用JS表达式如:condition ? consequent : alternate。",
@@ -1921,6 +1921,4 @@ var doc = [
1921
1921
  },
1922
1922
  namespace: "其他"
1923
1923
  }
1924
- ];
1925
-
1926
- exports.doc = doc;
1924
+ ]);
package/lib/error.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/lib/evalutor.d.ts CHANGED
@@ -11,9 +11,9 @@ export declare class Evaluator {
11
11
  };
12
12
  contextStack: Array<(varname: string) => any>;
13
13
  static defaultFilters: FilterMap;
14
- static setDefaultFilters(filters: FilterMap): void;
14
+ static extendDefaultFilters(filters: FilterMap): void;
15
15
  static defaultFunctions: FunctionMap;
16
- static setDefaultFunctions(funtions: FunctionMap): void;
16
+ static extendDefaultFunctions(funtions: FunctionMap): void;
17
17
  constructor(context: {
18
18
  [propName: string]: any;
19
19
  }, options?: EvaluatorOptions);
package/lib/evalutor.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -55,10 +55,10 @@ var Evaluator = /** @class */ (function () {
55
55
  this.filters = tslib.__assign(tslib.__assign(tslib.__assign({}, Evaluator.defaultFilters), this.filters), options === null || options === void 0 ? void 0 : options.filters);
56
56
  this.functions = tslib.__assign(tslib.__assign(tslib.__assign({}, Evaluator.defaultFunctions), this.functions), options === null || options === void 0 ? void 0 : options.functions);
57
57
  }
58
- Evaluator.setDefaultFilters = function (filters) {
58
+ Evaluator.extendDefaultFilters = function (filters) {
59
59
  Evaluator.defaultFilters = tslib.__assign(tslib.__assign({}, Evaluator.defaultFilters), filters);
60
60
  };
61
- Evaluator.setDefaultFunctions = function (funtions) {
61
+ Evaluator.extendDefaultFunctions = function (funtions) {
62
62
  Evaluator.defaultFunctions = tslib.__assign(tslib.__assign({}, Evaluator.defaultFunctions), funtions);
63
63
  };
64
64
  // 主入口
@@ -2251,6 +2251,9 @@ var Evaluator = /** @class */ (function () {
2251
2251
  Evaluator.defaultFunctions = {};
2252
2252
  return Evaluator;
2253
2253
  }());
2254
+ // 兼容
2255
+ Evaluator.setDefaultFilters = Evaluator.extendDefaultFilters;
2256
+ Evaluator.setDefaultFunctions = Evaluator.extendDefaultFunctions;
2254
2257
  function getCookie(name) {
2255
2258
  var value = "; ".concat(document.cookie);
2256
2259
  var parts = value.split("; ".concat(name, "="));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/lib/filter.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -37,11 +37,11 @@ var filters = {
37
37
  };
38
38
  function registerFilter(name, fn) {
39
39
  filters[name] = fn;
40
- evalutor.Evaluator.setDefaultFilters(filters);
40
+ evalutor.Evaluator.extendDefaultFilters(filters);
41
41
  }
42
42
  function extendsFilters(value) {
43
43
  Object.assign(filters, value);
44
- evalutor.Evaluator.setDefaultFilters(filters);
44
+ evalutor.Evaluator.extendDefaultFilters(filters);
45
45
  }
46
46
  function getFilters() {
47
47
  return filters;
package/lib/function.d.ts CHANGED
@@ -1,5 +1,27 @@
1
- import { FunctionMap, FunctionDocMap, FunctionDocItem } from './types';
2
- export declare const functions: FunctionMap;
3
- export declare function registerFunction(name: string, fn: (input: any, ...args: any[]) => any): void;
4
- export declare let functionDocs: FunctionDocMap;
1
+ import { Evaluator } from './evalutor';
2
+ import { FunctionDocMap, FunctionDocItem } from './types';
3
+ export declare function registerFunction(name: string, fn: (this: Evaluator, ...args: Array<any>) => any): void;
4
+ export declare const functionDocs: FunctionDocMap;
5
5
  export declare function registerFunctionDoc(groupName: string, item: FunctionDocItem): void;
6
+ export declare function bulkRegisterFunctionDoc(fnDocs: {
7
+ name: string;
8
+ description: string;
9
+ example: string;
10
+ params: {
11
+ type: string;
12
+ name: string;
13
+ description: string | null;
14
+ }[];
15
+ returns: {
16
+ type: string;
17
+ description: string | null;
18
+ };
19
+ namespace: string;
20
+ }[]): void;
21
+ /**
22
+ * 注册公式,并同时注册公式说明
23
+ * @param name
24
+ * @param fn
25
+ * @param fnInfo
26
+ */
27
+ export declare function registerFormula(name: string, fn: (this: Evaluator, ...args: Array<any>) => any, fnInfo?: FunctionDocItem): void;
package/lib/function.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -9,10 +9,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var evalutor = require('./evalutor.js');
11
11
 
12
- var functions = {};
13
12
  function registerFunction(name, fn) {
14
- functions["fn".concat(name)] = fn;
15
- evalutor.Evaluator.setDefaultFunctions(functions);
13
+ var _a;
14
+ evalutor.Evaluator.extendDefaultFunctions((_a = {},
15
+ _a["fn".concat(name)] = fn,
16
+ _a));
16
17
  }
17
18
  var functionDocs = {};
18
19
  function registerFunctionDoc(groupName, item) {
@@ -23,8 +24,22 @@ function registerFunctionDoc(groupName, item) {
23
24
  functionDocs[groupName] = [item];
24
25
  }
25
26
  }
27
+ function bulkRegisterFunctionDoc(fnDocs) {
28
+ fnDocs.forEach(function (item) { return registerFunctionDoc(item.namespace || 'Others', item); });
29
+ }
30
+ /**
31
+ * 注册公式,并同时注册公式说明
32
+ * @param name
33
+ * @param fn
34
+ * @param fnInfo
35
+ */
36
+ function registerFormula(name, fn, fnInfo) {
37
+ registerFunction(name, fn);
38
+ fnInfo && registerFunctionDoc(fnInfo.namespace || 'Others', fnInfo);
39
+ }
26
40
 
41
+ exports.bulkRegisterFunctionDoc = bulkRegisterFunctionDoc;
27
42
  exports.functionDocs = functionDocs;
28
- exports.functions = functions;
43
+ exports.registerFormula = registerFormula;
29
44
  exports.registerFunction = registerFunction;
30
45
  exports.registerFunctionDoc = registerFunctionDoc;
package/lib/index.d.ts CHANGED
@@ -3,9 +3,13 @@ import { AsyncEvaluator } from './evalutorForAsync';
3
3
  import { parse } from './parser';
4
4
  import { lexer } from './lexer';
5
5
  import { registerFilter, filters, getFilters, extendsFilters } from './filter';
6
- import { registerFunction, registerFunctionDoc, functionDocs } from './function';
6
+ import { registerFunction, registerFunctionDoc, registerFormula } from './function';
7
7
  import type { FilterContext, ASTNode, ParserOptions, EvaluatorOptions } from './types';
8
- export { parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, registerFunction, registerFunctionDoc, functionDocs, extendsFilters };
8
+ export { parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, registerFormula, registerFunction, registerFunctionDoc, extendsFilters };
9
9
  export * from './types';
10
10
  export declare function evaluate(astOrString: string | ASTNode, data: any, options?: ParserOptions & EvaluatorOptions): any;
11
11
  export declare function evaluateForAsync(astOrString: string | ASTNode, data: any, options?: ParserOptions & EvaluatorOptions): Promise<any>;
12
+ export declare function getFunctionsDoc(): Promise<{
13
+ groupName: string;
14
+ items: import("./types").FunctionDocItem[];
15
+ }[]>;
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
@@ -34,8 +34,26 @@ function evaluateForAsync(astOrString, data, options) {
34
34
  });
35
35
  });
36
36
  }
37
- evalutor.Evaluator.setDefaultFilters(filter.getFilters());
37
+ evalutor.Evaluator.extendDefaultFilters(filter.getFilters());
38
38
  evalutorForAsync.AsyncEvaluator.setDefaultFilters(filter.getFilters());
39
+ function getFunctionsDoc() {
40
+ return tslib.__awaiter(this, void 0, void 0, function () {
41
+ return tslib.__generator(this, function (_a) {
42
+ switch (_a.label) {
43
+ case 0: return [4 /*yield*/, Promise.resolve().then(function() {return new Promise(function(fullfill) {require(['./doc.js', "tslib"], function(mod, tslib) {fullfill(tslib.__importStar(mod))})})})];
44
+ case 1:
45
+ _a.sent();
46
+ return [2 /*return*/, Object.entries(_function.functionDocs).map(function (_a) {
47
+ var _b = tslib.__read(_a, 2), k = _b[0], items = _b[1];
48
+ return ({
49
+ groupName: k,
50
+ items: items
51
+ });
52
+ })];
53
+ }
54
+ });
55
+ });
56
+ }
39
57
 
40
58
  exports.Evaluator = evalutor.Evaluator;
41
59
  exports.AsyncEvaluator = evalutorForAsync.AsyncEvaluator;
@@ -45,8 +63,9 @@ exports.extendsFilters = filter.extendsFilters;
45
63
  exports.filters = filter.filters;
46
64
  exports.getFilters = filter.getFilters;
47
65
  exports.registerFilter = filter.registerFilter;
48
- exports.functionDocs = _function.functionDocs;
66
+ exports.registerFormula = _function.registerFormula;
49
67
  exports.registerFunction = _function.registerFunction;
50
68
  exports.registerFunctionDoc = _function.registerFunctionDoc;
51
69
  exports.evaluate = evaluate;
52
70
  exports.evaluateForAsync = evaluateForAsync;
71
+ exports.getFunctionsDoc = getFunctionsDoc;
package/lib/lexer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/lib/parser.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v6.8.0
2
+ * amis-formula v6.9.0-rc.0
3
3
  * Copyright 2021-2024 fex
4
4
  */
5
5
 
package/lib/types.d.ts CHANGED
@@ -3,12 +3,13 @@ export interface FilterMap {
3
3
  [propName: string]: (this: FilterContext, input: any, ...args: any[]) => any;
4
4
  }
5
5
  export interface FunctionMap {
6
- [propName: string]: (this: Evaluator, ast: Object, data: any) => any;
6
+ [propName: string]: (this: Evaluator, ...args: Array<any>) => any;
7
7
  }
8
8
  export interface FunctionDocItem {
9
9
  name: string;
10
10
  example?: string;
11
11
  description?: string;
12
+ namespace?: string;
12
13
  [propName: string]: any;
13
14
  }
14
15
  export interface FunctionDocMap {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amis-formula",
3
- "version": "6.8.0",
3
+ "version": "6.9.0-rc.0",
4
4
  "description": "负责 amis 里面的表达式实现,内置公式,编辑器等",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",