@credithub/harlan-components 1.22.2 → 1.23.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.
@@ -1,13 +1,26 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import ChequesSemFundoIcon from '../../assets/icones/chequesSemFundo';
13
+ import { useGlobalData } from '../../contexts/globalDataContext';
14
+ import XPathUtils from '../../utils/xpath';
1
15
  import React, { useContext } from 'react';
2
- import { Queries } from '../webservice';
3
16
  import { Result } from '../interface/result';
4
- import XPathUtils from '../../utils/xpath';
5
- import CCFList from './ccfList';
6
- import ChequesSemFundoIcon from '../../assets/icones/chequesSemFundo';
7
17
  import StatusMessage from '../interface/statusMessage';
18
+ import { Queries } from '../webservice';
19
+ import CCFList from './ccfList';
8
20
  var CCF = function () {
9
21
  var ctx = useContext(Queries.CCF);
10
22
  var Section = ctx.Section;
23
+ var setData = useGlobalData().setData;
11
24
  var mapNodeToCCFData = function (node) { return ({
12
25
  banco: XPathUtils.select('string(./banco)', node),
13
26
  agencia: XPathUtils.select('string(./agencia)', node),
@@ -22,6 +35,8 @@ var CCF = function () {
22
35
  });
23
36
  var ccfData = filteredItems.map(mapNodeToCCFData);
24
37
  var totalOcorrencias = XPathUtils.select('number(//sumQteOcorrencias)', data);
38
+ var ultimoRegistro = XPathUtils.select('string(//ultimo)', data);
39
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { ccf: totalOcorrencias || 0, ultimoRegistroCCF: ultimoRegistro || '' })); });
25
40
  var children = (ccfData === null || ccfData === void 0 ? void 0 : ccfData.length) ? (React.createElement(Result, null, ccfData.map(function (ccf, key) { return (React.createElement(CCFList, { key: key, data: [ccf] })); }))) : null;
26
41
  return {
27
42
  children: children,
@@ -20,14 +20,14 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- import React, { useContext } from 'react';
24
- import { Queries, RequestStatus } from '../webservice';
25
- import { formatDocument } from '../../utils/string';
26
- import StatusMessage from '../interface/statusMessage';
27
- import Section from '../interface/section';
28
23
  import ConsultaSimplesIcon from '../../assets/icones/consultaSimples';
29
- import XPathUtils from '../../utils/xpath';
24
+ import { useGlobalData } from '../../contexts/globalDataContext';
30
25
  import { formatMoney } from '../../utils/number';
26
+ import { formatDocument } from '../../utils/string';
27
+ import React, { useContext } from 'react';
28
+ import Section from '../interface/section';
29
+ import StatusMessage from '../interface/statusMessage';
30
+ import { Queries, RequestStatus } from '../webservice';
31
31
  var getPossuiPendenciaText = function (_a) {
32
32
  var ccf = _a.ccf, ultimoRegistroCCF = _a.ultimoRegistroCCF, dividasPublicas = _a.dividasPublicas, protestos = _a.protestos, processosJuridicos = _a.processosJuridicos;
33
33
  return [
@@ -50,25 +50,14 @@ var getPossuiPendenciaText = function (_a) {
50
50
  ].filter(function (x) { return !!x; });
51
51
  };
52
52
  var ConsultaSimplesSection = function (_a) {
53
- var _b, _c;
54
53
  var documento = _a.documento, children = _a.children, onClose = _a.onClose, rest = __rest(_a, ["documento", "children", "onClose"]);
55
54
  var ctx = useContext(Queries.Finder);
56
- var ctxProtestos = useContext(Queries.Protestos);
57
- var ctxCCF = useContext(Queries.CCF);
58
- var ctxProcessosJuridicos = useContext(Queries.ProcessosJuridicos);
59
- var protestos = select('number(//registros)', getDataFromRequestContext(ctxProtestos));
60
- var ccf = select('number(//sumQteOcorrencias)', getDataFromRequestContext(ctxCCF));
61
- var dividasPublicas = select('number(//dividas/resumo/valor_total_dividas)', getDataFromRequestContext(ctx));
62
- var ultimoRegistroCCF = select('string(//ultimaOcorrencia)', getDataFromRequestContext(ctxCCF));
63
- var processosJuridicos = ((_c = (_b = getDataFromRequestContext(ctxProcessosJuridicos)) === null || _b === void 0 ? void 0 : _b.empresa) === null || _c === void 0 ? void 0 : _c.length) || 0;
64
- var possuiPendencias = ccf || protestos || dividasPublicas || processosJuridicos;
65
- var possuiPendenciaText = getPossuiPendenciaText({
66
- dividasPublicas: dividasPublicas,
67
- ultimoRegistroCCF: ultimoRegistroCCF,
68
- ccf: ccf,
69
- protestos: protestos,
70
- processosJuridicos: processosJuridicos
71
- });
55
+ var data = useGlobalData().data;
56
+ var possuiPendencias = data.ccf ||
57
+ data.protestos ||
58
+ data.dividasPublicas ||
59
+ data.processosJuridicos;
60
+ var possuiPendenciaText = getPossuiPendenciaText(data);
72
61
  var isError = (ctx === null || ctx === void 0 ? void 0 : ctx.type) === RequestStatus.Error;
73
62
  var isLoading = (ctx === null || ctx === void 0 ? void 0 : ctx.type) === RequestStatus.Loading;
74
63
  var statusType = isError
@@ -80,14 +69,4 @@ var ConsultaSimplesSection = function (_a) {
80
69
  React.createElement(StatusMessage, { type: "found" }, formatDocument(documento)),
81
70
  possuiPendenciaText.length ? (possuiPendenciaText.map(function (text) { return (React.createElement(StatusMessage, { key: text, type: "error" }, text)); })) : (React.createElement(StatusMessage, { type: statusType }, isError ? ctx === null || ctx === void 0 ? void 0 : ctx.error.message : 'Nenhum registro encontrado'))), onClose: onClose, icon: ConsultaSimplesIcon, variant: isLoading ? 'loading' : 'default' }, rest), children));
