@bpmn-io/feel-analyzer 0.1.0 → 0.2.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/README.md CHANGED
@@ -93,6 +93,30 @@ console.log(result.inputs);
93
93
  // ]
94
94
  ```
95
95
 
96
+ ### Invoked Functions
97
+
98
+ The analyzer extracts all function invocations from the expression, sorted by name and deduplicated. Each function is classified as `builtin` or `user` based on the provided `builtins` list:
99
+
100
+ ```javascript
101
+ import { FeelAnalyzer } from '@bpmn-io/feel-analyzer';
102
+ import { camundaBuiltins, camundaReservedNameBuiltins } from '@camunda/feel-builtins';
103
+
104
+ const analyzer = new FeelAnalyzer({
105
+ parserDialect: 'camunda',
106
+ builtins: camundaBuiltins,
107
+ reservedNameBuiltins: camundaReservedNameBuiltins
108
+ });
109
+
110
+ const result = analyzer.analyzeExpression('from json(sum(myHelper(x)))');
111
+
112
+ console.log(result.functions);
113
+ // [
114
+ // { name: 'from json', type: 'builtin' },
115
+ // { name: 'myHelper', type: 'user' },
116
+ // { name: 'sum', type: 'builtin' }
117
+ // ]
118
+ ```
119
+
96
120
  ## Related
97
121
 
98
122
  - [@bpmn-io/lezer-feel](https://github.com/bpmn-io/lezer-feel) - FEEL language definition for the [Lezer](https://lezer.codemirror.net/) parser system
@@ -0,0 +1,4 @@
1
+ import type { SyntaxNode } from '@lezer/common';
2
+ import type { InvokedFunction } from '../types';
3
+ export declare function analyzeForFunctions(node: SyntaxNode, source: string, builtinNames: Set<string>): InvokedFunction[];
4
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/analyzers/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAOhD,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,eAAe,EAAE,CAwBnB"}
@@ -7,7 +7,7 @@ export interface FeelAnalyzerOptions {
7
7
  reservedNameBuiltins: Builtin[];
8
8
  }
9
9
  export declare class FeelAnalyzer {
10
- builtinNames: string[];
10
+ builtinNames: Set<string>;
11
11
  parser: typeof parser;
12
12
  constructor(options?: Partial<FeelAnalyzerOptions>);
13
13
  analyzeExpression(expression: string): AnalysisResult;
@@ -1 +1 @@
1
- {"version":3,"file":"feel-analyzer.d.ts","sourceRoot":"","sources":["../src/feel-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC;IACrC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,oBAAoB,EAAE,OAAO,EAAE,CAAC;CACjC;AAED,qBAAa,YAAY;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,MAAM,CAAC;gBAEV,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IActD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;CAUtD"}
1
+ {"version":3,"file":"feel-analyzer.d.ts","sourceRoot":"","sources":["../src/feel-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC;IACrC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,oBAAoB,EAAE,OAAO,EAAE,CAAC;CACjC;AAED,qBAAa,YAAY;IACvB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,CAAC;gBAEV,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IActD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;CAYtD"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { FeelAnalyzer } from './feel-analyzer';
2
2
  export type { FeelAnalyzerOptions } from './feel-analyzer';
3
- export type { Builtin, AnalysisResult, InputVariable } from './types';
3
+ export type { Builtin, AnalysisResult, InputVariable, InvokedFunction } from './types';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -606,6 +606,27 @@ function analyzeForInputs(node, source, builtinNames) {
606
606
  return { inputs, hasErrors };
607
607
  }
608
608
 
609
+ function analyzeForFunctions(node, source, builtinNames) {
610
+ const functions = new Map();
611
+ const walk = (node) => {
612
+ if (node.name === 'FunctionInvocation') {
613
+ const funcNameNode = node.getChild('VariableName');
614
+ if (funcNameNode) {
615
+ const name = nodeText(funcNameNode, source);
616
+ if (!functions.has(name)) {
617
+ functions.set(name, {
618
+ name,
619
+ type: builtinNames.has(name) ? 'builtin' : 'user',
620
+ });
621
+ }
622
+ }
623
+ }
624
+ forEachChild(node, walk);
625
+ };
626
+ walk(node);
627
+ return Array.from(functions.values()).sort((a, b) => a.name.localeCompare(b.name));
628
+ }
629
+
609
630
  function createContext(variables) {
610
631
  return variables.reduce((context, variable) => {
611
632
  context[variable.name] = () => { };
@@ -615,7 +636,7 @@ function createContext(variables) {
615
636
 
616
637
  class FeelAnalyzer {
617
638
  constructor(options = {}) {
618
- this.builtinNames = options.builtins?.map((builtin) => builtin.name) ?? [];
639
+ this.builtinNames = new Set(options.builtins?.map((b) => b.name) ?? []);
619
640
  const config = {
620
641
  top: options.dialect === 'unaryTests' ? 'UnaryTests' : 'Expression',
621
642
  dialect: options.parserDialect,
@@ -627,10 +648,12 @@ class FeelAnalyzer {
627
648
  }
628
649
  analyzeExpression(expression) {
629
650
  const tree = this.parser.parse(expression);
630
- const { inputs, hasErrors } = analyzeForInputs(tree.topNode, expression, new Set(this.builtinNames));
651
+ const { inputs, hasErrors } = analyzeForInputs(tree.topNode, expression, this.builtinNames);
652
+ const functions = analyzeForFunctions(tree.topNode, expression, this.builtinNames);
631
653
  return {
632
654
  valid: !hasErrors,
633
655
  inputs,
656
+ functions,
634
657
  };
635
658
  }
636
659
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/analyzers/utils.ts","../src/analyzers/inputs.ts","../src/utils/create-context.ts","../src/feel-analyzer.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/analyzers/utils.ts","../src/analyzers/inputs.ts","../src/analyzers/functions.ts","../src/utils/create-context.ts","../src/feel-analyzer.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -40,6 +40,19 @@ export interface InputVariable {
40
40
  */
41
41
  entries?: InputVariable[];
42
42
  }
43
+ /**
44
+ * A function invoked in a FEEL expression
45
+ */
46
+ export interface InvokedFunction {
47
+ /**
48
+ * The function name
49
+ */
50
+ name: string;
51
+ /**
52
+ * Whether the function is a known builtin or user-defined
53
+ */
54
+ type: 'builtin' | 'user';
55
+ }
43
56
  /**
44
57
  * Result of analyzing a FEEL expression
45
58
  */
@@ -52,5 +65,9 @@ export interface AnalysisResult {
52
65
  * Input variables needed by the expression
53
66
  */
54
67
  inputs?: InputVariable[];
68
+ /**
69
+ * Functions invoked in the expression, sorted by name and deduplicated.
70
+ */
71
+ functions?: InvokedFunction[];
55
72
  }
56
73
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,OAAO;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IAEH;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAE7B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,OAAO;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IAEH;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAE7B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;CAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bpmn-io/feel-analyzer",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Static FEEL expression analyzer",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,59 +0,0 @@
1
- import { AnalysisOptions, AnalysisResult } from './types.js';
2
- /**
3
- * Analyzer for FEEL expressions
4
- */
5
- export declare class FeelAnalyzer {
6
- /**
7
- * Analyze a FEEL expression
8
- *
9
- * @param expression - The FEEL expression to analyze
10
- * @param options - Optional analysis configuration
11
- * @returns Analysis result
12
- */
13
- analyze(expression: string, options?: AnalysisOptions): AnalysisResult;
14
- /**
15
- * Get configured parser based on options
16
- */
17
- private getConfiguredParser;
18
- /**
19
- * Extract built-in function names from builtins array
20
- */
21
- private getBuiltinNames;
22
- /**
23
- * Strip backticks from identifier names
24
- */
25
- private stripBackticks;
26
- /**
27
- * Extract needed input variables from the AST
28
- */
29
- private extractNeededInputs;
30
- /**
31
- * Helper to collect path parts from a PathExpression node
32
- */
33
- private collectPathPartsFromNode;
34
- /**
35
- * Extract expected input types from the AST
36
- */
37
- private extractInputTypes;
38
- /**
39
- * Track item property accesses in filter expressions
40
- */
41
- private trackFilterItemProperties;
42
- /**
43
- * Infer type from comparison with literals
44
- */
45
- private inferTypeFromComparison;
46
- /**
47
- * Extract output type information from the AST
48
- */
49
- private extractOutputType;
50
- /**
51
- * Analyze the output type of a specific node
52
- */
53
- private analyzeNodeOutputType;
54
- /**
55
- * Infer type from a runtime value
56
- */
57
- private inferTypeFromValue;
58
- }
59
- //# sourceMappingURL=FeelAnalyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeelAnalyzer.d.ts","sourceRoot":"","sources":["../src/FeelAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAIf,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,qBAAa,YAAY;IAEvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc;IA+CtE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoc3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyXzB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2EjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqI7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAmB3B"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=feel-analyzer-backup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feel-analyzer-backup.d.ts","sourceRoot":"","sources":["../src/feel-analyzer-backup.ts"],"names":[],"mappings":""}