@ruleflow-ts/dsl-core 0.3.2 → 0.4.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 +0 -29
- package/dist/evaluator/CustomFunctionCallEvaluator.d.ts +6 -0
- package/dist/evaluator/CustomFunctionCallEvaluator.d.ts.map +1 -0
- package/dist/evaluator/CustomFunctionCallEvaluator.js +23 -0
- package/dist/evaluator/CustomFunctionCallEvaluator.js.map +1 -0
- package/dist/evaluator/MemberAccessEvaluator.d.ts +6 -0
- package/dist/evaluator/MemberAccessEvaluator.d.ts.map +1 -0
- package/dist/evaluator/MemberAccessEvaluator.js +20 -0
- package/dist/evaluator/MemberAccessEvaluator.js.map +1 -0
- package/dist/evaluator/ValidPropertyEvaluator.d.ts.map +1 -1
- package/dist/evaluator/ValidPropertyEvaluator.js +6 -5
- package/dist/evaluator/ValidPropertyEvaluator.js.map +1 -1
- package/dist/evaluator/VariableRefEvaluator.d.ts +6 -0
- package/dist/evaluator/VariableRefEvaluator.d.ts.map +1 -0
- package/dist/evaluator/VariableRefEvaluator.js +17 -0
- package/dist/evaluator/VariableRefEvaluator.js.map +1 -0
- package/dist/generated/src/grammar/RuleFlowLanguageLexer.d.ts +46 -45
- package/dist/generated/src/grammar/RuleFlowLanguageLexer.d.ts.map +1 -1
- package/dist/generated/src/grammar/RuleFlowLanguageLexer.js +557 -560
- package/dist/generated/src/grammar/RuleFlowLanguageLexer.js.map +1 -1
- package/dist/generated/src/grammar/RuleFlowLanguageListener.d.ts +42 -5
- package/dist/generated/src/grammar/RuleFlowLanguageListener.d.ts.map +1 -1
- package/dist/generated/src/grammar/RuleFlowLanguageParser.d.ts +109 -77
- package/dist/generated/src/grammar/RuleFlowLanguageParser.d.ts.map +1 -1
- package/dist/generated/src/grammar/RuleFlowLanguageParser.js +995 -800
- package/dist/generated/src/grammar/RuleFlowLanguageParser.js.map +1 -1
- package/dist/generated/src/grammar/RuleFlowLanguageVisitor.d.ts +26 -3
- package/dist/generated/src/grammar/RuleFlowLanguageVisitor.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/visitors/RulesetVisitor.d.ts +4 -2
- package/dist/visitors/RulesetVisitor.d.ts.map +1 -1
- package/dist/visitors/RulesetVisitor.js +27 -2
- package/dist/visitors/RulesetVisitor.js.map +1 -1
- package/dist/visitors/Visitor.d.ts +8 -1
- package/dist/visitors/Visitor.d.ts.map +1 -1
- package/dist/visitors/Visitor.js +41 -6
- package/dist/visitors/Visitor.js.map +1 -1
- package/dist/workflow.d.ts +2 -2
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +2 -2
- package/dist/workflow.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,6 +5,8 @@ import { NowContext } from "./RuleFlowLanguageParser";
|
|
|
5
5
|
import { DateAddContext } from "./RuleFlowLanguageParser";
|
|
6
6
|
import { DateSubtractContext } from "./RuleFlowLanguageParser";
|
|
7
7
|
import { ParenthesisContext } from "./RuleFlowLanguageParser";
|
|
8
|
+
import { VariableRefContext } from "./RuleFlowLanguageParser";
|
|
9
|
+
import { MemberAccessContext } from "./RuleFlowLanguageParser";
|
|
8
10
|
import { MathMulContext } from "./RuleFlowLanguageParser";
|
|
9
11
|
import { MathAddContext } from "./RuleFlowLanguageParser";
|
|
10
12
|
import { ComparatorContext } from "./RuleFlowLanguageParser";
|
|
@@ -14,7 +16,7 @@ import { AggregationContext } from "./RuleFlowLanguageParser";
|
|
|
14
16
|
import { DateOperationContext } from "./RuleFlowLanguageParser";
|
|
15
17
|
import { RegexlikeContext } from "./RuleFlowLanguageParser";
|
|
16
18
|
import { UnaryContext } from "./RuleFlowLanguageParser";
|
|
17
|
-
import {
|
|
19
|
+
import { CustomFunctionCallContext } from "./RuleFlowLanguageParser";
|
|
18
20
|
import { BinaryAndContext } from "./RuleFlowLanguageParser";
|
|
19
21
|
import { BinaryOrContext } from "./RuleFlowLanguageParser";
|
|
20
22
|
import { DateParseExprContext } from "./RuleFlowLanguageParser";
|
|
@@ -40,6 +42,7 @@ import { RulesetsContext } from "./RuleFlowLanguageParser";
|
|
|
40
42
|
import { Ruleset_conditionContext } from "./RuleFlowLanguageParser";
|
|
41
43
|
import { RulesContext } from "./RuleFlowLanguageParser";
|
|
42
44
|
import { Rule_bodyContext } from "./RuleFlowLanguageParser";
|
|
45
|
+
import { Set_clauseContext } from "./RuleFlowLanguageParser";
|
|
43
46
|
import { NameContext } from "./RuleFlowLanguageParser";
|
|
44
47
|
import { Default_clauseContext } from "./RuleFlowLanguageParser";
|
|
45
48
|
import { ConfigurationContext } from "./RuleFlowLanguageParser";
|
|
@@ -112,6 +115,20 @@ export interface RuleFlowLanguageVisitor<Result> extends ParseTreeVisitor<Result
|
|
|
112
115
|
* @return the visitor result
|
|
113
116
|
*/
|
|
114
117
|
visitParenthesis?: (ctx: ParenthesisContext) => Result;
|
|
118
|
+
/**
|
|
119
|
+
* Visit a parse tree produced by the `variableRef`
|
|
120
|
+
* labeled alternative in `RuleFlowLanguageParser.expr`.
|
|
121
|
+
* @param ctx the parse tree
|
|
122
|
+
* @return the visitor result
|
|
123
|
+
*/
|
|
124
|
+
visitVariableRef?: (ctx: VariableRefContext) => Result;
|
|
125
|
+
/**
|
|
126
|
+
* Visit a parse tree produced by the `memberAccess`
|
|
127
|
+
* labeled alternative in `RuleFlowLanguageParser.expr`.
|
|
128
|
+
* @param ctx the parse tree
|
|
129
|
+
* @return the visitor result
|
|
130
|
+
*/
|
|
131
|
+
visitMemberAccess?: (ctx: MemberAccessContext) => Result;
|
|
115
132
|
/**
|
|
116
133
|
* Visit a parse tree produced by the `mathMul`
|
|
117
134
|
* labeled alternative in `RuleFlowLanguageParser.expr`.
|
|
@@ -176,12 +193,12 @@ export interface RuleFlowLanguageVisitor<Result> extends ParseTreeVisitor<Result
|
|
|
176
193
|
*/
|
|
177
194
|
visitUnary?: (ctx: UnaryContext) => Result;
|
|
178
195
|
/**
|
|
179
|
-
* Visit a parse tree produced by the `
|
|
196
|
+
* Visit a parse tree produced by the `customFunctionCall`
|
|
180
197
|
* labeled alternative in `RuleFlowLanguageParser.expr`.
|
|
181
198
|
* @param ctx the parse tree
|
|
182
199
|
* @return the visitor result
|
|
183
200
|
*/
|
|
184
|
-
|
|
201
|
+
visitCustomFunctionCall?: (ctx: CustomFunctionCallContext) => Result;
|
|
185
202
|
/**
|
|
186
203
|
* Visit a parse tree produced by the `binaryAnd`
|
|
187
204
|
* labeled alternative in `RuleFlowLanguageParser.expr`.
|
|
@@ -348,6 +365,12 @@ export interface RuleFlowLanguageVisitor<Result> extends ParseTreeVisitor<Result
|
|
|
348
365
|
* @return the visitor result
|
|
349
366
|
*/
|
|
350
367
|
visitRule_body?: (ctx: Rule_bodyContext) => Result;
|
|
368
|
+
/**
|
|
369
|
+
* Visit a parse tree produced by `RuleFlowLanguageParser.set_clause`.
|
|
370
|
+
* @param ctx the parse tree
|
|
371
|
+
* @return the visitor result
|
|
372
|
+
*/
|
|
373
|
+
visitSet_clause?: (ctx: Set_clauseContext) => Result;
|
|
351
374
|
/**
|
|
352
375
|
* Visit a parse tree produced by `RuleFlowLanguageParser.name`.
|
|
353
376
|
* @param ctx the parse tree
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleFlowLanguageVisitor.d.ts","sourceRoot":"","sources":["../../../../src/generated/src/grammar/RuleFlowLanguageVisitor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RuleFlowLanguageVisitor.d.ts","sourceRoot":"","sources":["../../../../src/generated/src/grammar/RuleFlowLanguageVisitor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Workflow } from './workflow';
|
|
2
|
-
export type { InputMap, ListsMap, WorkflowResult } from './types';
|
|
2
|
+
export type { InputMap, ListsMap, FunctionsMap, RuleflowFunction, WorkflowResult } from './types';
|
|
3
3
|
export { lex as debugLex, parse as debugParse } from './debug';
|
|
4
4
|
export { AstSerializer } from './visitors/AstSerializer';
|
|
5
5
|
export type { AstWorkflow, AstRuleset, AstRule, AstAction, AstActionParam, AstReturn, } from './visitors/AstSerializer';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,cAAc,EACd,SAAS,GACV,MAAM,0BAA0B,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export type InputMap = Record<string, unknown>;
|
|
2
2
|
export type ListsMap = Record<string, unknown[]>;
|
|
3
|
+
export type RuleflowFunction = (args: unknown[]) => unknown;
|
|
4
|
+
export type FunctionsMap = Record<string, RuleflowFunction>;
|
|
3
5
|
export interface Action {
|
|
4
6
|
name: string;
|
|
5
7
|
params: Record<string, string>;
|
|
@@ -19,5 +21,6 @@ export interface WorkflowResult {
|
|
|
19
21
|
warnings?: string[];
|
|
20
22
|
error?: boolean;
|
|
21
23
|
matchedRules?: MatchedRule[];
|
|
24
|
+
variables?: Record<string, unknown>;
|
|
22
25
|
}
|
|
23
26
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE5D,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ParseContext } from '../generated/src/grammar/RuleFlowLanguageParser';
|
|
2
|
-
import type { InputMap, ListsMap, WorkflowResult } from '../types';
|
|
2
|
+
import type { InputMap, ListsMap, FunctionsMap, WorkflowResult } from '../types';
|
|
3
3
|
export declare class RulesetVisitor {
|
|
4
4
|
private readonly data;
|
|
5
5
|
private readonly lists;
|
|
6
|
+
private readonly functions;
|
|
6
7
|
private readonly eval;
|
|
7
|
-
|
|
8
|
+
private readonly variables;
|
|
9
|
+
constructor(data: InputMap, lists?: ListsMap, functions?: FunctionsMap);
|
|
8
10
|
visit(root: ParseContext): WorkflowResult;
|
|
9
11
|
private visitWorkflow;
|
|
10
12
|
private resolveRuleResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RulesetVisitor.d.ts","sourceRoot":"","sources":["../../src/visitors/RulesetVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"RulesetVisitor.d.ts","sourceRoot":"","sources":["../../src/visitors/RulesetVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAIjF,qBAAa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;gBAGtC,IAAI,EAAE,QAAQ,EACd,KAAK,GAAE,QAAa,EACpB,SAAS,GAAE,YAAiB;IAK/C,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc;IAMzC,OAAO,CAAC,aAAa;IAkHrB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,qBAAqB;CAS9B"}
|
|
@@ -4,7 +4,7 @@ exports.RulesetVisitor = void 0;
|
|
|
4
4
|
const Visitor_1 = require("./Visitor");
|
|
5
5
|
const ActionsVisitor_1 = require("./ActionsVisitor");
|
|
6
6
|
class RulesetVisitor {
|
|
7
|
-
constructor(data, lists = {}) {
|
|
7
|
+
constructor(data, lists = {}, functions = {}) {
|
|
8
8
|
Object.defineProperty(this, "data", {
|
|
9
9
|
enumerable: true,
|
|
10
10
|
configurable: true,
|
|
@@ -17,13 +17,25 @@ class RulesetVisitor {
|
|
|
17
17
|
writable: true,
|
|
18
18
|
value: lists
|
|
19
19
|
});
|
|
20
|
+
Object.defineProperty(this, "functions", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true,
|
|
24
|
+
value: functions
|
|
25
|
+
});
|
|
20
26
|
Object.defineProperty(this, "eval", {
|
|
21
27
|
enumerable: true,
|
|
22
28
|
configurable: true,
|
|
23
29
|
writable: true,
|
|
24
30
|
value: void 0
|
|
25
31
|
});
|
|
26
|
-
|
|
32
|
+
Object.defineProperty(this, "variables", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true,
|
|
36
|
+
value: {}
|
|
37
|
+
});
|
|
38
|
+
this.eval = new Visitor_1.Visitor(data, lists, data, functions, this.variables);
|
|
27
39
|
}
|
|
28
40
|
visit(root) {
|
|
29
41
|
const wf = root.workflow();
|
|
@@ -63,6 +75,16 @@ class RulesetVisitor {
|
|
|
63
75
|
}
|
|
64
76
|
if (passed) {
|
|
65
77
|
try {
|
|
78
|
+
// Execute SET clauses
|
|
79
|
+
for (const setClause of ruleBody.set_clause()) {
|
|
80
|
+
const value = this.eval.visit(setClause.expr());
|
|
81
|
+
const rawName = setClause._variable.text;
|
|
82
|
+
this.variables[rawName.substring(1)] = value; // strip '$'
|
|
83
|
+
}
|
|
84
|
+
// Handle CONTINUE: variables are set, move to next rule/ruleset
|
|
85
|
+
if (ruleBody.K_CONTINUE?.()) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
66
88
|
const result = this.resolveRuleResult(ruleBody);
|
|
67
89
|
const actions = this.collectActions(ruleBody, warnings);
|
|
68
90
|
if (multiMatch) {
|
|
@@ -81,6 +103,7 @@ class RulesetVisitor {
|
|
|
81
103
|
result,
|
|
82
104
|
warnings,
|
|
83
105
|
actions,
|
|
106
|
+
variables: { ...this.variables },
|
|
84
107
|
error: false,
|
|
85
108
|
};
|
|
86
109
|
}
|
|
@@ -102,6 +125,7 @@ class RulesetVisitor {
|
|
|
102
125
|
actions: first.actions,
|
|
103
126
|
matchedRules,
|
|
104
127
|
warnings,
|
|
128
|
+
variables: { ...this.variables },
|
|
105
129
|
error: false,
|
|
106
130
|
};
|
|
107
131
|
}
|
|
@@ -122,6 +146,7 @@ class RulesetVisitor {
|
|
|
122
146
|
warnings,
|
|
123
147
|
actions: defActions,
|
|
124
148
|
matchedRules: multiMatch ? [] : undefined,
|
|
149
|
+
variables: { ...this.variables },
|
|
125
150
|
error: false,
|
|
126
151
|
};
|
|
127
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RulesetVisitor.js","sourceRoot":"","sources":["../../src/visitors/RulesetVisitor.ts"],"names":[],"mappings":";;;AAEA,uCAAoC;AACpC,qDAAoD;AAEpD,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"RulesetVisitor.js","sourceRoot":"","sources":["../../src/visitors/RulesetVisitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import type { FunctionsMap } from '../types';
|
|
1
2
|
export type DataMap = Record<string, unknown>;
|
|
2
3
|
export type ListsMap = Record<string, unknown[]>;
|
|
3
4
|
export declare class Visitor {
|
|
4
5
|
private readonly data;
|
|
5
6
|
private readonly lists;
|
|
6
7
|
private readonly root;
|
|
7
|
-
|
|
8
|
+
private readonly functions;
|
|
9
|
+
private readonly variables;
|
|
10
|
+
private readonly functionCallCache;
|
|
11
|
+
constructor(data: DataMap, lists?: ListsMap, root?: DataMap, functions?: FunctionsMap, variables?: Record<string, unknown>);
|
|
8
12
|
visit(tree: any): any;
|
|
9
13
|
getData(): DataMap;
|
|
10
14
|
getLists(): ListsMap;
|
|
11
15
|
getRoot(): DataMap;
|
|
16
|
+
getFunctions(): FunctionsMap;
|
|
17
|
+
getVariables(): Record<string, unknown>;
|
|
18
|
+
getFunctionCallCache(): Map<string, unknown>;
|
|
12
19
|
}
|
|
13
20
|
//# sourceMappingURL=Visitor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visitor.d.ts","sourceRoot":"","sources":["../../src/visitors/Visitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Visitor.d.ts","sourceRoot":"","sources":["../../src/visitors/Visitor.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAqC7C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAEjD,qBAAa,OAAO;IAIhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;gBAGlD,IAAI,EAAE,OAAO,EACb,KAAK,GAAE,QAAa,EACpB,IAAI,GAAE,OAAc,EACpB,SAAS,GAAE,YAAiB,EAC5B,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAG1D,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IA+ErB,OAAO;IAIP,QAAQ;IAIR,OAAO;IAIP,YAAY;IAIZ,YAAY;IAIZ,oBAAoB;CAGrB"}
|
package/dist/visitors/Visitor.js
CHANGED
|
@@ -33,9 +33,11 @@ const PartialRatioEvaluator_1 = require("../evaluator/string/PartialRatioEvaluat
|
|
|
33
33
|
const TokenSortRatioEvaluator_1 = require("../evaluator/string/TokenSortRatioEvaluator");
|
|
34
34
|
const TokenSetRatioEvaluator_1 = require("../evaluator/string/TokenSetRatioEvaluator");
|
|
35
35
|
const StringSimilarityScoreEvaluator_1 = require("../evaluator/string/StringSimilarityScoreEvaluator");
|
|
36
|
-
const
|
|
36
|
+
const VariableRefEvaluator_1 = require("../evaluator/VariableRefEvaluator");
|
|
37
|
+
const MemberAccessEvaluator_1 = require("../evaluator/MemberAccessEvaluator");
|
|
38
|
+
const CustomFunctionCallEvaluator_1 = require("../evaluator/CustomFunctionCallEvaluator");
|
|
37
39
|
class Visitor {
|
|
38
|
-
constructor(data, lists = {}, root = data) {
|
|
40
|
+
constructor(data, lists = {}, root = data, functions = {}, variables = {}) {
|
|
39
41
|
Object.defineProperty(this, "data", {
|
|
40
42
|
enumerable: true,
|
|
41
43
|
configurable: true,
|
|
@@ -54,10 +56,37 @@ class Visitor {
|
|
|
54
56
|
writable: true,
|
|
55
57
|
value: root
|
|
56
58
|
});
|
|
59
|
+
Object.defineProperty(this, "functions", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true,
|
|
62
|
+
writable: true,
|
|
63
|
+
value: functions
|
|
64
|
+
});
|
|
65
|
+
Object.defineProperty(this, "variables", {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
configurable: true,
|
|
68
|
+
writable: true,
|
|
69
|
+
value: variables
|
|
70
|
+
});
|
|
71
|
+
Object.defineProperty(this, "functionCallCache", {
|
|
72
|
+
enumerable: true,
|
|
73
|
+
configurable: true,
|
|
74
|
+
writable: true,
|
|
75
|
+
value: new Map()
|
|
76
|
+
});
|
|
57
77
|
}
|
|
58
78
|
visit(tree) {
|
|
59
79
|
const ctx = tree;
|
|
60
|
-
if (ctx instanceof RuleFlowLanguageParser_1.
|
|
80
|
+
if (ctx instanceof RuleFlowLanguageParser_1.VariableRefContext) {
|
|
81
|
+
return new VariableRefEvaluator_1.VariableRefEvaluator().evaluate(ctx, this);
|
|
82
|
+
}
|
|
83
|
+
else if (ctx instanceof RuleFlowLanguageParser_1.MemberAccessContext) {
|
|
84
|
+
return new MemberAccessEvaluator_1.MemberAccessEvaluator().evaluate(ctx, this);
|
|
85
|
+
}
|
|
86
|
+
else if (ctx instanceof RuleFlowLanguageParser_1.CustomFunctionCallContext) {
|
|
87
|
+
return new CustomFunctionCallEvaluator_1.CustomFunctionCallEvaluator().evaluate(ctx, this);
|
|
88
|
+
}
|
|
89
|
+
else if (ctx instanceof RuleFlowLanguageParser_1.ComparatorContext) {
|
|
61
90
|
return new ComparatorEvaluator_1.ComparatorEvaluator().evaluate(ctx, this);
|
|
62
91
|
}
|
|
63
92
|
else if (ctx instanceof RuleFlowLanguageParser_1.MathMulContext) {
|
|
@@ -154,9 +183,6 @@ class Visitor {
|
|
|
154
183
|
else if (ctx instanceof RuleFlowLanguageParser_1.StringSimilarityScoreContext) {
|
|
155
184
|
return new StringSimilarityScoreEvaluator_1.StringSimilarityScoreEvaluator().evaluate(ctx, this);
|
|
156
185
|
}
|
|
157
|
-
else if (ctx instanceof RuleFlowLanguageParser_1.EvalInListContext) {
|
|
158
|
-
return new EvalInListEvaluator_1.EvalInListEvaluator().evaluate(ctx, this);
|
|
159
|
-
}
|
|
160
186
|
throw new Error(`Operation not supported: ${ctx?.constructor?.name ?? typeof ctx}`);
|
|
161
187
|
}
|
|
162
188
|
getData() {
|
|
@@ -168,6 +194,15 @@ class Visitor {
|
|
|
168
194
|
getRoot() {
|
|
169
195
|
return this.root;
|
|
170
196
|
}
|
|
197
|
+
getFunctions() {
|
|
198
|
+
return this.functions;
|
|
199
|
+
}
|
|
200
|
+
getVariables() {
|
|
201
|
+
return this.variables;
|
|
202
|
+
}
|
|
203
|
+
getFunctionCallCache() {
|
|
204
|
+
return this.functionCallCache;
|
|
205
|
+
}
|
|
171
206
|
}
|
|
172
207
|
exports.Visitor = Visitor;
|
|
173
208
|
//# sourceMappingURL=Visitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/visitors/Visitor.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/visitors/Visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { InputMap, ListsMap, WorkflowResult } from './types';
|
|
1
|
+
import type { InputMap, ListsMap, FunctionsMap, WorkflowResult } from './types';
|
|
2
2
|
import type { AstWorkflow } from './visitors/AstSerializer';
|
|
3
3
|
export declare class Workflow {
|
|
4
4
|
private tree;
|
|
5
5
|
private readonly source;
|
|
6
6
|
constructor(workflow: string);
|
|
7
|
-
evaluate(request: InputMap, lists?: ListsMap): WorkflowResult;
|
|
7
|
+
evaluate(request: InputMap, lists?: ListsMap, functions?: FunctionsMap): WorkflowResult;
|
|
8
8
|
validateAndGetWorkflowName(): string;
|
|
9
9
|
toJSON(): AstWorkflow;
|
|
10
10
|
private stripQuotes;
|
package/dist/workflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,QAAQ,EAAE,MAAM;IAsB5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAE,QAAa,EAAE,SAAS,GAAE,YAAiB,GAAG,cAAc;IAK/F,0BAA0B,IAAI,MAAM;IAOpC,MAAM,IAAI,WAAW;IAKrB,OAAO,CAAC,WAAW;CAMpB"}
|
package/dist/workflow.js
CHANGED
|
@@ -43,8 +43,8 @@ class Workflow {
|
|
|
43
43
|
parser.buildParseTree = true;
|
|
44
44
|
this.tree = typeof parser.parse === 'function' ? parser.parse() : {};
|
|
45
45
|
}
|
|
46
|
-
evaluate(request, lists = {}) {
|
|
47
|
-
const rs = new RulesetVisitor_1.RulesetVisitor(request, lists);
|
|
46
|
+
evaluate(request, lists = {}, functions = {}) {
|
|
47
|
+
const rs = new RulesetVisitor_1.RulesetVisitor(request, lists, functions);
|
|
48
48
|
return rs.visit(this.tree);
|
|
49
49
|
}
|
|
50
50
|
validateAndGetWorkflowName() {
|
package/dist/workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,yFAAsF;AACtF,2FAAwF;AACxF,kEAA+D;AAC/D,gEAA6D;AAC7D,6DAA0D;AAE1D,8DAA2D;AAE3D,4DAAyD;AAGzD,MAAa,QAAQ;IAInB,YAAY,QAAgB;QAHpB;;;;;WAAU;QACD;;;;;WAAe;QAG9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,MAAM,KAAK,GAAG,sBAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,6CAAqB,CAAC,KAAY,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,4BAAiB,CAAC,KAAY,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,+CAAsB,CAAC,MAAa,CAAC,CAAC;QACzD,IAAI,OAAQ,MAAc,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC9D,MAAc,CAAC,oBAAoB,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,OAAQ,MAAc,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAc,CAAC,gBAAgB,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,0EAA0E;QACzE,MAAc,CAAC,WAAW,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACtD,+DAA+D;QAC/D,IAAK,MAAc,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAc,CAAC,WAAW,CAAC,cAAc,GAAG,+BAAc,CAAC,EAAE,CAAC;QACjE,CAAC;QACA,MAAc,CAAC,cAAc,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,OAAQ,MAAc,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,MAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,QAAQ,CAAC,OAAiB,EAAE,QAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,yFAAsF;AACtF,2FAAwF;AACxF,kEAA+D;AAC/D,gEAA6D;AAC7D,6DAA0D;AAE1D,8DAA2D;AAE3D,4DAAyD;AAGzD,MAAa,QAAQ;IAInB,YAAY,QAAgB;QAHpB;;;;;WAAU;QACD;;;;;WAAe;QAG9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,MAAM,KAAK,GAAG,sBAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,6CAAqB,CAAC,KAAY,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,4BAAiB,CAAC,KAAY,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,+CAAsB,CAAC,MAAa,CAAC,CAAC;QACzD,IAAI,OAAQ,MAAc,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC9D,MAAc,CAAC,oBAAoB,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,OAAQ,MAAc,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAc,CAAC,gBAAgB,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,0EAA0E;QACzE,MAAc,CAAC,WAAW,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACtD,+DAA+D;QAC/D,IAAK,MAAc,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAc,CAAC,WAAW,CAAC,cAAc,GAAG,+BAAc,CAAC,EAAE,CAAC;QACjE,CAAC;QACA,MAAc,CAAC,cAAc,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,OAAQ,MAAc,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,MAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,QAAQ,CAAC,OAAiB,EAAE,QAAkB,EAAE,EAAE,YAA0B,EAAE;QAC5E,MAAM,EAAE,GAAG,IAAI,+BAAc,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAoB,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IACzD,CAAC;IAEO,WAAW,CAAC,CAAS;QAC3B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAjDD,4BAiDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruleflow-ts/dsl-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Ruleflow DSL interpreter in TypeScript (isomorphic, SSR+Edge compatible).",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -66,4 +66,4 @@
|
|
|
66
66
|
"isomorphic"
|
|
67
67
|
],
|
|
68
68
|
"license": "MIT"
|
|
69
|
-
}
|
|
69
|
+
}
|