-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathAPI.js
33 lines (33 loc) · 1.09 KB
/
API.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Expression_1 = require("./Expression");
const DecisionTable_1 = require("./DecisionTable");
api();
function api() {
const context = { name: 'John', job: 'Analyst', salary: 50000 };
let exprResult, condResult, ruleOutput, dtOutput;
const expr = new Expression_1.Expression(`salary* 1.05`);
console.log(expr.evaluate(context));
const cond = new Expression_1.Condition(`>40000`, 'salary');
console.log(cond.evaluate(context));
const decisionTable = new DecisionTable_1.DecisionTable({
name: 'Raise',
conditionVars: [
// ['name','string'],
['job', 'string'],
['salary', 'money']
],
actionVars: [
['raise', 'money']
],
rules: [
[1, '-', `>40000`, `salary *1.05`],
[2, '-', `>30000`, `salary *1.1`]
],
hitPolicy: DecisionTable_1.HIT_POLICY.Unique
});
dtOutput = decisionTable.evaluate(context);
console.log(dtOutput);
}
/* */
//# sourceMappingURL=API.js.map