@facturacr/atv-sdk 0.0.13-beta → 0.0.14-beta

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 (165) hide show
  1. package/dist/__tests__/stubs/createDocument.stub.d.ts +2 -0
  2. package/dist/__tests__/stubs/createDocument.stub.js +78 -0
  3. package/dist/__tests__/stubs/createDocument.stub.js.map +1 -0
  4. package/dist/__tests__/stubs/frontendRequest.stub.d.ts +3 -0
  5. package/dist/__tests__/stubs/frontendRequest.stub.js +61 -0
  6. package/dist/__tests__/stubs/frontendRequest.stub.js.map +1 -0
  7. package/dist/__tests__/stubs/token.stub.d.ts +17 -0
  8. package/dist/__tests__/stubs/token.stub.js +21 -0
  9. package/dist/__tests__/stubs/token.stub.js.map +1 -0
  10. package/dist/__tests__/tests/ATV/index.test.d.ts +1 -0
  11. package/dist/__tests__/tests/ATV/index.test.js +62 -0
  12. package/dist/__tests__/tests/ATV/index.test.js.map +1 -0
  13. package/dist/__tests__/tests/getClave.test.d.ts +1 -0
  14. package/dist/__tests__/tests/getClave.test.js +15 -0
  15. package/dist/__tests__/tests/getClave.test.js.map +1 -0
  16. package/dist/__tests__/tests/getToken.test.d.ts +0 -0
  17. package/dist/__tests__/tests/getToken.test.js +28 -0
  18. package/dist/__tests__/tests/getToken.test.js.map +1 -0
  19. package/dist/__tests__/tests/lib/getClave.test.d.ts +1 -0
  20. package/dist/__tests__/tests/lib/getClave.test.js +15 -0
  21. package/dist/__tests__/tests/lib/getClave.test.js.map +1 -0
  22. package/dist/__tests__/tests/services/getToken.test.d.ts +1 -0
  23. package/dist/__tests__/tests/services/getToken.test.js +27 -0
  24. package/dist/__tests__/tests/services/getToken.test.js.map +1 -0
  25. package/dist/examples/confirmXML.d.ts +1 -0
  26. package/dist/examples/confirmXML.js +89 -0
  27. package/dist/examples/confirmXML.js.map +1 -0
  28. package/dist/examples/consultXML.d.ts +1 -0
  29. package/dist/examples/consultXML.js +55 -0
  30. package/dist/examples/consultXML.js.map +1 -0
  31. package/dist/examples/createAndSend.d.ts +1 -0
  32. package/dist/examples/createAndSend.js +73 -0
  33. package/dist/examples/createAndSend.js.map +1 -0
  34. package/dist/examples/createCreditNote.d.ts +1 -0
  35. package/dist/examples/createCreditNote.js +52 -0
  36. package/dist/examples/createCreditNote.js.map +1 -0
  37. package/dist/examples/createDebitNote.d.ts +1 -0
  38. package/dist/examples/createDebitNote.js +52 -0
  39. package/dist/examples/createDebitNote.js.map +1 -0
  40. package/dist/examples/genBasicXML.d.ts +1 -0
  41. package/dist/examples/genBasicXML.js +44 -0
  42. package/dist/examples/genBasicXML.js.map +1 -0
  43. package/dist/examples/getClave.d.ts +1 -0
  44. package/dist/examples/getClave.js +12 -0
  45. package/dist/examples/getClave.js.map +1 -0
  46. package/dist/examples/getToken.d.ts +1 -0
  47. package/dist/examples/getToken.js +18 -0
  48. package/dist/examples/getToken.js.map +1 -0
  49. package/dist/src/ATV/core/Clave.d.ts +18 -0
  50. package/dist/src/ATV/core/Clave.js +29 -0
  51. package/dist/src/ATV/core/Clave.js.map +1 -0
  52. package/dist/src/ATV/core/Document.d.ts +46 -0
  53. package/dist/src/ATV/core/Document.js +80 -0
  54. package/dist/src/ATV/core/Document.js.map +1 -0
  55. package/dist/src/ATV/core/DocumentType.d.ts +8 -0
  56. package/dist/src/ATV/core/DocumentType.js +20 -0
  57. package/dist/src/ATV/core/DocumentType.js.map +1 -0
  58. package/dist/src/ATV/core/FullConsecutive.d.ts +13 -0
  59. package/dist/src/ATV/core/FullConsecutive.js +22 -0
  60. package/dist/src/ATV/core/FullConsecutive.js.map +1 -0
  61. package/dist/src/ATV/core/OrderLine.d.ts +34 -0
  62. package/dist/src/ATV/core/OrderLine.js +63 -0
  63. package/dist/src/ATV/core/OrderLine.js.map +1 -0
  64. package/dist/src/ATV/core/Person.d.ts +36 -0
  65. package/dist/src/ATV/core/Person.js +37 -0
  66. package/dist/src/ATV/core/Person.js.map +1 -0
  67. package/dist/src/ATV/core/Summary.type.d.ts +20 -0
  68. package/dist/src/ATV/core/Summary.type.js +3 -0
  69. package/dist/src/ATV/core/Summary.type.js.map +1 -0
  70. package/dist/src/ATV/core/documentNames.types.d.ts +1 -0
  71. package/dist/src/ATV/core/documentNames.types.js +3 -0
  72. package/dist/src/ATV/core/documentNames.types.js.map +1 -0
  73. package/dist/src/ATV/index.d.ts +32 -0
  74. package/dist/src/ATV/index.js +135 -0
  75. package/dist/src/ATV/index.js.map +1 -0
  76. package/dist/src/ATV/mappers/billDocToAtv.d.ts +5 -0
  77. package/dist/src/ATV/mappers/billDocToAtv.js +99 -0
  78. package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -0
  79. package/dist/src/ATV/types.d.ts +32 -0
  80. package/dist/src/ATV/types.js +3 -0
  81. package/dist/src/ATV/types.js.map +1 -0
  82. package/dist/src/ATV/useCases/createDocument/index.d.ts +16 -0
  83. package/dist/src/ATV/useCases/createDocument/index.js +139 -0
  84. package/dist/src/ATV/useCases/createDocument/index.js.map +1 -0
  85. package/dist/src/ATV/useCases/createDocument/types.d.ts +72 -0
  86. package/dist/src/ATV/useCases/createDocument/types.js +3 -0
  87. package/dist/src/ATV/useCases/createDocument/types.js.map +1 -0
  88. package/dist/src/confirmXML.d.ts +8 -0
  89. package/dist/src/confirmXML.js +44 -0
  90. package/dist/src/confirmXML.js.map +1 -0
  91. package/dist/src/creditNote.d.ts +14 -0
  92. package/dist/src/creditNote.js +77 -0
  93. package/dist/src/creditNote.js.map +1 -0
  94. package/dist/src/data/codigoMoneda.d.ts +1 -0
  95. package/dist/src/data/codigoMoneda.js +184 -0
  96. package/dist/src/data/codigoMoneda.js.map +1 -0
  97. package/dist/src/data/exoneracion.d.ts +1 -0
  98. package/dist/src/data/exoneracion.js +15 -0
  99. package/dist/src/data/exoneracion.js.map +1 -0
  100. package/dist/src/data/impuestos.d.ts +25 -0
  101. package/dist/src/data/impuestos.js +51 -0
  102. package/dist/src/data/impuestos.js.map +1 -0
  103. package/dist/src/data/tipoCedula.d.ts +7 -0
  104. package/dist/src/data/tipoCedula.js +17 -0
  105. package/dist/src/data/tipoCedula.js.map +1 -0
  106. package/dist/src/data/tipoDocumento.d.ts +26 -0
  107. package/dist/src/data/tipoDocumento.js +30 -0
  108. package/dist/src/data/tipoDocumento.js.map +1 -0
  109. package/dist/src/data/unidadesMedida.d.ts +5 -0
  110. package/dist/src/data/unidadesMedida.js +141 -0
  111. package/dist/src/data/unidadesMedida.js.map +1 -0
  112. package/dist/src/debitNote.d.ts +14 -0
  113. package/dist/src/debitNote.js +77 -0
  114. package/dist/src/debitNote.js.map +1 -0
  115. package/dist/src/electronicBill.d.ts +3 -0
  116. package/dist/src/electronicBill.js +61 -0
  117. package/dist/src/electronicBill.js.map +1 -0
  118. package/dist/src/helpers/comprobantes.d.ts +7 -0
  119. package/dist/src/helpers/comprobantes.js +92 -0
  120. package/dist/src/helpers/comprobantes.js.map +1 -0
  121. package/dist/src/index.d.ts +8 -0
  122. package/dist/src/index.js.map +1 -0
  123. package/dist/src/lib/genClave/index.d.ts +9 -0
  124. package/dist/src/lib/genClave/index.js +119 -0
  125. package/dist/src/lib/genClave/index.js.map +1 -0
  126. package/dist/src/lib/genJSON/confirmXML.d.ts +7 -0
  127. package/dist/src/lib/genJSON/confirmXML.js +46 -0
  128. package/dist/src/lib/genJSON/confirmXML.js.map +1 -0
  129. package/dist/src/lib/genJSON/index.d.ts +5 -0
  130. package/dist/src/lib/genJSON/index.js +135 -0
  131. package/dist/src/lib/genJSON/index.js.map +1 -0
  132. package/dist/src/lib/genXML/index.d.ts +7 -0
  133. package/dist/src/lib/genXML/index.js +51 -0
  134. package/dist/src/lib/genXML/index.js.map +1 -0
  135. package/dist/src/lib/genXML/sigXML/genKeysAndCert.d.ts +6 -0
  136. package/dist/src/lib/genXML/sigXML/genKeysAndCert.js +72 -0
  137. package/dist/src/lib/genXML/sigXML/genKeysAndCert.js.map +1 -0
  138. package/dist/src/lib/genXML/sigXML/index.d.ts +1 -0
  139. package/dist/src/lib/genXML/sigXML/index.js +86 -0
  140. package/dist/src/lib/genXML/sigXML/index.js.map +1 -0
  141. package/dist/src/lib/genXML/xmlConfig.d.ts +55 -0
  142. package/dist/src/lib/genXML/xmlConfig.js +36 -0
  143. package/dist/src/lib/genXML/xmlConfig.js.map +1 -0
  144. package/dist/src/services/getToken/GetToken.d.ts +8 -0
  145. package/dist/src/services/getToken/GetToken.js +66 -0
  146. package/dist/src/services/getToken/GetToken.js.map +1 -0
  147. package/dist/src/services/getToken/__tests__/GetToken.test.d.ts +1 -0
  148. package/dist/src/services/getToken/__tests__/GetToken.test.js +86 -0
  149. package/dist/src/services/getToken/__tests__/GetToken.test.js.map +1 -0
  150. package/dist/src/services/getToken/index.d.ts +3 -0
  151. package/dist/src/services/getToken/index.js +22 -0
  152. package/dist/src/services/getToken/index.js.map +1 -0
  153. package/dist/src/services/getToken/types.d.ts +27 -0
  154. package/dist/src/services/getToken/types.js +3 -0
  155. package/dist/src/services/getToken/types.js.map +1 -0
  156. package/dist/src/services/send/index.d.ts +2 -0
  157. package/dist/src/services/send/index.js +40 -0
  158. package/dist/src/services/send/index.js.map +1 -0
  159. package/dist/src/types/xml/notaDeCredito.d.ts +21 -0
  160. package/dist/src/types/xml/notaDeCredito.js +3 -0
  161. package/dist/src/types/xml/notaDeCredito.js.map +1 -0
  162. package/dist/src/types/xml/notaDeDebito.d.ts +21 -0
  163. package/dist/src/types/xml/notaDeDebito.js +3 -0
  164. package/dist/src/types/xml/notaDeDebito.js.map +1 -0
  165. package/package.json +1 -1
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ // ver doc https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4/ANEXOS%20Y%20ESTRUCTURAS.pdf
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.enumUnidadDeMedidaType = exports.unidadesDeMedida = void 0;
5
+ exports.unidadesDeMedida = [
6
+ {
7
+ simbol: 'Sp',
8
+ description: 'Servicios Profesionales'
9
+ },
10
+ {
11
+ simbol: 'm',
12
+ description: 'Metro'
13
+ },
14
+ {
15
+ simbol: 'kg',
16
+ description: 'Kilogramos'
17
+ },
18
+ {
19
+ simbol: 's',
20
+ description: 'Segundo'
21
+ },
22
+ {
23
+ simbol: 'A',
24
+ description: 'Ampere'
25
+ },
26
+ {
27
+ simbol: 'K',
28
+ description: 'Kelvin'
29
+ },
30
+ {
31
+ simbol: 'mol',
32
+ description: 'Mol'
33
+ },
34
+ {
35
+ simbol: 'cd',
36
+ description: 'Candela'
37
+ },
38
+ {
39
+ simbol: 'm²',
40
+ description: 'Metro cuadrado'
41
+ }
42
+ ];
43
+ exports.enumUnidadDeMedidaType = [
44
+ 'Al',
45
+ 'Alc',
46
+ 'Cm',
47
+ 'I',
48
+ 'Os',
49
+ 'Sp',
50
+ 'Spe',
51
+ 'St',
52
+ 'd',
53
+ 'm',
54
+ 'kg',
55
+ 's',
56
+ 'A',
57
+ 'K',
58
+ 'mol',
59
+ 'cd',
60
+ 'm²',
61
+ 'm³',
62
+ 'm/s',
63
+ 'm/s²',
64
+ '1/m',
65
+ 'kg/m³',
66
+ 'A/m²',
67
+ 'A/m',
68
+ 'mol/m³',
69
+ 'cd/m²',
70
+ '1',
71
+ 'rad',
72
+ 'sr',
73
+ 'Hz',
74
+ 'N',
75
+ 'Pa',
76
+ 'J',
77
+ 'W',
78
+ 'C',
79
+ 'V',
80
+ 'F',
81
+ 'Ω',
82
+ 'S',
83
+ 'Wb',
84
+ 'T',
85
+ 'H',
86
+ '°C',
87
+ 'lm',
88
+ 'lx',
89
+ 'Bq',
90
+ 'Gy',
91
+ 'Sv',
92
+ 'kat',
93
+ 'Pa·s',
94
+ 'N·m',
95
+ 'N/m',
96
+ 'rad/s',
97
+ 'rad/s²',
98
+ 'W/m²',
99
+ 'J/K',
100
+ 'J/(kg·K)',
101
+ 'J/kg',
102
+ 'W/(m·K)',
103
+ 'J/m³',
104
+ 'V/m',
105
+ 'C/m³',
106
+ 'C/m²',
107
+ 'F/m',
108
+ 'H/m',
109
+ 'J/mol',
110
+ 'J/(mol·K)',
111
+ 'C/kg',
112
+ 'Gy/s',
113
+ 'W/sr',
114
+ 'W/(m²·sr)',
115
+ 'kat/m³',
116
+ 'min',
117
+ 'h',
118
+ 'd',
119
+ 'º',
120
+ '´',
121
+ '´´',
122
+ 'L',
123
+ 't',
124
+ 'Np',
125
+ 'B',
126
+ 'eV',
127
+ 'u',
128
+ 'ua',
129
+ 'Unid',
130
+ 'Gal',
131
+ 'g',
132
+ 'Km',
133
+ 'Kw',
134
+ 'ln',
135
+ 'cm',
136
+ 'mL',
137
+ 'mm',
138
+ 'Oz',
139
+ 'Otros'
140
+ ];
141
+ //# sourceMappingURL=unidadesMedida.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unidadesMedida.js","sourceRoot":"","sources":["../../../src/data/unidadesMedida.ts"],"names":[],"mappings":";AAAA,mHAAmH;;;AAEtG,QAAA,gBAAgB,GAAG;IAC9B;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,OAAO;KACrB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,SAAS;KACvB;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,KAAK;KACnB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,SAAS;KACvB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,gBAAgB;KAC9B;CACF,CAAA;AAEY,QAAA,sBAAsB,GAAG;IACpC,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,UAAU;IACV,MAAM;IACN,SAAS;IACT,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,WAAW;IACX,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;IACR,KAAK;IACL,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,MAAM;IACN,KAAK;IACL,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;CACR,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ClientPayload, XmlOpt } from '@src/types/globalInterfaces';
2
+ import { NotaDebitoContenedor } from '@src/types/xml/notaDeDebito';
3
+ export declare function parseCreditNote(options: {
4
+ frontEndRequest: ClientPayload;
5
+ consecutivo: string;
6
+ clave: string;
7
+ date: Date;
8
+ }): NotaDebitoContenedor;
9
+ declare const _default: (options: {
10
+ token: string;
11
+ frontEndRequest: ClientPayload;
12
+ xmlOpt: XmlOpt;
13
+ }) => Promise<any>;
14
+ export default _default;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.parseCreditNote = void 0;
13
+ const index_1 = require("@src/lib/genXML/index");
14
+ const index_2 = require("@src/services/send/index");
15
+ const index_3 = require("@src/lib/genClave/index");
16
+ const comprobantes_1 = require("@src/helpers/comprobantes");
17
+ const VOUCHER_TYPE = 'ND';
18
+ function parseCreditNote(options) {
19
+ const resum = (0, comprobantes_1.getBillResum)(options.frontEndRequest);
20
+ const receiver = (0, comprobantes_1.getReceiver)(options.frontEndRequest);
21
+ const sender = (0, comprobantes_1.getSender)(options.frontEndRequest);
22
+ return {
23
+ NotaDebitoElectronica: {
24
+ Clave: options.clave,
25
+ CodigoActividad: options.frontEndRequest.actividad.padStart(6, '0'),
26
+ NumeroConsecutivo: options.consecutivo,
27
+ FechaEmision: options.date.toISOString(),
28
+ Emisor: sender,
29
+ Receptor: receiver,
30
+ CondicionVenta: '01',
31
+ MedioPago: '01',
32
+ DetalleServicio: {
33
+ LineaDetalle: options.frontEndRequest.LineasDetalle
34
+ },
35
+ ResumenFactura: resum
36
+ }
37
+ };
38
+ }
39
+ exports.parseCreditNote = parseCreditNote;
40
+ function sendMessage(options) {
41
+ const emisor = (0, comprobantes_1.getSimpleSender)(options.frontEndRequest);
42
+ const receptor = (0, comprobantes_1.getSimpleReceiver)(options.frontEndRequest);
43
+ const finalMesage = {
44
+ clave: options.clave,
45
+ fecha: options.date.toISOString(),
46
+ emisor,
47
+ receptor,
48
+ comprobanteXml: options.xml
49
+ };
50
+ return (0, index_2.send)(options.token, finalMesage).catch((err) => {
51
+ const response = err.response || {};
52
+ const header = response.headers || {};
53
+ console.log('x-error-cause', header['x-error-cause']);
54
+ });
55
+ }
56
+ exports.default = (options) => __awaiter(void 0, void 0, void 0, function* () {
57
+ const date = new Date();
58
+ const parsedOpts = (0, index_3.parseOptions)(options.frontEndRequest);
59
+ const claveObj = (0, index_3.genClaveObj)(parsedOpts);
60
+ const clave = (0, index_3.genString)(claveObj);
61
+ const consecutivo = Object.values(claveObj.consecutivo).join('');
62
+ const vaucher = parseCreditNote({
63
+ frontEndRequest: options.frontEndRequest,
64
+ consecutivo,
65
+ clave,
66
+ date
67
+ });
68
+ const xml = yield (0, index_1.genXML)(VOUCHER_TYPE, vaucher, Object.assign(Object.assign({}, options.xmlOpt), { base64: true }));
69
+ return sendMessage({
70
+ frontEndRequest: options.frontEndRequest,
71
+ token: options.token,
72
+ clave,
73
+ date,
74
+ xml
75
+ });
76
+ });
77
+ //# sourceMappingURL=debitNote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debitNote.js","sourceRoot":"","sources":["../../src/debitNote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ClientPayload } from '@src/types/globalInterfaces';
2
+ declare const _default: (token: any, frontEndRequest: ClientPayload, xmlOpt: any) => Promise<any>;
3
+ export default _default;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const index_1 = require("@src/lib/genClave/index");
16
+ const index_2 = __importDefault(require("@src/lib/genJSON/index"));
17
+ const index_3 = require("@src/services/send/index");
18
+ const DEFAULT_VALUES = {
19
+ tipoIdentificacion: '01'
20
+ };
21
+ const encodeXML = (xmlStr) => {
22
+ const buffer = Buffer.from(xmlStr);
23
+ return buffer.toString('base64');
24
+ };
25
+ function getSender(frontEndRequest) {
26
+ const sender = frontEndRequest.Emisor;
27
+ return {
28
+ tipoIdentificacion: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
29
+ numeroIdentificacion: sender.Identificacion.Numero
30
+ };
31
+ }
32
+ function getReceiver(frontEndRequest) {
33
+ const receiver = frontEndRequest.Receptor;
34
+ return {
35
+ tipoIdentificacion: receiver.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
36
+ numeroIdentificacion: receiver.Identificacion.Numero
37
+ };
38
+ }
39
+ exports.default = (token, frontEndRequest, xmlOpt) => __awaiter(void 0, void 0, void 0, function* () {
40
+ const parsedOpts = (0, index_1.parseOptions)(frontEndRequest);
41
+ const claveObj = (0, index_1.genClaveObj)(parsedOpts);
42
+ const claveStr = (0, index_1.genString)(claveObj);
43
+ const date = new Date();
44
+ const consecutivo = Object.values(claveObj.consecutivo).join('');
45
+ const XML = yield (0, index_2.default)(frontEndRequest, date.toISOString(), claveStr, consecutivo, Object.assign(Object.assign({}, xmlOpt), { base64: true }));
46
+ const finalMesage = {
47
+ clave: claveStr,
48
+ fecha: date.toISOString(),
49
+ emisor: getSender(frontEndRequest),
50
+ receptor: getReceiver(frontEndRequest),
51
+ comprobanteXml: encodeXML(XML)
52
+ };
53
+ const response = (0, index_3.send)(token, finalMesage).catch((err) => {
54
+ const response = err.response || {};
55
+ const header = response.headers || {};
56
+ console.log('response status code', err.response.status);
57
+ console.log('x-error-cause', header['x-error-cause']);
58
+ });
59
+ return response;
60
+ });
61
+ //# sourceMappingURL=electronicBill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronicBill.js","sourceRoot":"","sources":["../../src/electronicBill.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mDAA8E;AAC9E,mEAA4C;AAC5C,oDAA+C;AAE/C,MAAM,cAAc,GAAG;IACrB,kBAAkB,EAAE,IAAI;CACzB,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,SAAS,SAAS,CAAC,eAA8B;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;IACrC,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,kBAAkB;QACnF,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;KACnD,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,eAA8B;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;IACzC,OAAO;QACL,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,kBAAkB;QACrF,oBAAoB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;KACrD,CAAA;AACH,CAAC;AAED,kBAAe,CAAO,KAAK,EAAE,eAA8B,EAAE,MAAM,EAAgB,EAAE;IACnF,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,UAAU,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACvB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,MAAM,IAAA,eAAO,EAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,kCAC/E,MAAM,KACT,MAAM,EAAE,IAAI,IACZ,CAAA;IACF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;QACzB,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC;QAClC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC;QACtC,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC;KAC/B,CAAA;IACD,MAAM,QAAQ,GAAG,IAAA,YAAI,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ClientPayload, FinalMessagePerson } from '@src/types/globalInterfaces';
2
+ import { Resumen, Persona } from '@src/types/facturaInterfaces';
3
+ export declare function getSimpleSender(frontEndRequest: ClientPayload): FinalMessagePerson;
4
+ export declare function getSimpleReceiver(frontEndRequest: ClientPayload): FinalMessagePerson;
5
+ export declare function getBillResum(frontEndRequest: ClientPayload): Resumen;
6
+ export declare function getSender(frontEndRequest: ClientPayload): Persona;
7
+ export declare function getReceiver(frontEndRequest: ClientPayload): Persona;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReceiver = exports.getSender = exports.getBillResum = exports.getSimpleReceiver = exports.getSimpleSender = void 0;
4
+ const DEFAULT_VALUES = {
5
+ key: 0,
6
+ message: 'Default msj',
7
+ detailsMessage: 'Default details msj',
8
+ taxes: 100,
9
+ tipoIdentificacion: '01'
10
+ };
11
+ function getSimpleSender(frontEndRequest) {
12
+ const sender = frontEndRequest.Emisor;
13
+ return {
14
+ tipoIdentificacion: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
15
+ numeroIdentificacion: sender.Identificacion.Numero
16
+ };
17
+ }
18
+ exports.getSimpleSender = getSimpleSender;
19
+ function getSimpleReceiver(frontEndRequest) {
20
+ const receiver = frontEndRequest.Receptor;
21
+ return {
22
+ tipoIdentificacion: receiver.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
23
+ numeroIdentificacion: receiver.Identificacion.Numero
24
+ };
25
+ }
26
+ exports.getSimpleReceiver = getSimpleReceiver;
27
+ function calculateTaxes(billTotal, billTaxes) {
28
+ const taxes = typeof billTaxes === 'number' ? billTaxes : DEFAULT_VALUES.taxes;
29
+ return billTotal * taxes;
30
+ }
31
+ function getBillResum(frontEndRequest) {
32
+ const taxes = calculateTaxes(frontEndRequest.total, frontEndRequest.impuesto);
33
+ return {
34
+ CodigoTipoMoneda: {
35
+ CodigoMoneda: 'CRC',
36
+ TipoCambio: '585.69'
37
+ },
38
+ TotalServGravados: 0,
39
+ TotalServExentos: 0,
40
+ // TotalServExonerado: 0,
41
+ TotalMercanciasGravadas: frontEndRequest.total,
42
+ TotalMercanciasExentas: 0,
43
+ TotalGravado: frontEndRequest.total,
44
+ TotalExento: 0,
45
+ TotalExonerado: 0,
46
+ TotalVenta: frontEndRequest.total,
47
+ TotalDescuentos: 0,
48
+ TotalVentaNeta: frontEndRequest.total,
49
+ TotalImpuesto: taxes,
50
+ TotalComprobante: frontEndRequest.total + taxes
51
+ };
52
+ }
53
+ exports.getBillResum = getBillResum;
54
+ function getSender(frontEndRequest) {
55
+ const sender = frontEndRequest.Emisor;
56
+ return {
57
+ Nombre: sender.Nombre,
58
+ Identificacion: {
59
+ Tipo: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
60
+ Numero: sender.Identificacion.Numero
61
+ },
62
+ NombreComercial: sender.Nombre,
63
+ Ubicacion: sender.Ubicacion,
64
+ Telefono: {
65
+ CodigoPais: sender.Telefono.CodigoPais,
66
+ NumTelefono: sender.Telefono.NumTelefono
67
+ },
68
+ Fax: {
69
+ CodigoPais: sender.Telefono.CodigoPais,
70
+ NumTelefono: sender.Telefono.NumTelefono
71
+ },
72
+ CorreoElectronico: sender.CorreoElectronico
73
+ };
74
+ }
75
+ exports.getSender = getSender;
76
+ function getReceiver(frontEndRequest) {
77
+ const receiver = frontEndRequest.Receptor;
78
+ return {
79
+ Nombre: receiver.Nombre,
80
+ Identificacion: {
81
+ Tipo: receiver.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
82
+ Numero: receiver.Identificacion.Numero
83
+ },
84
+ NombreComercial: receiver.NombreComercial,
85
+ Ubicacion: receiver.Ubicacion,
86
+ Telefono: receiver.Telefono,
87
+ Fax: receiver.Fax,
88
+ CorreoElectronico: receiver.CorreoElectronico
89
+ };
90
+ }
91
+ exports.getReceiver = getReceiver;
92
+ //# sourceMappingURL=comprobantes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comprobantes.js","sourceRoot":"","sources":["../../../src/helpers/comprobantes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import confirmXML from '@src/confirmXML';
2
+ import { sendToCustomURL } from '@src/services/send/index';
3
+ import getToken from '@src/services/getToken';
4
+ import genJSON from '@src/lib/genJSON';
5
+ import eletronicBill from '@src/electronicBill';
6
+ import * as genClaveTools from '@src/lib/genClave';
7
+ import { ATV } from './ATV';
8
+ export { ATV, confirmXML, sendToCustomURL, getToken, eletronicBill, genJSON, genClaveTools };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAwC;AAYtC,qBAZK,oBAAU,CAYL;AAXZ,oDAA0D;AAYxD,gGAZO,uBAAe,OAYP;AAXjB,sEAA6C;AAY3C,mBAZK,kBAAQ,CAYL;AAXV,+DAAsC;AAapC,kBAbK,iBAAO,CAaL;AAZT,yEAA+C;AAW7C,wBAXK,wBAAa,CAWL;AAVf,iEAAkD;AAYhD,sCAAa;AAXf,+BAA2B;AAKzB,oFALO,SAAG,OAKP"}
@@ -0,0 +1,9 @@
1
+ import { ClaveOpts, Clave } from '@src/lib/genClave/interfaces';
2
+ import { ClientPayload } from '@src/types/globalInterfaces';
3
+ export declare function consecutivoStr(consecutivoObj: any): string;
4
+ export declare function genClaveObj(opts: ClaveOpts): Clave;
5
+ export declare function genString(claveObj: Clave): string;
6
+ export default function genClave(opts: ClaveOpts): string;
7
+ export declare function stringToClave(claveStr: string): Clave;
8
+ export declare function parseOptions(frontEndRequest: ClientPayload): ClaveOpts;
9
+ export declare function getClave(frontEndRequest: ClientPayload): string;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClave = exports.parseOptions = exports.stringToClave = exports.genString = exports.genClaveObj = exports.consecutivoStr = void 0;
4
+ const tipoDocumento_1 = require("@src/data/tipoDocumento");
5
+ const DEFAULT_VALUES = {
6
+ tipoDocumento: '01',
7
+ tipoIdentificacion: '01',
8
+ codigoPais: '506'
9
+ };
10
+ function getConsecutivo(opts) {
11
+ const tipoDocNum = tipoDocumento_1.tipoDocumento[opts.tipoDocKey];
12
+ return {
13
+ sucursal: opts.sucursal || '001',
14
+ terminal: opts.terminal || '00001',
15
+ tipoDocumento: tipoDocNum.code || '01',
16
+ consecutivo: String(opts.consecutivo).padStart(10, '0')
17
+ };
18
+ }
19
+ function consecutivoStr(consecutivoObj) {
20
+ const cons = getConsecutivo(consecutivoObj);
21
+ return Object.values(cons).join('');
22
+ }
23
+ exports.consecutivoStr = consecutivoStr;
24
+ function getSender(frontEndRequest) {
25
+ const sender = frontEndRequest.Emisor;
26
+ return {
27
+ tipoIdentificacion: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
28
+ numeroIdentificacion: sender.Identificacion.Numero
29
+ };
30
+ }
31
+ function getDateInfo(date) {
32
+ const day = String(date.getDate()).padStart(2, '0');
33
+ const month = String(date.getMonth() + 1).padStart(2, '0');
34
+ const year = date.getFullYear() - 2000;
35
+ return {
36
+ dia: day,
37
+ mes: month,
38
+ ano: year.toString()
39
+ };
40
+ }
41
+ function getCountryCode(code) {
42
+ if (!code || !code.length) {
43
+ return DEFAULT_VALUES.codigoPais;
44
+ }
45
+ return code.padStart(3, '0');
46
+ }
47
+ function getIssuerCard(issuerCard) {
48
+ return issuerCard.padStart(12, '0');
49
+ }
50
+ function genClaveObj(opts) {
51
+ const today = new Date();
52
+ return {
53
+ codigoPais: getCountryCode(opts.codigoPais),
54
+ fecha: getDateInfo(today),
55
+ cedulaEmisor: getIssuerCard(opts.cedulaEmisor),
56
+ consecutivo: getConsecutivo(opts),
57
+ situacionCE: opts.situacionCE,
58
+ codigoSeguridad: opts.codigoSeguridad.padStart(8, '0')
59
+ };
60
+ }
61
+ exports.genClaveObj = genClaveObj;
62
+ function genString(claveObj) {
63
+ const clave = {
64
+ codigoPais: claveObj.codigoPais,
65
+ fecha: Object.values(claveObj.fecha).join(''),
66
+ cedulaEmisor: claveObj.cedulaEmisor,
67
+ consecutivo: Object.values(claveObj.consecutivo).join(''),
68
+ situacionCE: claveObj.situacionCE,
69
+ codigoSeguridad: claveObj.codigoSeguridad
70
+ };
71
+ return Object.values(clave).join('');
72
+ }
73
+ exports.genString = genString;
74
+ function genClave(opts) {
75
+ const claveObj = genClaveObj(opts);
76
+ return genString(claveObj);
77
+ }
78
+ exports.default = genClave;
79
+ function stringToClave(claveStr) {
80
+ return {
81
+ codigoPais: claveStr.slice(0, 3),
82
+ fecha: {
83
+ dia: claveStr.slice(3, 5),
84
+ mes: claveStr.slice(5, 7),
85
+ ano: claveStr.slice(7, 9)
86
+ },
87
+ cedulaEmisor: claveStr.slice(9, 21),
88
+ consecutivo: {
89
+ sucursal: claveStr.slice(21, 24),
90
+ terminal: claveStr.slice(24, 29),
91
+ tipoDocumento: claveStr.slice(29, 31),
92
+ consecutivo: claveStr.slice(31, 41)
93
+ },
94
+ situacionCE: claveStr.slice(41, 42),
95
+ codigoSeguridad: claveStr.slice(42, 51)
96
+ };
97
+ }
98
+ exports.stringToClave = stringToClave;
99
+ function parseOptions(frontEndRequest) {
100
+ const sender = getSender(frontEndRequest);
101
+ return {
102
+ cedulaEmisor: sender.numeroIdentificacion,
103
+ codigoPais: frontEndRequest.codigoPais,
104
+ codigoSeguridad: frontEndRequest.codigoSeguridad,
105
+ consecutivo: frontEndRequest.consecutivo,
106
+ situacionCE: frontEndRequest.situationEC,
107
+ sucursal: frontEndRequest.sucursal,
108
+ terminal: frontEndRequest.terminal,
109
+ tipoCedula: sender.tipoIdentificacion,
110
+ tipoDocKey: frontEndRequest.tipoDocumento
111
+ };
112
+ }
113
+ exports.parseOptions = parseOptions;
114
+ function getClave(frontEndRequest) {
115
+ const claveOptions = parseOptions(frontEndRequest);
116
+ return genClave(claveOptions);
117
+ }
118
+ exports.getClave = getClave;
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/genClave/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { MensajeReceptorContenedor } from '@src/types/xml/mensajeReceptor';
2
+ export declare function getMsjObj(opts: {
3
+ fullInvoice: any;
4
+ consecutivo: string;
5
+ tipoDocKey: string;
6
+ }): MensajeReceptorContenedor;
7
+ export declare function getFinalMessage(fullInvoice: any, consecutivoReceptor: string, xmlBase64: any): any;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFinalMessage = exports.getMsjObj = void 0;
4
+ const tipoDocumento_1 = require("@src/data/tipoDocumento");
5
+ function getMsjObj(opts) {
6
+ const { fullInvoice, tipoDocKey } = opts;
7
+ const emisor = fullInvoice.Emisor;
8
+ const receptor = fullInvoice.Receptor;
9
+ const msj = tipoDocumento_1.tipoDocumento[tipoDocKey].msjReceptorCode;
10
+ return {
11
+ MensajeReceptor: {
12
+ Clave: fullInvoice.Clave,
13
+ NumeroCedulaEmisor: emisor.Identificacion.Numero,
14
+ FechaEmisionDoc: fullInvoice.FechaEmision,
15
+ Mensaje: msj,
16
+ DetalleMensaje: '',
17
+ MontoTotalImpuesto: fullInvoice.ResumenFactura.TotalImpuesto,
18
+ CodigoActividad: fullInvoice.CodigoActividad,
19
+ CondicionImpuesto: '04',
20
+ MontoTotalDeGastoAplicable: fullInvoice.ResumenFactura.TotalVenta,
21
+ TotalFactura: fullInvoice.ResumenFactura.TotalVenta,
22
+ NumeroCedulaReceptor: receptor.Identificacion.Numero,
23
+ NumeroConsecutivoReceptor: opts.consecutivo
24
+ }
25
+ };
26
+ }
27
+ exports.getMsjObj = getMsjObj;
28
+ function getFinalMessage(fullInvoice, consecutivoReceptor, xmlBase64) {
29
+ const date = new Date();
30
+ return {
31
+ clave: fullInvoice.Clave,
32
+ fecha: date.toISOString(),
33
+ emisor: {
34
+ tipoIdentificacion: fullInvoice.Receptor.Identificacion.Tipo,
35
+ numeroIdentificacion: fullInvoice.Receptor.Identificacion.Numero
36
+ },
37
+ receptor: {
38
+ tipoIdentificacion: fullInvoice.Emisor.Identificacion.Tipo,
39
+ numeroIdentificacion: fullInvoice.Emisor.Identificacion.Numero
40
+ },
41
+ consecutivoReceptor,
42
+ comprobanteXml: xmlBase64
43
+ };
44
+ }
45
+ exports.getFinalMessage = getFinalMessage;
46
+ //# sourceMappingURL=confirmXML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmXML.js","sourceRoot":"","sources":["../../../../src/lib/genJSON/confirmXML.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,SAAgB,SAAS,CAAC,IAIvB;IACD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IACxC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;IACrC,MAAM,GAAG,GAAG,6BAAa,CAAC,UAAU,CAAC,CAAC,eAAe,CAAA;IACrD,OAAO;QACL,eAAe,EAAE;YACf,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;YAChD,eAAe,EAAE,WAAW,CAAC,YAAY;YACzC,OAAO,EAAE,GAAG;YACZ,cAAc,EAAE,EAAE;YAClB,kBAAkB,EAAE,WAAW,CAAC,cAAc,CAAC,aAAa;YAC5D,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,iBAAiB,EAAE,IAAI;YACvB,0BAA0B,EAAE,WAAW,CAAC,cAAc,CAAC,UAAU;YACjE,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,UAAU;YACnD,oBAAoB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;YACpD,yBAAyB,EAAE,IAAI,CAAC,WAAW;SAC5C;KACF,CAAA;AACH,CAAC;AAzBD,8BAyBC;AAED,SAAgB,eAAe,CAAC,WAAgB,EAAE,mBAA2B,EAAE,SAAc;IAC3F,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACvB,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;QACzB,MAAM,EAAE;YACN,kBAAkB,EAAE,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;YAC5D,oBAAoB,EAAE,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM;SACjE;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI;YAC1D,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM;SAC/D;QACD,mBAAmB;QACnB,cAAc,EAAE,SAAS;KAC1B,CAAA;AACH,CAAC;AAhBD,0CAgBC"}
@@ -0,0 +1,5 @@
1
+ import { ClientPayload } from '@src/types/globalInterfaces';
2
+ import { LineaDetalle } from '@src/types/facturaInterfaces';
3
+ export declare function setLinesDefaults(lines: LineaDetalle[]): LineaDetalle[];
4
+ declare const _default: (frontEndRequest: ClientPayload, date: any, clave: string, consecutivo: string, options: any) => Promise<any>;
5
+ export default _default;