82
71
  };
83
- function getDataFromRequestContext(ctx) {
84
- if (ctx.type != RequestStatus.Success)
85
- return null;
86
- return ctx === null || ctx === void 0 ? void 0 : ctx.document;
87
- }
88
- function select(expression, document) {
89
- if (!document)
90
- return null;
91
- return XPathUtils.select(expression, document);
92
- }
93
72
  export default ConsultaSimplesSection;
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
13
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
14
  if (ar || !(i in from)) {
@@ -7,17 +18,19 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
7
18
  }
8
19
  return to.concat(ar || Array.prototype.slice.call(from));
9
20
  };
10
- import React, { memo, useContext } from 'react';
11
- import { Queries } from '../webservice';
21
+ import DividasVencidasSerasaIcon from '../../assets/icones/dividasVencidasSerasa';
22
+ import { useGlobalData } from '../../contexts/globalDataContext';
23
+ import { formatMoney } from '../../utils/number';
12
24
  import XPathUtils from '../../utils/xpath';
13
- import { Result, ResultContent } from '../interface/result';
25
+ import React, { memo, useContext } from 'react';
14
26
  import AddItemField from '../common/addItem';
15
- import { formatMoney } from '../../utils/number';
16
- import DividasVencidasSerasaIcon from '../../assets/icones/dividasVencidasSerasa';
27
+ import { Result, ResultContent } from '../interface/result';
17
28
  import StatusMessage from '../interface/statusMessage';
