@sankhyalabs/core 1.0.30 → 1.0.31
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.
|
@@ -8,8 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { LoadStateManager, LoadType } from "./state/LoadStateManager";
|
|
11
|
-
import { DataType } from "./../../dataunit/metadata/DataType";
|
|
12
|
-
import { UserInterface } from "./../../dataunit/metadata/UnitMetadata";
|
|
13
11
|
import { batchRequests } from 'graphql-request';
|
|
14
12
|
export class HttpFetcher {
|
|
15
13
|
constructor() {
|
|
@@ -25,52 +23,26 @@ export class HttpFetcher {
|
|
|
25
23
|
callGraphQL(req) {
|
|
26
24
|
var _a;
|
|
27
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const reqKey = this.getReqKey(req);
|
|
27
|
+
req.queryID = reqKey;
|
|
28
|
+
req.values.queryID = reqKey;
|
|
28
29
|
if (HttpFetcher.loadStateManager.isPreInitialize()) {
|
|
29
|
-
const reqKey = this.getReqKey(req);
|
|
30
|
-
req.queryID = reqKey;
|
|
31
|
-
req.values.queryID = reqKey;
|
|
32
30
|
if (!HttpFetcher.watingRequestsById.has(reqKey)) {
|
|
33
31
|
HttpFetcher.watingRequestsById.set(reqKey, new WaitingRequest(req));
|
|
34
32
|
}
|
|
35
33
|
return (_a = HttpFetcher.getWatingRequest(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
|
|
36
34
|
}
|
|
37
35
|
else {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: "NOMEPARC",
|
|
51
|
-
label: "Nome",
|
|
52
|
-
dataType: DataType.TEXT,
|
|
53
|
-
userInterface: UserInterface.LONGTEXT,
|
|
54
|
-
required: true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: "P",
|
|
58
|
-
label: "pera",
|
|
59
|
-
dataType: DataType.TEXT,
|
|
60
|
-
userInterface: UserInterface.OPTIONSELECTOR,
|
|
61
|
-
properties: { options: `{"M": "Madura", "V": "Verde", "P": "Passada"}` }
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
name: "ME",
|
|
65
|
-
label: "ME",
|
|
66
|
-
dataType: DataType.NUMBER,
|
|
67
|
-
userInterface: UserInterface.DECIMALNUMBER,
|
|
68
|
-
properties: { precision: 4, prettyPrecision: 1 }
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
};
|
|
72
|
-
setTimeout(() => resolve(md));
|
|
73
|
-
});
|
|
36
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
let query = HttpFetcher.getQueryTemplate(req);
|
|
38
|
+
const res = yield HttpFetcher.fecthGrapql([{ document: query, variables: req.values }]);
|
|
39
|
+
if (res.errors.length > 0) {
|
|
40
|
+
reject(res);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
resolve(res.data);
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
74
46
|
}
|
|
75
47
|
});
|
|
76
48
|
}
|
|
@@ -85,16 +57,43 @@ export class HttpFetcher {
|
|
|
85
57
|
}
|
|
86
58
|
onApplicationLoaded() {
|
|
87
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
60
|
+
if (HttpFetcher.watingRequestsById.size > 0) {
|
|
61
|
+
const requestsBatch = [];
|
|
62
|
+
HttpFetcher.watingRequestsById.forEach((waitingReq) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
let query = HttpFetcher.getQueryTemplate(waitingReq.request);
|
|
64
|
+
requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
|
|
65
|
+
}));
|
|
66
|
+
let res = undefined;
|
|
67
|
+
let dataResponse = [];
|
|
68
|
+
let errorsResponse = [];
|
|
69
|
+
res = yield HttpFetcher.fecthGrapql(requestsBatch);
|
|
70
|
+
dataResponse = res.data;
|
|
71
|
+
errorsResponse = res.errors;
|
|
72
|
+
//Reject promises with errors from query
|
|
73
|
+
errorsResponse.forEach((errorResponse) => {
|
|
74
|
+
Object.entries(errorResponse).forEach(([key, val]) => {
|
|
75
|
+
var _a;
|
|
76
|
+
(((_a = HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(val);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//Resolve promises with data from query
|
|
80
|
+
dataResponse.forEach((data) => {
|
|
81
|
+
Object.entries(data).forEach(([key, val]) => {
|
|
82
|
+
var _a;
|
|
83
|
+
(((_a = HttpFetcher.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
HttpFetcher.watingRequestsById.clear();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
static fecthGrapql(request) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
92
|
let res = undefined;
|
|
94
93
|
let dataResponse = [];
|
|
95
94
|
let errorsResponse = [];
|
|
96
95
|
try {
|
|
97
|
-
res = yield batchRequests('http://localhost:8082/',
|
|
96
|
+
res = yield batchRequests('http://localhost:8082/', request);
|
|
98
97
|
res.forEach((resItem) => {
|
|
99
98
|
dataResponse.push(resItem.data);
|
|
100
99
|
});
|
|
@@ -115,21 +114,7 @@ export class HttpFetcher {
|
|
|
115
114
|
}
|
|
116
115
|
});
|
|
117
116
|
}
|
|
118
|
-
|
|
119
|
-
errorsResponse.forEach((errorResponse) => {
|
|
120
|
-
Object.entries(errorResponse).forEach(([key, val]) => {
|
|
121
|
-
var _a;
|
|
122
|
-
(((_a = HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(val);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
//Resolve primises with data from query
|
|
126
|
-
dataResponse.forEach((data) => {
|
|
127
|
-
Object.entries(data).forEach(([key, val]) => {
|
|
128
|
-
var _a;
|
|
129
|
-
(((_a = HttpFetcher.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
HttpFetcher.watingRequestsById.clear();
|
|
117
|
+
return { data: dataResponse, errors: errorsResponse };
|
|
133
118
|
});
|
|
134
119
|
}
|
|
135
120
|
//TODO: Mover este metodo para o @sankhyalabs/core classe string utils.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpFetcher.js","sourceRoot":"","sources":["../../../src/http/data-fetcher/HttpFetcher.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"HttpFetcher.js","sourceRoot":"","sources":["../../../src/http/data-fetcher/HttpFetcher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { LoadStateManager, LoadType } from "./state/LoadStateManager";
|
|
2
|
-
import { DataType } from "./../../dataunit/metadata/DataType";
|
|
3
|
-
import { UserInterface } from "./../../dataunit/metadata/UnitMetadata";
|
|
4
2
|
import { batchRequests, BatchRequestDocument } from 'graphql-request';
|
|
5
3
|
|
|
6
4
|
export class HttpFetcher{
|
|
@@ -21,52 +19,25 @@ export class HttpFetcher{
|
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
public async callGraphQL(req:any):Promise<any>{
|
|
22
|
+
const reqKey = this.getReqKey(req);
|
|
23
|
+
req.queryID = reqKey;
|
|
24
|
+
req.values.queryID = reqKey;
|
|
24
25
|
if(HttpFetcher.loadStateManager.isPreInitialize()){
|
|
25
|
-
const reqKey = this.getReqKey(req);
|
|
26
|
-
req.queryID = reqKey;
|
|
27
|
-
req.values.queryID = reqKey;
|
|
28
|
-
|
|
29
26
|
if(!HttpFetcher.watingRequestsById.has(reqKey)){
|
|
30
27
|
HttpFetcher.watingRequestsById.set(reqKey, new WaitingRequest(req));
|
|
31
28
|
}
|
|
32
29
|
return HttpFetcher.getWatingRequest(reqKey)?.promise;
|
|
33
30
|
}else{
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: "NOMEPARC",
|
|
47
|
-
label: "Nome",
|
|
48
|
-
dataType: DataType.TEXT,
|
|
49
|
-
userInterface: UserInterface.LONGTEXT,
|
|
50
|
-
required: true
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "P",
|
|
54
|
-
label: "pera",
|
|
55
|
-
dataType: DataType.TEXT,
|
|
56
|
-
userInterface: UserInterface.OPTIONSELECTOR,
|
|
57
|
-
properties: {options: `{"M": "Madura", "V": "Verde", "P": "Passada"}`}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: "ME",
|
|
61
|
-
label: "ME",
|
|
62
|
-
dataType: DataType.NUMBER,
|
|
63
|
-
userInterface: UserInterface.DECIMALNUMBER,
|
|
64
|
-
properties: {precision: 4, prettyPrecision: 1}
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
setTimeout(() => resolve(md));
|
|
69
|
-
});
|
|
31
|
+
return new Promise(async (resolve, reject) => {
|
|
32
|
+
let query = HttpFetcher.getQueryTemplate(req);
|
|
33
|
+
const res = await HttpFetcher.fecthGrapql([{document: query, variables: req.values }]);
|
|
34
|
+
|
|
35
|
+
if (res.errors.length > 0) {
|
|
36
|
+
reject(res);
|
|
37
|
+
} else {
|
|
38
|
+
resolve(res.data);
|
|
39
|
+
}
|
|
40
|
+
})
|
|
70
41
|
}
|
|
71
42
|
}
|
|
72
43
|
|
|
@@ -83,19 +54,45 @@ export class HttpFetcher{
|
|
|
83
54
|
}
|
|
84
55
|
|
|
85
56
|
private async onApplicationLoaded():Promise<any>{
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
57
|
+
if(HttpFetcher.watingRequestsById.size > 0){
|
|
58
|
+
const requestsBatch:Array<BatchRequestDocument> = [];
|
|
59
|
+
|
|
60
|
+
HttpFetcher.watingRequestsById.forEach(async (waitingReq:WaitingRequest) => {
|
|
61
|
+
let query = HttpFetcher.getQueryTemplate(waitingReq.request);
|
|
62
|
+
requestsBatch.push({ document: query, variables: {...waitingReq.request.values } });
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
let res:any = undefined;
|
|
66
|
+
let dataResponse:Array<any> = [];
|
|
67
|
+
let errorsResponse:Array<any> = [];
|
|
68
|
+
res = await HttpFetcher.fecthGrapql(requestsBatch);
|
|
69
|
+
|
|
70
|
+
dataResponse = res.data;
|
|
71
|
+
errorsResponse = res.errors;
|
|
72
|
+
|
|
73
|
+
//Reject promises with errors from query
|
|
74
|
+
errorsResponse.forEach((errorResponse:any) => {
|
|
75
|
+
Object.entries(errorResponse).forEach(([key, val]:Array<any>) => {
|
|
76
|
+
(HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)?.reject || Promise.reject)(val);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//Resolve promises with data from query
|
|
80
|
+
dataResponse.forEach((data:any) => {
|
|
81
|
+
Object.entries(data).forEach(([key, val]:Array<any>) => {
|
|
82
|
+
(HttpFetcher.getWatingRequest(key)?.resolve || Promise.resolve)(val);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
HttpFetcher.watingRequestsById.clear();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
private static async fecthGrapql(request :Array<BatchRequestDocument>):Promise<any> {
|
|
93
90
|
let res:any = undefined;
|
|
94
91
|
let dataResponse:Array<any> = [];
|
|
95
92
|
let errorsResponse:Array<any> = [];
|
|
96
93
|
|
|
97
94
|
try{
|
|
98
|
-
res = await batchRequests('http://localhost:8082/',
|
|
95
|
+
res = await batchRequests('http://localhost:8082/', request);
|
|
99
96
|
res.forEach((resItem:any) => {
|
|
100
97
|
dataResponse.push(resItem.data);
|
|
101
98
|
});
|
|
@@ -114,19 +111,7 @@ export class HttpFetcher{
|
|
|
114
111
|
}
|
|
115
112
|
});
|
|
116
113
|
}
|
|
117
|
-
|
|
118
|
-
errorsResponse.forEach((errorResponse:any) => {
|
|
119
|
-
Object.entries(errorResponse).forEach(([key, val]:Array<any>) => {
|
|
120
|
-
(HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)?.reject || Promise.reject)(val);
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
//Resolve primises with data from query
|
|
124
|
-
dataResponse.forEach((data:any) => {
|
|
125
|
-
Object.entries(data).forEach(([key, val]:Array<any>) => {
|
|
126
|
-
(HttpFetcher.getWatingRequest(key)?.resolve || Promise.resolve)(val);
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
HttpFetcher.watingRequestsById.clear();
|
|
114
|
+
return {data: dataResponse, errors: errorsResponse}
|
|
130
115
|
}
|
|
131
116
|
|
|
132
117
|
//TODO: Mover este metodo para o @sankhyalabs/core classe string utils.
|