@veridid/workflow-parser 0.4.23 → 0.5.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.
Files changed (31) hide show
  1. package/package.json +11 -3
  2. package/dist/implementations/action.default.d.ts +0 -8
  3. package/dist/implementations/action.default.js +0 -82
  4. package/dist/implementations/action.default.js.map +0 -1
  5. package/dist/implementations/display.default.d.ts +0 -10
  6. package/dist/implementations/display.default.js +0 -120
  7. package/dist/implementations/display.default.js.map +0 -1
  8. package/dist/implementations/workflow.default.d.ts +0 -11
  9. package/dist/implementations/workflow.default.js +0 -88
  10. package/dist/implementations/workflow.default.js.map +0 -1
  11. package/dist/index.d.ts +0 -2
  12. package/dist/index.js +0 -10
  13. package/dist/index.js.map +0 -1
  14. package/dist/interfaces/actionextension.d.ts +0 -5
  15. package/dist/interfaces/actionextension.js +0 -3
  16. package/dist/interfaces/actionextension.js.map +0 -1
  17. package/dist/interfaces/actioninterface.d.ts +0 -9
  18. package/dist/interfaces/actioninterface.js +0 -3
  19. package/dist/interfaces/actioninterface.js.map +0 -1
  20. package/dist/interfaces/displayextension.d.ts +0 -4
  21. package/dist/interfaces/displayextension.js +0 -3
  22. package/dist/interfaces/displayextension.js.map +0 -1
  23. package/dist/interfaces/displayinterface.d.ts +0 -7
  24. package/dist/interfaces/displayinterface.js +0 -3
  25. package/dist/interfaces/displayinterface.js.map +0 -1
  26. package/dist/interfaces/workflowinterface.d.ts +0 -25
  27. package/dist/interfaces/workflowinterface.js +0 -3
  28. package/dist/interfaces/workflowinterface.js.map +0 -1
  29. package/dist/workflowparser.d.ts +0 -24
  30. package/dist/workflowparser.js +0 -72
  31. package/dist/workflowparser.js.map +0 -1
package/package.json CHANGED
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "name": "@veridid/workflow-parser",
3
- "version": "0.4.23",
3
+ "version": "0.5.0",
4
4
  "description": "For parsing JSON data that represents data-driven state machines and delivering the display data for clients to render.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/workflowparser.d.ts",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
9
  "start": "node dist/index.js",
10
- "test": " tsc --resolveJsonModule test/test.ts && node test/test.js"
10
+ "test": "jest"
11
11
  },
12
- "keywords": ["workflow", "Parser", "Data-Driven State Machine"],
12
+ "keywords": [
13
+ "workflow",
14
+ "Parser",
15
+ "Data-Driven State Machine"
16
+ ],
13
17
  "author": "VeriDID Corp. Nas Til and Dave McKay",
14
18
  "license": "MIT",
15
19
  "repository": {
@@ -18,12 +22,16 @@
18
22
  },
19
23
  "homepage": "https://github.com/DigiCred-Holdings/workflow-parser#readme",
20
24
  "devDependencies": {
25
+ "@types/jest": "^29.5.14",
26
+ "jest": "^29.7.0",
27
+ "ts-jest": "^29.3.4",
21
28
  "typescript": "^5.8.2"
22
29
  },
23
30
  "dependencies": {
24
31
  "@types/pg": "^8.11.11",
25
32
  "pg": "^8.14.1",
26
33
  "reflect-metadata": "^0.2.2",
34
+ "ts-node": "^10.9.2",
27
35
  "typedi": "^0.10.0",
28
36
  "uuid": "^11.1.0"
29
37
  },
