node-sped-nfe 1.2.31 → 1.2.33
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/dist/utils/extras.js +3 -2
- package/dist/utils/make.js +5 -1
- package/dist/utils/tools.js +63 -21
- package/package.json +1 -1
- package/xmlSing.xml +0 -1
package/dist/utils/extras.js
CHANGED
@@ -28,7 +28,8 @@ const cUF2UF = {
|
|
28
28
|
"50": "MS",
|
29
29
|
"51": "MT",
|
30
30
|
"52": "GO",
|
31
|
-
"53": "DF"
|
31
|
+
"53": "DF",
|
32
|
+
"91": "AN"
|
32
33
|
}, UF2cUF = {
|
33
34
|
"RO": "11",
|
34
35
|
"AC": "12",
|
@@ -319,7 +320,7 @@ const docZip = async (xml, retorno = "original") => {
|
|
319
320
|
};
|
320
321
|
const jXml = await xml2json(xml);
|
321
322
|
try {
|
322
|
-
var docZips = jXml["
|
323
|
+
var docZips = jXml["nfeDistDFeInteresseResult"]["retDistDFeInt"];
|
323
324
|
if (typeof docZips['loteDistDFeInt'] == "undefined")
|
324
325
|
return resolve([]);
|
325
326
|
docZips = docZips["loteDistDFeInt"]['docZip'];
|
package/dist/utils/make.js
CHANGED
@@ -509,7 +509,11 @@ class Make {
|
|
509
509
|
throw "Não implementado!";
|
510
510
|
}
|
511
511
|
tagInfAdic(obj) {
|
512
|
-
|
512
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infAdic === undefined)
|
513
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infAdic = {};
|
514
|
+
Object.keys(obj).forEach(key => {
|
515
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infAdic[key] = obj[key];
|
516
|
+
});
|
513
517
|
}
|
514
518
|
tagObsCont(obj) {
|
515
519
|
throw "Não implementado!";
|
package/dist/utils/tools.js
CHANGED
@@ -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
|
-
|
106
|
-
|
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
|
-
|
221
|
-
|
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, () => {
|
@@ -290,6 +296,7 @@ class Tools {
|
|
290
296
|
}
|
291
297
|
// Ciência (210210), Confirmação (210200), Desconhecimento (210220) não precisam de campos extras
|
292
298
|
const tempUF = urlEventos(cUF2UF[cOrgao], __classPrivateFieldGet(this, _Tools_config, "f").versao);
|
299
|
+
console.log(cUF2UF);
|
293
300
|
const evento = {
|
294
301
|
"envEvento": {
|
295
302
|
"@xmlns": "http://www.portalfiscal.inf.br/nfe",
|
@@ -344,10 +351,13 @@ class Tools {
|
|
344
351
|
res.on('data', (chunk) => {
|
345
352
|
data += chunk;
|
346
353
|
});
|
347
|
-
res.on('end', () => {
|
348
|
-
|
349
|
-
|
350
|
-
}
|
354
|
+
res.on('end', async () => {
|
355
|
+
try {
|
356
|
+
resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
|
357
|
+
}
|
358
|
+
catch (error) {
|
359
|
+
resolve(data);
|
360
|
+
}
|
351
361
|
});
|
352
362
|
});
|
353
363
|
req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
|
@@ -432,10 +442,13 @@ class Tools {
|
|
432
442
|
res.on('data', (chunk) => {
|
433
443
|
data += chunk;
|
434
444
|
});
|
435
|
-
res.on('end', () => {
|
436
|
-
|
437
|
-
|
438
|
-
}
|
445
|
+
res.on('end', async () => {
|
446
|
+
try {
|
447
|
+
resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
|
448
|
+
}
|
449
|
+
catch (error) {
|
450
|
+
resolve(data);
|
451
|
+
}
|
439
452
|
});
|
440
453
|
});
|
441
454
|
req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
|
@@ -509,10 +522,13 @@ class Tools {
|
|
509
522
|
res.on('data', (chunk) => {
|
510
523
|
data += chunk;
|
511
524
|
});
|
512
|
-
res.on('end', () => {
|
513
|
-
|
514
|
-
|
515
|
-
}
|
525
|
+
res.on('end', async () => {
|
526
|
+
try {
|
527
|
+
resolve(await __classPrivateFieldGet(this, _Tools_instances, "m", _Tools_limparSoap).call(this, data));
|
528
|
+
}
|
529
|
+
catch (error) {
|
530
|
+
resolve(data);
|
531
|
+
}
|
516
532
|
});
|
517
533
|
});
|
518
534
|
req.setTimeout(__classPrivateFieldGet(this, _Tools_config, "f").timeout * 1000, () => {
|
@@ -633,5 +649,31 @@ async function _Tools_xmlValido(xml, xsd) {
|
|
633
649
|
resvol(__classPrivateFieldGet(this, _Tools_pem, "f"));
|
634
650
|
});
|
635
651
|
});
|
652
|
+
}, _Tools_limparSoap =
|
653
|
+
//Remove coisas inuteis da resposta do sefaz
|
654
|
+
async function _Tools_limparSoap(xml) {
|
655
|
+
if (xml == "Bad Request")
|
656
|
+
throw xml;
|
657
|
+
const clear = [
|
658
|
+
'soapenv:Envelope',
|
659
|
+
'soapenv:Body',
|
660
|
+
'nfeResultMsg',
|
661
|
+
'soap:Envelope',
|
662
|
+
'soap:Body',
|
663
|
+
'nfeResultMsg',
|
664
|
+
'nfeDistDFeInteresseResponse'
|
665
|
+
];
|
666
|
+
let jXml = await xml2json(xml);
|
667
|
+
let index = 0;
|
668
|
+
while (index < clear.length) {
|
669
|
+
if (typeof jXml[clear[index]] !== "undefined") {
|
670
|
+
jXml = jXml[clear[index]];
|
671
|
+
index = 0; // reinicia a busca no novo nível
|
672
|
+
}
|
673
|
+
else {
|
674
|
+
index++;
|
675
|
+
}
|
676
|
+
}
|
677
|
+
return await json2xml(jXml);
|
636
678
|
};
|
637
679
|
export { Tools };
|
package/package.json
CHANGED
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>
|