@facturacr/atv-sdk 2.0.0 → 2.0.2-alpha

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 (108) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.js +23 -23
  3. package/.github/dependabot.yml +11 -0
  4. package/.github/workflows/ci.yml +14 -12
  5. package/README.md +9 -2
  6. package/__tests__/stubs/commonExpectedXml.xml +14 -16
  7. package/__tests__/stubs/createDocument.data.ts +18 -1
  8. package/__tests__/stubs/frontendRequest.stub.ts +0 -1
  9. package/__tests__/stubs/token.stub.ts +9 -9
  10. package/__tests__/tests/ATV/__snapshots__/create-document.test.ts.snap +1 -1
  11. package/__tests__/tests/ATV/create-document.test.ts +8 -8
  12. package/__tests__/tests/ATV/create-receptor-message.test.ts +41 -36
  13. package/dist/src/ATV/core/CreateDocFactory.d.ts +11 -3
  14. package/dist/src/ATV/core/CreateDocFactory.js +3 -3
  15. package/dist/src/ATV/core/CreateDocFactory.js.map +1 -1
  16. package/dist/src/ATV/core/Document.d.ts +2 -2
  17. package/dist/src/ATV/core/Document.js +15 -5
  18. package/dist/src/ATV/core/Document.js.map +1 -1
  19. package/dist/src/ATV/core/DocumentType.d.ts +2 -3
  20. package/dist/src/ATV/core/DocumentType.js +1 -0
  21. package/dist/src/ATV/core/DocumentType.js.map +1 -1
  22. package/dist/src/ATV/core/FullConsecutive.d.ts +2 -1
  23. package/dist/src/ATV/core/FullConsecutive.js.map +1 -1
  24. package/dist/src/ATV/core/OrderLine.js +8 -1
  25. package/dist/src/ATV/core/OrderLine.js.map +1 -1
  26. package/dist/src/ATV/core/Person.d.ts +2 -2
  27. package/dist/src/ATV/core/ReceptorConsecutive.js.map +1 -1
  28. package/dist/src/ATV/core/ReferenceInformation.js.map +1 -1
  29. package/dist/src/ATV/core/Summary.type.d.ts +5 -0
  30. package/dist/src/ATV/core/types.d.ts +3 -2
  31. package/dist/src/ATV/core/types.js.map +1 -1
  32. package/dist/src/ATV/index.d.ts +2 -2
  33. package/dist/src/ATV/index.js +2 -2
  34. package/dist/src/ATV/mappers/billDocToAtv.js +32 -26
  35. package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -1
  36. package/dist/src/ATV/types.d.ts +1 -1
  37. package/dist/src/ATV/useCases/createDocument/index.js +5 -9
  38. package/dist/src/ATV/useCases/createDocument/index.js.map +1 -1
  39. package/dist/src/ATV/useCases/createDocument/types.d.ts +4 -3
  40. package/dist/src/ATV/useCases/createReceptorMessage/index.d.ts +6 -5
  41. package/dist/src/ATV/useCases/createReceptorMessage/index.js +3 -3
  42. package/dist/src/ATV/useCases/createReceptorMessage/index.js.map +1 -1
  43. package/dist/src/helpers/comprobantes.js +10 -1
  44. package/dist/src/helpers/comprobantes.js.map +1 -1
  45. package/dist/src/lib/genClave/index.d.ts +8 -1
  46. package/dist/src/lib/genClave/index.js +5 -0
  47. package/dist/src/lib/genClave/index.js.map +1 -1
  48. package/dist/src/lib/genXML/index.js +6 -4
  49. package/dist/src/lib/genXML/index.js.map +1 -1
  50. package/dist/src/lib/genXML/sigXML/index.js +7 -4
  51. package/dist/src/lib/genXML/sigXML/index.js.map +1 -1
  52. package/dist/src/services/getToken/GetToken.js +0 -3
  53. package/dist/src/services/getToken/GetToken.js.map +1 -1
  54. package/dist/src/services/getToken/__tests__/GetToken.test.js +0 -1
  55. package/dist/src/services/getToken/__tests__/GetToken.test.js.map +1 -1
  56. package/dist/src/types/facturaInterfaces.d.ts +9 -3
  57. package/dist/src/xmlSchemaHeaderMap.d.ts +70 -0
  58. package/dist/src/xmlSchemaHeaderMap.js +30 -0
  59. package/dist/src/xmlSchemaHeaderMap.js.map +1 -0
  60. package/doc/atv-structures/4.3/FacturaElectronica_V4.3.xsd.xml +1633 -478
  61. package/doc/atv-structures/4.4/TiqueteElectronico_V4.4.xsd.xml +2817 -0
  62. package/doc/json-schemas/4.4/fe.json +544 -0
  63. package/doc/json-schemas/4.4/te.json +420 -0
  64. package/doc/testing.md +27 -0
  65. package/examples/README.md +10 -35
  66. package/examples/atvAccept.ts +18 -9
  67. package/examples/consultXML.ts +1 -0
  68. package/examples/{createAndSend.ts → createAndSendFE.ts} +11 -8
  69. package/examples/createAndSendTE.ts +73 -0
  70. package/examples/createCreditNote.ts +10 -6
  71. package/examples/createDebitNote.ts +2 -0
  72. package/examples/getToken.ts +2 -0
  73. package/package.json +3 -2
  74. package/src/ATV/core/CreateDocFactory.ts +32 -23
  75. package/src/ATV/core/Document.ts +15 -8
  76. package/src/ATV/core/DocumentType.ts +10 -3
  77. package/src/ATV/core/FullConsecutive.ts +2 -1
  78. package/src/ATV/core/OrderLine.ts +7 -1
  79. package/src/ATV/core/Person.ts +2 -2
  80. package/src/ATV/core/ReceptorConsecutive.ts +16 -16
  81. package/src/ATV/core/ReferenceInformation.ts +6 -6
  82. package/src/ATV/core/Summary.type.ts +5 -0
  83. package/src/ATV/core/types.ts +7 -6
  84. package/src/ATV/index.ts +3 -3
  85. package/src/ATV/mappers/billDocToAtv.ts +35 -15
  86. package/src/ATV/types.ts +1 -1
  87. package/src/ATV/useCases/createDocument/index.ts +8 -8
  88. package/src/ATV/useCases/createDocument/types.ts +5 -6
  89. package/src/ATV/useCases/createReceptorMessage/index.ts +94 -93
  90. package/src/helpers/comprobantes.ts +10 -1
  91. package/src/lib/genClave/index.ts +10 -3
  92. package/src/lib/genXML/index.ts +3 -1
  93. package/src/lib/genXML/sigXML/index.ts +6 -3
  94. package/src/services/getToken/GetToken.ts +0 -3
  95. package/src/services/getToken/__tests__/GetToken.test.ts +0 -1
  96. package/src/types/facturaInterfaces.ts +10 -4
  97. package/src/xmlSchemaHeaderMap.ts +37 -0
  98. package/tools/readXML.ts +2 -0
  99. package/tools/xsdToJsonSchema.ts +1 -0
  100. package/tsconfig.json +1 -0
  101. package/dist/src/ATV/core/documentNames.types.d.ts +0 -1
  102. package/dist/src/ATV/core/documentNames.types.js +0 -3
  103. package/dist/src/ATV/core/documentNames.types.js.map +0 -1
  104. package/dist/src/lib/genXML/xmlConfig.d.ts +0 -55
  105. package/dist/src/lib/genXML/xmlConfig.js +0 -42
  106. package/dist/src/lib/genXML/xmlConfig.js.map +0 -1
  107. package/src/ATV/core/documentNames.types.ts +0 -6
  108. package/src/lib/genXML/xmlConfig.ts +0 -60
