bpmn-client 1.0.3 → 1.2.5

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 (46) hide show
  1. package/.env +4 -0
  2. package/Sample/.env +4 -0
  3. package/Sample/CarExample.js +62 -0
  4. package/Sample/CarExample.ts +97 -0
  5. package/Sample/package.json +44 -0
  6. package/Sample/test.js +33 -0
  7. package/Sample/test.ts +32 -0
  8. package/Sample/tsconfig.json +17 -0
  9. package/demo.env +4 -0
  10. package/index.js +14 -141
  11. package/index.ts +1 -139
  12. package/local.env +4 -0
  13. package/package.json +12 -14
  14. package/src/BPMNClient.js +246 -0
  15. package/src/BPMNClient.ts +246 -0
  16. package/src/index.js +19 -0
  17. package/src/index.ts +4 -0
  18. package/src/interfaces/DataObjects.js +2 -0
  19. package/src/interfaces/DataObjects.ts +97 -0
  20. package/src/interfaces/Enums.js +117 -0
  21. package/src/interfaces/Enums.ts +71 -0
  22. package/test/.eslintrc.json +20 -0
  23. package/test/.mocharc.json +12 -0
  24. package/test/feature/.env +5 -0
  25. package/test/feature/carServer.js +122 -0
  26. package/test/helpers/setup.js +9 -0
  27. package/test/logs/Buy Used Carrepairsfalse cleaning +0 -0
  28. package/test/logs/Buy Used Carrepairstrue cleaning +0 -0
  29. package/test/logs/Buy Used Carscenario CaseId +0 -0
  30. package/test/logs/carrepairsfalse cleaning +0 -0
  31. package/test/logs/carrepairstrue cleaning +0 -0
  32. package/test.env +4 -0
  33. package/test.js +53 -5
  34. package/test.ts +104 -4
  35. package/test2.js +270 -0
  36. package/test2.ts +326 -0
  37. package/tsconfig.json +4 -4
  38. package/BPMNClient.d.ts +0 -36
  39. package/BPMNClient.js +0 -144
  40. package/BPMNClient.js.map +0 -1
  41. package/BPMNClient.ts +0 -139
  42. package/index.d.ts +0 -36
  43. package/index.js.map +0 -1
  44. package/npm.list +0 -579
  45. package/test.d.ts +0 -1
  46. package/test.js.map +0 -1
