@mmachadosantos/nfe-danfe-pdf 1.0.4

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 (135) hide show
  1. package/README.md +719 -0
  2. package/lib/application/helpers/generate-pdf/fontes/Times New Roman Bold Italic.ttf +0 -0
  3. package/lib/application/helpers/generate-pdf/fontes/Times New Roman Bold.ttf +0 -0
  4. package/lib/application/helpers/generate-pdf/fontes/Times New Roman Italic.ttf +0 -0
  5. package/lib/application/helpers/generate-pdf/fontes/Times New Roman.ttf +0 -0
  6. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Black.ttf +0 -0
  7. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-BlackItalic.ttf +0 -0
  8. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Bold.ttf +0 -0
  9. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-BoldItalic.ttf +0 -0
  10. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-ExtraBold.ttf +0 -0
  11. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-ExtraBoldItalic.ttf +0 -0
  12. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-ExtraLight.ttf +0 -0
  13. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-ExtraLightItalic.ttf +0 -0
  14. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Italic.ttf +0 -0
  15. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Light.ttf +0 -0
  16. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-LightItalic.ttf +0 -0
  17. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Medium.ttf +0 -0
  18. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-MediumItalic.ttf +0 -0
  19. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Regular.ttf +0 -0
  20. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-SemiBold.ttf +0 -0
  21. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-SemiBoldItalic.ttf +0 -0
  22. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-Thin.ttf +0 -0
  23. package/lib/application/helpers/generate-pdf/fontes/barlow-condensed/BarlowCondensed-ThinItalic.ttf +0 -0
  24. package/lib/application/helpers/generate-pdf/fontes/roboto-condensed/RobotoCondensed-Bold.ttf +0 -0
  25. package/lib/application/helpers/generate-pdf/fontes/roboto-condensed/RobotoCondensed-BoldItalic.ttf +0 -0
  26. package/lib/application/helpers/generate-pdf/fontes/roboto-condensed/RobotoCondensed-Italic.ttf +0 -0
  27. package/lib/application/helpers/generate-pdf/fontes/roboto-condensed/RobotoCondensed-Light.ttf +0 -0
  28. package/lib/application/helpers/generate-pdf/fontes/roboto-condensed/RobotoCondensed-LightItalic.ttf +0 -0
  29. package/lib/application/helpers/generate-pdf/fontes/roboto-condensed/RobotoCondensed-Regular.ttf +0 -0
  30. package/lib/application/helpers/generate-pdf/nfe/campo.d.ts +2 -0
  31. package/lib/application/helpers/generate-pdf/nfe/campo.js +15 -0
  32. package/lib/application/helpers/generate-pdf/nfe/cria-layout.d.ts +2 -0
  33. package/lib/application/helpers/generate-pdf/nfe/cria-layout.js +149 -0
  34. package/lib/application/helpers/generate-pdf/nfe/default.d.ts +23 -0
  35. package/lib/application/helpers/generate-pdf/nfe/default.js +26 -0
  36. package/lib/application/helpers/generate-pdf/nfe/gerar-itens.d.ts +2 -0
  37. package/lib/application/helpers/generate-pdf/nfe/gerar-itens.js +291 -0
  38. package/lib/application/helpers/generate-pdf/nfe/get-dados-adicionais.d.ts +2 -0
  39. package/lib/application/helpers/generate-pdf/nfe/get-dados-adicionais.js +269 -0
  40. package/lib/application/helpers/generate-pdf/nfe/get-dados-emitente.d.ts +2 -0
  41. package/lib/application/helpers/generate-pdf/nfe/get-dados-emitente.js +319 -0
  42. package/lib/application/helpers/generate-pdf/nfe/get-destinatario-remetente.d.ts +2 -0
  43. package/lib/application/helpers/generate-pdf/nfe/get-destinatario-remetente.js +154 -0
  44. package/lib/application/helpers/generate-pdf/nfe/get-fatura-duplicata.d.ts +2 -0
  45. package/lib/application/helpers/generate-pdf/nfe/get-fatura-duplicata.js +118 -0
  46. package/lib/application/helpers/generate-pdf/nfe/get-homologacao.d.ts +2 -0
  47. package/lib/application/helpers/generate-pdf/nfe/get-homologacao.js +36 -0
  48. package/lib/application/helpers/generate-pdf/nfe/get-imposto.d.ts +2 -0
  49. package/lib/application/helpers/generate-pdf/nfe/get-imposto.js +219 -0
  50. package/lib/application/helpers/generate-pdf/nfe/get-iss.d.ts +2 -0
  51. package/lib/application/helpers/generate-pdf/nfe/get-iss.js +73 -0
  52. package/lib/application/helpers/generate-pdf/nfe/get-menu-itens.d.ts +2 -0
  53. package/lib/application/helpers/generate-pdf/nfe/get-menu-itens.js +199 -0
  54. package/lib/application/helpers/generate-pdf/nfe/get-nota-cancelada.d.ts +2 -0
  55. package/lib/application/helpers/generate-pdf/nfe/get-nota-cancelada.js +16 -0
  56. package/lib/application/helpers/generate-pdf/nfe/get-recibo.d.ts +2 -0
  57. package/lib/application/helpers/generate-pdf/nfe/get-recibo.js +101 -0
  58. package/lib/application/helpers/generate-pdf/nfe/get-transporte.d.ts +2 -0
  59. package/lib/application/helpers/generate-pdf/nfe/get-transporte.js +179 -0
  60. package/lib/application/helpers/generate-pdf/nfe/italico.d.ts +2 -0
  61. package/lib/application/helpers/generate-pdf/nfe/italico.js +16 -0
  62. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal-tracejada.d.ts +2 -0
  63. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal-tracejada.js +7 -0
  64. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal.d.ts +2 -0
  65. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal.js +26 -0
  66. package/lib/application/helpers/generate-pdf/nfe/linha-vertical.d.ts +2 -0
  67. package/lib/application/helpers/generate-pdf/nfe/linha-vertical.js +14 -0
  68. package/lib/application/helpers/generate-pdf/nfe/load-fontes.d.ts +2 -0
  69. package/lib/application/helpers/generate-pdf/nfe/load-fontes.js +30 -0
  70. package/lib/application/helpers/generate-pdf/nfe/negrito.d.ts +2 -0
  71. package/lib/application/helpers/generate-pdf/nfe/negrito.js +16 -0
  72. package/lib/application/helpers/generate-pdf/nfe/normal.d.ts +2 -0
  73. package/lib/application/helpers/generate-pdf/nfe/normal.js +16 -0
  74. package/lib/application/helpers/generate-pdf/nfe/options-doc.d.ts +10 -0
  75. package/lib/application/helpers/generate-pdf/nfe/options-doc.js +14 -0
  76. package/lib/application/helpers/generate-pdf/nfe/secao.d.ts +2 -0
  77. package/lib/application/helpers/generate-pdf/nfe/secao.js +16 -0
  78. package/lib/application/helpers/generate-pdf/nfe/titulo.d.ts +2 -0
  79. package/lib/application/helpers/generate-pdf/nfe/titulo.js +17 -0
  80. package/lib/application/helpers/xml/deserialize.d.ts +2 -0
  81. package/lib/application/helpers/xml/deserialize.js +24 -0
  82. package/lib/application/helpers/xml/index.d.ts +1 -0
  83. package/lib/application/helpers/xml/index.js +17 -0
  84. package/lib/domain/use-cases/pdf/index.d.ts +2 -0
  85. package/lib/domain/use-cases/pdf/index.js +25 -0
  86. package/lib/domain/use-cases/pdf/pdf-NFCe.d.ts +2 -0
  87. package/lib/domain/use-cases/pdf/pdf-NFCe.js +687 -0
  88. package/lib/domain/use-cases/pdf/pdf-NFe.d.ts +2 -0
  89. package/lib/domain/use-cases/pdf/pdf-NFe.js +54 -0
  90. package/lib/domain/use-cases/utils/clean-html-entities.d.ts +2 -0
  91. package/lib/domain/use-cases/utils/clean-html-entities.js +45 -0
  92. package/lib/domain/use-cases/utils/current-date.d.ts +1 -0
  93. package/lib/domain/use-cases/utils/current-date.js +7 -0
  94. package/lib/domain/use-cases/utils/format-cnpj.d.ts +1 -0
  95. package/lib/domain/use-cases/utils/format-cnpj.js +8 -0
  96. package/lib/domain/use-cases/utils/format-cpf.d.ts +1 -0
  97. package/lib/domain/use-cases/utils/format-cpf.js +8 -0
  98. package/lib/domain/use-cases/utils/format-date-time.d.ts +1 -0
  99. package/lib/domain/use-cases/utils/format-date-time.js +10 -0
  100. package/lib/domain/use-cases/utils/format-date.d.ts +1 -0
  101. package/lib/domain/use-cases/utils/format-date.js +9 -0
  102. package/lib/domain/use-cases/utils/format-key.d.ts +1 -0
  103. package/lib/domain/use-cases/utils/format-key.js +6 -0
  104. package/lib/domain/use-cases/utils/format-number.d.ts +1 -0
  105. package/lib/domain/use-cases/utils/format-number.js +6 -0
  106. package/lib/domain/use-cases/utils/format-phone.d.ts +1 -0
  107. package/lib/domain/use-cases/utils/format-phone.js +20 -0
  108. package/lib/domain/use-cases/utils/format-plate.d.ts +1 -0
  109. package/lib/domain/use-cases/utils/format-plate.js +16 -0
  110. package/lib/domain/use-cases/utils/format-postal-code.d.ts +1 -0
  111. package/lib/domain/use-cases/utils/format-postal-code.js +8 -0
  112. package/lib/domain/use-cases/utils/format-protocol.d.ts +1 -0
  113. package/lib/domain/use-cases/utils/format-protocol.js +8 -0
  114. package/lib/domain/use-cases/utils/format-state-registration.d.ts +1 -0
  115. package/lib/domain/use-cases/utils/format-state-registration.js +152 -0
  116. package/lib/domain/use-cases/utils/format-time.d.ts +1 -0
  117. package/lib/domain/use-cases/utils/format-time.js +8 -0
  118. package/lib/domain/use-cases/utils/index.d.ts +15 -0
  119. package/lib/domain/use-cases/utils/index.js +31 -0
  120. package/lib/domain/use-cases/utils/return-font-size-carrier.d.ts +1 -0
  121. package/lib/domain/use-cases/utils/return-font-size-carrier.js +23 -0
  122. package/lib/index.d.ts +1 -0
  123. package/lib/index.js +5 -0
  124. package/lib/tsconfig.tsbuildinfo +1 -0
  125. package/lib/types/generate-pdf.d.ts +266 -0
  126. package/lib/types/generate-pdf.js +2 -0
  127. package/lib/types/index.d.ts +3 -0
  128. package/lib/types/index.js +19 -0
  129. package/lib/types/nfe-proc.d.ts +42 -0
  130. package/lib/types/nfe-proc.js +2 -0
  131. package/lib/types/schema.d.ts +876 -0
  132. package/lib/types/schema.js +2 -0
  133. package/lib/utils/index.d.ts +1 -0
  134. package/lib/utils/index.js +6 -0
  135. package/package.json +59 -0
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pdfNFe = pdfNFe;
7
+ const pdfkit_1 = __importDefault(require("pdfkit"));
8
+ const gerar_itens_1 = require("../../../application/helpers/generate-pdf/nfe/gerar-itens");
9
+ const italico_1 = require("../../../application/helpers/generate-pdf/nfe/italico");
10
+ const load_fontes_1 = require("../../../application/helpers/generate-pdf/nfe/load-fontes");
11
+ const options_doc_1 = require("../../../application/helpers/generate-pdf/nfe/options-doc");
12
+ const margemTopo = 2.8;
13
+ const margemEsquerda = 3;
14
+ const margemDireita = 589.65;
15
+ const larguraDoFormulario = margemDireita - margemEsquerda;
16
+ async function pdfNFe(nf, opcoes) {
17
+ const ajusteY = 0;
18
+ const ajusteX = 0;
19
+ const doc = new pdfkit_1.default(options_doc_1.optionsDocNFe);
20
+ (0, load_fontes_1.loadFonts)(doc);
21
+ await (0, gerar_itens_1.gerarItens)({
22
+ ajusteX,
23
+ ajusteY,
24
+ nf,
25
+ doc,
26
+ larguraDoFormulario,
27
+ margemDireita,
28
+ margemEsquerda,
29
+ margemTopo,
30
+ pathLogo: opcoes?.pathLogo,
31
+ cancelada: opcoes?.cancelada,
32
+ textoRodape: opcoes?.textoRodape
33
+ });
34
+ const paginas = doc.bufferedPageRange();
35
+ for (let i = paginas.start; i < paginas.start + paginas.count; i++) {
36
+ doc.switchToPage(i);
37
+ (0, italico_1.italico)({
38
+ doc,
39
+ value: `FOLHA ${i + 1}/${paginas.start + paginas.count}`,
40
+ x: 241.2,
41
+ y: i === 0 ? 141.2 : 97.4,
42
+ largura: 98.5,
43
+ alinhamento: 'center',
44
+ tamanho: 8,
45
+ ajusteX,
46
+ ajusteY,
47
+ margemEsquerda,
48
+ margemTopo
49
+ });
50
+ }
51
+ doc.flushPages();
52
+ doc.end();
53
+ return doc;
54
+ }
@@ -0,0 +1,2 @@
1
+ export declare function decodeHtmlEntities(text: string): string;
2
+ export declare function cleanInfoComplementar(text: string): string;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeHtmlEntities = decodeHtmlEntities;
4
+ exports.cleanInfoComplementar = cleanInfoComplementar;
5
+ function decodeHtmlEntities(text) {
6
+ if (!text)
7
+ return text;
8
+ const htmlEntities = {
9
+ '&lt;': '<',
10
+ '&gt;': '>',
11
+ '&amp;': '&',
12
+ '&quot;': '"',
13
+ '&apos;': "'",
14
+ '&nbsp;': ' ',
15
+ '&#39;': "'",
16
+ '&#x27;': "'",
17
+ '&#x2F;': '/',
18
+ '&#x60;': '`',
19
+ '&#x3D;': '='
20
+ };
21
+ let decodedText = text;
22
+ Object.keys(htmlEntities).forEach(entity => {
23
+ const regex = new RegExp(entity, 'gi');
24
+ decodedText = decodedText.replace(regex, htmlEntities[entity]);
25
+ });
26
+ decodedText = decodedText
27
+ .replace(/<br\s*\/?>/gi, ' ')
28
+ .replace(/<\/p>/gi, ' ')
29
+ .replace(/<p[^>]*>/gi, '')
30
+ .replace(/<div[^>]*>/gi, '')
31
+ .replace(/<\/div>/gi, ' ')
32
+ .replace(/<[^>]*>/g, '')
33
+ .replace(/\s+/g, ' ')
34
+ .trim();
35
+ return decodedText;
36
+ }
37
+ function cleanInfoComplementar(text) {
38
+ if (!text)
39
+ return text;
40
+ const cleaned = decodeHtmlEntities(text);
41
+ return cleaned
42
+ .replace(/\s*\.\s*$/, '')
43
+ .replace(/\s{2,}/g, ' ')
44
+ .trim();
45
+ }
@@ -0,0 +1 @@
1
+ export declare function getCurrentDate(): string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentDate = getCurrentDate;
4
+ const date_fns_1 = require("date-fns");
5
+ function getCurrentDate() {
6
+ return (0, date_fns_1.format)(new Date(), "yyyy-MM-dd'T'HH:mm:ssxxx");
7
+ }
@@ -0,0 +1 @@
1
+ export declare function formatCnpj(cnpj: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatCnpj = formatCnpj;
4
+ function formatCnpj(cnpj) {
5
+ if (!cnpj)
6
+ return '';
7
+ return cnpj.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5');
8
+ }
@@ -0,0 +1 @@
1
+ export declare function formatCpf(cpf: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatCpf = formatCpf;
4
+ function formatCpf(cpf) {
5
+ if (!cpf)
6
+ return '';
7
+ return cpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, '$1.$2.$3-$4');
8
+ }
@@ -0,0 +1 @@
1
+ export declare function formatDateTime(date: string): string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatDateTime = formatDateTime;
4
+ const format_date_1 = require("./format-date");
5
+ const format_time_1 = require("./format-time");
6
+ function formatDateTime(date) {
7
+ if (!date)
8
+ return '';
9
+ return `${(0, format_date_1.formatDate)(date)} ${(0, format_time_1.formatTime)(date)}`;
10
+ }
@@ -0,0 +1 @@
1
+ export declare function formatDate(date: string): string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatDate = formatDate;
4
+ function formatDate(date) {
5
+ if (!date)
6
+ return '';
7
+ const [ano, mes, dia] = date.substring(0, 10).split('-');
8
+ return dia.padStart(2, '0') + '/' + mes.toString().padStart(2, '0') + '/' + ano;
9
+ }
@@ -0,0 +1 @@
1
+ export declare function formatKey(key: string): string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatKey = formatKey;
4
+ function formatKey(key) {
5
+ return key.replace(/(.{4})(?=.)/g, '$1 ');
6
+ }
@@ -0,0 +1 @@
1
+ export declare function formatNumber(number: number | string, decimals: number): string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatNumber = formatNumber;
4
+ function formatNumber(number, decimals) {
5
+ return Intl.NumberFormat('pt-BR', { minimumFractionDigits: decimals }).format(Number(number));
6
+ }
@@ -0,0 +1 @@
1
+ export declare function formatPhone(phone: string): string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatPhone = formatPhone;
4
+ function formatPhone(phone) {
5
+ if (!phone)
6
+ return '';
7
+ let cleaned = phone.replace(/\D/g, '');
8
+ if (cleaned.length >= 12) {
9
+ cleaned = cleaned.substring(2, cleaned.length);
10
+ }
11
+ const areaCode = cleaned.slice(0, 2);
12
+ const mainNumber = cleaned.slice(2);
13
+ if (mainNumber.length === 9) {
14
+ return `(${areaCode}) ${mainNumber.slice(0, 5)}-${mainNumber.slice(5)}`;
15
+ }
16
+ else if (mainNumber.length === 8) {
17
+ return `(${areaCode}) ${mainNumber.slice(0, 4)}-${mainNumber.slice(4)}`;
18
+ }
19
+ return '';
20
+ }
@@ -0,0 +1 @@
1
+ export declare function formatLicensePlate(plate: string): string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatLicensePlate = formatLicensePlate;
4
+ function formatLicensePlate(plate) {
5
+ if (!plate)
6
+ return '';
7
+ const oldFormat = /^[A-Z]{3}[0-9]{4}$/;
8
+ const mercosulFormat = /^[A-Z]{3}[0-9][A-Z][0-9]{2}$/;
9
+ if (oldFormat.test(plate)) {
10
+ return `${plate.slice(0, 3)}-${plate.slice(3)}`;
11
+ }
12
+ else if (mercosulFormat.test(plate)) {
13
+ return `${plate.slice(0, 3)} ${plate.slice(3)}`;
14
+ }
15
+ return '';
16
+ }
@@ -0,0 +1 @@
1
+ export declare function formatPostalCode(postalCode: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatPostalCode = formatPostalCode;
4
+ function formatPostalCode(postalCode) {
5
+ if (!postalCode)
6
+ return '';
7
+ return postalCode.replace(/^(\d{2})(\d{3})(\d{3})$/, '$1.$2-$3');
8
+ }
@@ -0,0 +1 @@
1
+ export declare function formatProtocol(protocol: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatProtocol = formatProtocol;
4
+ function formatProtocol(protocol) {
5
+ if (!protocol)
6
+ return '';
7
+ return protocol.replace(/(.{3})(?=.)/g, '$1 ');
8
+ }
@@ -0,0 +1 @@
1
+ export declare function formatStateRegistration(stateRegistration: string, uf?: string): string;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatStateRegistration = formatStateRegistration;
4
+ function formatStateRegistration(stateRegistration, uf) {
5
+ if (!stateRegistration)
6
+ return '';
7
+ const cleanInscricao = stateRegistration.replace(/\D/g, '');
8
+ const length = cleanInscricao.length;
9
+ if (!cleanInscricao || length < 7 || length > 15)
10
+ return stateRegistration;
11
+ if (uf) {
12
+ return formatByState(cleanInscricao, uf.toUpperCase());
13
+ }
14
+ return formatGeneric(cleanInscricao, length);
15
+ }
16
+ function formatByState(cleanInscricao, uf) {
17
+ const length = cleanInscricao.length;
18
+ switch (uf) {
19
+ case 'AC':
20
+ if (length === 13)
21
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{3})(\d{2})/, '$1.$2.$3/$4-$5');
22
+ break;
23
+ case 'AL':
24
+ if (length === 9)
25
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
26
+ break;
27
+ case 'AP':
28
+ if (length === 9)
29
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
30
+ break;
31
+ case 'AM':
32
+ if (length === 9)
33
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
34
+ break;
35
+ case 'BA':
36
+ if (length === 8)
37
+ return cleanInscricao.replace(/(\d{6})(\d{2})/, '$1-$2');
38
+ if (length === 9)
39
+ return cleanInscricao.replace(/(\d{3})(\d{3})(\d{3})/, '$1.$2.$3');
40
+ break;
41
+ case 'CE':
42
+ if (length === 9)
43
+ return cleanInscricao.replace(/(\d{8})(\d{1})/, '$1-$2');
44
+ break;
45
+ case 'DF':
46
+ if (length === 13)
47
+ return cleanInscricao.replace(/(\d{3})(\d{5})(\d{3})(\d{2})/, '$1.$2.$3-$4');
48
+ break;
49
+ case 'ES':
50
+ if (length === 9)
51
+ return cleanInscricao.replace(/(\d{8})(\d{1})/, '$1-$2');
52
+ break;
53
+ case 'GO':
54
+ if (length === 9)
55
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
56
+ break;
57
+ case 'MA':
58
+ if (length === 9)
59
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
60
+ break;
61
+ case 'MT':
62
+ if (length === 11)
63
+ return cleanInscricao.replace(/(\d{10})(\d{1})/, '$1-$2');
64
+ break;
65
+ case 'MS':
66
+ if (length === 9)
67
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
68
+ break;
69
+ case 'MG':
70
+ if (length === 13)
71
+ return cleanInscricao.replace(/(\d{3})(\d{3})(\d{3})(\d{4})/, '$1.$2.$3/$4');
72
+ break;
73
+ case 'PA':
74
+ if (length === 9)
75
+ return cleanInscricao.replace(/(\d{2})(\d{6})(\d{1})/, '$1-$2-$3');
76
+ break;
77
+ case 'PB':
78
+ if (length === 9)
79
+ return cleanInscricao.replace(/(\d{8})(\d{1})/, '$1-$2');
80
+ break;
81
+ case 'PR':
82
+ if (length === 10)
83
+ return cleanInscricao.replace(/(\d{3})(\d{5})(\d{2})/, '$1.$2-$3');
84
+ break;
85
+ case 'PE':
86
+ if (length === 9)
87
+ return cleanInscricao.replace(/(\d{7})(\d{2})/, '$1-$2');
88
+ break;
89
+ case 'PI':
90
+ if (length === 9)
91
+ return cleanInscricao.replace(/(\d{8})(\d{1})/, '$1-$2');
92
+ break;
93
+ case 'RJ':
94
+ if (length === 8)
95
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{2})(\d{1})/, '$1.$2.$3-$4');
96
+ break;
97
+ case 'RN':
98
+ if (length === 10)
99
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})(\d{1})/, '$1.$2.$3-$4$5');
100
+ break;
101
+ case 'RS':
102
+ if (length === 10)
103
+ return cleanInscricao.replace(/(\d{3})(\d{7})/, '$1/$2');
104
+ break;
105
+ case 'RO':
106
+ if (length === 9)
107
+ return cleanInscricao.replace(/(\d{3})(\d{5})(\d{1})/, '$1.$2-$3');
108
+ if (length === 14)
109
+ return cleanInscricao.replace(/(\d{14})/, '$1');
110
+ break;
111
+ case 'RR':
112
+ if (length === 9)
113
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
114
+ break;
115
+ case 'SC':
116
+ if (length === 9)
117
+ return cleanInscricao.replace(/(\d{3})(\d{3})(\d{3})/, '$1.$2.$3');
118
+ break;
119
+ case 'SP':
120
+ if (length === 12)
121
+ return cleanInscricao.replace(/(\d{3})(\d{3})(\d{3})(\d{3})/, '$1.$2.$3.$4');
122
+ break;
123
+ case 'SE':
124
+ if (length === 9)
125
+ return cleanInscricao.replace(/(\d{8})(\d{1})/, '$1-$2');
126
+ break;
127
+ case 'TO':
128
+ if (length === 9)
129
+ return cleanInscricao.replace(/(\d{2})(\d{3})(\d{3})(\d{1})/, '$1.$2.$3-$4');
130
+ break;
131
+ }
132
+ return formatGeneric(cleanInscricao, length);
133
+ }
134
+ function formatGeneric(cleanInscricao, length) {
135
+ const formats = {
136
+ 7: { format: '$1-$2', regex: /(\d{6})(\d{1})/ },
137
+ 8: { format: '$1.$2-$3', regex: /(\d{3})(\d{3})(\d{2})/ },
138
+ 9: { format: '$1.$2.$3-$4', regex: /(\d{2})(\d{3})(\d{3})(\d{1})/ },
139
+ 10: { format: '$1.$2.$3-$4', regex: /(\d{2})(\d{3})(\d{3})(\d{2})/ },
140
+ 11: { format: '$1.$2.$3-$4', regex: /(\d{3})(\d{3})(\d{3})(\d{2})/ },
141
+ 12: { format: '$1.$2.$3.$4', regex: /(\d{3})(\d{3})(\d{3})(\d{3})/ },
142
+ 13: { format: '$1.$2.$3.$4-$5', regex: /(\d{2})(\d{3})(\d{3})(\d{2})(\d{3})/ },
143
+ 14: { format: '$1.$2.$3.$4-$5', regex: /(\d{3})(\d{3})(\d{3})(\d{3})(\d{2})/ }
144
+ };
145
+ const pattern = formats[length];
146
+ if (!pattern)
147
+ return cleanInscricao;
148
+ const match = cleanInscricao.match(pattern.regex);
149
+ if (!match)
150
+ return cleanInscricao;
151
+ return pattern.format.replace(/\$(\d+)/g, (_, index) => match[parseInt(index)] || '');
152
+ }
@@ -0,0 +1 @@
1
+ export declare function formatTime(date: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTime = formatTime;
4
+ function formatTime(date) {
5
+ if (!date)
6
+ return '';
7
+ return date.substring(11, 19);
8
+ }
@@ -0,0 +1,15 @@
1
+ export * from './clean-html-entities';
2
+ export * from './current-date';
3
+ export * from './format-cnpj';
4
+ export * from './format-cpf';
5
+ export * from './format-date';
6
+ export * from './format-date-time';
7
+ export * from './format-key';
8
+ export * from './format-number';
9
+ export * from './format-phone';
10
+ export * from './format-plate';
11
+ export * from './format-postal-code';
12
+ export * from './format-protocol';
13
+ export * from './format-state-registration';
14
+ export * from './format-time';
15
+ export * from './return-font-size-carrier';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./clean-html-entities"), exports);
18
+ __exportStar(require("./current-date"), exports);
19
+ __exportStar(require("./format-cnpj"), exports);
20
+ __exportStar(require("./format-cpf"), exports);
21
+ __exportStar(require("./format-date"), exports);
22
+ __exportStar(require("./format-date-time"), exports);
23
+ __exportStar(require("./format-key"), exports);
24
+ __exportStar(require("./format-number"), exports);
25
+ __exportStar(require("./format-phone"), exports);
26
+ __exportStar(require("./format-plate"), exports);
27
+ __exportStar(require("./format-postal-code"), exports);
28
+ __exportStar(require("./format-protocol"), exports);
29
+ __exportStar(require("./format-state-registration"), exports);
30
+ __exportStar(require("./format-time"), exports);
31
+ __exportStar(require("./return-font-size-carrier"), exports);
@@ -0,0 +1 @@
1
+ export declare function returnFontSizeCarrier(name: string): number;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.returnFontSizeCarrier = returnFontSizeCarrier;
4
+ function returnFontSizeCarrier(name) {
5
+ if (!name)
6
+ return 9.5;
7
+ if (name && name.length > 28 && name.length <= 31) {
8
+ return 8.5;
9
+ }
10
+ if (name && name.length > 31 && name.length <= 35) {
11
+ return 7.5;
12
+ }
13
+ if (name && name.length > 35 && name.length <= 41) {
14
+ return 6.5;
15
+ }
16
+ if (name && name.length > 41 && name.length <= 48) {
17
+ return 5.5;
18
+ }
19
+ if (name && name.length > 48) {
20
+ return 5;
21
+ }
22
+ return 9.5;
23
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { gerarPDF } from './domain/use-cases/pdf';
package/lib/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gerarPDF = void 0;
4
+ var pdf_1 = require("./domain/use-cases/pdf");
5
+ Object.defineProperty(exports, "gerarPDF", { enumerable: true, get: function () { return pdf_1.gerarPDF; } });