node-sped-nfe 1.2.31 → 1.2.32

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.
@@ -319,7 +319,7 @@ const docZip = async (xml, retorno = "original") => {
319
319
  };
320
320
  const jXml = await xml2json(xml);
321
321
  try {
322
- var docZips = jXml["nfeDistDFeInteresseResponse"]["nfeDistDFeInteresseResult"]["retDistDFeInt"];
322
+ var docZips = jXml["nfeDistDFeInteresseResult"]["retDistDFeInt"];
323
323
  if (typeof docZips['loteDistDFeInt'] == "undefined")
324
324
  return resolve([]);
325
325
  docZips = docZips["loteDistDFeInt"]['docZip'];
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _Tools_instances, _Tools_cert, _Tools_pem, _Tools_config, _Tools_getSignature, _Tools_gerarQRCodeNFCe, _Tools_descEvento, _Tools_xmlValido, _Tools_certTools;
12
+ var _Tools_instances, _Tools_cert, _Tools_pem, _Tools_config, _Tools_getSignature, _Tools_gerarQRCodeNFCe, _Tools_descEvento, _Tools_xmlValido, _Tools_certTools, _Tools_limparSoap;
13
13
  import { XMLBuilder } from "fast-xml-parser";
14
14
  import https from "https";
15
15
  import { spawnSync } from "child_process";
@@ -101,10 +101,13 @@ class Tools {
101
101
  res.on('data', (chunk) => {
102
102
  data += chunk;
103
103
  });
104
- res.on('end', () => {
105
- xml2json(data).then((jRes) => {
106
- json2xml(jRes['soapenv:Envelope']?.['soapenv:Body']?.['nfeResultMsg'] || jRes['soap:Envelope']?.['soap:Body']?.['nfeResultMsg']).then(resolve).catch(reject);
107
- });
104
+ res.on('end', async () => {
105
+ try {
106
+ resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
107
+ }
108
+ catch (error) {
109
+ resolve(data);
110
+ }
108
111
  });
109
112
  });
110
113
  req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
@@ -216,10 +219,13 @@ class Tools {
216
219
  }, (res) => {
217
220
  let data = '';
218
221
  res.on('data', (chunk) => data += chunk);
219
- res.on('end', () => {
220
- xml2json(data).then((jRes) => {
221
- json2xml(jRes['soapenv:Envelope']?.['soapenv:Body']?.['nfeResultMsg'] || jRes['soap:Envelope']?.['soap:Body']?.['nfeResultMsg']).then(resolve).catch(reject);
222
- });
222
+ res.on('end', async () => {
223
+ try {
224
+ resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
225
+ }
226
+ catch (error) {
227
+ resolve(data);
228
+ }
223
229
  });
224
230
  });
225
231
  req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
@@ -344,10 +350,13 @@ class Tools {
344
350
  res.on('data', (chunk) => {
345
351
  data += chunk;
346
352
  });
347
- res.on('end', () => {
348
- xml2json(data).then((jRes) => {
349
- json2xml(jRes['soapenv:Envelope']?.['soapenv:Body']?.['nfeResultMsg'] || jRes['soap:Envelope']?.['soap:Body']?.['nfeResultMsg']).then(resolve).catch(reject);
350
- });
353
+ res.on('end', async () => {
354
+ try {
355
+ resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
356
+ }
357
+ catch (error) {
358
+ resolve(data);
359
+ }
351
360
  });
352
361
  });
353
362
  req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
@@ -432,10 +441,13 @@ class Tools {
432
441
  res.on('data', (chunk) => {
433
442
  data += chunk;
434
443
  });
435
- res.on('end', () => {
436
- xml2json(data).then((jRes) => {
437
- json2xml(jRes['soapenv:Envelope']?.['soapenv:Body']?.['nfeResultMsg'] || jRes['soap:Envelope']?.['soap:Body']?.['nfeResultMsg']).then(resolve).catch(reject);
438
- });
444
+ res.on('end', async () => {
445
+ try {
446
+ resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
447
+ }
448
+ catch (error) {
449
+ resolve(data);
450
+ }
439
451
  });
440
452
  });
441
453
  req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
@@ -509,10 +521,13 @@ class Tools {
509
521
  res.on('data', (chunk) => {
510
522
  data += chunk;
511
523
  });
512
- res.on('end', () => {
513
- xml2json(data).then((jRes) => {
514
- json2xml(jRes['soapenv:Envelope']?.['soapenv:Body']?.['nfeResultMsg'] || jRes['soap:Envelope']?.['soap:Body']?.['nfeResultMsg']).then(resolve).catch(reject);
515
- });
524
+ res.on('end', async () => {
525
+ try {
526
+ resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
527
+ }
528
+ catch (error) {
529
+ resolve(data);
530
+ }
516
531
  });
517
532
  });
518
533
  req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
@@ -633,5 +648,29 @@ async function _Tools_xmlValido(xml, xsd) {
633
648
  resvol(__classPrivateFieldGet(this, _Tools_pem, "f"));
634
649
  });
635
650
  });
651
+ }, _Tools_limparSoap =
652
+ //Remove coisas inuteis da resposta do sefaz
653
+ async function _Tools_limparSoap(xml) {
654
+ const clear = [
655
+ 'soapenv:Envelope',
656
+ 'soapenv:Body',
657
+ 'nfeResultMsg',
658
+ 'soap:Envelope',
659
+ 'soap:Body',
660
+ 'nfeResultMsg',
661
+ 'nfeDistDFeInteresseResponse'
662
+ ];
663
+ let jXml = await xml2json(xml);
664
+ let index = 0;
665
+ while (index < clear.length) {
666
+ if (typeof jXml[clear[index]] !== "undefined") {
667
+ jXml = jXml[clear[index]];
668
+ index = 0; // reinicia a busca no novo nível
669
+ }
670
+ else {
671
+ index++;
672
+ }
673
+ }
674
+ return await json2xml(jXml);
636
675
  };
637
676
  export { Tools };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-sped-nfe",
3
- "version": "1.2.31",
3
+ "version": "1.2.32",
4
4
  "author": "Kalmon V. Tavares",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/xmlSing.xml DELETED
@@ -1 +0,0 @@
1
- <NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe Id="NFe43250508512944000150650000000002511000020233" versao="4.00"><ide><cUF>43</cUF><cNF>00002023</cNF><natOp>VENDA</natOp><mod>65</mod><serie>0</serie><nNF>251</nNF><dhEmi>2025-05-14T13:21:01-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>5106257</cMunFG><tpImp>4</tpImp><tpEmis>1</tpEmis><cDV>3</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><indIntermed>0</indIntermed><procEmi>0</procEmi><verProc>4.13</verProc></ide><emit><CNPJ>08512944000150</CNPJ><xNome>S CANDIDA DA SILVA </xNome><xFant>S CANDIDA DA SILVA </xFant><enderEmit><xLgr>Av. Nodejs</xLgr><nro>22</nro><xBairro>Githubsom</xBairro><cMun>4313466</cMun><xMun>Novo Xingu</xMun><UF>SP</UF><CEP>99687000</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>1140028922</fone></enderEmit><IE>133299414</IE><CRT>1</CRT></emit><det nItem="1"><prod><cProd>126</cProd><cEAN>SEM GTIN</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>85044010</NCM><CFOP>5102</CFOP><uCom>UNID</uCom><qCom>3.0000</qCom><vUnCom>132.0000000000</vUnCom><vProd>396.00</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UNID</uTrib><qTrib>3.0000</qTrib><vUnTrib>132.0000000000</vUnTrib><indTot>1</indTot></prod><imposto><ICMS><ICMSSN102><orig>0</orig><CSOSN>400</CSOSN></ICMSSN102></ICMS><PIS><PISOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vPIS>0.00</vPIS></PISOutr></PIS><COFINS><COFINSOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vCOFINS>0.00</vCOFINS></COFINSOutr></COFINS></imposto></det><det nItem="2"><prod><cProd>129</cProd><cEAN>SEM GTIN</cEAN><xProd>CABO P2 PARA P10 CELULAR MESA DE SOM CAIXA DE SOM 25 METRO</xProd><NCM>85044010</NCM><CFOP>5102</CFOP><uCom>UNID</uCom><qCom>2.0000</qCom><vUnCom>218.0000000000</vUnCom><vProd>436.00</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UNID</uTrib><qTrib>2.0000</qTrib><vUnTrib>218.0000000000</vUnTrib><indTot>1</indTot></prod><imposto><ICMS><ICMSSN102><orig>0</orig><CSOSN>400</CSOSN></ICMSSN102></ICMS><PIS><PISOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vPIS>0.00</vPIS></PISOutr></PIS><COFINS><COFINSOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vCOFINS>0.00</vCOFINS></COFINSOutr></COFINS></imposto></det><det nItem="3"><prod><cProd>127</cProd><cEAN>SEM GTIN</cEAN><xProd>CABO DE MICROFONE XLR FEMEA PARA P10 MONO 20 METROS CIRILO CABOS</xProd><NCM>85044010</NCM><CFOP>5102</CFOP><uCom>UNID</uCom><qCom>2.0000</qCom><vUnCom>185.0000000000</vUnCom><vProd>370.00</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UNID</uTrib><qTrib>2.0000</qTrib><vUnTrib>185.0000000000</vUnTrib><vDesc>38.00</vDesc><indTot>1</indTot></prod><imposto><ICMS><ICMSSN102><orig>0</orig><CSOSN>400</CSOSN></ICMSSN102></ICMS><PIS><PISOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vPIS>0.00</vPIS></PISOutr></PIS><COFINS><COFINSOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vCOFINS>0.00</vCOFINS></COFINSOutr></COFINS></imposto></det><det nItem="4"><prod><cProd>128</cProd><cEAN>SEM GTIN</cEAN><xProd>CABO DE AUDIO P10 X P10 MONO BLINDADO 5 METROS</xProd><NCM>85044010</NCM><CFOP>5102</CFOP><uCom>UNID</uCom><qCom>2.0000</qCom><vUnCom>18.0000000000</vUnCom><vProd>36.00</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UNID</uTrib><qTrib>2.0000</qTrib><vUnTrib>18.0000000000</vUnTrib><indTot>1</indTot></prod><imposto><ICMS><ICMSSN102><orig>0</orig><CSOSN>400</CSOSN></ICMSSN102></ICMS><PIS><PISOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vPIS>0.00</vPIS></PISOutr></PIS><COFINS><COFINSOutr><CST>49</CST><qBCProd>0.0000</qBCProd><vAliqProd>0.0000</vAliqProd><vCOFINS>0.00</vCOFINS></COFINSOutr></COFINS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>1238.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>38.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>1200.00</vNF></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>17</tPag><vPag>1200.00</vPag></detPag><vTroco>0.00</vTroco></pag><infRespTec><CNPJ>47506306000188</CNPJ><xContato>PP Programador Perfeito</xContato><email>pp@email.com</email><fone>551140028922</fone></infRespTec></infNFe><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#NFe43250508512944000150650000000002511000020233"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>Rvp1yuwdqJSZcEqgFFNX+yD74PI=</DigestValue></Reference></SignedInfo><SignatureValue>iwJ35xNS4HPfMmucz6zki7H92JbPt5BAAwxhhQer3VGCw/2xzFw/ZIU9RIi5dUGmeSH3s23wl0n/MB590YDpB6ysUHTFpcrlywi76x/uEc9zc7sdLKk9ECe4y4BsBI5lxANlY0sDpMMm1KyseuQPgnOAE3HPeDMGW3S6lMInNxDx+3jhcLKtKokHEovEZEgeQnsSCjXHxNxpEdXFnSdnz0rAzpt6onErDQI/fTpTvF/BHtB3WmsO7ApXYV2FyuWaRuE2/UT2ozvVcwYphrgLiIvGQOnR6lbKH2ivoRrsDGJlLB0a0FxFN8UDCn+1xhjFcMhbAbgRqE5R/pUE5urpcw==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature><infNFeSupl><qrCode>https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx</qrCode><urlChave>www.sefaz.rs.gov.br/nfce/consulta</urlChave></infNFeSupl></NFe>