package/tools/readXML.ts CHANGED
@@ -10,6 +10,7 @@ const options = {
10
10
 
11
11
  const sourceURI = process.env.SOURCE_URI
12
12
  const outputSourceURI = process.env.SOURCE_URI_JSON_OUTPUT
13
+ // @ts-expect-error migration pending to fix
13
14
  const xmlString = fs.readFileSync(sourceURI, 'utf8')
14
15
  const json = parser.parse(xmlString, options)
15
16
  // const Parser = parser.j2xParser
@@ -18,6 +19,7 @@ const json = parser.parse(xmlString, options)
18
19
  // const xml = convertToXML.parse(json)
19
20
 
20
21
  const data = JSON.stringify(json, null, 2)
22
+ // @ts-expect-error migration pending to fix
21
23
  fs.writeFile(outputSourceURI, data, (err) => {
22
24
  if (err) throw err
23
25
  })
@@ -13,6 +13,7 @@ const options = {
13
13
  attributeNamePrefix: ''
14
14
  }
15
15
  const sourceURI = process.env.XSD_SOURCE
16
+ // @ts-expect-error migration pending to fix
16
17
  const xmlString = fs.readFileSync(sourceURI, 'utf8')
17
18
 
18
19
  const json = Parser.parse(xmlString, options)
package/tsconfig.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "resolveJsonModule": true,
4
+ "strictNullChecks": true,
4
5
  "esModuleInterop": true,
5
6
  "target": "es6",
6
7
  "moduleResolution": "node",
@@ -1 +0,0 @@
1
- export type DocumentNames = 'FacturaElectronica' | 'FacturaElectronicaExportacion' | 'NotaCreditoElectronica' | 'NotaDebitoElectronica' | 'MensajeReceptor';
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=documentNames.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentNames.types.js","sourceRoot":"","sources":["../../../../src/ATV/core/documentNames.types.ts"],"names":[],"mappings":""}
@@ -1,55 +0,0 @@
1
- export declare const ATV_VERSION = "4.4";
2
- export declare const declaration = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
3
- export declare const defaultOptions: {
4
- attrNodeName: string;
5
- };
6
- export declare const xmlExtructures: {
7
- FacturaElectronica: {
8
- "xmlns:ds": string;
9
- "xmlns:xsd": string;
10
- "xmlns:xsi": string;
11
- xmlns: string;
12
- };
13
- FacturaElectronicaExportacion: {
14
- "xmlns:ds": string;
15
- "xmlns:xsd": string;
16
- "xmlns:xsi": string;
17
- xmlns: string;
18
- };
19
- NotaCreditoElectronica: {
20
- "xmlns:ds": string;
21
- "xmlns:xsd": string;
22
- "xmlns:xsi": string;
23
- xmlns: string;
24
- };
25
- NotaDebitoElectronica: {
26
- "xmlns:ds": string;
27
- "xmlns:xsd": string;
28
- "xmlns:xsi": string;
29
- xmlns: string;
30
- };
31
- MensajeReceptor: {
32
- "xmlns:ds": string;
33
- "xmlns:xsd": string;
34
- "xmlns:xsi": string;
35
- xmlns: string;
36
- };
37
- CCE: {
38
- "xmlns:ds": string;
39
- "xmlns:xsd": string;
40
- "xmlns:xsi": string;
41
- xmlns: string;
42
- };
43
- CPCE: {
44
- "xmlns:ds": string;
45
- "xmlns:xsd": string;
46
- "xmlns:xsi": string;
47
- xmlns: string;
48
- };
49
- RCE: {
50
- "xmlns:ds": string;
51
- "xmlns:xsd": string;
52
- "xmlns:xsi": string;
53
- xmlns: string;
54
- };
55
- };
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.xmlExtructures = exports.defaultOptions = exports.declaration = exports.ATV_VERSION = void 0;
4
- exports.ATV_VERSION = '4.4';
5
- const FE_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${exports.ATV_VERSION}/facturaElectronica`;
6
- const MR_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${exports.ATV_VERSION}/mensajeReceptor`;
7
- const NC_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${exports.ATV_VERSION}/notaCreditoElectronica`;
8
- exports.declaration = '<?xml version="1.0" encoding="utf-8"?>';
9
- exports.defaultOptions = {
10
- attrNodeName: "attr",
11
- };
12
- const COMMON_STRUCTURE = {
13
- "xmlns:ds": "http://www.w3.org/2000/09/xmldsig#",
14
- "xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
15
- "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
16
- };
17
- const FE_XML_ATTRS = Object.assign({
18
- // Factura Electronica
19
- xmlns: FE_XML_SCHEMA_NS }, COMMON_STRUCTURE);
20
- const FEE_XML_ATTRS = Object.assign({
21
- // Factura Electronica Exportación
22
- xmlns: FE_XML_SCHEMA_NS }, COMMON_STRUCTURE);
23
- const NC_XML_ATTRS = Object.assign({
24
- // Nota Credito Electronica
25
- xmlns: NC_XML_SCHEMA_NS }, COMMON_STRUCTURE);
26
- const ND_XML_ATTRS = Object.assign({
27
- // Nota Credito Electronica
28
- xmlns: NC_XML_SCHEMA_NS }, COMMON_STRUCTURE);
29
- const MR_XML_ATTRS = Object.assign({
30
- // Mensaje Receptor
31
- xmlns: MR_XML_SCHEMA_NS }, COMMON_STRUCTURE);
32
- exports.xmlExtructures = {
33
- FacturaElectronica: FE_XML_ATTRS,
34
- FacturaElectronicaExportacion: FEE_XML_ATTRS,
35
- NotaCreditoElectronica: NC_XML_ATTRS,
36
- NotaDebitoElectronica: ND_XML_ATTRS,
37
- MensajeReceptor: MR_XML_ATTRS,
38
- CCE: MR_XML_ATTRS,
39
- CPCE: MR_XML_ATTRS,
40
- RCE: MR_XML_ATTRS,
41
- };
42
- //# sourceMappingURL=xmlConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xmlConfig.js","sourceRoot":"","sources":["../../../../src/lib/genXML/xmlConfig.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,KAAK,CAAA;AAEhC,MAAM,gBAAgB,GAAG,2DAA2D,mBAAW,qBAAqB,CAAA;AAEpH,MAAM,gBAAgB,GAAG,2DAA2D,mBAAW,kBAAkB,CAAA;AAEjH,MAAM,gBAAgB,GAAG,2DAA2D,mBAAW,yBAAyB,CAAA;AAE3G,QAAA,WAAW,GAAG,wCAAwC,CAAA;AAEtD,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,UAAU,EAAE,oCAAoC;IAChD,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE,2CAA2C;CACzD,CAAC;AAEF,MAAM,YAAY;IAChB,sBAAsB;IACtB,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,aAAa;IACjB,kCAAkC;IAClC,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,YAAY;IAChB,2BAA2B;IAC3B,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,YAAY;IAChB,2BAA2B;IAC3B,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,YAAY;IAChB,mBAAmB;IACnB,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,kBAAkB,EAAE,YAAY;IAChC,6BAA6B,EAAE,aAAa;IAC5C,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,YAAY;IACnC,eAAe,EAAE,YAAY;IAC7B,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;CAClB,CAAC"}
@@ -1,6 +0,0 @@
1
- export type DocumentNames =
2
- 'FacturaElectronica' |
3
- 'FacturaElectronicaExportacion' |
4
- 'NotaCreditoElectronica' |
5
- 'NotaDebitoElectronica' |
6
- 'MensajeReceptor'
@@ -1,60 +0,0 @@
1
- export const ATV_VERSION = '4.4'
2
-
3
- const FE_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${ATV_VERSION}/facturaElectronica`
4
-
5
- const MR_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${ATV_VERSION}/mensajeReceptor`
6
-
7
- const NC_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${ATV_VERSION}/notaCreditoElectronica`
8
-
9
- export const declaration = '<?xml version="1.0" encoding="utf-8"?>'
10
-
11
- export const defaultOptions = {
12
- attrNodeName: "attr",
13
- };
14
-
15
- const COMMON_STRUCTURE = {
16
- "xmlns:ds": "http://www.w3.org/2000/09/xmldsig#",
17
- "xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
18
- "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
19
- };
20
-
21
- const FE_XML_ATTRS = {
22
- // Factura Electronica
23
- xmlns: FE_XML_SCHEMA_NS,
24
- ...COMMON_STRUCTURE,
25
- };
26
-
27
- const FEE_XML_ATTRS = {
28
- // Factura Electronica Exportación
29
- xmlns: FE_XML_SCHEMA_NS,
30
- ...COMMON_STRUCTURE,
31
- };
32
-
33
- const NC_XML_ATTRS = {
34
- // Nota Credito Electronica
35
- xmlns: NC_XML_SCHEMA_NS,
36
- ...COMMON_STRUCTURE,
37
- };
38
-
39
- const ND_XML_ATTRS = {
40
- // Nota Credito Electronica
41
- xmlns: NC_XML_SCHEMA_NS,
42
- ...COMMON_STRUCTURE,
43
- };
44
-
45
- const MR_XML_ATTRS = {
46
- // Mensaje Receptor
47
- xmlns: MR_XML_SCHEMA_NS,
48
- ...COMMON_STRUCTURE,
49
- };
50
-
51
- export const xmlExtructures = {
52
- FacturaElectronica: FE_XML_ATTRS,
53
- FacturaElectronicaExportacion: FEE_XML_ATTRS,
54
- NotaCreditoElectronica: NC_XML_ATTRS,
55
- NotaDebitoElectronica: ND_XML_ATTRS,
56
- MensajeReceptor: MR_XML_ATTRS,
57
- CCE: MR_XML_ATTRS,
58
- CPCE: MR_XML_ATTRS,
59
- RCE: MR_XML_ATTRS,
60
- };