@ramiidv/arca-padron 0.3.0 → 0.4.0

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 (120) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +137 -82
  3. package/dist/cjs/arca-padron.d.ts +44 -31
  4. package/dist/cjs/arca-padron.d.ts.map +1 -1
  5. package/dist/cjs/arca-padron.js +61 -27
  6. package/dist/cjs/arca-padron.js.map +1 -1
  7. package/dist/cjs/base-client.d.ts +19 -10
  8. package/dist/cjs/base-client.d.ts.map +1 -1
  9. package/dist/cjs/base-client.js +33 -17
  10. package/dist/cjs/base-client.js.map +1 -1
  11. package/dist/cjs/condicion-iva.d.ts +9 -5
  12. package/dist/cjs/condicion-iva.d.ts.map +1 -1
  13. package/dist/cjs/condicion-iva.js +86 -39
  14. package/dist/cjs/condicion-iva.js.map +1 -1
  15. package/dist/cjs/constants.d.ts +57 -12
  16. package/dist/cjs/constants.d.ts.map +1 -1
  17. package/dist/cjs/constants.js +53 -11
  18. package/dist/cjs/constants.js.map +1 -1
  19. package/dist/cjs/errors.d.ts +38 -10
  20. package/dist/cjs/errors.d.ts.map +1 -1
  21. package/dist/cjs/errors.js +45 -19
  22. package/dist/cjs/errors.js.map +1 -1
  23. package/dist/cjs/index.d.ts +16 -8
  24. package/dist/cjs/index.d.ts.map +1 -1
  25. package/dist/cjs/index.js +27 -17
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/mapping.d.ts +46 -3
  28. package/dist/cjs/mapping.d.ts.map +1 -1
  29. package/dist/cjs/mapping.js +129 -8
  30. package/dist/cjs/mapping.js.map +1 -1
  31. package/dist/cjs/padron-a10.d.ts +8 -5
  32. package/dist/cjs/padron-a10.d.ts.map +1 -1
  33. package/dist/cjs/padron-a10.js +22 -57
  34. package/dist/cjs/padron-a10.js.map +1 -1
  35. package/dist/cjs/padron-a100.d.ts +8 -4
  36. package/dist/cjs/padron-a100.d.ts.map +1 -1
  37. package/dist/cjs/padron-a100.js +27 -17
  38. package/dist/cjs/padron-a100.js.map +1 -1
  39. package/dist/cjs/padron-a13.d.ts +17 -7
  40. package/dist/cjs/padron-a13.d.ts.map +1 -1
  41. package/dist/cjs/padron-a13.js +37 -17
  42. package/dist/cjs/padron-a13.js.map +1 -1
  43. package/dist/cjs/padron-a4.d.ts +8 -5
  44. package/dist/cjs/padron-a4.d.ts.map +1 -1
  45. package/dist/cjs/padron-a4.js +103 -157
  46. package/dist/cjs/padron-a4.js.map +1 -1
  47. package/dist/cjs/padron-a5.d.ts +20 -7
  48. package/dist/cjs/padron-a5.d.ts.map +1 -1
  49. package/dist/cjs/padron-a5.js +82 -57
  50. package/dist/cjs/padron-a5.js.map +1 -1
  51. package/dist/cjs/types.d.ts +39 -48
  52. package/dist/cjs/types.d.ts.map +1 -1
  53. package/dist/esm/arca-padron.d.ts +44 -31
  54. package/dist/esm/arca-padron.d.ts.map +1 -1
  55. package/dist/esm/arca-padron.js +62 -28
  56. package/dist/esm/arca-padron.js.map +1 -1
  57. package/dist/esm/base-client.d.ts +19 -10
  58. package/dist/esm/base-client.d.ts.map +1 -1
  59. package/dist/esm/base-client.js +33 -17
  60. package/dist/esm/base-client.js.map +1 -1
  61. package/dist/esm/condicion-iva.d.ts +9 -5
  62. package/dist/esm/condicion-iva.d.ts.map +1 -1
  63. package/dist/esm/condicion-iva.js +86 -39
  64. package/dist/esm/condicion-iva.js.map +1 -1
  65. package/dist/esm/constants.d.ts +57 -12
  66. package/dist/esm/constants.d.ts.map +1 -1
  67. package/dist/esm/constants.js +53 -11
  68. package/dist/esm/constants.js.map +1 -1
  69. package/dist/esm/errors.d.ts +38 -10
  70. package/dist/esm/errors.d.ts.map +1 -1
  71. package/dist/esm/errors.js +40 -11
  72. package/dist/esm/errors.js.map +1 -1
  73. package/dist/esm/index.d.ts +16 -8
  74. package/dist/esm/index.d.ts.map +1 -1
  75. package/dist/esm/index.js +14 -6
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/mapping.d.ts +46 -3
  78. package/dist/esm/mapping.d.ts.map +1 -1
  79. package/dist/esm/mapping.js +117 -7
  80. package/dist/esm/mapping.js.map +1 -1
  81. package/dist/esm/padron-a10.d.ts +8 -5
  82. package/dist/esm/padron-a10.d.ts.map +1 -1
  83. package/dist/esm/padron-a10.js +21 -57
  84. package/dist/esm/padron-a10.js.map +1 -1
  85. package/dist/esm/padron-a100.d.ts +8 -4
  86. package/dist/esm/padron-a100.d.ts.map +1 -1
  87. package/dist/esm/padron-a100.js +27 -17
  88. package/dist/esm/padron-a100.js.map +1 -1
  89. package/dist/esm/padron-a13.d.ts +17 -7
  90. package/dist/esm/padron-a13.d.ts.map +1 -1
  91. package/dist/esm/padron-a13.js +37 -18
  92. package/dist/esm/padron-a13.js.map +1 -1
  93. package/dist/esm/padron-a4.d.ts +8 -5
  94. package/dist/esm/padron-a4.d.ts.map +1 -1
  95. package/dist/esm/padron-a4.js +101 -156
  96. package/dist/esm/padron-a4.js.map +1 -1
  97. package/dist/esm/padron-a5.d.ts +20 -7
  98. package/dist/esm/padron-a5.d.ts.map +1 -1
  99. package/dist/esm/padron-a5.js +82 -57
  100. package/dist/esm/padron-a5.js.map +1 -1
  101. package/dist/esm/types.d.ts +39 -48
  102. package/dist/esm/types.d.ts.map +1 -1
  103. package/llms.txt +46 -27
  104. package/package.json +3 -3
  105. package/dist/cjs/soap-client.d.ts +0 -2
  106. package/dist/cjs/soap-client.d.ts.map +0 -1
  107. package/dist/cjs/soap-client.js +0 -13
  108. package/dist/cjs/soap-client.js.map +0 -1
  109. package/dist/cjs/wsaa.d.ts +0 -3
  110. package/dist/cjs/wsaa.d.ts.map +0 -1
  111. package/dist/cjs/wsaa.js +0 -6
  112. package/dist/cjs/wsaa.js.map +0 -1
  113. package/dist/esm/soap-client.d.ts +0 -2
  114. package/dist/esm/soap-client.d.ts.map +0 -1
  115. package/dist/esm/soap-client.js +0 -3
  116. package/dist/esm/soap-client.js.map +0 -1
  117. package/dist/esm/wsaa.d.ts +0 -3
  118. package/dist/esm/wsaa.d.ts.map +0 -1
  119. package/dist/esm/wsaa.js +0 -2
  120. package/dist/esm/wsaa.js.map +0 -1
