@autohubs/lib-cte 0.2.1 → 0.3.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.
package/README.md CHANGED
@@ -2,12 +2,14 @@
2
2
 
3
3
  Lib open-source em TypeScript para emissao de **CTe (Conhecimento de Transporte Eletronico)** no Brasil. Parte do ecossistema [`@brasil-fiscal`](https://github.com/brasil-fiscal).
4
4
 
5
- > **Status: Em desenvolvimento.** Implementados: `statusServico()`, `consultar()`, `desacordo.registrar/cancelar()` e `distribuicaoPorNSU()`. **Validados contra a SEFAZ real** (homologacao e/ou producao): `statusServico`, `consultar` e `distribuicaoPorNSU`. `desacordo` ainda nao foi testado contra a SEFAZ real (tem efeito colateral — registra um evento de verdade). Transmissao, cancelamento do CT-e e carta de correcao ainda nao implementados — ver [PLANO.md](PLANO.md).
5
+ > **Status: Em desenvolvimento.** Implementados: `statusServico()`, `consultar()`, `desacordo.registrar/cancelar()`, `distribuicaoPorNSU()` e `dacte()` (geracao de PDF). **Validados contra a SEFAZ real** (homologacao e/ou producao): `statusServico`, `consultar` e `distribuicaoPorNSU`. `desacordo` ainda nao foi testado contra a SEFAZ real (tem efeito colateral — registra um evento de verdade). Transmissao, cancelamento do CT-e e carta de correcao ainda nao implementados — ver [PLANO.md](PLANO.md).
6
+ >
7
+ > Publicado como [`@autohubs/lib-cte`](https://www.npmjs.com/package/@autohubs/lib-cte) — fork deste repositorio com os use cases de consulta implementados, ja' que `@brasil-fiscal/cte` (pacote oficial) ainda nao os publica.
6
8
 
7
9
  ## Instalacao
8
10
 
9
11
  ```bash
10
- npm install @brasil-fiscal/cte
12
+ npm install @autohubs/lib-cte
11
13
  ```
12
14
 
13
15
  ## O que eh o CTe?
@@ -17,7 +19,7 @@ O CTe (modelo 57) eh o documento fiscal eletronico que registra prestacoes de se
17
19
  ## Estrutura planejada
18
20
 
19
21
  ```typescript
20
- import { CTeCore } from '@brasil-fiscal/cte';
22
+ import { CTeCore } from '@autohubs/lib-cte';
21
23
  import { readFileSync } from 'node:fs';
22
24
 
23
25
  const cte = CTeCore.create({
@@ -32,6 +34,13 @@ await cte.consultar('chave-44-digitos');
32
34
  await cte.desacordo.registrar({ chaveAcesso, cnpjTomador, justificativa });
33
35
  await cte.distribuicaoPorNSU(cnpj); // lista documentos de interesse do CNPJ, paginando por NSU
34
36
 
37
+ // Gera o PDF do DACTE a partir do XML autorizado (requer `npm install pdfkit`).
38
+ // `consultar()` retorna so' status/protocolo, nao o XML completo — o XML vem
39
+ // de `distribuicaoPorNSU()` (documentos[].xml) ou do seu proprio armazenamento.
40
+ const dist = await cte.distribuicaoPorNSU(cnpj);
41
+ const xmlAutorizado = dist.documentos[0].xml;
42
+ const pdfBuffer = await cte.dacte(xmlAutorizado);
43
+
35
44
  // TODO: Em desenvolvimento
36
45
  // await cte.transmitir({ ... });
37
46
  // await cte.cancelar({ ... }); // cancelamento do CT-e (documento)
@@ -48,6 +57,7 @@ npx tsx --env-file=.env examples/status-servico.ts # mais seguro, nao toca em
48
57
  npx tsx --env-file=.env examples/consultar-cte.ts # precisa de uma chave real
49
58
  npx tsx --env-file=.env examples/distribuicao.ts # lista documentos do CNPJ por NSU, so' leitura
50
59
  npx tsx --env-file=.env examples/desacordo.ts --confirmar # registra evento REAL — ver avisos no arquivo
60
+ npx tsx examples/gerar-dacte.ts caminho/para/cte.xml # gera PDF a partir de um XML ja' salvo, sem SEFAZ
51
61
  ```
52
62
 
53
63
  A tabela de UFs/URLs em `src/shared/constants/cte-urls.ts` ainda e' parcial
@@ -58,6 +68,28 @@ e webservice antes de qualquer coisa que dependa de uma chave de CT-e real.
58
68
  senha ou dados de clientes reais em chat, issue ou log — ja cobertos pelo
59
69
  `.gitignore`.
60
70
 
71
+ ## Geracao de DACTE (PDF)
72
+
73
+ `cte.dacte(xmlAutorizado)` gera o PDF do DACTE (Documento Auxiliar do CT-e) a
74
+ partir do XML ja' autorizado — nao faz nenhuma chamada de rede. Requer
75
+ `pdfkit` instalado como dependencia opcional (`npm install pdfkit`), igual ao
76
+ padrao do `@brasil-fiscal/nfe` para o DANFE.
77
+
78
+ **Cobertura atual**: layout completo pro **modal rodoviario** (o mais comum
79
+ no Brasil) — emitente, remetente/destinatario, expedidor/recebedor, tomador
80
+ do servico, carga, componentes do valor da prestacao, informacoes do
81
+ imposto (ICMS00/20/45/60/90/OutraUF/Simples Nacional), documentos
82
+ originarios e dados especificos do modal rodoviario (RNTRC, veiculo,
83
+ motorista). Os demais modais (aereo, aquaviario, ferroviario, dutoviario,
84
+ multimodal) tem os campos gerais mas nao a secao especifica de cada modal —
85
+ contribuicoes bem-vindas.
86
+
87
+ O layout foi desenhado a partir do Manual de Orientacao do DACTE (v1.01) e
88
+ validado visualmente contra um DACTE real — nao e' pixel-perfect da imagem
89
+ oficial (que so' existe como grafico no PDF do manual, sem estar em nenhum
90
+ formato consumivel por texto), mas contem e organiza todos os campos
91
+ obrigatorios do modal rodoviario.
92
+
61
93
  ## Entidades disponiveis
62
94
 
63
95
  | Entidade | Descricao |
@@ -0,0 +1,11 @@
1
+ export type { DacteData } from '../../infra/dacte/xml-parser';
2
+ export declare class GerarDacteUseCase {
3
+ private readonly generator;
4
+ constructor();
5
+ /**
6
+ * Gera PDF do DACTE a partir do XML autorizado do CT-e.
7
+ * Requer pdfkit instalado como dependencia.
8
+ */
9
+ execute(xml: string): Promise<Buffer>;
10
+ }
11
+ //# sourceMappingURL=GerarDacteUseCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GerarDacteUseCase.d.ts","sourceRoot":"","sources":["../../../src/application/use-cases/GerarDacteUseCase.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;;IAM3C;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ5C"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GerarDacteUseCase = void 0;
4
+ const CTeError_1 = require("../../shared/errors/CTeError");
5
+ const xml_parser_1 = require("../../infra/dacte/xml-parser");
6
+ const DacteGenerator_1 = require("../../infra/dacte/DacteGenerator");
7
+ class GerarDacteUseCase {
8
+ generator;
9
+ constructor() {
10
+ this.generator = new DacteGenerator_1.DacteGenerator();
11
+ }
12
+ /**
13
+ * Gera PDF do DACTE a partir do XML autorizado do CT-e.
14
+ * Requer pdfkit instalado como dependencia.
15
+ */
16
+ async execute(xml) {
17
+ if (!xml || !xml.includes('<infCte')) {
18
+ throw new CTeError_1.CTeError('XML invalido: deve conter elemento <infCte>');
19
+ }
20
+ const data = (0, xml_parser_1.parseCTeXml)(xml);
21
+ return this.generator.generate(data);
22
+ }
23
+ }
24
+ exports.GerarDacteUseCase = GerarDacteUseCase;
25
+ //# sourceMappingURL=GerarDacteUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GerarDacteUseCase.js","sourceRoot":"","sources":["../../../src/application/use-cases/GerarDacteUseCase.ts"],"names":[],"mappings":";;;AAAA,0DAAuD;AACvD,4DAA0D;AAC1D,oEAAiE;AAIjE,MAAa,iBAAiB;IACX,SAAS,CAAiB;IAE3C;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,+BAAc,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAQ,CAAC,6CAA6C,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,wBAAW,EAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAnBD,8CAmBC"}
@@ -6,6 +6,7 @@ export type { RegistrarDesacordoInput, CancelarDesacordoInput } from '../applica
6
6
  export type { StatusServicoResult, ConsultarCTeResult } from '../core/types';
7
7
  export type { EventoCTeResult } from '../application/use-cases/DesacordoCTeUseCase';
8
8
  export type { DistribuicaoResult, DFeDocument } from '../application/use-cases/DistribuicaoDFeUseCase';
9
+ export type { DacteData } from '../application/use-cases/GerarDacteUseCase';
9
10
  export type CTeAmbiente = 'homologacao' | 'producao';
10
11
  export type CTeCoreConfig = {
11
12
  readonly pfx: Buffer;
@@ -38,5 +39,11 @@ export declare class CTeCore {
38
39
  * emitidos contra o CNPJ num periodo, paginando pelo `ultNSU` retornado.
39
40
  */
40
41
  distribuicaoPorNSU(cnpj: string, ultNSU?: string): Promise<DistribuicaoResult>;
42
+ /**
43
+ * Gera o PDF do DACTE a partir do XML autorizado do CT-e (o mesmo XML
44
+ * retornado por `consultar()` ou `distribuicaoPorNSU()`). Requer `pdfkit`
45
+ * instalado como dependencia (peerDependency opcional do pacote).
46
+ */
47
+ dacte(xmlAutorizado: string): Promise<Buffer>;
41
48
  }
42
49
  //# sourceMappingURL=CTeCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CTeCore.d.ts","sourceRoot":"","sources":["../../src/core/CTeCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACnB,SAAS,EACT,cAAc,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EAChB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEL,kBAAkB,EACnB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAkB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1F,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACtH,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACtF,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAEzG,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACnE,CAAC;AAmBF,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,OAAO;IAsBP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIvC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASxD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASjE;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAUrF"}
1
+ {"version":3,"file":"CTeCore.d.ts","sourceRoot":"","sources":["../../src/core/CTeCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACnB,SAAS,EACT,cAAc,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EAChB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEL,kBAAkB,EACnB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EAAkB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1F,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACtH,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACtF,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AACzG,YAAY,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACnE,CAAC;AAmBF,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,OAAO;IAsBP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIvC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASxD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASjE;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASpF;;;;OAIG;IACG,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAMpD"}
@@ -6,6 +6,7 @@ const StatusServicoUseCase_1 = require("../application/use-cases/StatusServicoUs
6
6
  const ConsultarCTeUseCase_1 = require("../application/use-cases/ConsultarCTeUseCase");
7
7
  const DesacordoCTeUseCase_1 = require("../application/use-cases/DesacordoCTeUseCase");
8
8
  const DistribuicaoDFeUseCase_1 = require("../application/use-cases/DistribuicaoDFeUseCase");
9
+ const GerarDacteUseCase_1 = require("../application/use-cases/GerarDacteUseCase");
9
10
  function toEnvironment(ambiente) {
10
11
  return ambiente === 'homologacao' ? 'homologation' : 'production';
11
12
  }
@@ -78,6 +79,15 @@ class CTeCore {
78
79
  });
79
80
  return useCase.consultarPorNSU(cnpj, this.uf, ultNSU);
80
81
  }
82
+ /**
83
+ * Gera o PDF do DACTE a partir do XML autorizado do CT-e (o mesmo XML
84
+ * retornado por `consultar()` ou `distribuicaoPorNSU()`). Requer `pdfkit`
85
+ * instalado como dependencia (peerDependency opcional do pacote).
86
+ */
87
+ async dacte(xmlAutorizado) {
88
+ const useCase = new GerarDacteUseCase_1.GerarDacteUseCase();
89
+ return useCase.execute(xmlAutorizado);
90
+ }
81
91
  }
82
92
  exports.CTeCore = CTeCore;
83
93
  //# sourceMappingURL=CTeCore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CTeCore.js","sourceRoot":"","sources":["../../src/core/CTeCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CTeCore.js","sourceRoot":"","sources":["../../src/core/CTeCore.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  export { CTeCore } from './core/CTeCore';
2
- export type { CTeCoreConfig, CTeAmbiente, RegistrarDesacordoInput, CancelarDesacordoInput, EventoCTeResult, StatusServicoResult, ConsultarCTeResult, DistribuicaoResult, DFeDocument } from './core/CTeCore';
2
+ export type { CTeCoreConfig, CTeAmbiente, RegistrarDesacordoInput, CancelarDesacordoInput, EventoCTeResult, StatusServicoResult, ConsultarCTeResult, DistribuicaoResult, DFeDocument, DacteData } from './core/CTeCore';
3
3
  export { StatusServicoUseCase } from './application/use-cases/StatusServicoUseCase';
4
4
  export { ConsultarCTeUseCase } from './application/use-cases/ConsultarCTeUseCase';
5
5
  export { DesacordoCTeUseCase } from './application/use-cases/DesacordoCTeUseCase';
6
6
  export { DistribuicaoDFeUseCase } from './application/use-cases/DistribuicaoDFeUseCase';
7
+ export { GerarDacteUseCase } from './application/use-cases/GerarDacteUseCase';
7
8
  export { CTeError } from './shared/errors/CTeError';
8
9
  export { CTe } from './domain/entities/CTe';
9
10
  export type { CTeProps, CTeIdentificacao } from './domain/entities/CTe';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EACV,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAGxF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,SAAS,EACV,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EACV,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAG9E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,SAAS,EACV,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SefazRejectError = exports.CertificateError = exports.DFeError = exports.NodeHttpSefazTransport = exports.DefaultXmlSigner = exports.A1CertificateProvider = exports.CTe = exports.CTeError = exports.DistribuicaoDFeUseCase = exports.DesacordoCTeUseCase = exports.ConsultarCTeUseCase = exports.StatusServicoUseCase = exports.CTeCore = void 0;
3
+ exports.SefazRejectError = exports.CertificateError = exports.DFeError = exports.NodeHttpSefazTransport = exports.DefaultXmlSigner = exports.A1CertificateProvider = exports.CTe = exports.CTeError = exports.GerarDacteUseCase = exports.DistribuicaoDFeUseCase = exports.DesacordoCTeUseCase = exports.ConsultarCTeUseCase = exports.StatusServicoUseCase = exports.CTeCore = void 0;
4
4
  // Core
5
5
  var CTeCore_1 = require("./core/CTeCore");
6
6
  Object.defineProperty(exports, "CTeCore", { enumerable: true, get: function () { return CTeCore_1.CTeCore; } });
@@ -13,6 +13,8 @@ var DesacordoCTeUseCase_1 = require("./application/use-cases/DesacordoCTeUseCase
13
13
  Object.defineProperty(exports, "DesacordoCTeUseCase", { enumerable: true, get: function () { return DesacordoCTeUseCase_1.DesacordoCTeUseCase; } });
14
14
  var DistribuicaoDFeUseCase_1 = require("./application/use-cases/DistribuicaoDFeUseCase");
15
15
  Object.defineProperty(exports, "DistribuicaoDFeUseCase", { enumerable: true, get: function () { return DistribuicaoDFeUseCase_1.DistribuicaoDFeUseCase; } });
16
+ var GerarDacteUseCase_1 = require("./application/use-cases/GerarDacteUseCase");
17
+ Object.defineProperty(exports, "GerarDacteUseCase", { enumerable: true, get: function () { return GerarDacteUseCase_1.GerarDacteUseCase; } });
16
18
  // Erros
17
19
  var CTeError_1 = require("./shared/errors/CTeError");
18
20
  Object.defineProperty(exports, "CTeError", { enumerable: true, get: function () { return CTeError_1.CTeError; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,OAAO;AACP,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAahB,kDAAkD;AAClD,qFAAoF;AAA3E,4HAAA,oBAAoB,OAAA;AAC7B,mFAAkF;AAAzE,0HAAA,mBAAmB,OAAA;AAC5B,mFAAkF;AAAzE,0HAAA,mBAAmB,OAAA;AAC5B,yFAAwF;AAA/E,gIAAA,sBAAsB,OAAA;AAE/B,QAAQ;AACR,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAEjB,kBAAkB;AAClB,6CAA4C;AAAnC,0FAAA,GAAG,OAAA;AAOZ,2BAA2B;AAC3B,4CAO6B;AAN3B,6GAAA,qBAAqB,OAAA;AACrB,wGAAA,gBAAgB,OAAA;AAChB,8GAAA,sBAAsB,OAAA;AACtB,gGAAA,QAAQ,OAAA;AACR,wGAAA,gBAAgB,OAAA;AAChB,wGAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,OAAO;AACP,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAchB,kDAAkD;AAClD,qFAAoF;AAA3E,4HAAA,oBAAoB,OAAA;AAC7B,mFAAkF;AAAzE,0HAAA,mBAAmB,OAAA;AAC5B,mFAAkF;AAAzE,0HAAA,mBAAmB,OAAA;AAC5B,yFAAwF;AAA/E,gIAAA,sBAAsB,OAAA;AAC/B,+EAA8E;AAArE,sHAAA,iBAAiB,OAAA;AAE1B,QAAQ;AACR,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAEjB,kBAAkB;AAClB,6CAA4C;AAAnC,0FAAA,GAAG,OAAA;AAOZ,2BAA2B;AAC3B,4CAO6B;AAN3B,6GAAA,qBAAqB,OAAA;AACrB,wGAAA,gBAAgB,OAAA;AAChB,8GAAA,sBAAsB,OAAA;AACtB,gGAAA,QAAQ,OAAA;AACR,wGAAA,gBAAgB,OAAA;AAChB,wGAAA,gBAAgB,OAAA"}
@@ -0,0 +1,30 @@
1
+ import { DacteData } from './xml-parser';
2
+ export declare class DacteGenerator {
3
+ generate(data: DacteData): Promise<Buffer>;
4
+ private renderPage;
5
+ private canhoto;
6
+ private cabecalho;
7
+ private tipoCteTexto;
8
+ private naturezaProtocolo;
9
+ private inicioTermino;
10
+ private pessoa2col;
11
+ private pessoaBox;
12
+ private tomador;
13
+ private carga;
14
+ private componentes;
15
+ private impostos;
16
+ private documentosOriginarios;
17
+ private observacoes;
18
+ private modalRodoviario;
19
+ private usoEmissorFisco;
20
+ private renderBarcode;
21
+ private box;
22
+ private sectionTitle;
23
+ private label;
24
+ private val;
25
+ private valRight;
26
+ private fmtDoc;
27
+ private fmtCep;
28
+ private fmtNum;
29
+ }
30
+ //# sourceMappingURL=DacteGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DacteGenerator.d.ts","sourceRoot":"","sources":["../../../src/infra/dacte/DacteGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,cAAc,CAAC;AAwCtD,qBAAa,cAAc;IACnB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBhD,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,OAAO;IAsCf,OAAO,CAAC,SAAS;IAyEjB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IA6BjB,OAAO,CAAC,OAAO;IAiCf,OAAO,CAAC,KAAK;IAsCb,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,QAAQ;IA2ChB,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;CAKf"}