@ramiidv/arca-padron 0.2.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 (151) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/README.md +205 -65
  3. package/dist/cjs/arca-padron.d.ts +111 -0
  4. package/dist/cjs/arca-padron.d.ts.map +1 -0
  5. package/dist/cjs/arca-padron.js +211 -0
  6. package/dist/cjs/arca-padron.js.map +1 -0
  7. package/dist/cjs/base-client.d.ts +45 -0
  8. package/dist/cjs/base-client.d.ts.map +1 -0
  9. package/dist/cjs/base-client.js +68 -0
  10. package/dist/cjs/base-client.js.map +1 -0
  11. package/dist/cjs/condicion-iva.d.ts +28 -0
  12. package/dist/cjs/condicion-iva.d.ts.map +1 -0
  13. package/dist/cjs/condicion-iva.js +166 -0
  14. package/dist/cjs/condicion-iva.js.map +1 -0
  15. package/dist/cjs/constants.d.ts +142 -0
  16. package/dist/cjs/constants.d.ts.map +1 -0
  17. package/dist/cjs/constants.js +155 -0
  18. package/dist/cjs/constants.js.map +1 -0
  19. package/dist/cjs/errors.d.ts +50 -0
  20. package/dist/cjs/errors.d.ts.map +1 -0
  21. package/dist/cjs/errors.js +62 -0
  22. package/dist/cjs/errors.js.map +1 -0
  23. package/dist/cjs/index.d.ts +24 -0
  24. package/dist/cjs/index.d.ts.map +1 -0
  25. package/dist/cjs/index.js +66 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/cjs/mapping.d.ts +52 -0
  28. package/dist/cjs/mapping.d.ts.map +1 -0
  29. package/dist/cjs/mapping.js +135 -0
  30. package/dist/cjs/mapping.js.map +1 -0
  31. package/dist/cjs/package.json +1 -0
  32. package/dist/cjs/padron-a10.d.ts +21 -0
  33. package/dist/cjs/padron-a10.d.ts.map +1 -0
  34. package/dist/cjs/padron-a10.js +38 -0
  35. package/dist/cjs/padron-a10.js.map +1 -0
  36. package/dist/cjs/padron-a100.d.ts +20 -0
  37. package/dist/cjs/padron-a100.d.ts.map +1 -0
  38. package/dist/cjs/padron-a100.js +48 -0
  39. package/dist/cjs/padron-a100.js.map +1 -0
  40. package/dist/cjs/padron-a13.d.ts +34 -0
  41. package/dist/cjs/padron-a13.d.ts.map +1 -0
  42. package/dist/cjs/padron-a13.js +100 -0
  43. package/dist/cjs/padron-a13.js.map +1 -0
  44. package/dist/cjs/padron-a4.d.ts +21 -0
  45. package/dist/cjs/padron-a4.d.ts.map +1 -0
  46. package/dist/cjs/padron-a4.js +119 -0
  47. package/dist/cjs/padron-a4.js.map +1 -0
  48. package/dist/cjs/padron-a5.d.ts +37 -0
  49. package/dist/cjs/padron-a5.d.ts.map +1 -0
  50. package/dist/cjs/padron-a5.js +181 -0
  51. package/dist/cjs/padron-a5.js.map +1 -0
  52. package/dist/cjs/types.d.ts +337 -0
  53. package/dist/cjs/types.d.ts.map +1 -0
  54. package/dist/cjs/types.js +3 -0
  55. package/dist/cjs/types.js.map +1 -0
  56. package/dist/esm/arca-padron.d.ts +111 -0
  57. package/dist/esm/arca-padron.d.ts.map +1 -0
  58. package/dist/esm/arca-padron.js +207 -0
  59. package/dist/esm/arca-padron.js.map +1 -0
  60. package/dist/esm/base-client.d.ts +45 -0
  61. package/dist/esm/base-client.d.ts.map +1 -0
  62. package/dist/esm/base-client.js +64 -0
  63. package/dist/esm/base-client.js.map +1 -0
  64. package/dist/esm/condicion-iva.d.ts +28 -0
  65. package/dist/esm/condicion-iva.d.ts.map +1 -0
  66. package/dist/esm/condicion-iva.js +163 -0
  67. package/dist/esm/condicion-iva.js.map +1 -0
  68. package/dist/esm/constants.d.ts +142 -0
  69. package/dist/esm/constants.d.ts.map +1 -0
  70. package/dist/{constants.js → esm/constants.js} +67 -7
  71. package/dist/esm/constants.js.map +1 -0
  72. package/dist/esm/errors.d.ts +50 -0
  73. package/dist/esm/errors.d.ts.map +1 -0
  74. package/dist/esm/errors.js +55 -0
  75. package/dist/esm/errors.js.map +1 -0
  76. package/dist/esm/index.d.ts +24 -0
  77. package/dist/esm/index.d.ts.map +1 -0
  78. package/dist/esm/index.js +30 -0
  79. package/dist/esm/index.js.map +1 -0
  80. package/dist/esm/mapping.d.ts +52 -0
  81. package/dist/esm/mapping.d.ts.map +1 -0
  82. package/dist/esm/mapping.js +118 -0
  83. package/dist/esm/mapping.js.map +1 -0
  84. package/dist/esm/padron-a10.d.ts +21 -0
  85. package/dist/esm/padron-a10.d.ts.map +1 -0
  86. package/dist/esm/padron-a10.js +33 -0
  87. package/dist/esm/padron-a10.js.map +1 -0
  88. package/dist/esm/padron-a100.d.ts +20 -0
  89. package/dist/esm/padron-a100.d.ts.map +1 -0
  90. package/dist/esm/padron-a100.js +44 -0
  91. package/dist/esm/padron-a100.js.map +1 -0
  92. package/dist/esm/padron-a13.d.ts +34 -0
  93. package/dist/esm/padron-a13.d.ts.map +1 -0
  94. package/dist/esm/padron-a13.js +94 -0
  95. package/dist/esm/padron-a13.js.map +1 -0
  96. package/dist/esm/padron-a4.d.ts +21 -0
  97. package/dist/esm/padron-a4.d.ts.map +1 -0
  98. package/dist/esm/padron-a4.js +114 -0
  99. package/dist/esm/padron-a4.js.map +1 -0
  100. package/dist/esm/padron-a5.d.ts +37 -0
  101. package/dist/esm/padron-a5.d.ts.map +1 -0
  102. package/dist/esm/padron-a5.js +176 -0
  103. package/dist/esm/padron-a5.js.map +1 -0
  104. package/dist/esm/types.d.ts +337 -0
  105. package/dist/esm/types.d.ts.map +1 -0
  106. package/dist/esm/types.js.map +1 -0
  107. package/llms.txt +69 -28
  108. package/package.json +25 -17
  109. package/dist/arca-padron.d.ts +0 -70
  110. package/dist/arca-padron.d.ts.map +0 -1
  111. package/dist/arca-padron.js +0 -129
  112. package/dist/arca-padron.js.map +0 -1
  113. package/dist/base-client.d.ts +0 -26
  114. package/dist/base-client.d.ts.map +0 -1
  115. package/dist/base-client.js +0 -27
  116. package/dist/base-client.js.map +0 -1
  117. package/dist/constants.d.ts +0 -79
  118. package/dist/constants.d.ts.map +0 -1
  119. package/dist/constants.js.map +0 -1
  120. package/dist/errors.d.ts +0 -20
  121. package/dist/errors.d.ts.map +0 -1
  122. package/dist/errors.js +0 -24
  123. package/dist/errors.js.map +0 -1
  124. package/dist/index.d.ts +0 -12
  125. package/dist/index.d.ts.map +0 -1
  126. package/dist/index.js +0 -16
  127. package/dist/index.js.map +0 -1
  128. package/dist/padron-a10.d.ts +0 -16
  129. package/dist/padron-a10.d.ts.map +0 -1
  130. package/dist/padron-a10.js +0 -74
  131. package/dist/padron-a10.js.map +0 -1
  132. package/dist/padron-a100.d.ts +0 -15
  133. package/dist/padron-a100.d.ts.map +0 -1
  134. package/dist/padron-a100.js +0 -40
  135. package/dist/padron-a100.js.map +0 -1
  136. package/dist/padron-a4.d.ts +0 -16
  137. package/dist/padron-a4.d.ts.map +0 -1
  138. package/dist/padron-a4.js +0 -174
  139. package/dist/padron-a4.js.map +0 -1
  140. package/dist/soap-client.d.ts +0 -2
  141. package/dist/soap-client.d.ts.map +0 -1
  142. package/dist/soap-client.js +0 -3
  143. package/dist/soap-client.js.map +0 -1
  144. package/dist/types.d.ts +0 -172
  145. package/dist/types.d.ts.map +0 -1
  146. package/dist/types.js.map +0 -1
  147. package/dist/wsaa.d.ts +0 -3
  148. package/dist/wsaa.d.ts.map +0 -1
  149. package/dist/wsaa.js +0 -2
  150. package/dist/wsaa.js.map +0 -1
  151. /package/dist/{types.js → esm/types.js} +0 -0
