@nfewizard/shared 1.0.2 → 1.1.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.
Files changed (30) hide show
  1. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/adapters/SchemaLoader.js +1 -0
  2. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/adapters/SchemaLoader.js.map +1 -1
  3. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/base/BaseNFe.d.ts +1 -1
  4. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/base/GerarConsulta.js +1 -0
  5. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/base/GerarConsulta.js.map +1 -1
  6. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/environment/LoadCertificate.d.ts +5 -0
  7. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/environment/LoadCertificate.js +30 -9
  8. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/environment/LoadCertificate.js.map +1 -1
  9. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/XmlParser.d.ts +65 -0
  10. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/XmlParser.js +189 -0
  11. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/XmlParser.js.map +1 -1
  12. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/index.d.ts +2 -0
  13. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/index.js +1 -0
  14. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/index.js.map +1 -1
  15. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/validateSchema.d.ts +96 -0
  16. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/validateSchema.js +252 -0
  17. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/src/utils/validateSchema.js.map +1 -0
  18. package/.rollup.cache/usr/projetos/nfewizard/nfewizard-io-idle-old/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  19. package/README.md +47 -1
  20. package/dist/index.cjs +470 -9
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.mjs +470 -10
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/src/base/BaseNFe.d.ts +1 -1
  25. package/dist/src/environment/LoadCertificate.d.ts +5 -0
  26. package/dist/src/utils/XmlParser.d.ts +65 -0
  27. package/dist/src/utils/index.d.ts +2 -0
  28. package/dist/src/utils/validateSchema.d.ts +96 -0
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +1 -1
@@ -27,6 +27,7 @@ export const getSchema = (metodo) => {
27
27
  RecepcaoEvento: `${pathSchemas}/envEvento_v1.00.xsd`,
28
28
  NFeDistribuicaoDFe: `${pathSchemas}/distDFeInt_v1.01.xsd`,
29
29
  NFEAutorizacao: `${pathSchemas}/enviNFe_v4.00.xsd`,
30
+ NFeAutorizacao: `${pathSchemas}/enviNFe_v4.00.xsd`,
30
31
  NFEInutilizacao: `${pathSchemas}/inutNFe_v4.00.xsd`,
31
32
  NFERetAutorizacao: `${pathSchemas}/consReciNFe_v4.00.xsd`,
32
33
  CTeDistribuicaoDFe: `${pathSchemas}/cte/distDFeInt_v1.00.xsd`,
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaLoader.js","sourceRoot":"","sources":["../../../src/adapters/SchemaLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC5D,wDAAwD;AACxD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAUvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAgB;QAC1B,gBAAgB,EAAE,GAAG,WAAW,yBAAyB;QACzD,oBAAoB,EAAE,GAAG,WAAW,uBAAuB;QAC3D,cAAc,EAAE,GAAG,WAAW,sBAAsB;QACpD,kBAAkB,EAAE,GAAG,WAAW,uBAAuB;QACzD,cAAc,EAAE,GAAG,WAAW,oBAAoB;QAClD,eAAe,EAAE,GAAG,WAAW,oBAAoB;QACnD,iBAAiB,EAAE,GAAG,WAAW,wBAAwB;QACzD,kBAAkB,EAAE,GAAG,WAAW,2BAA2B;QAC7D,uDAAuD;QACvD,gBAAgB,EAAE,GAAG,WAAW,qBAAqB;QACrD,aAAa,EAAE,GAAG,WAAW,sBAAsB;QACnD,iBAAiB,EAAE,GAAG,WAAW,sBAAsB;QACvD,YAAY,EAAE,GAAG,WAAW,8BAA8B;QAC1D,yBAAyB,EAAE,SAAS,EAAE,gCAAgC;KACvE,CAAA;IAED,IAAI,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;SAC3B,CAAA;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"SchemaLoader.js","sourceRoot":"","sources":["../../../src/adapters/SchemaLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC5D,wDAAwD;AACxD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAUvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAgB;QAC1B,gBAAgB,EAAE,GAAG,WAAW,yBAAyB;QACzD,oBAAoB,EAAE,GAAG,WAAW,uBAAuB;QAC3D,cAAc,EAAE,GAAG,WAAW,sBAAsB;QACpD,kBAAkB,EAAE,GAAG,WAAW,uBAAuB;QACzD,cAAc,EAAE,GAAG,WAAW,oBAAoB;QAClD,cAAc,EAAE,GAAG,WAAW,oBAAoB;QAClD,eAAe,EAAE,GAAG,WAAW,oBAAoB;QACnD,iBAAiB,EAAE,GAAG,WAAW,wBAAwB;QACzD,kBAAkB,EAAE,GAAG,WAAW,2BAA2B;QAC7D,uDAAuD;QACvD,gBAAgB,EAAE,GAAG,WAAW,qBAAqB;QACrD,aAAa,EAAE,GAAG,WAAW,sBAAsB;QACnD,iBAAiB,EAAE,GAAG,WAAW,sBAAsB;QACvD,YAAY,EAAE,GAAG,WAAW,8BAA8B;QAC1D,yBAAyB,EAAE,SAAS,EAAE,gCAAgC;KACvE,CAAA;IAED,IAAI,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;SAC3B,CAAA;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAA"}
@@ -19,7 +19,7 @@ declare abstract class BaseNFE {
19
19
  * Método de geração do XML - Deve ser implementado pelas subclasses
20
20
  */
21
21
  protected gerarXml(data?: any): string;
22
- protected setContentType(): "text/xml; charset=utf-8" | "application/soap+xml";
22
+ protected setContentType(): "application/soap+xml" | "text/xml; charset=utf-8";
23
23
  protected callWebService(xmlConsulta: string, webServiceUrl: string, ContentType: string, action: string, agent: Agent): Promise<AxiosResponse<any, any>>;
24
24
  /**
25
25
  * Método para obter o modelo
@@ -40,6 +40,7 @@ class GerarConsulta {
40
40
  const config = this.environment.getConfig();
41
41
  // Capturando o schema path
42
42
  const { schemaPath } = this.utility.getSchema(metodo);
43
+ logger.info(xmlConsulta);
43
44
  // Valida Schema apenas se o schema path estiver definido
44
45
  if (schemaPath) {
45
46
  if (config.lib?.useForSchemaValidation !== 'validateSchemaJsBased') {
@@ -1 +1 @@
1
- {"version":3,"file":"GerarConsulta.js","sourceRoot":"","sources":["../../../src/base/GerarConsulta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GerarConsulta.js","sourceRoot":"","sources":["../../../src/base/GerarConsulta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKjD,MAAM,aAAa;IAKf,YAAY,WAAwB,EAAE,OAAgB,EAAE,UAAsB;QAC1E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAc,EAAE,UAAmB,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,cAAsB,aAAa;QAC1I,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACnC,OAAO,EAAE,eAAe;SAC3B,CAAC,CAAC;QACH,uDAAuD;QACvD,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC;YACV,UAAU,GAAG;gBACT,GAAG;gBACH,SAAS,EAAE,MAAM;aACpB,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,MAAc,EAAE,gBAAgB,GAAG,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,KAAK,EAAE,UAAmB,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,cAAsB,aAAa;QAChL,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAE5C,2BAA2B;YAC3B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,yDAAyD;YACzD,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,MAAM,CAAC,GAAG,EAAE,sBAAsB,KAAK,uBAAuB,EAAE,CAAC;oBACjE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;wBAClD,OAAO,EAAE,eAAe;wBACxB,GAAG,EAAE,kDAAkD;qBAC1D,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;wBAC3C,OAAO,EAAE,eAAe;wBACxB,GAAG,EAAE,sBAAsB;qBAC9B,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;oBACvC,OAAO,EAAE,eAAe;oBACxB,MAAM;oBACN,GAAG,EAAE,4CAA4C;iBACpD,CAAC,CAAC;YACP,CAAC;YAED,oDAAoD;YACpD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAEnG,+EAA+E;YAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAE9C,+CAA+C;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAE3F,OAAO;gBACH,WAAW;gBACX,KAAK;gBACL,aAAa;gBACb,MAAM;aACT,CAAA;QAEL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACjJ,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;IACL,CAAC;CACJ;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -4,6 +4,11 @@ declare class LoadCertificate {
4
4
  private certificate;
5
5
  private cert_key;
6
6
  constructor(config: NFeWizardProps);
7
+ /**
8
+ * Resolve o conteúdo binário do PFX a partir do `pathCertificado` informado em
9
+ * config. Aceita `string` (caminho), `Buffer` ou `NodeJS.ReadableStream`.
10
+ */
11
+ private resolvePfxBuffer;
7
12
  private loadCertificateWithPEM;
8
13
  private loadCertificateWithNodeForge;
9
14
  loadCertificate(): Promise<CertificateLoadReturn>;
@@ -30,12 +30,35 @@ class LoadCertificate {
30
30
  this.certificate = '';
31
31
  this.cert_key = '';
32
32
  }
33
- loadCertificateWithPEM() {
33
+ /**
34
+ * Resolve o conteúdo binário do PFX a partir do `pathCertificado` informado em
35
+ * config. Aceita `string` (caminho), `Buffer` ou `NodeJS.ReadableStream`.
36
+ */
37
+ async resolvePfxBuffer() {
38
+ const input = this.config.dfe.pathCertificado;
39
+ if (typeof input === 'string') {
40
+ return fs.readFileSync(input);
41
+ }
42
+ if (Buffer.isBuffer(input)) {
43
+ return input;
44
+ }
45
+ if (input && typeof input.pipe === 'function') {
46
+ const stream = input;
47
+ return await new Promise((resolve, reject) => {
48
+ const chunks = [];
49
+ stream.on('data', (chunk) => {
50
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
51
+ });
52
+ stream.on('end', () => resolve(Buffer.concat(chunks)));
53
+ stream.on('error', (err) => reject(err));
54
+ });
55
+ }
56
+ throw new Error('pathCertificado deve ser uma string (path), Buffer ou Stream legível.');
57
+ }
58
+ loadCertificateWithPEM(pfxFile) {
34
59
  return new Promise((resolve, reject) => {
35
60
  try {
36
- const pfxPath = this.config.dfe.pathCertificado;
37
61
  const pfxPassword = this.config.dfe.senhaCertificado;
38
- const pfxFile = fs.readFileSync(pfxPath);
39
62
  const certsDir = path.resolve(baseDir, dir);
40
63
  // Read CA certificates if directory exists and has files
41
64
  let caCerts = [];
@@ -94,13 +117,10 @@ class LoadCertificate {
94
117
  }
95
118
  });
96
119
  }
97
- loadCertificateWithNodeForge() {
120
+ loadCertificateWithNodeForge(pfxFile) {
98
121
  return new Promise((resolve, reject) => {
99
122
  try {
100
- const pfxPath = this.config.dfe.pathCertificado;
101
123
  const pfxPassword = this.config.dfe.senhaCertificado;
102
- // Lê o arquivo PFX
103
- const pfxFile = fs.readFileSync(pfxPath);
104
124
  // Decodifica o arquivo PFX (PKCS#12)
105
125
  const p12Asn1 = forge.asn1.fromDer(pfxFile.toString('binary'));
106
126
  const p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, pfxPassword);
@@ -172,15 +192,16 @@ class LoadCertificate {
172
192
  logger.info('Validando certificado', {
173
193
  context: 'LoadCertificate',
174
194
  });
195
+ const pfxFile = await this.resolvePfxBuffer();
175
196
  if (this.config.lib?.useOpenSSL || this.config.lib?.useOpenSSL === undefined) {
176
- const { agent } = await this.loadCertificateWithPEM();
197
+ const { agent } = await this.loadCertificateWithPEM(pfxFile);
177
198
  return {
178
199
  certificate: this.certificate,
179
200
  cert_key: this.cert_key,
180
201
  agent
181
202
  };
182
203
  }
183
- const { agent } = await this.loadCertificateWithNodeForge();
204
+ const { agent } = await this.loadCertificateWithNodeForge(pfxFile);
184
205
  return {
185
206
  certificate: this.certificate,
186
207
  cert_key: this.cert_key,
@@ -1 +1 @@
1
- {"version":3,"file":"LoadCertificate.js","sourceRoot":"","sources":["../../../src/environment/LoadCertificate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadCertificate.js","sourceRoot":"","sources":["../../../src/environment/LoadCertificate.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,69 @@ export declare class XmlParser {
15
15
  getAutorizacaoRetornoEventBody(jsonData: any): any;
16
16
  getInutilizacaoRetornoEventBody(jsonData: any): any;
17
17
  convertXmlToJson(xml: string, metodo: string, nsu?: string): GenericObject;
18
+ /**
19
+ * Converte um XML de envio (`enviNFe`) ou uma `NFe` solo em uma
20
+ * estrutura JSON compatível com o tipo `NFe` esperado pelos serviços
21
+ * de Autorização de NFe/NFCe (`{ idLote, indSinc, NFe }`).
22
+ *
23
+ * Formatos aceitos:
24
+ * - Envelope `enviNFe` contendo uma ou mais `NFe`.
25
+ * - `nfeProc` (XML autorizado) — extrai a `NFe` interna.
26
+ * - `NFe` solo — empacota com defaults (`idLote=1`, `indSinc=1`).
27
+ *
28
+ * Defaults são aplicáveis somente para os campos do envelope; o
29
+ * conteúdo de `infNFe` não é alterado e segue o fluxo normal de
30
+ * geração/assinatura no service.
31
+ *
32
+ * @param xml String XML de entrada.
33
+ * @param overrides Permite sobrescrever `idLote`/`indSinc` quando o XML
34
+ * não contém envelope.
35
+ */
36
+ convertXmlEnvioNFeToJson(xml: string, overrides?: {
37
+ idLote?: string | number;
38
+ indSinc?: 0 | 1;
39
+ }): GenericObject;
40
+ /**
41
+ * Converte um XML autorizado (`nfeProc`) ou uma `NFe` solo em uma
42
+ * estrutura JSON compatível com o gerador de DANFE
43
+ * (`{ NFe, protNFe? }`), além de retornar a chave de acesso quando
44
+ * disponível.
45
+ *
46
+ * @param xml String XML de entrada.
47
+ */
48
+ convertXmlNfeProcToJson(xml: string): {
49
+ data: GenericObject;
50
+ chave: string;
51
+ };
52
+ /**
53
+ * Faz o parse de um XML de NFe/NFCe (envio, retorno ou solo) preservando
54
+ * atributos e elevando-os para o nível do elemento (ex.: `Id` em `infNFe`,
55
+ * `versao` em `NFe`, `nItem` em `det`). Necessário para alimentar o
56
+ * fluxo interno da lib que espera atributos como propriedades comuns.
57
+ */
58
+ private parseNfeLikeXml;
59
+ /**
60
+ * Eleva, recursivamente, as chaves de `_attributes` para o próprio nível
61
+ * do elemento e remove o nó `_attributes`. Compatível com a saída de
62
+ * `xml-js` em modo compacto.
63
+ */
64
+ private liftAttributes;
65
+ /**
66
+ * Normaliza uma `NFe` parseada de XML para o formato interno da lib:
67
+ * - converte `CNPJ`/`CPF`/`idEstrangeiro` em `CNPJCPF` em `emit`,
68
+ * `dest`, `transp.transporta` e `NFref.refNFP`.
69
+ * - remove atributos elevados que a lib re-aplica via `$` ao montar
70
+ * o XML final (`infNFe.versao`, `det.nItem`), evitando duplicidade
71
+ * no XML gerado.
72
+ *
73
+ * Observação: `infRespTec` mantém o campo `CNPJ` original — a lib não
74
+ * unifica documento para esse nó.
75
+ */
76
+ private normalizeNfeForLibFormat;
77
+ /**
78
+ * Em um nó (ex.: `emit`, `dest`), unifica `CNPJ`/`CPF`/`idEstrangeiro`
79
+ * em um único campo `CNPJCPF`, removendo as chaves originais. Mantém a
80
+ * primeira não-vazia encontrada na ordem `CNPJ → CPF → idEstrangeiro`.
81
+ */
82
+ private unifyDocFields;
18
83
  }
@@ -170,5 +170,194 @@ export class XmlParser {
170
170
  }
171
171
  return jsonBody;
172
172
  }
173
+ /**
174
+ * Converte um XML de envio (`enviNFe`) ou uma `NFe` solo em uma
175
+ * estrutura JSON compatível com o tipo `NFe` esperado pelos serviços
176
+ * de Autorização de NFe/NFCe (`{ idLote, indSinc, NFe }`).
177
+ *
178
+ * Formatos aceitos:
179
+ * - Envelope `enviNFe` contendo uma ou mais `NFe`.
180
+ * - `nfeProc` (XML autorizado) — extrai a `NFe` interna.
181
+ * - `NFe` solo — empacota com defaults (`idLote=1`, `indSinc=1`).
182
+ *
183
+ * Defaults são aplicáveis somente para os campos do envelope; o
184
+ * conteúdo de `infNFe` não é alterado e segue o fluxo normal de
185
+ * geração/assinatura no service.
186
+ *
187
+ * @param xml String XML de entrada.
188
+ * @param overrides Permite sobrescrever `idLote`/`indSinc` quando o XML
189
+ * não contém envelope.
190
+ */
191
+ convertXmlEnvioNFeToJson(xml, overrides) {
192
+ logger.info('Convertendo XML de envio para JSON', {
193
+ context: 'XmlParser',
194
+ method: 'convertXmlEnvioNFeToJson',
195
+ });
196
+ const jsonData = this.parseNfeLikeXml(xml);
197
+ let envelope = this.findInObj(jsonData, 'enviNFe');
198
+ if (!envelope) {
199
+ const nfeProc = this.findInObj(jsonData, 'nfeProc');
200
+ const nfeNode = nfeProc ? this.findInObj(nfeProc, 'NFe') : this.findInObj(jsonData, 'NFe');
201
+ if (!nfeNode) {
202
+ throw new Error('XML inválido: não foi possível localizar `enviNFe` ou `NFe`.');
203
+ }
204
+ envelope = {
205
+ idLote: overrides?.idLote ?? '1',
206
+ indSinc: overrides?.indSinc ?? 1,
207
+ NFe: nfeNode,
208
+ };
209
+ }
210
+ // Normaliza CNPJ/CPF -> CNPJCPF nas NFe (formato esperado pela lib)
211
+ const nfeList = Array.isArray(envelope.NFe) ? envelope.NFe : [envelope.NFe];
212
+ nfeList.forEach((n) => this.normalizeNfeForLibFormat(n));
213
+ return {
214
+ idLote: envelope.idLote ?? overrides?.idLote ?? '1',
215
+ indSinc: Number(envelope.indSinc ?? overrides?.indSinc ?? 1),
216
+ NFe: envelope.NFe,
217
+ };
218
+ }
219
+ /**
220
+ * Converte um XML autorizado (`nfeProc`) ou uma `NFe` solo em uma
221
+ * estrutura JSON compatível com o gerador de DANFE
222
+ * (`{ NFe, protNFe? }`), além de retornar a chave de acesso quando
223
+ * disponível.
224
+ *
225
+ * @param xml String XML de entrada.
226
+ */
227
+ convertXmlNfeProcToJson(xml) {
228
+ logger.info('Convertendo nfeProc para JSON', {
229
+ context: 'XmlParser',
230
+ method: 'convertXmlNfeProcToJson',
231
+ });
232
+ const jsonData = this.parseNfeLikeXml(xml);
233
+ const nfeProc = this.findInObj(jsonData, 'nfeProc');
234
+ const NFe = nfeProc ? this.findInObj(nfeProc, 'NFe') : this.findInObj(jsonData, 'NFe');
235
+ if (!NFe) {
236
+ throw new Error('XML inválido: não foi possível localizar `NFe` ou `nfeProc`.');
237
+ }
238
+ const protNFe = nfeProc ? this.findInObj(nfeProc, 'protNFe') : this.findInObj(jsonData, 'protNFe');
239
+ const chFromProt = protNFe?.infProt?.chNFe;
240
+ const idAttr = NFe?.infNFe?.Id ?? '';
241
+ const chFromId = typeof idAttr === 'string' ? idAttr.replace(/^NFe/, '') : '';
242
+ const chave = chFromProt || chFromId || '';
243
+ const data = { NFe };
244
+ if (protNFe)
245
+ data.protNFe = protNFe;
246
+ return { data, chave };
247
+ }
248
+ /**
249
+ * Faz o parse de um XML de NFe/NFCe (envio, retorno ou solo) preservando
250
+ * atributos e elevando-os para o nível do elemento (ex.: `Id` em `infNFe`,
251
+ * `versao` em `NFe`, `nItem` em `det`). Necessário para alimentar o
252
+ * fluxo interno da lib que espera atributos como propriedades comuns.
253
+ */
254
+ parseNfeLikeXml(xml) {
255
+ const jsonAsString = convert.xml2json(xml, {
256
+ compact: true,
257
+ spaces: 2,
258
+ ignoreAttributes: false,
259
+ ignoreDeclaration: true,
260
+ trim: true,
261
+ ignoreInstruction: true,
262
+ ignoreComment: true,
263
+ ignoreCdata: true,
264
+ ignoreDoctype: true,
265
+ textFn: this.removeJsonTextAttribute,
266
+ });
267
+ const parsed = JSON.parse(jsonAsString);
268
+ this.liftAttributes(parsed);
269
+ return parsed;
270
+ }
271
+ /**
272
+ * Eleva, recursivamente, as chaves de `_attributes` para o próprio nível
273
+ * do elemento e remove o nó `_attributes`. Compatível com a saída de
274
+ * `xml-js` em modo compacto.
275
+ */
276
+ liftAttributes(node) {
277
+ if (!node || typeof node !== 'object')
278
+ return;
279
+ if (Array.isArray(node)) {
280
+ node.forEach(item => this.liftAttributes(item));
281
+ return;
282
+ }
283
+ if (node._attributes && typeof node._attributes === 'object') {
284
+ for (const attrKey of Object.keys(node._attributes)) {
285
+ if (!(attrKey in node)) {
286
+ node[attrKey] = node._attributes[attrKey];
287
+ }
288
+ }
289
+ delete node._attributes;
290
+ }
291
+ for (const key of Object.keys(node)) {
292
+ const value = node[key];
293
+ if (value && typeof value === 'object') {
294
+ this.liftAttributes(value);
295
+ }
296
+ }
297
+ }
298
+ /**
299
+ * Normaliza uma `NFe` parseada de XML para o formato interno da lib:
300
+ * - converte `CNPJ`/`CPF`/`idEstrangeiro` em `CNPJCPF` em `emit`,
301
+ * `dest`, `transp.transporta` e `NFref.refNFP`.
302
+ * - remove atributos elevados que a lib re-aplica via `$` ao montar
303
+ * o XML final (`infNFe.versao`, `det.nItem`), evitando duplicidade
304
+ * no XML gerado.
305
+ *
306
+ * Observação: `infRespTec` mantém o campo `CNPJ` original — a lib não
307
+ * unifica documento para esse nó.
308
+ */
309
+ normalizeNfeForLibFormat(nfeNode) {
310
+ const infNFe = nfeNode?.infNFe;
311
+ if (!infNFe || typeof infNFe !== 'object')
312
+ return;
313
+ // versao é re-aplicado pela lib via $ ao montar `infNFe`
314
+ delete infNFe.versao;
315
+ // O atributo `Id` no XML vem com prefixo "NFe" (ex.: "NFe4126..."),
316
+ // mas a lib espera apenas a chave de 44 dígitos em `infNFe.Id` —
317
+ // ela própria re-prefixa com "NFe" ao calcular `chaveAcesso`.
318
+ if (typeof infNFe.Id === 'string' && /^NFe\d{44}$/.test(infNFe.Id)) {
319
+ infNFe.Id = infNFe.Id.slice(3);
320
+ }
321
+ this.unifyDocFields(infNFe.emit);
322
+ this.unifyDocFields(infNFe.dest);
323
+ this.unifyDocFields(infNFe.transp?.transporta);
324
+ // nItem é re-aplicado pela lib via $ em cada `det` quando é array.
325
+ // Por isso normalizamos sempre para array (no XML, com 1 item, viraria
326
+ // objeto único e a lib não re-aplicaria nItem, quebrando a validação XSD).
327
+ const det = infNFe.det;
328
+ if (Array.isArray(det)) {
329
+ det.forEach((d) => { if (d && typeof d === 'object')
330
+ delete d.nItem; });
331
+ }
332
+ else if (det && typeof det === 'object') {
333
+ delete det.nItem;
334
+ infNFe.det = [det];
335
+ }
336
+ const NFref = infNFe.NFref;
337
+ if (Array.isArray(NFref)) {
338
+ NFref.forEach((ref) => this.unifyDocFields(ref?.refNFP));
339
+ }
340
+ else if (NFref && typeof NFref === 'object') {
341
+ this.unifyDocFields(NFref.refNFP);
342
+ }
343
+ }
344
+ /**
345
+ * Em um nó (ex.: `emit`, `dest`), unifica `CNPJ`/`CPF`/`idEstrangeiro`
346
+ * em um único campo `CNPJCPF`, removendo as chaves originais. Mantém a
347
+ * primeira não-vazia encontrada na ordem `CNPJ → CPF → idEstrangeiro`.
348
+ */
349
+ unifyDocFields(target) {
350
+ if (!target || typeof target !== 'object')
351
+ return;
352
+ if (target.CNPJCPF)
353
+ return;
354
+ const candidate = target.CNPJ || target.CPF || target.idEstrangeiro;
355
+ if (candidate) {
356
+ target.CNPJCPF = candidate;
357
+ }
358
+ delete target.CNPJ;
359
+ delete target.CPF;
360
+ delete target.idEstrangeiro;
361
+ }
173
362
  }
174
363
  //# sourceMappingURL=XmlParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XmlParser.js","sourceRoot":"","sources":["../../../src/utils/XmlParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XmlParser.js","sourceRoot":"","sources":["../../../src/utils/XmlParser.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,5 @@ export { ValidaCPFCNPJ } from './ValidaCPFCNPJ.js';
9
9
  export { getCodIBGE } from './getCodIBGE.js';
10
10
  export { getDesTipoPag } from './getDesTipoPag.js';
11
11
  export { mountICMS, mountPIS, mountCOFINS } from './NFEImposto.js';
12
+ export { NFE_SchemaValidate } from './validateSchema.js';
13
+ export type { SchemaValidator, SchemaValidateMethod, NFESchemaValidateOptions, SchemaValidationIssue, SchemaValidationResult, } from './validateSchema.js';
@@ -25,4 +25,5 @@ export { ValidaCPFCNPJ } from './ValidaCPFCNPJ.js';
25
25
  export { getCodIBGE } from './getCodIBGE.js';
26
26
  export { getDesTipoPag } from './getDesTipoPag.js';
27
27
  export { mountICMS, mountPIS, mountCOFINS } from './NFEImposto.js';
28
+ export { NFE_SchemaValidate } from './validateSchema.js';
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,96 @@
1
+ import type { Environment } from '../environment/Environment.js';
2
+ /** Estratégias de validação de schema disponíveis. */
3
+ export type SchemaValidator = 'validateSchemaJsBased' | 'validateSchemaJavaBased';
4
+ /**
5
+ * Nomes de métodos/operações fiscais aceitos pela validação de schema.
6
+ * Devem corresponder às chaves mapeadas em `SchemaLoader.getSchema`.
7
+ */
8
+ export type SchemaValidateMethod = 'NFEStatusServico' | 'NFEConsultaProtocolo' | 'RecepcaoEvento' | 'NFeDistribuicaoDFe' | 'NFEAutorizacao' | 'NFeAutorizacao' | 'NFEInutilizacao' | 'NFERetAutorizacao' | 'CTeDistribuicaoDFe' | 'NFSe_Autorizacao' | 'NFSe_Consulta' | 'NFSe_Distribuicao' | 'NFSe_Eventos' | 'NFSe_ParametrosMunicipais';
9
+ /**
10
+ * Erro individual de validação de schema, já com mensagem original e versão humanizada.
11
+ */
12
+ export interface SchemaValidationIssue {
13
+ /** Mensagem original retornada pelo parser/validador (libxmljs ou xsd-schema-validator). */
14
+ raw: string;
15
+ /** Versão amigável da mensagem, em português, sem namespaces. */
16
+ humanized: string;
17
+ /** Elemento XML envolvido (quando identificável). Ex.: `NFe`, `infNFe`, `ide`. */
18
+ element?: string;
19
+ /** Atributo envolvido (quando o erro for em atributo). */
20
+ attribute?: string;
21
+ /** Filhos/valores esperados extraídos da mensagem (quando aplicável). */
22
+ expected?: string[];
23
+ /** Linha do XML reportada pelo validador. */
24
+ line?: number;
25
+ /** Coluna do XML reportada pelo validador. */
26
+ column?: number;
27
+ }
28
+ /**
29
+ * Resultado completo da validação. Compatível com o retorno anterior
30
+ * (`{ success, message }`) e expandido com campos adicionais.
31
+ */
32
+ export interface SchemaValidationResult {
33
+ success: boolean;
34
+ /** Mensagem-resumo (humanizada). Em sucesso: `'XML válido.'`. */
35
+ message: string;
36
+ /** Lista de todos os erros de schema encontrados. Vazia em sucesso. */
37
+ errors: SchemaValidationIssue[];
38
+ /** Relatório multilinha pronto para `console.log`, no estilo do validador SEFAZ-RS. */
39
+ report: string;
40
+ /** Linhas estruturadas para `console.table(result.tableRows)`. */
41
+ tableRows: Array<{
42
+ '#': number;
43
+ Linha: number | '';
44
+ Elemento: string;
45
+ Mensagem: string;
46
+ }>;
47
+ /** Método/schema utilizado na validação. */
48
+ metodo: SchemaValidateMethod;
49
+ /** Nome do arquivo XSD aplicado. */
50
+ schema: string;
51
+ }
52
+ export interface NFESchemaValidateOptions {
53
+ /**
54
+ * Qual validador utilizar.
55
+ *
56
+ * - `'validateSchemaJsBased'` — usa `libxmljs2` + `xsd-assembler` (sem JDK).
57
+ * - `'validateSchemaJavaBased'` — usa `xsd-schema-validator` (requer JDK).
58
+ *
59
+ * Quando não informado, lê `lib.useForSchemaValidation` da configuração da lib
60
+ * (via `environment`); se nenhum dos dois estiver definido, aplica
61
+ * `'validateSchemaJsBased'` como padrão.
62
+ */
63
+ validator?: SchemaValidator;
64
+ /**
65
+ * Instância do `Environment` inicializada pela lib. Usada apenas para ler
66
+ * `lib.useForSchemaValidation` quando `validator` não for informado
67
+ * explicitamente.
68
+ */
69
+ environment?: Environment;
70
+ }
71
+ /**
72
+ * Valida um XML contra o schema XSD correspondente ao método fiscal informado.
73
+ *
74
+ * ### Seleção do validador (ordem de prioridade)
75
+ * 1. `options.validator` — escolha explícita do caller.
76
+ * 2. `options.environment.getConfig().lib?.useForSchemaValidation` — valor definido
77
+ * na inicialização da lib.
78
+ * 3. `'validateSchemaJsBased'` — padrão (sem JDK).
79
+ *
80
+ * @param xml - String XML a ser validada.
81
+ * @param metodo - Nome do método/operação fiscal (ex.: `'NFeAutorizacao'`).
82
+ * @param options - Opções opcionais: `validator` e/ou `environment`.
83
+ *
84
+ * @example
85
+ * // Sem opções: usa validateSchemaJsBased
86
+ * await NFE_SchemaValidate(xml, 'NFeAutorizacao');
87
+ *
88
+ * @example
89
+ * // Passando o environment inicializado pela lib (lê useForSchemaValidation do config)
90
+ * await NFE_SchemaValidate(xml, 'NFeAutorizacao', { environment });
91
+ *
92
+ * @example
93
+ * // Forçando um validador específico
94
+ * await NFE_SchemaValidate(xml, 'NFeAutorizacao', { validator: 'validateSchemaJavaBased' });
95
+ */
96
+ export declare function NFE_SchemaValidate(xml: string, metodo: SchemaValidateMethod, options?: NFESchemaValidateOptions): Promise<SchemaValidationResult>;