package/BPMNClient.js DELETED
@@ -1,144 +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.Engine = exports.BPMNClient = void 0;
13
- const http = require('http');
14
- class BPMNClient {
15
- constructor(host, port) {
16
- this.host = host;
17
- this.port = port;
18
- this.engine = new Engine(this);
19
- this.datastore = new Datastore(this);
20
- }
21
- get(url, data = {}) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- return yield this.request(url, 'GET', data);
24
- });
25
- }
26
- post(url, data = {}) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return yield this.request(url, 'POST', data);
29
- });
30
- }
31
- put(url, data = {}) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- return yield this.request(url, 'PUT', data);
34
- });
35
- }
36
- del(url, data = {}) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- return yield this.request(url, 'DELETE', data);
39
- });
40
- }
41
- request(url, method, params) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- var options;
44
- var body = JSON.stringify(params);
45
- if (params) {
46
- options = {
47
- host: this.host,
48
- port: this.port,
49
- path: '/api/' + url,
50
- method: method,
51
- headers: {
52
- "Content-Type": "application/json",
53
- "Content-Length": Buffer.byteLength(body)
54
- }
55
- };
56
- }
57
- else {
58
- options = {
59
- host: this.host,
60
- port: this.port,
61
- path: '/api/' + url,
62
- method: method
63
- };
64
- }
65
- console.log(options);
66
- let data = '';
67
- let self = this;
68
- return new Promise(function (resolve, reject) {
69
- try {
70
- http.request(options, function (res) {
71
- console.log('STATUS: ' + res.statusCode);
72
- // console.log('HEADERS: ' + JSON.stringify(res.headers));
73
- self.statusCode = res.statusCode;
74
- res.setEncoding('utf8');
75
- res.on('data', function (chunk) {
76
- data += chunk;
77
- });
78
- res.on('end', () => {
79
- // console.log(JSON.parse(data));
80
- self.result = JSON.parse(data);
81
- resolve(self.result);
82
- });
83
- }).on("error", (err) => {
84
- console.log("Error: " + err.message);
85
- reject(err);
86
- }).end(body);
87
- }
88
- catch (exc) {
89
- console.log(exc);
90
- }
91
- });
92
- });
93
- }
94
- getItem(id) {
95
- if (!this.result.instance) {
96
- console.log(this.result);
97
- return;
98
- }
99
- return this.result.instance.items.filter(item => { return item.elementId == id; })[0];
100
- }
101
- }
102
- exports.BPMNClient = BPMNClient;
103
- class Engine {
104
- constructor(client) {
105
- this.client = client;
106
- }
107
- start({ name, data }) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- return yield this.client.post('engine/start', { name, data });
110
- });
111
- }
112
- invoke({ query, data }) {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- return yield this.client.put('engine/invoke', { query, data });
115
- });
116
- }
117
- get(query) {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- return yield this.client.get('engine/get', query);
120
- });
121
- }
122
- }
123
- exports.Engine = Engine;
124
- class Datastore {
125
- constructor(client) {
126
- this.client = client;
127
- }
128
- findItems(query) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- return yield this.client.get('datastore/findItems', query);
131
- });
132
- }
133
- findInsances(query) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- return yield this.client.get('datastore/findInstances', query);
136
- });
137
- }
138
- deleteInstances(query) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- return yield this.client.del('datastore/delete', query);
141
- });
142
- }
143
- }
144
- //# sourceMappingURL=BPMNClient.js.map
package/BPMNClient.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"BPMNClient.js","sourceRoot":"","sources":["BPMNClient.ts"],"names":[],"mappings":"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"}
package/BPMNClient.ts DELETED
@@ -1,139 +0,0 @@
1
-
2
- const http = require('http');
3
-
4
-
5
-
6
- class BPMNClient {
7
- host;
8
- port;
9
- statusCode;
10
- result;
11
- engine: Engine;
12
- datastore: Datastore;
13
- constructor(host, port) {
14
- this.host = host;
15
- this.port = port;
16
- this.engine = new Engine(this);
17
- this.datastore = new Datastore(this);
18
- }
19
-
20
- async get(url, data = {}) {
21
- return await this.request(url, 'GET', data);
22
-
23
- }
24
- async post(url, data = {}) {
25
- return await this.request(url, 'POST', data);
26
-
27
- }
28
- async put(url, data = {}) {
29
- return await this.request(url, 'PUT', data);
30
-
31
- }
32
- async del(url, data = {}) {
33
- return await this.request(url, 'DELETE', data);
34
-
35
- }
36
- async request(url, method, params) {
37
-
38
- var options;
39
-
40
- var body = JSON.stringify(params);
41
-
42
- if (params) {
43
- options = {
44
- host: this.host,
45
- port: this.port,
46
- path: '/api/' + url,
47
- method: method,
48
- headers: {
49
- "Content-Type": "application/json",
50
- "Content-Length": Buffer.byteLength(body)
51
- }
52
- };
53
- }
54
- else {
55
- options = {
56
- host: this.host,
57
- port: this.port,
58
- path: '/api/' + url,
59
- method: method
60
- };
61
- }
62
- console.log(options);
63
- let data = '';
64
- let self = this;
65
- return new Promise(function (resolve, reject) {
66
- try {
67
-
68
- http.request(options, function (res) {
69
- console.log('STATUS: ' + res.statusCode);
70
- // console.log('HEADERS: ' + JSON.stringify(res.headers));
71
- self.statusCode = res.statusCode;
72
- res.setEncoding('utf8');
73
- res.on('data', function (chunk) {
74
- data += chunk;
75
- });
76
- res.on('end', () => {
77
- // console.log(JSON.parse(data));
78
- self.result = JSON.parse(data);
79
-
80
- resolve(self.result);
81
- });
82
-
83
-
84
- }).on("error", (err) => {
85
- console.log("Error: " + err.message);
86
- reject(err);
87
- }).end(body);
88
- }
89
- catch (exc) {
90
- console.log(exc);
91
- }
92
-
93
- });
94
-
95
- }
96
-
97
- getItem(id) {
98
- if (!this.result.instance) {
99
- console.log(this.result);
100
- return;
101
- }
102
- return this.result.instance.items.filter(item => { return item.elementId == id; })[0];
103
- }
104
- }
105
-
106
- class Engine {
107
- private client: BPMNClient;
108
-
109
- constructor(client) {
110
- this.client = client;
111
- }
112
- async start({ name, data }) {
113
- return await this.client.post('engine/start', { name, data });
114
- }
115
- async invoke({ query, data }) {
116
- return await this.client.put('engine/invoke', { query, data });
117
- }
118
- async get(query) {
119
- return await this.client.get('engine/get', query);
120
- }
121
- }
122
- class Datastore {
123
- private client: BPMNClient;
124
-
125
- constructor(client) {
126
- this.client = client;
127
- }
128
- async findItems(query) {
129
- return await this.client.get('datastore/findItems', query);
130
- }
131
- async findInsances(query) {
132
- return await this.client.get('datastore/findInstances', query);
133
- }
134
- async deleteInstances(query) {
135
- return await this.client.del('datastore/delete', query);
136
- }
137
- }
138
-
139
- export { BPMNClient , Engine}
package/index.d.ts DELETED
@@ -1,36 +0,0 @@
1
- declare class BPMNClient {
2
- host: any;
3
- port: any;
4
- statusCode: any;
5
- result: any;
6
- engine: Engine;
7
- datastore: Datastore;
8
- constructor(host: any, port: any);
9
- get(url: any, data?: {}): Promise<unknown>;
10
- post(url: any, data?: {}): Promise<unknown>;
11
- put(url: any, data?: {}): Promise<unknown>;
12
- del(url: any, data?: {}): Promise<unknown>;
13
- request(url: any, method: any, params: any): Promise<unknown>;
14
- getItem(id: any): any;
15
- }
16
- declare class Engine {
17
- private client;
18
- constructor(client: any);
19
- start({ name, data }: {
20
- name: any;
21
- data: any;
22
- }): Promise<unknown>;
23
- invoke({ query, data }: {
24
- query: any;
25
- data: any;
26
- }): Promise<unknown>;
27
- get(query: any): Promise<unknown>;
28
- }
29
- declare class Datastore {
30
- private client;
31
- constructor(client: any);
32
- findItems(query: any): Promise<unknown>;
33
- findInsances(query: any): Promise<unknown>;
34
- deleteInstances(query: any): Promise<unknown>;
35
- }
36
- export { BPMNClient, Engine };
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}