29
+ import { Queries } from '../webservice';
18
30
  var DividasPublicas = function () {
19
31
  var ctx = useContext(Queries.Finder);
20
32
  var Section = ctx.Section;
33
+ var setData = useGlobalData().setData;
21
34
  return (React.createElement(Section, { title: "Dividas P\u00FAblicas", icon: DividasVencidasSerasaIcon, subtitle: "Vejas as d\u00EDvidas p\u00FAblicas com a Uni\u00E3o (ativa, FGTS e previdenci\u00E1ria).", onSuccess: function (document) {
22
35
  var parseDividas = function (tipo) { return function (divida) { return ({
23
36
  nomeDoDevedor: XPathUtils.select('string(./nome_devedor)', divida),
@@ -34,6 +47,8 @@ var DividasPublicas = function () {
34
47
  tipoDeDivida: tipo
35
48
  }); }; };
36
49
  var dividas = __spreadArray(__spreadArray(__spreadArray([], XPathUtils.selectArray('//dividas/fgts/divida', document).map(parseDividas('FGTS')), true), XPathUtils.selectArray('//dividas/previdenciaria/divida', document).map(parseDividas('Previdenciária')), true), XPathUtils.selectArray('//dividas/ativa-geral/divida', document).map(parseDividas('Divida Ativa União')), true);
50
+ var dividasPublicas = XPathUtils.select('number(//dividas/resumo/valor_total_dividas)', document);
51
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { dividasPublicas: dividasPublicas || 0 })); });
37
52
  var totalOcorrencias = dividas === null || dividas === void 0 ? void 0 : dividas.length;
38
53
  var children = totalOcorrencias ? (React.createElement(Result, null,
39
54
  React.createElement(DividasPublicasList, { dividas: dividas }))) : null;
@@ -1,15 +1,29 @@
1
- import React, { useContext } from 'react';
2
- import ProcessosJuridicosList from './processosJuridicosList';
3
- import { Queries } from '../webservice';
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
4
12
  import ProcessosJuridicosIcon from '../../assets/icones/processosJuridicos';
13
+ import { useGlobalData } from '../../contexts/globalDataContext';
14
+ import React, { useContext } from 'react';
5
15
  import StatusMessage from '../interface/statusMessage';
16
+ import { Queries } from '../webservice';
17
+ import ProcessosJuridicosList from './processosJuridicosList';
6
18
  var ProcessosJuridicos = function (_a) {
7
19
  var onClickConsultarProcessoJuridico = _a.onClickConsultarProcessoJuridico;
8
20
  var ctx = useContext(Queries.ProcessosJuridicos);
9
21
  var Section = ctx.Section;
22
+ var setData = useGlobalData().setData;
10
23
  return (React.createElement(Section, { ctx: ctx, title: "Processos Jur\u00EDdicos", subtitle: "Veja os processos jur\u00EDdicos para este documento.", icon: ProcessosJuridicosIcon, onSuccess: function (data) {
11
24
  var _a, _b;
12
25
  var qtyProcessos = (_a = data === null || data === void 0 ? void 0 : data.empresa) === null || _a === void 0 ? void 0 : _a.length;
26
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { processosJuridicos: qtyProcessos || 0 })); });
13
27
  var children = qtyProcessos ? (React.createElement(ProcessosJuridicosList, { processos: data === null || data === void 0 ? void 0 : data.empresa, onClickConsultarProcessoJuridico: onClickConsultarProcessoJuridico })) : null;
14
28
  return {
15
29
  children: children,
@@ -2,24 +2,38 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
5
16
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
- import React, { useContext } from 'react';
7
- import { Queries } from '../webservice';
8
- import ProtestosCategory from './protestosCategory';
9
- import { ProtestoItem } from './protestosList';
10
- import XPathUtils from '../../utils/xpath';
11
- import { REGEX_PROTESTOS_DE_CREDITO, REGEX_PROTESTOS_DE_IMPOSTO } from '../../constants/regex';
12
17
  import ProtestosIcon from '../../assets/icones/protestos';
13
- import ProtestosGeraisIcon from '../../assets/icones/protestosGerais';
14
18
  import ProtestosCreditoIcon from '../../assets/icones/protestosCredito';
19
+ import ProtestosGeraisIcon from '../../assets/icones/protestosGerais';
15
20
  import ProtestosImpostosIcon from '../../assets/icones/protestosImpostos';
16
- import StatusMessage from '../interface/statusMessage';
17
- import styled from 'styled-components';
21
+ import { REGEX_PROTESTOS_DE_CREDITO, REGEX_PROTESTOS_DE_IMPOSTO } from '../../constants/regex';
22
+ import { useGlobalData } from '../../contexts/globalDataContext';
23
+ import { extractIntegerFromText } from '../../utils/number';
18
24
  import { formatDatePtBrToDate } from '../../utils/string';
25
+ import XPathUtils from '../../utils/xpath';
26
+ import React, { useContext } from 'react';
27
+ import styled from 'styled-components';
28
+ import StatusMessage from '../interface/statusMessage';
29
+ import { Queries } from '../webservice';
30
+ import ProtestosCategory from './protestosCategory';
31
+ import { ProtestoItem } from './protestosList';
19
32
  var ResultProtestos = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n row-gap: 20px;\n margin-top: 20px;\n"], ["\n display: flex;\n flex-direction: column;\n row-gap: 20px;\n margin-top: 20px;\n"])));
20
33
  var Protestos = function () {
21
34
  var ctx = useContext(Queries.Protestos);
22
35
  var Section = ctx.Section;
36
+ var setData = useGlobalData().setData;
23
37
  var filterProtestos = function (regex, data) {
24
38
  return XPathUtils.selectArray('//body//protesto', data).filter(function (protesto) {
25
39
  return regex.test(XPathUtils.select('string(./nomeCedente)', protesto));
@@ -31,7 +45,9 @@ var Protestos = function () {
31
45
  return ((_a = formatDatePtBrToDate(XPathUtils.select('string(./dataProtesto)', protesto2))) === null || _a === void 0 ? void 0 : _a.getTime()) -
32
46
  ((_b = formatDatePtBrToDate(XPathUtils.select('string(./dataProtesto)', protesto))) === null || _b === void 0 ? void 0 : _b.getTime());
33
47
  };
34
- var registros = XPathUtils.select('number(//registros)', data);
48
+ var registrosText = XPathUtils.select('string(//registros)', data);
49
+ var registros = extractIntegerFromText(registrosText);
50
+ setData(function (prevState) { return (__assign(__assign({}, prevState), { protestos: registros })); });
35
51
  var protestosDeCredito = filterProtestos(REGEX_PROTESTOS_DE_CREDITO, data).sort(byDate);
36
52
  var protestosDeImposto = filterProtestos(REGEX_PROTESTOS_DE_IMPOSTO, data).sort(byDate);
37
53
  var protestosGerais = XPathUtils.selectArray('//body//protesto', data)
@@ -2,19 +2,20 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
+ import { Chart, registerables } from 'chart.js';
5
6
  import React from 'react';
6
- import { Contacts, Partners, Dossie, Addresses, CCF, Protestos, ProcessosJuridicos, BankAccounts, WebServiceProvider, Queries, RefinSerasa, RefinBoaVista, Veiculos, ChartSystem, DividasPublicas } from './';
7
+ import styled from 'styled-components';
8
+ import { Addresses, BankAccounts, CCF, ChartSystem, Contacts, DividasPublicas, Dossie, Partners, ProcessosJuridicos, Protestos, Queries, RefinBoaVista, RefinSerasa, Veiculos, WebServiceProvider } from './';
9
+ import { ConsultaRfbProvider } from './components/consultaRfb';
10
+ import ConsultaSimplesSection from './components/consultaSimplesSection/consultaSimplesSection';
7
11
  import { ConsultasComplementaresProvider } from './components/consultasComplementares';
8
- import ConsultaSCR from './components/scr/scr';
9
- import ConsultaScore from './components/score/scoreService';
12
+ import Dominios from './components/dominios/dominios';
10
13
  import ConsultaImoveis from './components/imoveis/imoveisService';
11
14
  import GlobalStyle from './components/interface/globalStyle';
12
- import { ConsultaRfbProvider } from './components/consultaRfb';
13
- import styled from 'styled-components';
14
- import { Chart, registerables } from 'chart.js';
15
- import Dominios from './components/dominios/dominios';
16
15
  import Liminar from './components/liminar/liminar';
17
- import ConsultaSimplesSection from './components/consultaSimplesSection/consultaSimplesSection';
16
+ import ConsultaScore from './components/score/scoreService';
17
+ import ConsultaSCR from './components/scr/scr';
18
+ import { GlobalDataProvider } from './contexts/globalDataContext';
18
19
  Chart.register.apply(Chart, registerables);
19
20
  var Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-family: 'Open Sans Condensed';\n display: flex;\n flex-direction: column;\n gap: 20px;\n\n * {\n -webkit-print-color-adjust: exact !important;\n color-adjust: exact !important;\n print-color-adjust: exact !important;\n }\n\n @media print {\n @page {\n size: auto;\n margin: 5mm;\n }\n }\n"], ["\n font-family: 'Open Sans Condensed';\n display: flex;\n flex-direction: column;\n gap: 20px;\n\n * {\n -webkit-print-color-adjust: exact !important;\n color-adjust: exact !important;\n print-color-adjust: exact !important;\n }\n\n @media print {\n @page {\n size: auto;\n margin: 5mm;\n }\n }\n"])));
20
21
  var ConsultaSimples = function (_a) {
@@ -31,27 +32,28 @@ var ConsultaSimples = function (_a) {
31
32
  React.createElement(Queries.ProcessosJuridicos.Request, { data: { documento: documento } },
32
33
  React.createElement(Queries.Liminar.Request, { data: { documento: documento } },
33
34
  React.createElement(Wrapper, null,
34
- React.createElement(ConsultaSimplesSection, { documento: documento, onClose: onClose, onClickPrint: onClickPrint },
35
- React.createElement(ConsultaRfbProvider, { documento: documento },
36
- React.createElement(Dossie, { documento: documento }),
37
- React.createElement(Liminar, null),
38
- React.createElement(Addresses, { apiKey: apiKey }),
39
- React.createElement(Contacts, null),
40
- React.createElement(Partners, { onClickQSA: onClickQSA })),
41
- React.createElement(Dominios, null),
42
- React.createElement(BankAccounts, null),
43
- React.createElement(Queries.GraficosAnaliticos.Request, { data: { documento: documento } },
44
- React.createElement(ChartSystem, { documento: documento }),
45
- React.createElement(ConsultaSCR, { documento: documento }),
46
- React.createElement(RefinBoaVista, { documento: documento }),
47
- React.createElement(RefinSerasa, { documento: documento }),
48
- React.createElement(ConsultaScore, { documento: documento }),
49
- React.createElement(ConsultaImoveis, { documento: documento }),
50
- React.createElement(Veiculos, { documento: documento })),
51
- React.createElement(Protestos, null),
52
- React.createElement(CCF, null),
53
- React.createElement(DividasPublicas, null),
54
- React.createElement(ProcessosJuridicos, { onClickConsultarProcessoJuridico: onClickConsultarProcessoJuridico })))))))))))));
35
+ React.createElement(GlobalDataProvider, null,
36
+ React.createElement(ConsultaSimplesSection, { documento: documento, onClose: onClose, onClickPrint: onClickPrint },
37
+ React.createElement(ConsultaRfbProvider, { documento: documento },
38
+ React.createElement(Dossie, { documento: documento }),
39
+ React.createElement(Liminar, null),
40
+ React.createElement(Addresses, { apiKey: apiKey }),
41
+ React.createElement(Contacts, null),
42
+ React.createElement(Partners, { onClickQSA: onClickQSA })),
43
+ React.createElement(Dominios, null),
44
+ React.createElement(BankAccounts, null),
45
+ React.createElement(Queries.GraficosAnaliticos.Request, { data: { documento: documento } },
46
+ React.createElement(ChartSystem, { documento: documento }),
47
+ React.createElement(ConsultaSCR, { documento: documento }),
48
+ React.createElement(RefinBoaVista, { documento: documento }),
49
+ React.createElement(RefinSerasa, { documento: documento }),
50
+ React.createElement(ConsultaScore, { documento: documento }),
51
+ React.createElement(ConsultaImoveis, { documento: documento }),
52
+ React.createElement(Veiculos, { documento: documento })),
53
+ React.createElement(Protestos, null),
54
+ React.createElement(CCF, null),
55
+ React.createElement(DividasPublicas, null),
56
+ React.createElement(ProcessosJuridicos, { onClickConsultarProcessoJuridico: onClickConsultarProcessoJuridico }))))))))))))));
55
57
  };