@@ -1,14 +1,135 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.records = exports.optNumber = exports.optString = void 0;
4
- const soap_client_js_1 = require("./soap-client.js");
5
- /** Convierte a string, o `undefined` si el valor no vino. */
6
- const optString = (v) => v === undefined || v === null ? undefined : String(v);
3
+ exports.strings = exports.record = exports.records = exports.optNumber = exports.optString = void 0;
4
+ exports.isNil = isNil;
5
+ exports.reqString = reqString;
6
+ exports.reqNumber = reqNumber;
7
+ exports.tipoPersona = tipoPersona;
8
+ exports.requirePersona = requirePersona;
9
+ exports.mapDependencia = mapDependencia;
10
+ exports.mapDomicilio = mapDomicilio;
11
+ exports.mapPersonaComun = mapPersonaComun;
12
+ exports.asignarDependenciaYClaves = asignarDependenciaYClaves;
13
+ const arca_common_1 = require("@ramiidv/arca-common");
14
+ const errors_js_1 = require("./errors.js");
15
+ /**
16
+ * `true` si el valor no vino o es un elemento `xsi:nil="true"` (el parser deja
17
+ * el atributo como `@_nil` o `@_xsi:nil`). Los WSDL de Padrón declaran
18
+ * `nillable` los elementos repetidos.
19
+ */
20
+ function isNil(v) {
21
+ if (v === undefined || v === null)
22
+ return true;
23
+ if (typeof v !== 'object' || Array.isArray(v))
24
+ return false;
25
+ const o = v;
26
+ return Object.keys(o).some((k) => /^@_(?:[\w-]+:)?nil$/.test(k) && String(o[k]) === 'true');
27
+ }
28
+ /** Valor de texto de un elemento simple (`undefined` si no vino o es nil). */
29
+ function text(v) {
30
+ if (isNil(v))
31
+ return undefined;
32
+ if (typeof v === 'object') {
33
+ const o = v;
34
+ return Object.hasOwn(o, '#text') ? o['#text'] : undefined;
35
+ }
36
+ return v;
37
+ }
38
+ /** Convierte a string, o `undefined` si el valor no vino. Para campos `xs:string`/`xs:long`/`xs:dateTime`. */
39
+ const optString = (v) => {
40
+ const t = text(v);
41
+ return t === undefined ? undefined : String(t);
42
+ };
7
43
  exports.optString = optString;
8
- /** Convierte a número, o `undefined` si el valor no vino. */
9
- const optNumber = (v) => v === undefined || v === null || v === '' ? undefined : Number(v);
44
+ /** Convierte a número, o `undefined` si el valor no vino. Para campos `xs:int`/`xs:double`. */
45
+ const optNumber = (v) => {
46
+ const t = text(v);
47
+ return t === undefined || t === '' ? undefined : Number(t);
48
+ };
10
49
  exports.optNumber = optNumber;
11
- /** Normaliza un elemento SOAP que puede venir solo, repetido o ausente. */
12
- const records = (v) => (0, soap_client_js_1.ensureArray)(v);
50
+ /** Normaliza un elemento complejo que puede venir solo, repetido, ausente o nil. */
51
+ const records = (v) => (0, arca_common_1.ensureArray)(v).filter((x) => typeof x === 'object' && x !== null && !isNil(x));
13
52
  exports.records = records;
