dgii-ts 0.2.0 → 0.2.1

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/README.en.md CHANGED
@@ -141,8 +141,10 @@ const ncfResult = await client.getNCF('131098193', 'B0100000001');
141
141
  ### Validate an e-NCF online
142
142
 
143
143
  For an e-NCF (E-series) DGII requires the buyer's RNC. Without it DGII
144
- answers with a required-field message and `getNCF` throws
145
- `DgiiServiceError`. The security code is optional.
144
+ answers with a required-field message: `ScrapingClient.getNCF` throws
145
+ `DgiiServiceError` and `DgiiClient.getNCF` wraps it in
146
+ `AllStrategiesFailedError` after exhausting retries and the fallback
147
+ (the message keeps DGII's text). The security code is optional.
146
148
 
147
149
  ```typescript
148
150
  const ecfResult = await client.getNCF('101010632', 'E310125217173', {
package/README.md CHANGED
@@ -144,8 +144,11 @@ const ncfResult = await client.getNCF('131098193', 'B0100000001');
144
144
  ### Validar e-NCF en línea
145
145
 
146
146
  Para un e-NCF (serie E) la DGII exige el RNC del comprador. Sin él
147
- responde con un mensaje de campo requerido y `getNCF` lanza
148
- `DgiiServiceError`. El código de seguridad es opcional.
147
+ responde con un mensaje de campo requerido: `ScrapingClient.getNCF`
148
+ lanza `DgiiServiceError` y `DgiiClient.getNCF` lo envuelve en
149
+ `AllStrategiesFailedError` tras agotar reintentos y fallback (el
150
+ mensaje conserva el texto de la DGII). El código de seguridad es
151
+ opcional.
149
152
 
150
153
  ```typescript
151
154
  const ecfResult = await client.getNCF('101010632', 'E310125217173', {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-QTN5ZT4P.js";
4
4
  import {
5
5
  ScrapingClient
6
- } from "./chunk-7ILLRYE4.js";
6
+ } from "./chunk-KMSKQH4U.js";
7
7
  import {
8
8
  AllStrategiesFailedError,
9
9
  DgiiConnectionError,
@@ -156,6 +156,11 @@ var DgiiClient = class {
156
156
  * @param ncf - NCF o e-NCF a validar
157
157
  * @param options - Datos adicionales del e-NCF (`rncComprador`,
158
158
  * `codigoSeguridad`). Se ignoran cuando `ncf` no es un e-NCF válido.
159
+ *
160
+ * Para un e-NCF sin `rncComprador` la DGII responde con un mensaje de
161
+ * campo requerido: `ScrapingClient.getNCF` lanza `DgiiServiceError` y
162
+ * este método lo envuelve en `AllStrategiesFailedError` tras agotar
163
+ * reintentos y fallback (el mensaje conserva el texto de la DGII).
159
164
  */
160
165
  async getNCF(rnc, ncf, options) {
161
166
  return this._executeWithFallback(
@@ -210,13 +210,13 @@ function extractTableFields(tableHtml) {
210
210
  const fields = /* @__PURE__ */ new Map();
211
211
  for (const match of tableHtml.matchAll(BOLD_STYLE_PATTERN)) {
212
212
  const label = normalizeLabel(_nullishCoalesce(match[1], () => ( "")));
213
- const value = stripHtmlTags(_nullishCoalesce(match[2], () => ( "")));
213
+ const value = decodeHtmlEntities(stripHtmlTags(_nullishCoalesce(match[2], () => ( ""))));
214
214
  if (label) fields.set(label, value);
215
215
  }
216
216
  if (fields.size === 0) {
217
217
  for (const match of tableHtml.matchAll(BOLD_TAG_PATTERN)) {
218
218
  const label = normalizeLabel(_nullishCoalesce(match[1], () => ( "")));
219
- const value = stripHtmlTags(_nullishCoalesce(match[2], () => ( "")));
219
+ const value = decodeHtmlEntities(stripHtmlTags(_nullishCoalesce(match[2], () => ( ""))));
220
220
  if (label) fields.set(label, value);
221
221
  }
222
222
  }
@@ -210,13 +210,13 @@ function extractTableFields(tableHtml) {
210
210
  const fields = /* @__PURE__ */ new Map();
211
211
  for (const match of tableHtml.matchAll(BOLD_STYLE_PATTERN)) {
212
212
  const label = normalizeLabel(match[1] ?? "");
213
- const value = stripHtmlTags(match[2] ?? "");
213
+ const value = decodeHtmlEntities(stripHtmlTags(match[2] ?? ""));
214
214
  if (label) fields.set(label, value);
215
215
  }
216
216
  if (fields.size === 0) {
217
217
  for (const match of tableHtml.matchAll(BOLD_TAG_PATTERN)) {
218
218
  const label = normalizeLabel(match[1] ?? "");
219
- const value = stripHtmlTags(match[2] ?? "");
219
+ const value = decodeHtmlEntities(stripHtmlTags(match[2] ?? ""));
220
220
  if (label) fields.set(label, value);
221
221
  }
222
222
  }
@@ -3,7 +3,7 @@
3
3
  var _chunkDLB5RJ7Ecjs = require('./chunk-DLB5RJ7E.cjs');
4
4
 
5
5
 
6
- var _chunkFRM5XREFcjs = require('./chunk-FRM5XREF.cjs');
6
+ var _chunkD6DU6PD3cjs = require('./chunk-D6DU6PD3.cjs');
7
7
 
8
8
 
9
9
 
@@ -123,7 +123,7 @@ async function withRetry(fn, options = DEFAULT_RETRY_OPTIONS) {
123
123
  var DgiiClient = class {
124
124
  constructor(options) {
125
125
  const timeout = _optionalChain([options, 'optionalAccess', _ => _.timeout]);
126
- this._scraping = new (0, _chunkFRM5XREFcjs.ScrapingClient)(
126
+ this._scraping = new (0, _chunkD6DU6PD3cjs.ScrapingClient)(
127
127
  timeout ? { timeout } : void 0
128
128
  );
129
129
  this._soap = new (0, _chunkDLB5RJ7Ecjs.DgiiSoapClient)(
@@ -156,6 +156,11 @@ var DgiiClient = class {
156
156
  * @param ncf - NCF o e-NCF a validar
157
157
  * @param options - Datos adicionales del e-NCF (`rncComprador`,
158
158
  * `codigoSeguridad`). Se ignoran cuando `ncf` no es un e-NCF válido.
159
+ *
160
+ * Para un e-NCF sin `rncComprador` la DGII responde con un mensaje de
161
+ * campo requerido: `ScrapingClient.getNCF` lanza `DgiiServiceError` y
162
+ * este método lo envuelve en `AllStrategiesFailedError` tras agotar
163
+ * reintentos y fallback (el mensaje conserva el texto de la DGII).
159
164
  */
160
165
  async getNCF(rnc, ncf, options) {
161
166
  return this._executeWithFallback(
package/dist/client.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk6ZRPVQPPcjs = require('./chunk-6ZRPVQPP.cjs');
6
+ var _chunkQWP5FSCNcjs = require('./chunk-QWP5FSCN.cjs');
7
7
  require('./chunk-DLB5RJ7E.cjs');
8
- require('./chunk-FRM5XREF.cjs');
8
+ require('./chunk-D6DU6PD3.cjs');
9
9
  require('./chunk-OSGHCQFA.cjs');
10
10
  require('./chunk-WMFHPNFP.cjs');
11
11
  require('./chunk-QH4BK5X3.cjs');
@@ -15,4 +15,4 @@ require('./chunk-NASWEFHN.cjs');
15
15
 
16
16
 
17
17
 
18
- exports.ConsecutiveBreaker = _chunk6ZRPVQPPcjs.ConsecutiveBreaker; exports.DgiiClient = _chunk6ZRPVQPPcjs.DgiiClient; exports.isRetryableError = _chunk6ZRPVQPPcjs.isRetryableError; exports.withRetry = _chunk6ZRPVQPPcjs.withRetry;
18
+ exports.ConsecutiveBreaker = _chunkQWP5FSCNcjs.ConsecutiveBreaker; exports.DgiiClient = _chunkQWP5FSCNcjs.DgiiClient; exports.isRetryableError = _chunkQWP5FSCNcjs.isRetryableError; exports.withRetry = _chunkQWP5FSCNcjs.withRetry;
package/dist/client.d.cts CHANGED
@@ -92,6 +92,11 @@ declare class DgiiClient {
92
92
  * @param ncf - NCF o e-NCF a validar
93
93
  * @param options - Datos adicionales del e-NCF (`rncComprador`,
94
94
  * `codigoSeguridad`). Se ignoran cuando `ncf` no es un e-NCF válido.
95
+ *
96
+ * Para un e-NCF sin `rncComprador` la DGII responde con un mensaje de
97
+ * campo requerido: `ScrapingClient.getNCF` lanza `DgiiServiceError` y
98
+ * este método lo envuelve en `AllStrategiesFailedError` tras agotar
99
+ * reintentos y fallback (el mensaje conserva el texto de la DGII).
95
100
  */
96
101
  getNCF(rnc: string, ncf: string, options?: NcfQueryOptions): Promise<NcfQueryResult>;
97
102
  private _executeWithFallback;
package/dist/client.d.ts CHANGED
@@ -92,6 +92,11 @@ declare class DgiiClient {
92
92
  * @param ncf - NCF o e-NCF a validar
93
93
  * @param options - Datos adicionales del e-NCF (`rncComprador`,
94
94
  * `codigoSeguridad`). Se ignoran cuando `ncf` no es un e-NCF válido.
95
+ *
96
+ * Para un e-NCF sin `rncComprador` la DGII responde con un mensaje de
97
+ * campo requerido: `ScrapingClient.getNCF` lanza `DgiiServiceError` y
98
+ * este método lo envuelve en `AllStrategiesFailedError` tras agotar
99
+ * reintentos y fallback (el mensaje conserva el texto de la DGII).
95
100
  */
96
101
  getNCF(rnc: string, ncf: string, options?: NcfQueryOptions): Promise<NcfQueryResult>;
97
102
  private _executeWithFallback;
package/dist/client.js CHANGED
@@ -3,9 +3,9 @@ import {
3
3
  DgiiClient,
4
4
  isRetryableError,
5
5
  withRetry
6
- } from "./chunk-JV4HWHYP.js";
6
+ } from "./chunk-ABNHQAWP.js";
7
7
  import "./chunk-QTN5ZT4P.js";
8
- import "./chunk-7ILLRYE4.js";
8
+ import "./chunk-KMSKQH4U.js";
9
9
  import "./chunk-H42U4GI5.js";
10
10
  import "./chunk-KW4ZV6FJ.js";
11
11
  import "./chunk-D26S6EXD.js";
package/dist/index.cjs CHANGED
@@ -17,7 +17,7 @@ require('./chunk-2ST6QKHA.cjs');
17
17
 
18
18
 
19
19
 
20
- var _chunk6ZRPVQPPcjs = require('./chunk-6ZRPVQPP.cjs');
20
+ var _chunkQWP5FSCNcjs = require('./chunk-QWP5FSCN.cjs');
21
21
 
22
22
 
23
23
 
@@ -27,7 +27,7 @@ var _chunkDLB5RJ7Ecjs = require('./chunk-DLB5RJ7E.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkFRM5XREFcjs = require('./chunk-FRM5XREF.cjs');
30
+ var _chunkD6DU6PD3cjs = require('./chunk-D6DU6PD3.cjs');
31
31
 
32
32
 
33
33
 
@@ -69,4 +69,4 @@ var _chunkNASWEFHNcjs = require('./chunk-NASWEFHN.cjs');
69
69
 
70
70
 
71
71
 
72
- exports.AllStrategiesFailedError = _chunkNASWEFHNcjs.AllStrategiesFailedError; exports.BulkFormatError = _chunkNASWEFHNcjs.BulkFormatError; exports.ConsecutiveBreaker = _chunk6ZRPVQPPcjs.ConsecutiveBreaker; exports.DGII_BULK_URL = _chunkVIZWYFHPcjs.DGII_BULK_URL; exports.DGII_ESTADOS = _chunkVIZWYFHPcjs.DGII_ESTADOS; exports.DGII_NCF_URL = _chunkFRM5XREFcjs.DGII_NCF_URL; exports.DGII_RNC_URL = _chunkFRM5XREFcjs.DGII_RNC_URL; exports.DGII_SOAP_BASE_URL = _chunkDLB5RJ7Ecjs.DGII_SOAP_BASE_URL; exports.DgiiClient = _chunk6ZRPVQPPcjs.DgiiClient; exports.DgiiConnectionError = _chunkNASWEFHNcjs.DgiiConnectionError; exports.DgiiError = _chunkNASWEFHNcjs.DgiiError; exports.DgiiNotFoundError = _chunkNASWEFHNcjs.DgiiNotFoundError; exports.DgiiServiceError = _chunkNASWEFHNcjs.DgiiServiceError; exports.DgiiSoapClient = _chunkDLB5RJ7Ecjs.DgiiSoapClient; exports.ECF_TYPE_NAMES = _chunkOSGHCQFAcjs.ECF_TYPE_NAMES; exports.NCF_TYPE_NAMES = _chunkUW6W2JHWcjs.NCF_TYPE_NAMES; exports.SOAP_ACTIONS = _chunkDLB5RJ7Ecjs.SOAP_ACTIONS; exports.ScrapingClient = _chunkFRM5XREFcjs.ScrapingClient; exports.downloadBulkFile = _chunkVIZWYFHPcjs.downloadBulkFile; exports.isRetryableError = _chunk6ZRPVQPPcjs.isRetryableError; exports.parseBulkFile = _chunkVIZWYFHPcjs.parseBulkFile; exports.validateCedula = _chunkUW6W2JHWcjs.validateCedula; exports.validateEcf = _chunkOSGHCQFAcjs.validateEcf; exports.validateNcf = _chunkUW6W2JHWcjs.validateNcf; exports.validateRnc = _chunkUW6W2JHWcjs.validateRnc; exports.withRetry = _chunk6ZRPVQPPcjs.withRetry;
72
+ exports.AllStrategiesFailedError = _chunkNASWEFHNcjs.AllStrategiesFailedError; exports.BulkFormatError = _chunkNASWEFHNcjs.BulkFormatError; exports.ConsecutiveBreaker = _chunkQWP5FSCNcjs.ConsecutiveBreaker; exports.DGII_BULK_URL = _chunkVIZWYFHPcjs.DGII_BULK_URL; exports.DGII_ESTADOS = _chunkVIZWYFHPcjs.DGII_ESTADOS; exports.DGII_NCF_URL = _chunkD6DU6PD3cjs.DGII_NCF_URL; exports.DGII_RNC_URL = _chunkD6DU6PD3cjs.DGII_RNC_URL; exports.DGII_SOAP_BASE_URL = _chunkDLB5RJ7Ecjs.DGII_SOAP_BASE_URL; exports.DgiiClient = _chunkQWP5FSCNcjs.DgiiClient; exports.DgiiConnectionError = _chunkNASWEFHNcjs.DgiiConnectionError; exports.DgiiError = _chunkNASWEFHNcjs.DgiiError; exports.DgiiNotFoundError = _chunkNASWEFHNcjs.DgiiNotFoundError; exports.DgiiServiceError = _chunkNASWEFHNcjs.DgiiServiceError; exports.DgiiSoapClient = _chunkDLB5RJ7Ecjs.DgiiSoapClient; exports.ECF_TYPE_NAMES = _chunkOSGHCQFAcjs.ECF_TYPE_NAMES; exports.NCF_TYPE_NAMES = _chunkUW6W2JHWcjs.NCF_TYPE_NAMES; exports.SOAP_ACTIONS = _chunkDLB5RJ7Ecjs.SOAP_ACTIONS; exports.ScrapingClient = _chunkD6DU6PD3cjs.ScrapingClient; exports.downloadBulkFile = _chunkVIZWYFHPcjs.downloadBulkFile; exports.isRetryableError = _chunkQWP5FSCNcjs.isRetryableError; exports.parseBulkFile = _chunkVIZWYFHPcjs.parseBulkFile; exports.validateCedula = _chunkUW6W2JHWcjs.validateCedula; exports.validateEcf = _chunkOSGHCQFAcjs.validateEcf; exports.validateNcf = _chunkUW6W2JHWcjs.validateNcf; exports.validateRnc = _chunkUW6W2JHWcjs.validateRnc; exports.withRetry = _chunkQWP5FSCNcjs.withRetry;
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  DgiiClient,
18
18
  isRetryableError,
19
19
  withRetry
20
- } from "./chunk-JV4HWHYP.js";
20
+ } from "./chunk-ABNHQAWP.js";
21
21
  import {
22
22
  DGII_SOAP_BASE_URL,
23
23
  DgiiSoapClient,
@@ -27,7 +27,7 @@ import {
27
27
  DGII_NCF_URL,
28
28
  DGII_RNC_URL,
29
29
  ScrapingClient
30
- } from "./chunk-7ILLRYE4.js";
30
+ } from "./chunk-KMSKQH4U.js";
31
31
  import {
32
32
  ECF_TYPE_NAMES,
33
33
  validateEcf
package/dist/scraping.cjs CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkFRM5XREFcjs = require('./chunk-FRM5XREF.cjs');
7
+ var _chunkD6DU6PD3cjs = require('./chunk-D6DU6PD3.cjs');
8
8
  require('./chunk-OSGHCQFA.cjs');
9
9
  require('./chunk-WMFHPNFP.cjs');
10
10
  require('./chunk-QH4BK5X3.cjs');
@@ -14,4 +14,4 @@ require('./chunk-NASWEFHN.cjs');
14
14
 
15
15
 
16
16
 
17
- exports.DGII_NCF_URL = _chunkFRM5XREFcjs.DGII_NCF_URL; exports.DGII_RNC_URL = _chunkFRM5XREFcjs.DGII_RNC_URL; exports.FORM_FIELDS = _chunkFRM5XREFcjs.FORM_FIELDS; exports.ScrapingClient = _chunkFRM5XREFcjs.ScrapingClient;
17
+ exports.DGII_NCF_URL = _chunkD6DU6PD3cjs.DGII_NCF_URL; exports.DGII_RNC_URL = _chunkD6DU6PD3cjs.DGII_RNC_URL; exports.FORM_FIELDS = _chunkD6DU6PD3cjs.FORM_FIELDS; exports.ScrapingClient = _chunkD6DU6PD3cjs.ScrapingClient;
package/dist/scraping.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  DGII_RNC_URL,
5
5
  FORM_FIELDS,
6
6
  ScrapingClient
7
- } from "./chunk-7ILLRYE4.js";
7
+ } from "./chunk-KMSKQH4U.js";
8
8
  import "./chunk-H42U4GI5.js";
9
9
  import "./chunk-KW4ZV6FJ.js";
10
10
  import "./chunk-D26S6EXD.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dgii-ts",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Librería TypeScript para validación e integración con la DGII de República Dominicana — RNC, Cédula, NCF, e-NCF",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",