56
58
  export default ConsultaSimples;
57
59
  var templateObject_1;
@@ -0,0 +1,12 @@
1
+ import { FunctionComponent, ReactNode } from 'react';
2
+ export interface DataContextType<T> {
3
+ data: T;
4
+ setData: (update: Partial<T> | ((prevData: T) => Partial<T>)) => void;
5
+ }
6
+ declare function createDataContext<T>(defaultValue: T): {
7
+ DataProvider: FunctionComponent<{
8
+ children: ReactNode;
9
+ }>;
10
+ useData: () => DataContextType<T>;
11
+ };
12
+ export default createDataContext;
@@ -0,0 +1,38 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ // src/contexts/createDataContext.tsx
13
+ import React, { createContext, useContext, useState } from 'react';
14
+ function createDataContext(defaultValue) {
15
+ var DataContext = createContext({
16
+ data: defaultValue,
17
+ setData: function () { }
18
+ });
19
+ var DataProvider = function (_a) {
20
+ var children = _a.children;
21
+ var _b = useState(defaultValue), data = _b[0], setData = _b[1];
22
+ var updateData = function (update) {
23
+ setData(function (prevData) {
24
+ var newState = typeof update === 'function' ? update(prevData) : update;
25
+ for (var key in newState) {
26
+ if (newState[key] !== prevData[key]) {
27
+ return __assign(__assign({}, prevData), newState);
28
+ }
29
+ }
30
+ return prevData;
31
+ });
32
+ };
33
+ return (React.createElement(DataContext.Provider, { value: { data: data, setData: updateData } }, children));
34
+ };
35
+ var useData = function () { return useContext(DataContext); };
36
+ return { DataProvider: DataProvider, useData: useData };
37
+ }
38
+ export default createDataContext;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import GlobalState from '../types/globalState';
3
+ declare const GlobalDataProvider: import("react").FunctionComponent<{
4
+ children: import("react").ReactNode;
5
+ }>, useGlobalData: () => import("./createDataContext").DataContextType<GlobalState>;
6
+ export { GlobalDataProvider, useGlobalData };
@@ -0,0 +1,10 @@
1
+ import createDataContext from './createDataContext';
2
+ var initialState = {
3
+ protestos: 0,
4
+ ultimoRegistroCCF: '',
5
+ ccf: 0,
6
+ dividasPublicas: 0,
7
+ processosJuridicos: 0
8
+ };
9
+ var _a = createDataContext(initialState), GlobalDataProvider = _a.DataProvider, useGlobalData = _a.useData;
10
+ export { GlobalDataProvider, useGlobalData };
@@ -0,0 +1,8 @@
1
+ interface GlobalState {
2
+ protestos: number;
3
+ ultimoRegistroCCF: string;
4
+ ccf: number;
5
+ dividasPublicas: number;
6
+ processosJuridicos: number;
7
+ }
8
+ export default GlobalState;
@@ -0,0 +1 @@
1
+ export {};
@@ -2,3 +2,4 @@ export declare const formatMoney: (value?: string | number) => string;
2
2
  export declare const phoneMask: (value?: string) => string;
3
3
  export declare function formatValue(valor?: number): string | undefined;
4
4
  export declare function sum(valores: number[]): number;
5
+ export declare const extractIntegerFromText: (text: string | null) => number;
@@ -18,3 +18,9 @@ export function formatValue(valor) {
18
18
  export function sum(valores) {
19
19
  return valores.reduce(function (a, b) { return a + b; }, 0);
20
20
  }
21
+ export var extractIntegerFromText = function (text) {
22
+ if (!text)
23
+ return 0;
24
+ var parsed = parseInt(text, 10);
25
+ return isNaN(parsed) ? 0 : parsed;
26
+ };