@@ -1,8 +0,0 @@
1
- import { IActionExtension } from "../interfaces/actionextension";
2
- import { IAction, Transition } from "../interfaces/actioninterface";
3
- import { Instance, Workflow } from "../interfaces/workflowinterface";
4
- export declare class DefaultAction implements IAction {
5
- actionExtension: IActionExtension;
6
- constructor(actionExtension: IActionExtension);
7
- processAction(currentWorkflow: Workflow, instance: Instance, actionInput: any): Promise<[Transition, Instance]>;
8
- }
@@ -1,82 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DefaultAction = void 0;
13
- class DefaultAction {
14
- constructor(actionExtension) {
15
- this.actionExtension = actionExtension;
16
- }
17
- processAction(currentWorkflow, instance, actionInput) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- console.log("*** processAction action=", actionInput);
20
- // start with a blank transition
21
- let transition = {
22
- type: "none",
23
- workflow_id: instance.workflow_id,
24
- state_id: instance.current_state
25
- };
26
- if (actionInput.actionID != "") {
27
- // find the state
28
- const state = currentWorkflow.states.find(item => { return item.state_id == instance.current_state; });
29
- // Only process actions if there are any
30
- if (state.actions.length > 0) {
31
- const action = state.actions.find(item => { return item.action_id == actionInput.actionID; });
32
- // handle the types of actions from the extension first
33
- if (this.actionExtension) {
34
- [transition, instance] = yield this.actionExtension.actions(actionInput, instance, action, transition);
35
- }
36
- // handle the types of actions
37
- switch (action === null || action === void 0 ? void 0 : action.type) {
38
- case "saveData":
39
- // check condition
40
- if (eval(action.condition)) {
41
- // save the data from the workflow action to the instance data
42
- instance.state_data = Object.assign(instance.state_data, action.value);
43
- }
44
- break;
45
- case "stateData":
46
- // check condition
47
- if (eval(action.condition)) {
48
- // save the data from the actionInput to the instance data
49
- instance.state_data = Object.assign(instance.state_data, actionInput.data);
50
- }
51
- break;
52
- case "stateTransition":
53
- // check condition
54
- if (eval(action.condition)) {
55
- // set the transition condition for a new state
56
- transition.type = "stateTransition";
57
- transition.state_id = action.state_id;
58
- }
59
- break;
60
- case "workflowTransition":
61
- // check condition
62
- if (eval(action.condition)) {
63
- // set the transition condition for a new workflow
64
- transition.type = "workflowTransition";
65
- transition.workflow_id = action.workflow_id;
66
- }
67
- break;
68
- default:
69
- }
70
- }
71
- // check the transitions until the first true condition
72
- let findtransition = state.transitions.find(item => { return eval(item.condition); });
73
- if (findtransition) {
74
- transition = findtransition;
75
- }
76
- }
77
- return [transition, instance];
78
- });
79
- }
80
- }
81
- exports.DefaultAction = DefaultAction;
82
- //# sourceMappingURL=action.default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.default.js","sourceRoot":"","sources":["../../src/implementations/action.default.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { IDisplayExtension } from "../interfaces/displayextension";
2
- import { DisplayData, IDisplay } from "../interfaces/displayinterface";
3
- import { Instance, Workflow } from "../interfaces/workflowinterface";
4
- export declare class DefaultDisplay implements IDisplay {
5
- displayExtension: IDisplayExtension;
6
- constructor(displayExtension: IDisplayExtension);
7
- processDisplay(clientID: string, curentWorkflow: Workflow, instance: Instance, currentState: string): Promise<DisplayData>;
8
- parseString(text: string, data: any): string;
9
- findNode(id: string, currentNode: any): any;
10
- }
@@ -1,120 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DefaultDisplay = void 0;
13
- class DefaultDisplay {
14
- constructor(displayExtension) {
15
- this.displayExtension = displayExtension;
16
- }
17
- processDisplay(clientID, curentWorkflow, instance, currentState) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- var _a;
20
- console.log("*** processDisplay");
21
- // build the display data to return
22
- let displayData = { displayData: [] };
23
- // for each display entry check condition and process if required
24
- const display = curentWorkflow.states.find(item => { return item.state_id == currentState; });
25
- const displayTemplate = display.display_data;
26
- for (var i = 0; i < displayTemplate.length; i++) {
27
- // condition can use instance.stateData
28
- if ((_a = displayTemplate[i]) === null || _a === void 0 ? void 0 : _a.condition) {
29
- if (!eval(displayTemplate[i].condition)) {
30
- continue; // don't process if condition not met
31
- }
32
- }
33
- // handle the types of displays from the extension first
34
- if (this.displayExtension) {
35
- let newValue = yield this.displayExtension.displays(instance, displayTemplate[i]);
36
- if (newValue) {
37
- displayTemplate[i] = newValue;
38
- }
39
- }
40
- switch (displayTemplate[i].type) {
41
- case "text":
42
- displayTemplate[i].text = this.parseString(displayTemplate[i].text, instance.state_data);
43
- break;
44
- case "title":
45
- displayTemplate[i].text = this.parseString(displayTemplate[i].text, instance.state_data);
46
- break;
47
- case "warning":
48
- displayTemplate[i].text = this.parseString(displayTemplate[i].text, instance.state_data);
49
- break;
50
- case "information":
51
- displayTemplate[i].text = this.parseString(displayTemplate[i].text, instance.state_data);
52
- break;
53
- case "quote":
54
- displayTemplate[i].text = this.parseString(displayTemplate[i].text, instance.state_data);
55
- break;
56
- case "text-field":
57
- displayTemplate[i].value = this.parseString(displayTemplate[i].value, instance.state_data);
58
- break;
59
- case "text-area":
60
- displayTemplate[i].value = this.parseString(displayTemplate[i].value, instance.state_data);
61
- break;
62
- case "drop-down":
63
- displayTemplate[i].value = this.parseString(displayTemplate[i].value, instance.state_data);
64
- break;
65
- case "radio-button":
66
- displayTemplate[i].default = this.parseString(displayTemplate[i].value, instance.state_data);
67
- break;
68
- case "check-box":
69
- displayTemplate[i].default = this.parseString(displayTemplate[i].value, instance.state_data);
70
- break;
71
- case "control":
72
- displayTemplate[i].text = this.parseString(displayTemplate[i].text, instance.state_data);
73
- break;
74
- }
75
- displayData.displayData.push(displayTemplate[i]);
76
- }
77
- return displayData;
78
- });
79
- }
80
- parseString(text, data) {
81
- // Split out the string
82
- const parts = text.split(/[{,}]/);
83
- // check every other string segment looking for a key in data
84
- // Text for parsing should not start with a variable "{variable} hello!"
85
- // *** repalce this code with a more comprehensive parser
86
- for (var i = 1; i < parts.length; i += 2) {
87
- // find this value in the data
88
- let value = this.findNode(parts[i], data);
89
- if (value) {
90
- // if there is a value, replace the entry
91
- parts[i] = value;
92
- }
93
- }
94
- // put the string back together again
95
- return parts.join("");
96
- }
97
- findNode(id, currentNode) {
98
- var currentChild, result;
99
- if (id in currentNode) {
100
- return currentNode[id];
101
- }
102
- else {
103
- // use a for loop instead of forEach to avoid nested functions
104
- // otherwise "return" will not work properly
105
- for (var i = 0; currentNode.children !== undefined; i += 1) {
106
- currentChild = currentNode.children[i];
107
- // Search in the current child
108
- result = this.findNode(id, currentChild);
109
- // Return the result if the node has been found
110
- if (result !== false) {
111
- return result;
112
- }
113
- }
114
- // the node has not been found and we have no more options
115
- return false;
116
- }
117
- }
118
- }
119
- exports.DefaultDisplay = DefaultDisplay;
120
- //# sourceMappingURL=display.default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"display.default.js","sourceRoot":"","sources":["../../src/implementations/display.default.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { Instance, IWorkflow, Workflow } from '../interfaces/workflowinterface';
2
- import { Client } from 'pg';
3
- export declare class DefaultWorkflow implements IWorkflow {
4
- dbClient: Client;
5
- constructor(dbClient: any);
6
- connectDB(): Promise<void>;
7
- getWorkflowByID(workflowID: string): Promise<Workflow>;
8
- getInstanceByID(clientID: string, workflowID: string): Promise<Instance>;
9
- newInstance(clientID: string, workflowID: string, stateID: string): Promise<Instance>;
10
- updateInstanceByID(clientID: string, workflowID: string, stateID: string, data: any): Promise<Instance>;
11
- }
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DefaultWorkflow = void 0;
13
- const pg_1 = require("pg");
14
- const uuid_1 = require("uuid");
15
- class DefaultWorkflow {
16
- constructor(dbClient) {
17
- console.log("DefaultWorkflow constructor dbCLient=", dbClient);
18
- this.dbClient = new pg_1.Client(dbClient);
19
- this.connectDB();
20
- }
21
- connectDB() {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- yield this.dbClient.connect();
24
- console.log("Database connected");
25
- });
26
- }
27
- getWorkflowByID(workflowID) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- var _a;
30
- console.log("*** getWorkflowByID");
31
- const res = yield ((_a = this.dbClient) === null || _a === void 0 ? void 0 : _a.query('SELECT * FROM workflows WHERE "workflow_id" = $1', [workflowID]));
32
- //console.log("WorkflowID=", workflowID);
33
- //console.log("Workflow=", res.rows[0]);
34
- return res.rows.length > 0 ? res.rows[0] : null;
35
- });
36
- }
37
- getInstanceByID(clientID, workflowID) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- var _a;
40
- console.log("*** getInstanceByID");
41
- let instance = null;
42
- let query = 'SELECT * FROM instances WHERE "client_id" = $1 AND "workflow_id" = $2';
43
- let res = yield ((_a = this.dbClient) === null || _a === void 0 ? void 0 : _a.query(query, [clientID, workflowID]));
44
- //console.log("Look for existing instance clientID=", clientID, " workflowID=", workflowID);
45
- //console.log("Found ", res.rows);
46
- if (res.rows.length === 0) {
47
- // no instance
48
- //console.log("getInstanceByID - no instance");
49
- const workflow = yield this.getWorkflowByID(workflowID);
50
- // Create new instance with new instanceID, the initial state fromt he workflow, and empoty instance data
51
- instance = yield this.newInstance(clientID, workflowID, workflow.initial_state);
52
- }
53
- else {
54
- instance = res.rows.length > 0 ? res.rows[0] : null;
55
- }
56
- //console.log("Instance=", instance);
57
- return instance;
58
- });
59
- }
60
- newInstance(clientID, workflowID, stateID) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- var _a;
63
- console.log("*** newInstance=", clientID, workflowID, stateID);
64
- const query = 'INSERT INTO instances (instance_id, workflow_id, client_id, current_state, state_data) VALUES ($1, $2, $3, $4, $5)';
65
- let result = yield ((_a = this.dbClient) === null || _a === void 0 ? void 0 : _a.query(query, [(0, uuid_1.v4)(), workflowID, clientID, stateID, {}]));
66
- let res = yield this.getInstanceByID(clientID, workflowID);
67
- return res;
68
- });
69
- }
70
- updateInstanceByID(clientID, workflowID, stateID, data) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- var _a;
73
- console.log("*** updateInstance=", clientID, workflowID, stateID, data);
74
- // check instance and create new if does not exist
75
- let instance = yield this.getInstanceByID(clientID, workflowID);
76
- // update current_state and state_data
77
- const query = "UPDATE instances SET current_state = $1, state_data = $2 WHERE workflow_id = $3 AND client_id = $4";
78
- //console.log("query=", query);
79
- //console.log("stateID=", stateID, " data=", data);
80
- //console.log("workflowID=", stateID, " clientID=", clientID);
81
- yield ((_a = this.dbClient) === null || _a === void 0 ? void 0 : _a.query(query, [stateID, JSON.stringify(data), workflowID, clientID]));
82
- instance = yield this.getInstanceByID(clientID, workflowID);
83
- return instance;
84
- });
85
- }
86
- }
87
- exports.DefaultWorkflow = DefaultWorkflow;
88
- //# sourceMappingURL=workflow.default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow.default.js","sourceRoot":"","sources":["../../src/implementations/workflow.default.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import 'reflect-metadata';
2
- export { DefaultWorkflow, DefaultAction, DefaultDisplay, WorkflowParser } from './workflowparser';
package/dist/index.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowParser = exports.DefaultDisplay = exports.DefaultAction = exports.DefaultWorkflow = void 0;
4
- require("reflect-metadata");
5
- var workflowparser_1 = require("./workflowparser");
6
- Object.defineProperty(exports, "DefaultWorkflow", { enumerable: true, get: function () { return workflowparser_1.DefaultWorkflow; } });
7
- Object.defineProperty(exports, "DefaultAction", { enumerable: true, get: function () { return workflowparser_1.DefaultAction; } });
8
- Object.defineProperty(exports, "DefaultDisplay", { enumerable: true, get: function () { return workflowparser_1.DefaultDisplay; } });
9
- Object.defineProperty(exports, "WorkflowParser", { enumerable: true, get: function () { return workflowparser_1.WorkflowParser; } });
10
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAQ1B,mDAKyB;AAJrB,iHAAA,eAAe,OAAA;AACf,+GAAA,aAAa,OAAA;AACb,gHAAA,cAAc,OAAA;AACd,gHAAA,cAAc,OAAA"}
@@ -1,5 +0,0 @@
1
- import { Instance } from "./workflowinterface";
2
- import { Transition } from "./actioninterface";
3
- export interface IActionExtension {
4
- actions: (actionInput: any, instance: Instance, action: any, transtion: Transition) => Promise<[Transition, Instance]>;
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=actionextension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionextension.js","sourceRoot":"","sources":["../../src/interfaces/actionextension.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import { Instance, Workflow } from "./workflowinterface";
2
- export interface IAction {
3
- processAction: (currentWorkflow: Workflow, instance: Instance, action: any) => Promise<[Transition, Instance]>;
4
- }
5
- export interface Transition {
6
- type: string;
7
- workflow_id: string;
8
- state_id: string;
9
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=actioninterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actioninterface.js","sourceRoot":"","sources":["../../src/interfaces/actioninterface.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { Instance } from "./workflowinterface";
2
- export interface IDisplayExtension {
3
- displays: (instance: Instance, template: any) => Promise<any>;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=displayextension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"displayextension.js","sourceRoot":"","sources":["../../src/interfaces/displayextension.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { Workflow, Instance } from "./workflowinterface";
2
- export interface IDisplay {
3
- processDisplay: (clientID: string, curentWorkflow: Workflow, instance: Instance, currentState: string) => Promise<DisplayData>;
4
- }
5
- export interface DisplayData {
6
- displayData: any[];
7
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=displayinterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"displayinterface.js","sourceRoot":"","sources":["../../src/interfaces/displayinterface.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- export interface IWorkflow {
2
- getWorkflowByID: (workflowID: string) => Promise<Workflow>;
3
- getInstanceByID: (workflowID: string, clientID: string) => Promise<Instance>;
4
- updateInstanceByID: (clientID: string, workflowID: string, stateID: string, data: any) => Promise<Instance>;
5
- newInstance: (clientID: string, workflowID: string, stateID: string, data: any) => Promise<Instance>;
6
- }
7
- export interface Workflow {
8
- workflow_id: string;
9
- name: string;
10
- initial_state: string;
11
- render: any[];
12
- states: [{
13
- state_id: string;
14
- display_data: any;
15
- actions: any;
16
- transitions: any;
17
- }];
18
- }
19
- export interface Instance {
20
- instance_id: string;
21
- workflow_id: string;
22
- client_id: string;
23
- current_state: string;
24
- state_data: any;
25
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=workflowinterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflowinterface.js","sourceRoot":"","sources":["../../src/interfaces/workflowinterface.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- import { IDisplay } from "./interfaces/displayinterface";
2
- import { IAction } from "./interfaces/actioninterface";
3
- import { IWorkflow } from "./interfaces/workflowinterface";
4
- import { IActionExtension } from "./interfaces/actionextension";
5
- import { IDisplayExtension } from "./interfaces/displayextension";
6
- import { Transition } from './interfaces/actioninterface';
7
- import { Instance } from './interfaces/workflowinterface';
8
- import { Workflow } from './interfaces/workflowinterface';
9
- export declare class WorkflowParser {
10
- display: IDisplay;
11
- action: IAction;
12
- workflow: IWorkflow;
13
- constructor(display: IDisplay, action: IAction, workflow: IWorkflow);
14
- parse(clientID: string, action: {
15
- workflowID: string;
16
- actionID: string;
17
- data?: any;
18
- }): Promise<any>;
19
- }
20
- export { DefaultWorkflow } from './implementations/workflow.default';
21
- export { DefaultAction } from './implementations/action.default';
22
- export { DefaultDisplay } from './implementations/display.default';
23
- export { IActionExtension, IDisplayExtension };
24
- export { Transition, Instance, Workflow };
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DefaultDisplay = exports.DefaultAction = exports.DefaultWorkflow = exports.WorkflowParser = void 0;
13
- class WorkflowParser {
14
- constructor(display, action, workflow) {
15
- this.display = display;
16
- this.action = action;
17
- this.workflow = workflow;
18
- }
19
- parse(clientID, action) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- console.log("=== parse clientID=", clientID, " action=", action);
22
- // get the workflow as JSON
23
- let curentWorkflow = yield this.workflow.getWorkflowByID(action === null || action === void 0 ? void 0 : action.workflowID);
24
- console.log("+++ currentWorkflow");
25
- // get the instance as JSON
26
- let instance = yield this.workflow.getInstanceByID(clientID, action === null || action === void 0 ? void 0 : action.workflowID);
27
- console.log("+++ instance");
28
- // current state in the workflow
29
- let currentState = instance.current_state;
30
- // process the action
31
- let [transition, newInstance] = yield this.action.processAction(curentWorkflow, instance, action);
32
- console.log("+++ transition");
33
- Object.assign(instance, newInstance);
34
- if (transition.type != "none") {
35
- // process the transition
36
- if (transition.type === 'workflowTransition') {
37
- // get the new workflow
38
- curentWorkflow = yield this.workflow.getWorkflowByID(transition === null || transition === void 0 ? void 0 : transition.workflow_id);
39
- // get the new instance
40
- instance = yield this.workflow.getInstanceByID(clientID, transition === null || transition === void 0 ? void 0 : transition.workflow_id);
41
- currentState = instance.current_state;
42
- }
43
- if (transition.type === 'stateTransition') {
44
- // set the new current state
45
- currentState = transition.state_id;
46
- }
47
- }
48
- // update the instance
49
- const updatedInstance = yield this.workflow.updateInstanceByID(clientID, curentWorkflow.workflow_id, currentState, instance.state_data);
50
- console.log("+++ Updated instance");
51
- if (transition.type != "none-nodisplay") {
52
- // process the display
53
- const display = yield this.display.processDisplay(clientID, curentWorkflow, updatedInstance, currentState);
54
- console.log("+++ Processed display");
55
- return { workflowID: curentWorkflow.workflow_id, displayData: display === null || display === void 0 ? void 0 : display.displayData };
56
- }
57
- else {
58
- console.log("+++ Skip display");
59
- return { workflowID: curentWorkflow.workflow_id };
60
- }
61
- // return workflowID and display
62
- });
63
- }
64
- }
65
- exports.WorkflowParser = WorkflowParser;
66
- var workflow_default_1 = require("./implementations/workflow.default");
67
- Object.defineProperty(exports, "DefaultWorkflow", { enumerable: true, get: function () { return workflow_default_1.DefaultWorkflow; } });
68
- var action_default_1 = require("./implementations/action.default");
69
- Object.defineProperty(exports, "DefaultAction", { enumerable: true, get: function () { return action_default_1.DefaultAction; } });
70
- var display_default_1 = require("./implementations/display.default");
71
- Object.defineProperty(exports, "DefaultDisplay", { enumerable: true, get: function () { return display_default_1.DefaultDisplay; } });
72
- //# sourceMappingURL=workflowparser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflowparser.js","sourceRoot":"","sources":["../src/workflowparser.ts"],"names":[],"mappings":"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"}