@credithub/harlan-components 1.111.1 → 1.111.2
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/dist/components/section.js +5 -3
- package/dist/components/webservice.js +79 -14
- package/lib/cjs/index.js +66 -18
- package/lib/esm/index.js +66 -18
- package/package.json +1 -1
|
@@ -77,9 +77,11 @@ var useSectionPrintBlocker = function (ctx, title, enabled, registerBlocker, res
|
|
|
77
77
|
var Section = forwardRef(function (_a, ref) {
|
|
78
78
|
var onSuccess = _a.onSuccess, _b = _a.isError, isError = _b === void 0 ? function (err, ctx) {
|
|
79
79
|
var shouldPush = (err === null || err === void 0 ? void 0 : err.push) === true;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
// Se push === true, não exibir erro (caso esperado, tratar como sucesso)
|
|
81
|
+
if (shouldPush) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
var message = 'Problemas de comunicação, tente novamente.';
|
|
83
85
|
return {
|
|
84
86
|
children: React.createElement(React.Fragment, null),
|
|
85
87
|
description: (React.createElement(React.Fragment, null,
|
|
@@ -109,6 +109,31 @@ var extractWarningFromDocument = function (document) {
|
|
|
109
109
|
}
|
|
110
110
|
return null;
|
|
111
111
|
};
|
|
112
|
+
var extractExceptionFromDocument = function (document) {
|
|
113
|
+
var _a, _b;
|
|
114
|
+
if (!document)
|
|
115
|
+
return null;
|
|
116
|
+
if (isDocument(document)) {
|
|
117
|
+
var header = document.querySelector('header');
|
|
118
|
+
if (!header)
|
|
119
|
+
return null;
|
|
120
|
+
var exceptionElement = (_a = header.querySelector('exception, Exception, EXCEPTION')) !== null && _a !== void 0 ? _a : null;
|
|
121
|
+
if (exceptionElement) {
|
|
122
|
+
var message = ((_b = exceptionElement.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || '';
|
|
123
|
+
var pushAttr = exceptionElement.getAttribute('push');
|
|
124
|
+
var push = pushAttr === 'true';
|
|
125
|
+
return { message: message, push: push };
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
};
|
|
131
|
+
var isErrorWithPush = function (error) {
|
|
132
|
+
if (error && typeof error === 'object') {
|
|
133
|
+
return (error === null || error === void 0 ? void 0 : error.push) === true;
|
|
134
|
+
}
|
|
135
|
+
return false;
|
|
136
|
+
};
|
|
112
137
|
export function CustomProvider(Provider, query) {
|
|
113
138
|
return function (_a) {
|
|
114
139
|
var children = _a.children, data = _a.data, urlData = _a.urlData, _b = _a.depends, depends = _b === void 0 ? [] : _b;
|
|
@@ -167,11 +192,22 @@ export function CustomProvider(Provider, query) {
|
|
|
167
192
|
})
|
|
168
193
|
.catch(function (requestError) {
|
|
169
194
|
if (requestError.name !== 'AbortError') {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
195
|
+
// Se o erro tem push === true, não tratar como erro (caso esperado)
|
|
196
|
+
if (isErrorWithPush(requestError)) {
|
|
197
|
+
// Tratar como sucesso (sem erro)
|
|
198
|
+
setError(null);
|
|
199
|
+
setRequestCompleted(true);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
setError(requestError instanceof Error
|
|
203
|
+
? requestError
|
|
204
|
+
: new Error(String(requestError)));
|
|
205
|
+
setRequestCompleted(true);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
setRequestCompleted(true);
|
|
173
210
|
}
|
|
174
|
-
setRequestCompleted(true);
|
|
175
211
|
})
|
|
176
212
|
.finally(function () {
|
|
177
213
|
setLoading(false);
|
|
@@ -308,11 +344,22 @@ export function useQuery(query, data, enabled) {
|
|
|
308
344
|
})
|
|
309
345
|
.catch(function (requestError) {
|
|
310
346
|
if (requestError.name !== 'AbortError') {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
347
|
+
// Se o erro tem push === true, não tratar como erro (caso esperado)
|
|
348
|
+
if (isErrorWithPush(requestError)) {
|
|
349
|
+
// Tratar como sucesso (sem erro)
|
|
350
|
+
setError(null);
|
|
351
|
+
setProgress(100);
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
setError(requestError instanceof Error
|
|
355
|
+
? requestError
|
|
356
|
+
: new Error(String(requestError)));
|
|
357
|
+
setProgress(100);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
setProgress(100);
|
|
314
362
|
}
|
|
315
|
-
setProgress(100);
|
|
316
363
|
})
|
|
317
364
|
.finally(function () {
|
|
318
365
|
setIsLoading(false);
|
|
@@ -369,9 +416,18 @@ export function useMutation(query, data) {
|
|
|
369
416
|
})
|
|
370
417
|
.then(function (document) { return setResponse(document); })
|
|
371
418
|
.catch(function (requestError) {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
419
|
+
if (requestError.name !== 'AbortError') {
|
|
420
|
+
// Se o erro tem push === true, não tratar como erro (caso esperado)
|
|
421
|
+
if (isErrorWithPush(requestError)) {
|
|
422
|
+
// Tratar como sucesso (sem erro)
|
|
423
|
+
setError(null);
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
setError(requestError instanceof Error
|
|
427
|
+
? requestError
|
|
428
|
+
: new Error(String(requestError)));
|
|
429
|
+
}
|
|
430
|
+
}
|
|
375
431
|
})
|
|
376
432
|
.finally(function () { return setIsLoading(false); });
|
|
377
433
|
}, [client, query, mergedData, defaultUrlData, abortController]);
|
|
@@ -401,9 +457,18 @@ export function useFetch(query) {
|
|
|
401
457
|
return document;
|
|
402
458
|
})
|
|
403
459
|
.catch(function (requestError) {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
460
|
+
if (requestError.name !== 'AbortError') {
|
|
461
|
+
// Se o erro tem push === true, não tratar como erro (caso esperado)
|
|
462
|
+
if (isErrorWithPush(requestError)) {
|
|
463
|
+
// Tratar como sucesso (sem erro)
|
|
464
|
+
setError(null);
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
setError(requestError instanceof Error
|
|
468
|
+
? requestError
|
|
469
|
+
: new Error(String(requestError)));
|
|
470
|
+
}
|
|
471
|
+
}
|
|
407
472
|
})
|
|
408
473
|
.finally(function () { return setIsLoading(false); })];
|
|
409
474
|
});
|