53
+ /** Elemento complejo opcional (`undefined` si no vino, vino vacío o es nil). */
54
+ const record = (v) => typeof v === 'object' && v !== null && !Array.isArray(v) && !isNil(v) ? v : undefined;
55
+ exports.record = record;
56
+ /** Lista de valores simples repetidos (ej: `claveInactivaAsociada`, `error`), sin los nil. */
57
+ const strings = (v) => (0, arca_common_1.ensureArray)(v).map(exports.optString).filter((s) => s !== undefined);
58
+ exports.strings = strings;
59
+ function missing(field) {
60
+ return new errors_js_1.ArcaPadronError(`Respuesta inválida de ARCA: falta ${field}`);
61
+ }
62
+ /** String obligatorio: lanza `ArcaPadronError` si no vino. */
63
+ function reqString(v, field) {
64
+ const s = (0, exports.optString)(v);
65
+ if (s === undefined || s === '')
66
+ throw missing(field);
67
+ return s;
68
+ }
69
+ /** Número obligatorio: lanza `ArcaPadronError` si no vino. */
70
+ function reqNumber(v, field) {
71
+ const n = (0, exports.optNumber)(v);
72
+ if (n === undefined || Number.isNaN(n))
73
+ throw missing(field);
74
+ return n;
75
+ }
76
+ /** `tipoPersona` obligatorio (`FISICA` | `JURIDICA`). */
77
+ function tipoPersona(v, field = 'persona.tipoPersona') {
78
+ return reqString(v, field);
79
+ }
80
+ /**
81
+ * Elemento `persona` de `personaReturn` (A4, A10, A13). Si falta, lanza
82
+ * `ArcaPadronError`: nunca se inventa una persona vacía.
83
+ */
84
+ function requirePersona(result, method) {
85
+ const persona = (0, exports.record)(result['persona']);
86
+ if (!persona)
87
+ throw new errors_js_1.ArcaPadronError(`Respuesta inválida de ARCA (${method}): personaReturn sin persona`);
88
+ return persona;
89
+ }
90
+ // ---------------------------------------------------------------------------
91
+ // Bloques comunes de A4 y A10 (mismos tipos en los dos WSDL)
92
+ // ---------------------------------------------------------------------------
93
+ /** `dependencia` de A4/A10: `{descripcionDependencia, idDependencia}`. */
94
+ function mapDependencia(v) {
95
+ const d = (0, exports.record)(v);
96
+ if (!d)
97
+ return undefined;
98
+ return { idDependencia: (0, exports.optNumber)(d['idDependencia']), descripcionDependencia: (0, exports.optString)(d['descripcionDependencia']) };
99
+ }
100
+ /** `domicilio` de A4/A10/constancia (todos `xs:string` salvo `idProvincia`). */
101
+ function mapDomicilio(d) {
102
+ return {
103
+ direccion: (0, exports.optString)(d['direccion']),
104
+ localidad: (0, exports.optString)(d['localidad']),
105
+ codPostal: (0, exports.optString)(d['codPostal']),
106
+ idProvincia: (0, exports.optNumber)(d['idProvincia']),
107
+ descripcionProvincia: (0, exports.optString)(d['descripcionProvincia']),
108
+ tipoDomicilio: (0, exports.optString)(d['tipoDomicilio']),
109
+ datoAdicional: (0, exports.optString)(d['datoAdicional']),
110
+ tipoDatoAdicional: (0, exports.optString)(d['tipoDatoAdicional']),
111
+ };
112
+ }
113
+ /** Campos comunes de `persona` en A4 y A10. */
114
+ function mapPersonaComun(raw) {
115
+ return {
116
+ idPersona: reqString(raw['idPersona'], 'persona.idPersona'),
117
+ tipoPersona: tipoPersona(raw['tipoPersona']),
118
+ tipoClave: (0, exports.optString)(raw['tipoClave']),
119
+ estadoClave: (0, exports.optString)(raw['estadoClave']),
120
+ nombre: (0, exports.optString)(raw['nombre']),
121
+ apellido: (0, exports.optString)(raw['apellido']),
122
+ razonSocial: (0, exports.optString)(raw['razonSocial']),
123
+ numeroDocumento: (0, exports.optString)(raw['numeroDocumento']),
124
+ tipoDocumento: (0, exports.optString)(raw['tipoDocumento']),
125
+ };
126
+ }
127
+ /** Asigna `dependencia` y `claveInactivaAsociada` solo si vinieron. */
128
+ function asignarDependenciaYClaves(target, raw) {
129
+ const dependencia = mapDependencia(raw['dependencia']);
130
+ if (dependencia)
131
+ target.dependencia = dependencia;
132
+ if (raw['claveInactivaAsociada'] !== undefined)
133
+ target.claveInactivaAsociada = (0, exports.strings)(raw['claveInactivaAsociada']);
134
+ }
14
135
  //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAK/C,6DAA6D;AACtD,MAAM,SAAS,GAAG,CAAC,CAAU,EAAsB,EAAE,CAC1D,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAD3C,QAAA,SAAS,aACkC;AAExD,6DAA6D;AACtD,MAAM,SAAS,GAAG,CAAC,CAAU,EAAsB,EAAE,CAC1D,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AADvD,QAAA,SAAS,aAC8C;AAEpE,2EAA2E;AACpE,MAAM,OAAO,GAAG,CAAC,CAAU,EAAgB,EAAE,CAAC,IAAA,4BAAW,EAAC,CAA0C,CAAC,CAAC;AAAhG,QAAA,OAAO,WAAyF"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