@@ -0,0 +1,118 @@
1
+ import { ensureArray } from '@ramiidv/arca-common';
2
+ import { ArcaPadronError } from './errors.js';
3
+ /**
4
+ * `true` si el valor no vino o es un elemento `xsi:nil="true"` (el parser deja
5
+ * el atributo como `@_nil` o `@_xsi:nil`). Los WSDL de Padrón declaran
6
+ * `nillable` los elementos repetidos.
7
+ */
8
+ export function isNil(v) {
9
+ if (v === undefined || v === null)
10
+ return true;
11
+ if (typeof v !== 'object' || Array.isArray(v))
12
+ return false;
13
+ const o = v;
14
+ return Object.keys(o).some((k) => /^@_(?:[\w-]+:)?nil$/.test(k) && String(o[k]) === 'true');
15
+ }
16
+ /** Valor de texto de un elemento simple (`undefined` si no vino o es nil). */
17
+ function text(v) {
18
+ if (isNil(v))
19
+ return undefined;
20
+ if (typeof v === 'object') {
21
+ const o = v;
22
+ return Object.hasOwn(o, '#text') ? o['#text'] : undefined;
23
+ }
24
+ return v;
25
+ }
26
+ /** Convierte a string, o `undefined` si el valor no vino. Para campos `xs:string`/`xs:long`/`xs:dateTime`. */
27
+ export const optString = (v) => {
28
+ const t = text(v);
29
+ return t === undefined ? undefined : String(t);
30
+ };
31
+ /** Convierte a número, o `undefined` si el valor no vino. Para campos `xs:int`/`xs:double`. */
32
+ export const optNumber = (v) => {
33
+ const t = text(v);
34
+ return t === undefined || t === '' ? undefined : Number(t);
35
+ };
36
+ /** Normaliza un elemento complejo que puede venir solo, repetido, ausente o nil. */
37
+ export const records = (v) => ensureArray(v).filter((x) => typeof x === 'object' && x !== null && !isNil(x));
38
+ /** Elemento complejo opcional (`undefined` si no vino, vino vacío o es nil). */
39
+ export const record = (v) => typeof v === 'object' && v !== null && !Array.isArray(v) && !isNil(v) ? v : undefined;
40
+ /** Lista de valores simples repetidos (ej: `claveInactivaAsociada`, `error`), sin los nil. */
41
+ export const strings = (v) => ensureArray(v).map(optString).filter((s) => s !== undefined);
42
+ function missing(field) {
43
+ return new ArcaPadronError(`Respuesta inválida de ARCA: falta ${field}`);
44
+ }
45
+ /** String obligatorio: lanza `ArcaPadronError` si no vino. */
46
+ export function reqString(v, field) {
47
+ const s = optString(v);
48
+ if (s === undefined || s === '')
49
+ throw missing(field);
50
+ return s;
51
+ }
52
+ /** Número obligatorio: lanza `ArcaPadronError` si no vino. */
53
+ export function reqNumber(v, field) {
54
+ const n = optNumber(v);
55
+ if (n === undefined || Number.isNaN(n))
56
+ throw missing(field);
57
+ return n;
58
+ }
59
+ /** `tipoPersona` obligatorio (`FISICA` | `JURIDICA`). */
60
+ export function tipoPersona(v, field = 'persona.tipoPersona') {
61
+ return reqString(v, field);
62
+ }
63
+ /**
64
+ * Elemento `persona` de `personaReturn` (A4, A10, A13). Si falta, lanza
65
+ * `ArcaPadronError`: nunca se inventa una persona vacía.
66
+ */
67
+ export function requirePersona(result, method) {
68
+ const persona = record(result['persona']);
69
+ if (!persona)
70
+ throw new ArcaPadronError(`Respuesta inválida de ARCA (${method}): personaReturn sin persona`);
71
+ return persona;
72
+ }
73
+ // ---------------------------------------------------------------------------
74
+ // Bloques comunes de A4 y A10 (mismos tipos en los dos WSDL)
75
+ // ---------------------------------------------------------------------------
76
+ /** `dependencia` de A4/A10: `{descripcionDependencia, idDependencia}`. */
77
+ export function mapDependencia(v) {
78
+ const d = record(v);
79
+ if (!d)
80
+ return undefined;
81
+ return { idDependencia: optNumber(d['idDependencia']), descripcionDependencia: optString(d['descripcionDependencia']) };
82
+ }
83
+ /** `domicilio` de A4/A10/constancia (todos `xs:string` salvo `idProvincia`). */
84
+ export function mapDomicilio(d) {
85
+ return {
86
+ direccion: optString(d['direccion']),
87
+ localidad: optString(d['localidad']),
88
+ codPostal: optString(d['codPostal']),
89
+ idProvincia: optNumber(d['idProvincia']),
90
+ descripcionProvincia: optString(d['descripcionProvincia']),
91
+ tipoDomicilio: optString(d['tipoDomicilio']),
92
+ datoAdicional: optString(d['datoAdicional']),
93
+ tipoDatoAdicional: optString(d['tipoDatoAdicional']),
94
+ };
95
+ }
96
+ /** Campos comunes de `persona` en A4 y A10. */
97
+ export function mapPersonaComun(raw) {
98
+ return {
99
+ idPersona: reqString(raw['idPersona'], 'persona.idPersona'),
100
+ tipoPersona: tipoPersona(raw['tipoPersona']),
101
+ tipoClave: optString(raw['tipoClave']),
102
+ estadoClave: optString(raw['estadoClave']),
103
+ nombre: optString(raw['nombre']),
104
+ apellido: optString(raw['apellido']),
105
+ razonSocial: optString(raw['razonSocial']),
106
+ numeroDocumento: optString(raw['numeroDocumento']),
107
+ tipoDocumento: optString(raw['tipoDocumento']),
108
+ };
109
+ }
110
+ /** Asigna `dependencia` y `claveInactivaAsociada` solo si vinieron. */
111
+ export function asignarDependenciaYClaves(target, raw) {
112
+ const dependencia = mapDependencia(raw['dependencia']);
113
+ if (dependencia)
114
+ target.dependencia = dependencia;
115
+ if (raw['claveInactivaAsociada'] !== undefined)
116
+ target.claveInactivaAsociada = strings(raw['claveInactivaAsociada']);
117
+ }
118
+ //# sourceMappingURL=mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9C;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,CAAU;IAC9B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAe,CAAC;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;AAC9F,CAAC;AAED,8EAA8E;AAC9E,SAAS,IAAI,CAAC,CAAU;IACtB,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAe,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8GAA8G;AAC9G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAU,EAAsB,EAAE;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAU,EAAsB,EAAE;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAgB,EAAE,CAClD,WAAW,CAAC,CAA0C,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACzE,CAAC;AAEJ,gFAAgF;AAChF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAA0B,EAAE,CAC3D,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;AAExG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAY,EAAE,CAC9C,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAE5E,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,IAAI,eAAe,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,KAAa;IACjD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,KAAa;IACjD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,WAAW,CAAC,CAAU,EAAE,KAAK,GAAG,qBAAqB;IACnE,OAAO,SAAS,CAAC,CAAC,EAAE,KAAK,CAA0B,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,EAAE,MAAc;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,MAAM,8BAA8B,CAAC,CAAC;IAC7G,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC;AAC1H,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACxC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1D,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC5C,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC5C,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,GAAe;IAC7C,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;QAC3D,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClD,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,yBAAyB,CACvC,MAAyE,EACzE,GAAe;IAEf,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACvD,IAAI,WAAW;QAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAClD,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS;QAAE,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACvH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type SoapRecord as R } from './mapping.js';
3
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
+ import type { PersonaA10, WsAuth } from './types.js';
5
+ export type PadronA10ClientConfig = PadronClientConfig;
6
+ /**
7
+ * Client for ws_sr_padron_a10 - Datos básicos de un contribuyente.
8
+ */
9
+ export declare class PadronA10Client extends BasePadronClient {
10
+ /**
11
+ * Datos básicos de un contribuyente.
12
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
13
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
14
+ * @param opts - Opciones por llamada (signal)
15
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
16
+ */
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA10>;
18
+ }
19
+ /** Mapea `persona` de A10 (WSDL personaServiceA10). */
20
+ export declare function mapPersonaA10(raw: R): PersonaA10;
21
+ //# sourceMappingURL=padron-a10.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,33 @@
1
+ import { validateCuit } from '@ramiidv/arca-common';
2
+ import { asignarDependenciaYClaves, mapDomicilio, mapPersonaComun, optString as str, records as list, requirePersona, } from './mapping.js';
3
+ import { BasePadronClient } from './base-client.js';
4
+ /**
5
+ * Client for ws_sr_padron_a10 - Datos básicos de un contribuyente.
6
+ */
7
+ export class PadronA10Client extends BasePadronClient {
8
+ /**
9
+ * Datos básicos de un contribuyente.
10
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
11
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
12
+ * @param opts - Opciones por llamada (signal)
13
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
14
+ */
15
+ async getPersona(auth, cuit, opts) {
16
+ const idPersona = validateCuit(cuit);
17
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
18
+ return mapPersonaA10(requirePersona(result, 'getPersona'));
19
+ }
20
+ }
21
+ /** Mapea `persona` de A10 (WSDL personaServiceA10). */
22
+ export function mapPersonaA10(raw) {
23
+ const persona = {
24
+ ...mapPersonaComun(raw),
25
+ idActividadPrincipal: str(raw['idActividadPrincipal']),
26
+ descripcionActividadPrincipal: str(raw['descripcionActividadPrincipal']),
27
+ };
28
+ asignarDependenciaYClaves(persona, raw);
29
+ if (raw['domicilio'] !== undefined)
30
+ persona.domicilio = list(raw['domicilio']).map(mapDomicilio);
31
+ return persona;
32
+ }
33
+ //# sourceMappingURL=padron-a10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a10.js","sourceRoot":"","sources":["../../src/padron-a10.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,SAAS,IAAI,GAAG,EAChB,OAAO,IAAI,IAAI,EACf,cAAc,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAA2B,MAAM,kBAAkB,CAAC;AAK7E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IACnD;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,IAAqB,EAAE,IAAkB;QACtE,MAAM,SAAS,GAAG,YAAY,CAAC,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,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,GAAM;IAClC,MAAM,OAAO,GAAe;QAC1B,GAAG,eAAe,CAAC,GAAG,CAAC;QACvB,oBAAoB,EAAE,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtD,6BAA6B,EAAE,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;KACzE,CAAC;IACF,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
3
+ import type { ParameterRecord, WsAuth } from './types.js';
4
+ export type PadronA100ClientConfig = PadronClientConfig;
5
+ /**
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`).
11
+ */
12
+ export declare class PadronA100Client extends BasePadronClient {
13
+ /**
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)
17
+ */
18
+ getParameterCollectionByName(auth: WsAuth, collectionName: string, opts?: CallOptions): Promise<ParameterRecord[]>;
19
+ }
20
+ //# sourceMappingURL=padron-a100.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,44 @@
1
+ import { ArcaValidationError } from '@ramiidv/arca-common';
2
+ import { ArcaPadronError } from './errors.js';
3
+ import { optString, record, records as list, reqString } from './mapping.js';
4
+ import { BasePadronClient } from './base-client.js';
5
+ const METHOD = 'getParameterCollectionByName';
6
+ /**
7
+ * Client for ws_sr_padron_a100 - Tablas de parámetros.
8
+ *
9
+ * `id`, `description`, `name` y `value` son `xs:string` en el WSDL y se
10
+ * devuelven tal cual los envía ARCA (`"10.50"`, `"1E3"`, `"007"`): la
11
+ * respuesta se parsea sin conversión a número (ver `BasePadronClient`).
12
+ */
13
+ export class PadronA100Client extends BasePadronClient {
14
+ /**
15
+ * Tabla de parámetros por nombre de colección (ver `CollectionName`).
16
+ * @param collectionName - Nombre de la colección (ej: "SUPA.E_PROVINCIA")
17
+ * @returns los registros de la tabla (`[]` si ARCA devuelve la colección vacía)
18
+ */
19
+ async getParameterCollectionByName(auth, collectionName, opts) {
20
+ if (typeof collectionName !== 'string' || collectionName.trim() === '') {
21
+ throw new ArcaValidationError('collectionName es obligatorio', [{ field: 'collectionName', message: 'Indicá el nombre de la colección', value: collectionName }], 'collectionName');
22
+ }
23
+ const result = await this.call(METHOD, { ...this.authParams(auth), collectionName: collectionName.trim() }, opts);
24
+ const collection = record(result['parameterCollection']);
25
+ if (!collection) {
26
+ throw new ArcaPadronError(`Respuesta inválida de ARCA (${METHOD}): falta parameterCollection`);
27
+ }
28
+ return list(collection['parameterList']).map((p) => {
29
+ const atributos = list(p['attributeList']).map((a) => ({
30
+ name: reqString(a['name'], 'attributeList.name'),
31
+ value: optString(a['value']),
32
+ }));
33
+ const descripcion = optString(p['description']);
34
+ if (descripcion === undefined)
35
+ throw new ArcaPadronError(`Respuesta inválida de ARCA (${METHOD}): falta description`);
36
+ return {
37
+ id: reqString(p['id'], 'parameterList.id'),
38
+ descripcion,
39
+ atributos: atributos.length > 0 ? atributos : undefined,
40
+ };
41
+ });
42
+ }
43
+ }
44
+ //# sourceMappingURL=padron-a100.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a100.js","sourceRoot":"","sources":["../../src/padron-a100.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,SAAS,EAAwB,MAAM,cAAc,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAA2B,MAAM,kBAAkB,CAAC;AAK7E,MAAM,MAAM,GAAG,8BAA8B,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;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,mBAAmB,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,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,+BAA+B,MAAM,8BAA8B,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;gBAChD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7B,CAAC,CAAC,CAAC;YACJ,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAChD,IAAI,WAAW,KAAK,SAAS;gBAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,MAAM,sBAAsB,CAAC,CAAC;YACtH,OAAO;gBACL,EAAE,EAAE,SAAS,CAAC,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"}
@@ -0,0 +1,34 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type SoapRecord as R } from './mapping.js';
3
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
+ import type { PersonaA13, WsAuth } from './types.js';
5
+ export type PadronA13ClientConfig = PadronClientConfig;
6
+ /**
7
+ * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente (manual v1.4).
8
+ */
9
+ export declare class PadronA13Client extends BasePadronClient {
10
+ /**
11
+ * Datos de un contribuyente por CUIT (`getPersona`). Si la clave está
12
+ * inactiva, ARCA responde con error (`reason: 'inactiva'`): usá `getPersonaV2`.
13
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
14
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones)
15
+ * @param opts - Opciones por llamada (signal)
16
+ */
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA13>;
18
+ /**
19
+ * Datos de un contribuyente por CUIT, aunque la clave esté INACTIVA
20
+ * (`getPersonaV2`, agregado en el manual v1.4).
21
+ */
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[]>;
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`). */
33
+ export declare function mapPersonaA13(raw: R): PersonaA13;
34
+ //# sourceMappingURL=padron-a13.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,94 @@
1
+ import { ArcaValidationError, validateCuit } from '@ramiidv/arca-common';
2
+ import { optNumber as num, optString as str, records as list, reqString, requirePersona, strings, tipoPersona, } from './mapping.js';
3
+ import { BasePadronClient } from './base-client.js';
4
+ /**
5
+ * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente (manual v1.4).
6
+ */
7
+ export class PadronA13Client extends BasePadronClient {
8
+ /**
9
+ * Datos de un contribuyente por CUIT (`getPersona`). Si la clave está
10
+ * inactiva, ARCA responde con error (`reason: 'inactiva'`): usá `getPersonaV2`.
11
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
12
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones)
13
+ * @param opts - Opciones por llamada (signal)
14
+ */
15
+ async getPersona(auth, cuit, opts) {
16
+ const idPersona = validateCuit(cuit);
17
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
18
+ return mapPersonaA13(requirePersona(result, 'getPersona'));
19
+ }
20
+ /**
21
+ * Datos de un contribuyente por CUIT, aunque la clave esté INACTIVA
22
+ * (`getPersonaV2`, agregado en el manual v1.4).
23
+ */
24
+ async getPersonaV2(auth, cuit, opts) {
25
+ const idPersona = validateCuit(cuit);
26
+ const result = await this.call('getPersonaV2', { ...this.authParams(auth), idPersona }, opts);
27
+ return mapPersonaA13(requirePersona(result, 'getPersonaV2'));
28
+ }
29
+ /**
30
+ * CUITs/CUILs asociados a un número de documento. Devuelve `[]` si ARCA
31
+ * responde sin claves.
32
+ * @param documento - Número de documento (se aceptan puntos y espacios: "11.709.676")
33
+ */
34
+ async getIdPersonaListByDocumento(auth, documento, opts) {
35
+ const result = await this.call('getIdPersonaListByDocumento', { ...this.authParams(auth), documento: normalizarDocumento(documento) }, opts);
36
+ return strings(result['idPersona']);
37
+ }
38
+ }
39
+ /** Normaliza un número de documento: sin puntos, espacios ni guiones; solo dígitos (1 a 11). */
40
+ export function normalizarDocumento(documento) {
41
+ const normalized = String(documento).replace(/[.\s-]/g, '');
42
+ if (!/^\d{1,11}$/.test(normalized)) {
43
+ throw new 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');
44
+ }
45
+ return normalized;
46
+ }
47
+ function mapDomicilio(d) {
48
+ return {
49
+ direccion: str(d['direccion']),
50
+ calle: str(d['calle']),
51
+ numero: num(d['numero']),
52
+ piso: str(d['piso']),
53
+ oficinaDptoLocal: str(d['oficinaDptoLocal']),
54
+ sector: str(d['sector']),
55
+ torre: str(d['torre']),
56
+ manzana: str(d['manzana']),
57
+ codigoPostal: str(d['codigoPostal']),
58
+ localidad: str(d['localidad']),
59
+ idProvincia: num(d['idProvincia']),
60
+ descripcionProvincia: str(d['descripcionProvincia']),
61
+ tipoDomicilio: str(d['tipoDomicilio']),
62
+ estadoDomicilio: str(d['estadoDomicilio']),
63
+ datoAdicional: str(d['datoAdicional']),
64
+ tipoDatoAdicional: str(d['tipoDatoAdicional']),
65
+ };
66
+ }
67
+ /** Mapea `persona` de A13 (`getPersona` y `getPersonaV2`). */
68
+ export function mapPersonaA13(raw) {
69
+ const persona = {
70
+ idPersona: reqString(raw['idPersona'], 'persona.idPersona'),
71
+ tipoPersona: tipoPersona(raw['tipoPersona']),
72
+ tipoClave: str(raw['tipoClave']),
73
+ estadoClave: str(raw['estadoClave']),
74
+ nombre: str(raw['nombre']),
75
+ apellido: str(raw['apellido']),
76
+ razonSocial: str(raw['razonSocial']),
77
+ numeroDocumento: str(raw['numeroDocumento']),
78
+ tipoDocumento: str(raw['tipoDocumento']),
79
+ formaJuridica: str(raw['formaJuridica']),
80
+ mesCierre: num(raw['mesCierre']),
81
+ fechaNacimiento: str(raw['fechaNacimiento']),
82
+ fechaFallecimiento: str(raw['fechaFallecimiento']),
83
+ fechaContratoSocial: str(raw['fechaContratoSocial']),
84
+ idActividadPrincipal: str(raw['idActividadPrincipal']),
85
+ descripcionActividadPrincipal: str(raw['descripcionActividadPrincipal']),
86
+ periodoActividadPrincipal: num(raw['periodoActividadPrincipal']),
87
+ };
88
+ if (raw['claveInactivaAsociada'] !== undefined)
89
+ persona.claveInactivaAsociada = strings(raw['claveInactivaAsociada']);
90
+ if (raw['domicilio'] !== undefined)
91
+ persona.domicilio = list(raw['domicilio']).map(mapDomicilio);
92
+ return persona;
93
+ }
94
+ //# sourceMappingURL=padron-a13.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a13.js","sourceRoot":"","sources":["../../src/padron-a13.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type SoapRecord as R } from './mapping.js';
3
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
+ import type { PersonaA4, WsAuth } from './types.js';
5
+ export type PadronA4ClientConfig = PadronClientConfig;
6
+ /**
7
+ * Client for ws_sr_padron_a4 - Datos completos de un contribuyente.
8
+ */
9
+ export declare class PadronA4Client extends BasePadronClient {
10
+ /**
11
+ * Datos completos de un contribuyente.
12
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
13
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
14
+ * @param opts - Opciones por llamada (signal)
15
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
16
+ */
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA4>;
18
+ }
19
+ /** Mapea `persona` de A4 (WSDL personaServiceA4: estructura plana). */
20
+ export declare function mapPersonaA4(raw: R): PersonaA4;
21
+ //# sourceMappingURL=padron-a4.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,114 @@
1
+ import { validateCuit } from '@ramiidv/arca-common';
2
+ import { asignarDependenciaYClaves, mapDomicilio, mapPersonaComun, optNumber as num, optString as str, records as list, reqNumber, reqString, requirePersona, } from './mapping.js';
3
+ import { BasePadronClient } from './base-client.js';
4
+ /**
5
+ * Client for ws_sr_padron_a4 - Datos completos de un contribuyente.
6
+ */
7
+ export class PadronA4Client extends BasePadronClient {
8
+ /**
9
+ * Datos completos de un contribuyente.
10
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
11
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
12
+ * @param opts - Opciones por llamada (signal)
13
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
14
+ */
15
+ async getPersona(auth, cuit, opts) {
16
+ const idPersona = validateCuit(cuit);
17
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
18
+ return mapPersonaA4(requirePersona(result, 'getPersona'));
19
+ }
20
+ }
21
+ /** Mapea `persona` de A4 (WSDL personaServiceA4: estructura plana). */
22
+ export function mapPersonaA4(raw) {
23
+ const persona = {
24
+ ...mapPersonaComun(raw),
25
+ fechaNacimiento: str(raw['fechaNacimiento']),
26
+ sexo: str(raw['sexo']),
27
+ numeroInscripcion: str(raw['numeroInscripcion']),
28
+ formaJuridica: str(raw['formaJuridica']),
29
+ mesCierre: num(raw['mesCierre']),
30
+ fechaInscripcion: str(raw['fechaInscripcion']),
31
+ fechaContratoSocial: str(raw['fechaContratoSocial']),
32
+ fechaFallecimiento: str(raw['fechaFallecimiento']),
33
+ fechaJubilado: str(raw['fechaJubilado']),
34
+ fechaVencimientoMigracion: str(raw['fechaVencimientoMigracion']),
35
+ localidadInscripcion: str(raw['localidadInscripcion']),
36
+ provinciaInscripcion: str(raw['provinciaInscripcion']),
37
+ organismoInscripcion: str(raw['organismoInscripcion']),
38
+ organismoOriginante: str(raw['organismoOriginante']),
39
+ tipoOrganismoOriginante: str(raw['tipoOrganismoOriginante']),
40
+ tipoResidencia: str(raw['tipoResidencia']),
41
+ porcentajeCapitalNacional: num(raw['porcentajeCapitalNacional']),
42
+ cantidadSociosEmpresaMono: num(raw['cantidadSociosEmpresaMono']),
43
+ leyJubilacion: num(raw['leyJubilacion']),
44
+ };
45
+ asignarDependenciaYClaves(persona, raw);
46
+ if (raw['domicilio'] !== undefined) {
47
+ persona.domicilio = list(raw['domicilio']).map((d) => ({ ...mapDomicilio(d), orden: num(d['orden']) }));
48
+ }
49
+ if (raw['impuesto'] !== undefined) {
50
+ persona.impuesto = list(raw['impuesto']).map((i) => ({
51
+ idImpuesto: reqNumber(i['idImpuesto'], 'impuesto.idImpuesto'),
52
+ descripcionImpuesto: str(i['descripcionImpuesto']),
53
+ estado: str(i['estado']),
54
+ periodo: num(i['periodo']),
55
+ diaPeriodo: num(i['diaPeriodo']),
56
+ ffInscripcion: str(i['ffInscripcion']),
57
+ }));
58
+ }
59
+ if (raw['actividad'] !== undefined) {
60
+ persona.actividad = list(raw['actividad']).map((a) => ({
61
+ idActividad: reqString(a['idActividad'], 'actividad.idActividad'),
62
+ descripcionActividad: str(a['descripcionActividad']),
63
+ nomenclador: num(a['nomenclador']),
64
+ orden: num(a['orden']),
65
+ periodo: num(a['periodo']),
66
+ }));
67
+ }
68
+ if (raw['regimen'] !== undefined) {
69
+ persona.regimen = list(raw['regimen']).map((r) => ({
70
+ idRegimen: reqNumber(r['idRegimen'], 'regimen.idRegimen'),
71
+ descripcionRegimen: str(r['descripcionRegimen']),
72
+ estado: str(r['estado']),
73
+ periodo: num(r['periodo']),
74
+ diaPeriodo: num(r['diaPeriodo']),
75
+ tipoRegimen: str(r['tipoRegimen']),
76
+ idImpuesto: num(r['idImpuesto']),
77
+ }));
78
+ }
79
+ if (raw['relacion'] !== undefined) {
80
+ persona.relacion = list(raw['relacion']).map((r) => ({
81
+ idPersona: reqString(r['idPersona'], 'relacion.idPersona'),
82
+ idPersonaAsociada: str(r['idPersonaAsociada']),
83
+ tipoRelacion: str(r['tipoRelacion']),
84
+ subtipoRelacion: str(r['subtipoRelacion']),
85
+ ffRelacion: str(r['ffRelacion']),
86
+ ffVencimiento: str(r['ffVencimiento']),
87
+ }));
88
+ }
89
+ if (raw['categoria'] !== undefined) {
90
+ persona.categoria = list(raw['categoria']).map((c) => ({
91
+ idCategoria: reqNumber(c['idCategoria'], 'categoria.idCategoria'),
92
+ descripcionCategoria: str(c['descripcionCategoria']),
93
+ idImpuesto: num(c['idImpuesto']),
94
+ estado: str(c['estado']),
95
+ periodo: num(c['periodo']),
96
+ }));
97
+ }
98
+ if (raw['email'] !== undefined) {
99
+ persona.email = list(raw['email']).map((e) => ({
100
+ direccion: reqString(e['direccion'], 'email.direccion'),
101
+ tipoEmail: str(e['tipoEmail']),
102
+ estado: str(e['estado']),
103
+ }));
104
+ }
105
+ if (raw['telefono'] !== undefined) {
106
+ persona.telefono = list(raw['telefono']).map((t) => ({
107
+ numero: reqString(t['numero'], 'telefono.numero'),
108
+ tipoTelefono: str(t['tipoTelefono']),
109
+ tipoLinea: str(t['tipoLinea']),
110
+ }));
111
+ }
112
+ return persona;
113
+ }
114
+ //# sourceMappingURL=padron-a4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a4.js","sourceRoot":"","sources":["../../src/padron-a4.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type SoapRecord as R } from './mapping.js';
3
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
+ import type { PersonaA5, WsAuth } from './types.js';
5
+ export type PadronA5ClientConfig = PadronClientConfig;
6
+ /** Máximo de claves por `getPersonaList_v2` (manual de constancia v4.1, §3.3). */
7
+ export declare const MAX_PERSONA_LIST = 250;
8
+ /**
9
+ * Client for ws_sr_constancia_inscripcion (ex ws_sr_padron_a5, deprecado por
10
+ * ARCA) - Constancia de inscripción: datos generales, domicilio fiscal,
11
+ * impuestos del régimen general y monotributo.
12
+ *
13
+ * Usa `getPersona_v2` y `getPersonaList_v2`, los métodos vigentes según el
14
+ * manual del servicio (v4.1).
15
+ */
16
+ export declare class PadronA5Client extends BasePadronClient {
17
+ /**
18
+ * Constancia de inscripción de un contribuyente (`getPersona_v2`).
19
+ *
20
+ * Si ARCA no puede emitir la constancia, devuelve la persona con
21
+ * `errorConstancia` / `errorRegimenGeneral` / `errorMonotributo`.
22
+ * @param cuit - CUIT a consultar (con o sin guiones; se valida el dígito verificador)
23
+ * @throws ArcaPadronServiceError si ARCA responde con un Fault de negocio (ej: CUIT inexistente)
24
+ */
25
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA5>;
26
+ /**
27
+ * Constancias de hasta 250 contribuyentes en una llamada (`getPersonaList_v2`).
28
+ *
29
+ * Devuelve una persona por cada clave que informa ARCA. Las claves
30
+ * inexistentes vuelven con `errorConstancia` (ej: "No existe persona con ese
31
+ * Id") en lugar de hacer fallar toda la consulta.
32
+ */
33
+ getPersonaList(auth: WsAuth, cuits: Array<string | number>, opts?: CallOptions): Promise<PersonaA5[]>;
34
+ }
35
+ /** Mapea `personaReturn` de `getPersona_v2` o un `persona` de `getPersonaList_v2`. */
36
+ export declare function mapPersonaA5(raw: R): PersonaA5;
37
+ //# sourceMappingURL=padron-a5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a5.d.ts","sourceRoot":"","sources":["../../src/padron-a5.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EASL,KAAK,UAAU,IAAI,CAAC,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAwD,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE1G,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAM7F;;;;;;OAMG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAY5G;AAuCD,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAqG9C"}