@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.
@@ -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
- var message = shouldPush
81
- ? err.message
82
- : 'Problemas de comunicação, tente novamente.';
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
- setError(requestError instanceof Error
171
- ? requestError
172
- : new Error(String(requestError)));
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
- setError(requestError instanceof Error
312
- ? requestError
313
- : new Error(String(requestError)));
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
- return setError(requestError instanceof Error && requestError.name !== 'AbortError'
373
- ? requestError
374
- : new Error(requestError));
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
- return setError(requestError instanceof Error && requestError.name !== 'AbortError'
405
- ? requestError
406
- : new Error(requestError));
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
  });