1
  import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type SoapRecord as R } from './mapping.js';
2
3
  import { BasePadronClient, type PadronClientConfig } from './base-client.js';
3
4
  import type { PersonaA10, WsAuth } from './types.js';
4
5
  export type PadronA10ClientConfig = PadronClientConfig;
5
6
  /**
6
- * Client for ws_sr_padron_a10 - Minimal taxpayer data.
7
+ * Client for ws_sr_padron_a10 - Datos básicos de un contribuyente.
7
8
  */
8
9
  export declare class PadronA10Client extends BasePadronClient {
9
10
  /**
10
- * Get minimal taxpayer data for a given CUIT.
11
+ * Datos básicos de un contribuyente.
11
12
  * @param auth - Authentication object with Token, Sign, and CuitRepresentada
12
- * @param cuit - CUIT of the taxpayer to query
13
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
13
14
  * @param opts - Opciones por llamada (signal)
15
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
14
16
  */
15
- getPersona(auth: WsAuth, cuit: string, opts?: CallOptions): Promise<PersonaA10>;
16
- private mapPersona;
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA10>;
17
18
  }
19
+ /** Mapea `persona` de A10 (WSDL personaServiceA10). */
20
+ export declare function mapPersonaA10(raw: R): PersonaA10;
18
21
  //# sourceMappingURL=padron-a10.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a10.d.ts","sourceRoot":"","sources":["../../src/padron-a10.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBrF,OAAO,CAAC,UAAU;CAoDnB"}
