sunat-engine-nest 2.0.2 → 2.0.3

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.
@@ -27,6 +27,18 @@ let CdrParserService = class CdrParserService {
27
27
  }
28
28
  parseXml(xml) {
29
29
  const response = {};
30
+ const cdrIdMatch = xml.match(/<cbc:ID[^>]*>([\s\S]*?)<\/cbc:ID>/i);
31
+ if (cdrIdMatch?.[1]) {
32
+ response.cdrId = cdrIdMatch[1].trim();
33
+ }
34
+ const responseDateMatch = xml.match(/<cbc:ResponseDate[^>]*>([\s\S]*?)<\/cbc:ResponseDate>/i);
35
+ if (responseDateMatch?.[1]) {
36
+ response.responseDate = responseDateMatch[1].trim();
37
+ }
38
+ const responseTimeMatch = xml.match(/<cbc:ResponseTime[^>]*>([\s\S]*?)<\/cbc:ResponseTime>/i);
39
+ if (responseTimeMatch?.[1]) {
40
+ response.responseTime = responseTimeMatch[1].trim();
41
+ }
30
42
  const codeMatch = xml.match(/<cbc:ResponseCode[^>]*>([\s\S]*?)<\/cbc:ResponseCode>/i);
31
43
  if (codeMatch?.[1]) {
32
44
  response.code = codeMatch[1].trim();
@@ -35,6 +47,30 @@ let CdrParserService = class CdrParserService {
35
47
  if (descMatch?.[1]) {
36
48
  response.description = descMatch[1].trim();
37
49
  }
50
+ const docRefIdMatch = xml.match(/<cac:DocumentResponse>[\s\S]*?<cac:DocumentReference>[\s\S]*?<cbc:ID[^>]*>([\s\S]*?)<\/cbc:ID>/i);
51
+ if (docRefIdMatch?.[1]) {
52
+ response.documentId = docRefIdMatch[1].trim();
53
+ }
54
+ const docTypeCodeMatch = xml.match(/<cbc:DocumentTypeCode[^>]*>([\s\S]*?)<\/cbc:DocumentTypeCode>/i);
55
+ if (docTypeCodeMatch?.[1]) {
56
+ response.documentTypeCode = docTypeCodeMatch[1].trim();
57
+ }
58
+ const issuerMatch = xml.match(/<cac:IssuerParty>[\s\S]*?<cbc:ID[^>]*>([\s\S]*?)<\/cbc:ID>/i);
59
+ if (issuerMatch?.[1]) {
60
+ response.issuerId = issuerMatch[1].trim();
61
+ }
62
+ const receiverMatch = xml.match(/<cac:ReceiverParty>[\s\S]*?<cbc:ID[^>]*>([\s\S]*?)<\/cbc:ID>/i);
63
+ if (receiverMatch?.[1]) {
64
+ response.receiverId = receiverMatch[1].trim();
65
+ }
66
+ const statusReasonCodeMatch = xml.match(/<cbc:StatusReasonCode[^>]*>([\s\S]*?)<\/cbc:StatusReasonCode>/i);
67
+ if (statusReasonCodeMatch?.[1]) {
68
+ response.statusReasonCode = statusReasonCodeMatch[1].trim();
69
+ }
70
+ const statusReasonMatch = xml.match(/<cbc:StatusReason[^>]*>([\s\S]*?)<\/cbc:StatusReason>/i);
71
+ if (statusReasonMatch?.[1]) {
72
+ response.statusReason = statusReasonMatch[1].trim();
73
+ }
38
74
  const notes = [];
39
75
  const noteRegex = /<cbc:Note[^>]*>([\s\S]*?)<\/cbc:Note>/gi;
40
76
  let match;
@@ -45,6 +81,21 @@ let CdrParserService = class CdrParserService {
45
81
  if (notes.length > 0) {
46
82
  response.notes = notes;
47
83
  }
84
+ const additionalInfo = [];
85
+ const infoRegex = /<sac:AdditionalInformation[\s\S]*?<\/sac:AdditionalInformation>/gi;
86
+ const additionalInfoRegex = /<cbc:Information[^>]*>([\s\S]*?)<\/cbc:Information>/gi;
87
+ while ((match = infoRegex.exec(xml)) !== null) {
88
+ const block = match[0];
89
+ let infoMatch;
90
+ while ((infoMatch = additionalInfoRegex.exec(block)) !== null) {
91
+ if (infoMatch[1]?.trim())
92
+ additionalInfo.push(infoMatch[1].trim());
93
+ }
94
+ additionalInfoRegex.lastIndex = 0;
95
+ }
96
+ if (additionalInfo.length > 0) {
97
+ response.additionalInfo = additionalInfo;
98
+ }
48
99
  return response;
49
100
  }
50
101
  resolveEstado(code) {
@@ -1 +1 @@
1
- {"version":3,"file":"cdr-parser.service.js","sourceRoot":"","sources":["../../src/cdr/cdr-parser.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdr-parser.service.js","sourceRoot":"","sources":["../../src/cdr/cdr-parser.service.ts"],"names":[],"mappings":"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"}