1
+ {"version":3,"file":"padron-a10.d.ts","sourceRoot":"","sources":["../../src/padron-a10.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAOL,KAAK,UAAU,IAAI,CAAC,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAK/F;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,UAAU,CAShD"}
@@ -1,73 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PadronA10Client = void 0;
4
- const soap_client_js_1 = require("./soap-client.js");
4
+ exports.mapPersonaA10 = mapPersonaA10;
5
+ const arca_common_1 = require("@ramiidv/arca-common");
6
+ const mapping_js_1 = require("./mapping.js");
5
7
  const base_client_js_1 = require("./base-client.js");
6
8
  /**
7
- * Client for ws_sr_padron_a10 - Minimal taxpayer data.
9
+ * Client for ws_sr_padron_a10 - Datos básicos de un contribuyente.
8
10
  */
9
11
  class PadronA10Client extends base_client_js_1.BasePadronClient {
10
12
  /**
11
- * Get minimal taxpayer data for a given CUIT.
13
+ * Datos básicos de un contribuyente.
12
14
  * @param auth - Authentication object with Token, Sign, and CuitRepresentada
13
- * @param cuit - CUIT of the taxpayer to query
15
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
14
16
  * @param opts - Opciones por llamada (signal)
17
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
15
18
  */
16
19
  async getPersona(auth, cuit, opts) {
17
- const result = await this.call('getPersona', { ...this.authParams(auth), idPersona: cuit }, opts);
18
- // Extract persona data
19
- const persona = (result['persona'] ?? result);
20
- return this.mapPersona(persona);
21
- }
22
- // -------------------------------------------------------------------------
23
- // Private helpers
24
- // -------------------------------------------------------------------------
25
- mapPersona(raw) {
26
- const persona = {
27
- idPersona: String(raw['idPersona'] ?? ''),
28
- tipoPersona: (raw['tipoPersona'] ?? 'FISICA'),
29
- tipoClave: raw['tipoClave'],
30
- estadoClave: raw['estadoClave'],
31
- nombre: raw['nombre'],
32
- apellido: raw['apellido'],
33
- razonSocial: raw['razonSocial'],
34
- numeroDocumento: raw['numeroDocumento'] != null
35
- ? String(raw['numeroDocumento'])
36
- : undefined,
37
- tipoDocumento: raw['tipoDocumento'],
38
- idActividadPrincipal: raw['idActividadPrincipal'] != null
39
- ? String(raw['idActividadPrincipal'])
40
- : undefined,
41
- descripcionActividadPrincipal: raw['descripcionActividadPrincipal'],
42
- };
43
- // Dependencia (single object)
44
- const dep = raw['dependencia'];
45
- if (dep) {
46
- persona.dependencia = {
47
- idDependencia: Number(dep['idDependencia'] ?? 0),
48
- descripcionDependencia: String(dep['descripcionDependencia'] ?? ''),
49
- };
50
- }
51
- // claveInactivaAsociada (array of strings)
52
- const clavesInactivas = raw['claveInactivaAsociada'];
53
- if (clavesInactivas) {
54
- persona.claveInactivaAsociada = (0, soap_client_js_1.ensureArray)(clavesInactivas);
55
- }
56
- const domicilios = raw['domicilio'];
57
- if (domicilios) {
58
- persona.domicilio = (0, soap_client_js_1.ensureArray)(domicilios).map((d) => ({
59
- direccion: d['direccion'],
60
- localidad: d['localidad'],
61
- codPostal: d['codPostal'],
62
- idProvincia: d['idProvincia'] != null ? Number(d['idProvincia']) : undefined,
63
- descripcionProvincia: d['descripcionProvincia'],
64
- tipoDomicilio: d['tipoDomicilio'],
65
- datoAdicional: d['datoAdicional'],
66
- tipoDatoAdicional: d['tipoDatoAdicional'],
67
- }));
68
- }
69
- return persona;
20
+ const idPersona = (0, arca_common_1.validateCuit)(cuit);
21
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
22
+ return mapPersonaA10((0, mapping_js_1.requirePersona)(result, 'getPersona'));
70
23
  }
71
24
  }
72
25
  exports.PadronA10Client = PadronA10Client;
26
+ /** Mapea `persona` de A10 (WSDL personaServiceA10). */
27
+ function mapPersonaA10(raw) {
28
+ const persona = {
29
+ ...(0, mapping_js_1.mapPersonaComun)(raw),
30
+ idActividadPrincipal: (0, mapping_js_1.optString)(raw['idActividadPrincipal']),
31
+ descripcionActividadPrincipal: (0, mapping_js_1.optString)(raw['descripcionActividadPrincipal']),
32
+ };
33
+ (0, mapping_js_1.asignarDependenciaYClaves)(persona, raw);
34
+ if (raw['domicilio'] !== undefined)
35
+ persona.domicilio = (0, mapping_js_1.records)(raw['domicilio']).map(mapping_js_1.mapDomicilio);
36
+ return persona;
37
+ }
73
38
  //# sourceMappingURL=padron-a10.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a10.js","sourceRoot":"","sources":["../../src/padron-a10.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"padron-a10.js","sourceRoot":"","sources":["../../src/padron-a10.ts"],"names":[],"mappings":";;;AAmCA,sCASC;AA5CD,sDAAoD;AAEpD,6CAQsB;AACtB,qDAA6E;AAK7E;;GAEG;AACH,MAAa,eAAgB,SAAQ,iCAAgB;IACnD;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,IAAqB,EAAE,IAAkB;QACtE,MAAM,SAAS,GAAG,IAAA,0BAAY,EAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5F,OAAO,aAAa,CAAC,IAAA,2BAAc,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF;AAbD,0CAaC;AAED,uDAAuD;AACvD,SAAgB,aAAa,CAAC,GAAM;IAClC,MAAM,OAAO,GAAe;QAC1B,GAAG,IAAA,4BAAe,EAAC,GAAG,CAAC;QACvB,oBAAoB,EAAE,IAAA,sBAAG,EAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtD,6BAA6B,EAAE,IAAA,sBAAG,EAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;KACzE,CAAC;IACF,IAAA,sCAAyB,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,IAAA,oBAAI,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAY,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -3,13 +3,17 @@ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
3
3
  import type { ParameterRecord, WsAuth } from './types.js';
4
4
  export type PadronA100ClientConfig = PadronClientConfig;
5
5
  /**
6
- * Client for ws_sr_padron_a100 - Parameter tables.
6
+ * Client for ws_sr_padron_a100 - Tablas de parámetros.
7
+ *
8
+ * `id`, `description`, `name` y `value` son `xs:string` en el WSDL y se
9
+ * devuelven tal cual los envía ARCA (`"10.50"`, `"1E3"`, `"007"`): la
10
+ * respuesta se parsea sin conversión a número (ver `BasePadronClient`).
7
11
  */
8
12
  export declare class PadronA100Client extends BasePadronClient {
9
13
  /**
10
- * Get a parameter table by collection name.
11
- * @param auth - Authentication object with Token, Sign, and CuitRepresentada
12
- * @param collectionName - Name of the collection to query (e.g. "SUPA.E_PROVINCIA")
14
+ * Tabla de parámetros por nombre de colección (ver `CollectionName`).
15
+ * @param collectionName - Nombre de la colección (ej: "SUPA.E_PROVINCIA")
16
+ * @returns los registros de la tabla (`[]` si ARCA devuelve la colección vacía)
13
17
  */
14
18
  getParameterCollectionByName(auth: WsAuth, collectionName: string, opts?: CallOptions): Promise<ParameterRecord[]>;
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a100.d.ts","sourceRoot":"","sources":["../../src/padron-a100.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD;;;;OAIG;IACG,4BAA4B,CAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC;CA8B9B"}
1
+ {"version":3,"file":"padron-a100.d.ts","sourceRoot":"","sources":["../../src/padron-a100.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAIxD;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD;;;;OAIG;IACG,4BAA4B,CAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC;CA8B9B"}
@@ -1,34 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PadronA100Client = void 0;
4
- const soap_client_js_1 = require("./soap-client.js");
4
+ const arca_common_1 = require("@ramiidv/arca-common");
5
+ const errors_js_1 = require("./errors.js");
6
+ const mapping_js_1 = require("./mapping.js");
5
7
  const base_client_js_1 = require("./base-client.js");
8
+ const METHOD = 'getParameterCollectionByName';
6
9
  /**
7
- * Client for ws_sr_padron_a100 - Parameter tables.
10
+ * Client for ws_sr_padron_a100 - Tablas de parámetros.
11
+ *
12
+ * `id`, `description`, `name` y `value` son `xs:string` en el WSDL y se
13
+ * devuelven tal cual los envía ARCA (`"10.50"`, `"1E3"`, `"007"`): la
14
+ * respuesta se parsea sin conversión a número (ver `BasePadronClient`).
8
15
  */
9
16
  class PadronA100Client extends base_client_js_1.BasePadronClient {
10
17
  /**
11
- * Get a parameter table by collection name.
12
- * @param auth - Authentication object with Token, Sign, and CuitRepresentada
13
- * @param collectionName - Name of the collection to query (e.g. "SUPA.E_PROVINCIA")
18
+ * Tabla de parámetros por nombre de colección (ver `CollectionName`).
19
+ * @param collectionName - Nombre de la colección (ej: "SUPA.E_PROVINCIA")
20
+ * @returns los registros de la tabla (`[]` si ARCA devuelve la colección vacía)
14
21
  */
15
22
  async getParameterCollectionByName(auth, collectionName, opts) {
16
- const result = await this.call('getParameterCollectionByName', { ...this.authParams(auth), collectionName }, opts);
17
- // Extract parameter collection
18
- const collection = result['parameterCollection'];
23
+ if (typeof collectionName !== 'string' || collectionName.trim() === '') {
24
+ throw new arca_common_1.ArcaValidationError('collectionName es obligatorio', [{ field: 'collectionName', message: 'Indicá el nombre de la colección', value: collectionName }], 'collectionName');
25
+ }
26
+ const result = await this.call(METHOD, { ...this.authParams(auth), collectionName: collectionName.trim() }, opts);
27
+ const collection = (0, mapping_js_1.record)(result['parameterCollection']);
19
28
  if (!collection) {
20
- return [];
29
+ throw new errors_js_1.ArcaPadronError(`Respuesta inválida de ARCA (${METHOD}): falta parameterCollection`);
21
30
  }
22
- const parameterList = (0, soap_client_js_1.ensureArray)((collection['parameterList'] ?? []));
23
- return parameterList.map((p) => {
24
- const attrList = (0, soap_client_js_1.ensureArray)((p['attributeList'] ?? []));
25
- const atributos = attrList.map((a) => ({
26
- name: String(a['name'] ?? ''),
27
- value: String(a['value'] ?? ''),
31
+ return (0, mapping_js_1.records)(collection['parameterList']).map((p) => {
32
+ const atributos = (0, mapping_js_1.records)(p['attributeList']).map((a) => ({
33
+ name: (0, mapping_js_1.reqString)(a['name'], 'attributeList.name'),
34
+ value: (0, mapping_js_1.optString)(a['value']),
28
35
  }));
36
+ const descripcion = (0, mapping_js_1.optString)(p['description']);
37
+ if (descripcion === undefined)
38
+ throw new errors_js_1.ArcaPadronError(`Respuesta inválida de ARCA (${METHOD}): falta description`);
29
39
  return {
30
- id: String(p['id'] ?? ''),
31
- descripcion: String(p['description'] ?? ''),
40
+ id: (0, mapping_js_1.reqString)(p['id'], 'parameterList.id'),
41
+ descripcion,
32
42
  atributos: atributos.length > 0 ? atributos : undefined,
33
43
  };
34
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a100.js","sourceRoot":"","sources":["../../src/padron-a100.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,qDAA6E;AAQ7E;;GAEG;AACH,MAAa,gBAAiB,SAAQ,iCAAgB;IACpD;;;;OAIG;IACH,KAAK,CAAC,4BAA4B,CAChC,IAAY,EACZ,cAAsB,EACtB,IAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAC5B,8BAA8B,EAC9B,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAC5C,IAAI,CACL,CAAC;QAEF,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAwC,CAAC;QACxF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,MAAM,aAAa,GAAG,IAAA,4BAAW,EAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,CAAY,CAAC,CAAC;QAErF,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAA,4BAAW,EAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAY,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAChC,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC3C,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxCD,4CAwCC"}
1
+ {"version":3,"file":"padron-a100.js","sourceRoot":"","sources":["../../src/padron-a100.ts"],"names":[],"mappings":";;;AAAA,sDAA2D;AAE3D,2CAA8C;AAC9C,6CAAmG;AACnG,qDAA6E;AAK7E,MAAM,MAAM,GAAG,8BAA8B,CAAC;AAE9C;;;;;;GAMG;AACH,MAAa,gBAAiB,SAAQ,iCAAgB;IACpD;;;;OAIG;IACH,KAAK,CAAC,4BAA4B,CAChC,IAAY,EACZ,cAAsB,EACtB,IAAkB;QAElB,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvE,MAAM,IAAI,iCAAmB,CAC3B,+BAA+B,EAC/B,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EACjG,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAElH,MAAM,UAAU,GAAG,IAAA,mBAAM,EAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,2BAAe,CAAC,+BAA+B,MAAM,8BAA8B,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,IAAA,oBAAI,EAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE;YACpD,MAAM,SAAS,GAAG,IAAA,oBAAI,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;gBAChD,KAAK,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7B,CAAC,CAAC,CAAC;YACJ,MAAM,WAAW,GAAG,IAAA,sBAAS,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAChD,IAAI,WAAW,KAAK,SAAS;gBAAE,MAAM,IAAI,2BAAe,CAAC,+BAA+B,MAAM,sBAAsB,CAAC,CAAC;YACtH,OAAO;gBACL,EAAE,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;gBAC1C,WAAW;gBACX,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxCD,4CAwCC"}
@@ -4,21 +4,31 @@ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
4
  import type { PersonaA13, WsAuth } from './types.js';
5
5
  export type PadronA13ClientConfig = PadronClientConfig;
6
6
  /**
7
- * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente.
7
+ * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente (manual v1.4).
8
8
  */
9
9
  export declare class PadronA13Client extends BasePadronClient {
10
10
  /**
11
- * Datos de un contribuyente por CUIT.
11
+ * Datos de un contribuyente por CUIT (`getPersona`). Si la clave está
12
+ * inactiva, ARCA responde con error (`reason: 'inactiva'`): usá `getPersonaV2`.
12
13
  * @param auth - Authentication object with Token, Sign, and CuitRepresentada
13
- * @param cuit - CUIT of the taxpayer to query
14
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones)
14
15
  * @param opts - Opciones por llamada (signal)
15
16
  */
16
- getPersona(auth: WsAuth, cuit: string, opts?: CallOptions): Promise<PersonaA13>;
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA13>;
17
18
  /**
18
- * CUITs/CUILs asociados a un número de documento.
19
- * @param documento - Número de documento (DNI)
19
+ * Datos de un contribuyente por CUIT, aunque la clave esté INACTIVA
20
+ * (`getPersonaV2`, agregado en el manual v1.4).
20
21
  */
21
- getIdPersonaListByDocumento(auth: WsAuth, documento: string, opts?: CallOptions): Promise<string[]>;
22
+ getPersonaV2(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA13>;
23
+ /**
24
+ * CUITs/CUILs asociados a un número de documento. Devuelve `[]` si ARCA
25
+ * responde sin claves.
26
+ * @param documento - Número de documento (se aceptan puntos y espacios: "11.709.676")
27
+ */
28
+ getIdPersonaListByDocumento(auth: WsAuth, documento: string | number, opts?: CallOptions): Promise<string[]>;
22
29
  }
30
+ /** Normaliza un número de documento: sin puntos, espacios ni guiones; solo dígitos (1 a 11). */
31
+ export declare function normalizarDocumento(documento: string | number): string;
32
+ /** Mapea `persona` de A13 (`getPersona` y `getPersonaV2`). */
23
33
  export declare function mapPersonaA13(raw: R): PersonaA13;
24
34
  //# sourceMappingURL=padron-a13.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a13.d.ts","sourceRoot":"","sources":["../../src/padron-a13.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAuD,KAAK,UAAU,IAAI,CAAC,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrF;;;OAGG;IACG,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAI1G;AAuBD,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,UAAU,CA2BhD"}
1
+ {"version":3,"file":"padron-a13.d.ts","sourceRoot":"","sources":["../../src/padron-a13.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAQL,KAAK,UAAU,IAAI,CAAC,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM9F;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAMhG;;;;OAIG;IACG,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAQnH;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAUtE;AAuBD,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,UAAU,CAuBhD"}
@@ -1,34 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PadronA13Client = void 0;
4
+ exports.normalizarDocumento = normalizarDocumento;
4
5
  exports.mapPersonaA13 = mapPersonaA13;
5
- const soap_client_js_1 = require("./soap-client.js");
6
+ const arca_common_1 = require("@ramiidv/arca-common");
6
7
  const mapping_js_1 = require("./mapping.js");
7
8
  const base_client_js_1 = require("./base-client.js");
8
9
  /**
9
- * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente.
10
+ * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente (manual v1.4).
10
11
  */
11
12
  class PadronA13Client extends base_client_js_1.BasePadronClient {
12
13
  /**
13
- * Datos de un contribuyente por CUIT.
14
+ * Datos de un contribuyente por CUIT (`getPersona`). Si la clave está
15
+ * inactiva, ARCA responde con error (`reason: 'inactiva'`): usá `getPersonaV2`.
14
16
  * @param auth - Authentication object with Token, Sign, and CuitRepresentada
15
- * @param cuit - CUIT of the taxpayer to query
17
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones)
16
18
  * @param opts - Opciones por llamada (signal)
17
19
  */
18
20
  async getPersona(auth, cuit, opts) {
19
- const result = await this.call('getPersona', { ...this.authParams(auth), idPersona: cuit }, opts);
20
- return mapPersonaA13((result['persona'] ?? result));
21
+ const idPersona = (0, arca_common_1.validateCuit)(cuit);
22
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
23
+ return mapPersonaA13((0, mapping_js_1.requirePersona)(result, 'getPersona'));
21
24
  }
22
25
  /**
23
- * CUITs/CUILs asociados a un número de documento.
24
- * @param documento - Número de documento (DNI)
26
+ * Datos de un contribuyente por CUIT, aunque la clave esté INACTIVA
27
+ * (`getPersonaV2`, agregado en el manual v1.4).
28
+ */
29
+ async getPersonaV2(auth, cuit, opts) {
30
+ const idPersona = (0, arca_common_1.validateCuit)(cuit);
31
+ const result = await this.call('getPersonaV2', { ...this.authParams(auth), idPersona }, opts);
32
+ return mapPersonaA13((0, mapping_js_1.requirePersona)(result, 'getPersonaV2'));
33
+ }
34
+ /**
35
+ * CUITs/CUILs asociados a un número de documento. Devuelve `[]` si ARCA
36
+ * responde sin claves.
37
+ * @param documento - Número de documento (se aceptan puntos y espacios: "11.709.676")
25
38
  */
26
39
  async getIdPersonaListByDocumento(auth, documento, opts) {
27
- const result = await this.call('getIdPersonaListByDocumento', { ...this.authParams(auth), documento }, opts);
28
- return (0, soap_client_js_1.ensureArray)(result['idPersona']).map((id) => String(id));
40
+ const result = await this.call('getIdPersonaListByDocumento', { ...this.authParams(auth), documento: normalizarDocumento(documento) }, opts);
41
+ return (0, mapping_js_1.strings)(result['idPersona']);
29
42
  }
30
43
  }
31
44
  exports.PadronA13Client = PadronA13Client;
45
+ /** Normaliza un número de documento: sin puntos, espacios ni guiones; solo dígitos (1 a 11). */
46
+ function normalizarDocumento(documento) {
47
+ const normalized = String(documento).replace(/[.\s-]/g, '');
48
+ if (!/^\d{1,11}$/.test(normalized)) {
49
+ throw new arca_common_1.ArcaValidationError(`Documento inválido: "${documento}". Debe ser numérico.`, [{ field: 'documento', message: 'El documento debe tener entre 1 y 11 dígitos', value: documento }], 'documento');
50
+ }
51
+ return normalized;
52
+ }
32
53
  function mapDomicilio(d) {
33
54
  return {
34
55
  direccion: (0, mapping_js_1.optString)(d['direccion']),
@@ -49,10 +70,11 @@ function mapDomicilio(d) {
49
70
  tipoDatoAdicional: (0, mapping_js_1.optString)(d['tipoDatoAdicional']),
50
71
  };
51
72
  }
73
+ /** Mapea `persona` de A13 (`getPersona` y `getPersonaV2`). */
52
74
  function mapPersonaA13(raw) {
53
75
  const persona = {
54
- idPersona: String(raw['idPersona'] ?? ''),
55
- tipoPersona: (raw['tipoPersona'] ?? 'FISICA'),
76
+ idPersona: (0, mapping_js_1.reqString)(raw['idPersona'], 'persona.idPersona'),
77
+ tipoPersona: (0, mapping_js_1.tipoPersona)(raw['tipoPersona']),
56
78
  tipoClave: (0, mapping_js_1.optString)(raw['tipoClave']),
57
79
  estadoClave: (0, mapping_js_1.optString)(raw['estadoClave']),
58
80
  nombre: (0, mapping_js_1.optString)(raw['nombre']),
@@ -69,12 +91,10 @@ function mapPersonaA13(raw) {
69
91
  descripcionActividadPrincipal: (0, mapping_js_1.optString)(raw['descripcionActividadPrincipal']),
70
92
  periodoActividadPrincipal: (0, mapping_js_1.optNumber)(raw['periodoActividadPrincipal']),
71
93
  };
72
- if (raw['claveInactivaAsociada'] !== undefined) {
73
- persona.claveInactivaAsociada = (0, soap_client_js_1.ensureArray)(raw['claveInactivaAsociada']).map(String);
74
- }
75
- if (raw['domicilio'] !== undefined) {
94
+ if (raw['claveInactivaAsociada'] !== undefined)
95
+ persona.claveInactivaAsociada = (0, mapping_js_1.strings)(raw['claveInactivaAsociada']);
96
+ if (raw['domicilio'] !== undefined)
76
97
  persona.domicilio = (0, mapping_js_1.records)(raw['domicilio']).map(mapDomicilio);
77
- }
78
98
  return persona;
79
99
  }
80
100
  //# sourceMappingURL=padron-a13.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a13.js","sourceRoot":"","sources":["../../src/padron-a13.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"padron-a13.js","sourceRoot":"","sources":["../../src/padron-a13.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
1
  import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type SoapRecord as R } from './mapping.js';
2
3
  import { BasePadronClient, type PadronClientConfig } from './base-client.js';
3
4
  import type { PersonaA4, WsAuth } from './types.js';
4
5
  export type PadronA4ClientConfig = PadronClientConfig;
5
6
  /**
6
- * Client for ws_sr_padron_a4 - Full taxpayer data.
7
+ * Client for ws_sr_padron_a4 - Datos completos de un contribuyente.
7
8
  */
8
9
  export declare class PadronA4Client extends BasePadronClient {
9
10
  /**
10
- * Get full taxpayer data for a given CUIT.
11
+ * Datos completos de un contribuyente.
11
12
  * @param auth - Authentication object with Token, Sign, and CuitRepresentada
12
- * @param cuit - CUIT of the taxpayer to query
13
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
13
14
  * @param opts - Opciones por llamada (signal)
15
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
14
16
  */
15
- getPersona(auth: WsAuth, cuit: string, opts?: CallOptions): Promise<PersonaA4>;
16
- private mapPersona;
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA4>;
17
18
  }
19
+ /** Mapea `persona` de A4 (WSDL personaServiceA4: estructura plana). */
20
+ export declare function mapPersonaA4(raw: R): PersonaA4;
18
21
  //# sourceMappingURL=padron-a4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"padron-a4.d.ts","sourceRoot":"","sources":["../../src/padron-a4.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBpF,OAAO,CAAC,UAAU;CAiKnB"}
1
+ {"version":3,"file":"padron-a4.d.ts","sourceRoot":"","sources":["../../src/padron-a4.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAUL,KAAK,UAAU,IAAI,CAAC,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;CAK9F;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CA8F9C"}