@ramiidv/arca-fecred 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.
@@ -1,365 +1,157 @@
1
- import { WsaaClient, ensureArray } from '@ramiidv/arca-common';
1
+ import { ArcaSdkBase, validateCuit } from '@ramiidv/arca-common';
2
2
  import { ENDPOINTS } from './constants.js';
3
3
  import { FecredClient } from './fecred-client.js';
4
- import { validateCuit, validateCodCtaCte, validateConsultaCtasCtes } from './validation.js';
5
4
  /**
6
- * Main orchestrator class for ARCA WSFECRED (Factura de Credito Electronica MiPyME).
7
- *
8
- * Provides high-level methods that handle WSAA authentication automatically
9
- * and expose results from the WSFECRED web service for managing FCE
10
- * (Electronic Credit Invoices) under Law 27440.
5
+ * Cliente de alto nivel de WSFECRED (Factura de Crédito Electrónica MiPyME,
6
+ * Ley 27.440). Obtiene y cachea el Ticket de Acceso de WSAA automáticamente.
11
7
  *
12
8
  * @example
13
9
  * ```ts
14
- * import { ArcaFecred } from '@ramiidv/arca-fecred';
15
- * import { readFileSync } from 'fs';
16
- *
17
10
  * const fecred = new ArcaFecred({
18
11
  * cert: readFileSync('cert.pem', 'utf-8'),
19
12
  * key: readFileSync('key.pem', 'utf-8'),
20
- * cuit: '20123456789',
21
- * production: false,
13
+ * cuit: '20123456786',
22
14
  * });
23
15
  *
24
- * // Check if a CUIT is obligated to receive FCE
25
- * const obligado = await fecred.consultarMontoObligadoRecepcion('30712345678');
26
- * console.log(obligado.obligado); // true/false
16
+ * const { obligado, montoDesde } = await fecred.consultarMontoObligadoRecepcion({
17
+ * cuitConsultada: '30712345674',
18
+ * fechaEmision: '2026-11-01',
19
+ * });
27
20
  *
28
- * // Query current accounts
29
- * const cuentas = await fecred.consultarCtasCtes({
21
+ * const { ctasCtes, hayMas } = await fecred.consultarCtasCtes({
30
22
  * rol: 'Receptor',
31
- * fechaDesde: '2026-01-01',
32
- * fechaHasta: '2026-03-31',
23
+ * fecha: { tipo: 'Emision', desde: '2026-10-01', hasta: '2026-10-31' },
33
24
  * });
34
25
  * ```
35
26
  */
36
- export class ArcaFecred {
37
- /** Low-level WSAA client for direct access */
38
- wsaa;
39
- /** Low-level WSFECRED client for direct access */
40
- fecred;
41
- cuit;
42
- onEvent;
27
+ export class ArcaFecred extends ArcaSdkBase {
28
+ /** Cliente de bajo nivel de FECredService. */
29
+ client;
30
+ /** @deprecated Usá `client` (mismo objeto; mismo nombre que en el resto de los SDKs). */
31
+ get fecred() {
32
+ return this.client;
33
+ }
43
34
  constructor(config) {
44
- const isProduction = config.production ?? false;
45
- const env = isProduction ? 'production' : 'testing';
46
- this.cuit = config.cuit;
47
- this.onEvent = config.onEvent;
48
- const soapOptions = {
49
- timeout: config.timeout,
50
- retries: config.retries,
51
- retryDelayMs: config.retryDelayMs,
52
- };
53
- this.wsaa = new WsaaClient({
54
- cert: config.cert,
55
- key: config.key,
56
- production: isProduction,
57
- timeout: config.timeout,
58
- retries: config.retries,
59
- retryDelayMs: config.retryDelayMs,
60
- onEvent: config.onEvent,
61
- });
62
- this.fecred = new FecredClient({
63
- endpoint: ENDPOINTS.wsfecred[env],
35
+ // CUIT con dígito verificador (error con `field: 'cuit'`), enviado como 11 dígitos.
36
+ super({ ...config, cuit: validateCuit(config.cuit) }, { wsfecred: ENDPOINTS.wsfecred.serviceId });
37
+ this.client = new FecredClient({
38
+ endpoint: this.endpoint(ENDPOINTS.wsfecred, config.endpoints?.wsfecred),
64
39
  namespace: ENDPOINTS.wsfecred.namespace,
65
- soapOptions,
66
- onEvent: config.onEvent,
40
+ transport: this.transport,
67
41
  });
68
42
  }
69
43
  // =========================================================================
70
44
  // Health check
71
45
  // =========================================================================
72
- /**
73
- * Health check for the WSFECRED service.
74
- * Does not require authentication.
75
- */
76
- async status() {
77
- return this.fecred.dummy();
46
+ /** Estado de los servidores de WSFECRED (`dummy`, sin autenticación). */
47
+ status(opts) {
48
+ return this.client.dummy(this.callOptions(opts));
78
49
  }
79
50
  // =========================================================================
80
- // Consultas de operaciones
51
+ // Obligación de recepción
81
52
  // =========================================================================
82
- /**
83
- * Check if a CUIT is obligated to receive FCE (Factura de Credito Electronica).
84
- * Authenticates automatically via WSAA.
85
- *
86
- * @param cuitConsultada - CUIT to check
87
- * @returns Result indicating if the CUIT is obligated and the threshold amount
88
- */
89
- async consultarMontoObligadoRecepcion(cuitConsultada) {
90
- validateCuit(cuitConsultada, 'cuitConsultada');
91
- const auth = await this.getAuth();
92
- const result = await this.fecred.consultarMontoObligadoRecepcion(auth, cuitConsultada);
93
- return {
94
- cuitConsultada,
95
- obligado: (result['obligado'] ?? result['Obligado'] ?? false),
96
- montoDesde: result['montoDesde'] != null
97
- ? Number(result['montoDesde'] ?? result['MontoDesde'])
98
- : undefined,
99
- raw: result,
100
- };
101
- }
102
- /**
103
- * Query current accounts from FCE activity.
104
- * Authenticates automatically via WSAA.
105
- *
106
- * @param params - Query filters (role, CUITs, date range)
107
- * @returns Array of current account records
108
- */
109
- async consultarCtasCtes(params) {
110
- validateConsultaCtasCtes(params);
111
- const auth = await this.getAuth();
112
- const result = await this.fecred.consultarCtasCtes(auth, {
113
- rol: params.rol,
114
- cuitEmisor: params.cuitEmisor,
115
- cuitReceptor: params.cuitReceptor,
116
- fechaDesde: params.fechaDesde,
117
- fechaHasta: params.fechaHasta,
118
- });
119
- const ctasCtes = result['arrayCtasCtes'] ?? result['CtasCtes'] ?? result['ctasCtes'];
120
- if (!ctasCtes)
121
- return [];
122
- const ctasCtesObj = ctasCtes;
123
- const items = ensureArray(ctasCtesObj['CtaCte'] ?? ctasCtesObj['ctaCte'] ?? ctasCtesObj);
124
- return items.map((item) => this.parseCtaCte(item));
53
+ /** Si una CUIT está obligada a recibir FCE para una fecha de emisión, y desde qué monto. */
54
+ consultarMontoObligadoRecepcion(params, opts) {
55
+ return this.client.consultarMontoObligadoRecepcion(this.auth(opts), params, this.callOptions(opts));
125
56
  }
126
- /**
127
- * Search FCE invoices by filters.
128
- * Authenticates automatically via WSAA.
129
- *
130
- * @param params - Query filters
131
- * @returns Array of FCE invoice records
132
- */
133
- async consultarComprobantes(params) {
134
- const auth = await this.getAuth();
135
- const result = await this.fecred.consultarComprobantes(auth, {
136
- cuitEmisor: params.cuitEmisor,
137
- cuitReceptor: params.cuitReceptor,
138
- codCtaCte: params.codCtaCte,
139
- fechaDesde: params.fechaDesde,
140
- fechaHasta: params.fechaHasta,
141
- });
142
- const comprobantes = result['arrayComprobantes'] ?? result['Comprobantes'] ?? result['comprobantes'];
143
- if (!comprobantes)
144
- return [];
145
- const compObj = comprobantes;
146
- const items = ensureArray(compObj['Comprobante'] ?? compObj['comprobante'] ?? compObj);
147
- return items.map((item) => this.parseComprobante(item));
57
+ /** Si una CUIT está obligada a recibir FCE y desde qué fecha. */
58
+ consultarObligadoRecepcion(cuitConsultada, opts) {
59
+ return this.client.consultarObligadoRecepcion(this.auth(opts), cuitConsultada, this.callOptions(opts));
148
60
  }
149
61
  // =========================================================================
150
- // Acciones sobre FCE
62
+ // Consultas
151
63
  // =========================================================================
152
- /**
153
- * Accept an FCE (Factura de Credito Electronica).
154
- * Authenticates automatically via WSAA.
155
- *
156
- * @param codCtaCte - Current account code of the FCE to accept
157
- * @returns Result of the acceptance operation
158
- */
159
- async aceptarFECred(codCtaCte) {
160
- validateCodCtaCte(codCtaCte);
161
- const auth = await this.getAuth();
162
- const result = await this.fecred.aceptarFECred(auth, codCtaCte);
163
- return {
164
- codCtaCte,
165
- resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
166
- raw: result,
167
- };
64
+ /** Cuentas corrientes de FCE (paginado: ver `hayMas` / `nroPagina`). */
65
+ consultarCtasCtes(params, opts) {
66
+ return this.client.consultarCtasCtes(this.auth(opts), params, this.callOptions(opts));
168
67
  }
169
- /**
170
- * Reject an FCE (Factura de Credito Electronica).
171
- * Authenticates automatically via WSAA.
172
- *
173
- * @param codCtaCte - Current account code of the FCE to reject
174
- * @param codMotivoRechazo - Rejection reason code (use MotivoRechazo enum)
175
- * @returns Result of the rejection operation
176
- */
177
- async rechazarFECred(codCtaCte, codMotivoRechazo) {
178
- validateCodCtaCte(codCtaCte);
179
- const auth = await this.getAuth();
180
- const result = await this.fecred.rechazarFECred(auth, codCtaCte, codMotivoRechazo);
181
- return {
182
- codCtaCte,
183
- resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
184
- raw: result,
185
- };
68
+ /** Detalle de una cuenta corriente. */
69
+ consultarCtaCte(idCtaCte, opts) {
70
+ return this.client.consultarCtaCte(this.auth(opts), idCtaCte, this.callOptions(opts));
186
71
  }
187
- /**
188
- * Inform that an accepted FCE was paid/cancelled.
189
- * Authenticates automatically via WSAA.
190
- *
191
- * @param params - Cancellation details (account code, payment method, optional observations)
192
- * @returns Result of the cancellation notification
193
- */
194
- async informarFacturaAceptadaCancelada(params) {
195
- validateCodCtaCte(params.codCtaCte);
196
- const auth = await this.getAuth();
197
- const result = await this.fecred.informarFacturaAceptadaCancelada(auth, {
198
- codCtaCte: params.codCtaCte,
199
- codFormaCancelacion: params.codFormaCancelacion,
200
- observaciones: params.observaciones,
201
- });
202
- return {
203
- codCtaCte: params.codCtaCte,
204
- resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
205
- raw: result,
206
- };
72
+ /** Comprobantes FCE (paginado: ver `hayMas` / `nroPagina`). */
73
+ consultarComprobantes(params, opts) {
74
+ return this.client.consultarComprobantes(this.auth(opts), params, this.callOptions(opts));
75
+ }
76
+ /** Historial de estados de un comprobante. */
77
+ consultarHistorialEstadosComprobante(idComprobante, opts) {
78
+ return this.client.consultarHistorialEstadosComprobante(this.auth(opts), idComprobante, this.callOptions(opts));
79
+ }
80
+ /** Historial de estados de una cuenta corriente. */
81
+ consultarHistorialEstadosCtaCte(idCtaCte, opts) {
82
+ return this.client.consultarHistorialEstadosCtaCte(this.auth(opts), idCtaCte, this.callOptions(opts));
83
+ }
84
+ /** Remitos asociados a un comprobante. */
85
+ obtenerRemitos(idComprobante, opts) {
86
+ return this.client.obtenerRemitos(this.auth(opts), idComprobante, this.callOptions(opts));
207
87
  }
208
88
  // =========================================================================
209
- // Consultas de parametros
89
+ // Operaciones (no idempotentes: nunca se reintentan)
210
90
  // =========================================================================
211
91
  /**
212
- * Query available retention types.
213
- * Authenticates automatically via WSAA.
92
+ * Acepta una FCE. Un rechazo de ARCA (errores o `resultado = 'R'`) se lanza
93
+ * como `ArcaServiceError`. Si la respuesta se pierde (`ArcaSoapError` con
94
+ * `uncertain`), consultá el estado con `consultarCtaCte` antes de reintentar.
214
95
  */
215
- async consultarTiposRetenciones() {
216
- const auth = await this.getAuth();
217
- const result = await this.fecred.consultarTiposRetenciones(auth);
218
- return this.parseParamArray(result, ['arrayTiposRetenciones', 'TiposRetenciones', 'tiposRetenciones'], ['TipoRetencion', 'tipoRetencion'], (item) => ({
219
- codTipoRetencion: Number(item['codTipoRetencion'] ?? item['CodTipoRetencion'] ?? 0),
220
- descTipoRetencion: (item['descTipoRetencion'] ?? item['DescTipoRetencion'] ?? ''),
221
- }));
96
+ aceptarFECred(params, opts) {
97
+ return this.client.aceptarFECred(this.auth(opts), params, this.callOptions(opts));
222
98
  }
223
- /**
224
- * Query available payment method types for cancelling accepted FCE.
225
- * Authenticates automatically via WSAA.
226
- */
227
- async consultarTiposFormasCancelacion() {
228
- const auth = await this.getAuth();
229
- const result = await this.fecred.consultarTiposFormasCancelacion(auth);
230
- return this.parseParamArray(result, ['arrayTiposFormasCancelacion', 'TiposFormasCancelacion', 'tiposFormasCancelacion'], ['TipoFormaCancelacion', 'tipoFormaCancelacion'], (item) => ({
231
- codFormaCancelacion: Number(item['codFormaCancelacion'] ?? item['CodFormaCancelacion'] ?? 0),
232
- descFormaCancelacion: (item['descFormaCancelacion'] ?? item['DescFormaCancelacion'] ?? ''),
233
- }));
99
+ /** Rechaza una FCE (motivos de `consultarTiposMotivosRechazo`). */
100
+ rechazarFECred(params, opts) {
101
+ return this.client.rechazarFECred(this.auth(opts), params, this.callOptions(opts));
234
102
  }
235
- /**
236
- * Query available operation adjustment types.
237
- * Authenticates automatically via WSAA.
238
- */
239
- async consultarTiposAjustesOperacion() {
240
- const auth = await this.getAuth();
241
- const result = await this.fecred.consultarTiposAjustesOperacion(auth);
242
- return this.parseParamArray(result, ['arrayTiposAjustesOperacion', 'TiposAjustesOperacion', 'tiposAjustesOperacion'], ['TipoAjusteOperacion', 'tipoAjusteOperacion'], (item) => ({
243
- codTipoAjuste: Number(item['codTipoAjuste'] ?? item['CodTipoAjuste'] ?? 0),
244
- descTipoAjuste: (item['descTipoAjuste'] ?? item['DescTipoAjuste'] ?? ''),
245
- }));
103
+ /** Informa la cancelación total de una FCE aceptada. */
104
+ informarCancelacionTotalFECred(params, opts) {
105
+ return this.client.informarCancelacionTotalFECred(this.auth(opts), params, this.callOptions(opts));
246
106
  }
247
- /**
248
- * Query available rejection reason types.
249
- * Authenticates automatically via WSAA.
250
- */
251
- async consultarTiposMotivoRechazo() {
252
- const auth = await this.getAuth();
253
- const result = await this.fecred.consultarTiposMotivoRechazo(auth);
254
- return this.parseParamArray(result, ['arrayTiposMotivoRechazo', 'TiposMotivoRechazo', 'tiposMotivoRechazo'], ['TipoMotivoRechazo', 'tipoMotivoRechazo'], (item) => ({
255
- codMotivoRechazo: Number(item['codMotivoRechazo'] ?? item['CodMotivoRechazo'] ?? 0),
256
- descMotivoRechazo: (item['descMotivoRechazo'] ?? item['DescMotivoRechazo'] ?? ''),
257
- }));
107
+ /** Rechaza una nota de débito/crédito asociada a una FCE. */
108
+ rechazarNotaDC(params, opts) {
109
+ return this.client.rechazarNotaDC(this.auth(opts), params, this.callOptions(opts));
258
110
  }
259
- // =========================================================================
260
- // Cache management
261
- // =========================================================================
262
- /** Invalidate the cached WSAA access ticket for WSFECRED. */
263
- clearAuthCache() {
264
- this.wsaa.clearTicket(ENDPOINTS.wsfecred.serviceId);
111
+ /** Cambia la opción de transferencia (SCA/ADC) de una cuenta corriente. */
112
+ modificarOpcionTransferencia(params, opts) {
113
+ return this.client.modificarOpcionTransferencia(this.auth(opts), params, this.callOptions(opts));
114
+ }
115
+ /** Informa una factura a un Agente de Depósito Colectivo. */
116
+ informarFacturaAgtDptoCltv(params, opts) {
117
+ return this.client.informarFacturaAgtDptoCltv(this.auth(opts), params, this.callOptions(opts));
265
118
  }
266
119
  // =========================================================================
267
- // Private helpers
120
+ // Agente de Depósito Colectivo
268
121
  // =========================================================================
269
- async getAuth() {
270
- const ticket = await this.wsaa.getAccessTicket(ENDPOINTS.wsfecred.serviceId);
271
- return {
272
- Token: ticket.token,
273
- Sign: ticket.sign,
274
- Cuit: this.cuit,
275
- };
122
+ /** Cuentas de la CUIT representada en Agentes de Depósito Colectivo. */
123
+ consultarCuentasEnAgtDptoCltv(opts) {
124
+ return this.client.consultarCuentasEnAgtDptoCltv(this.auth(opts), this.callOptions(opts));
276
125
  }
277
- parseCtaCte(item) {
278
- return {
279
- codCtaCte: Number(item['codCtaCte'] ?? item['CodCtaCte'] ?? 0),
280
- cuitEmisor: String(item['cuitEmisor'] ?? item['CUITEmisor'] ?? item['CuitEmisor'] ?? ''),
281
- denominacionEmisor: (item['denominacionEmisor'] ?? item['DenominacionEmisor']),
282
- cuitReceptor: String(item['cuitReceptor'] ?? item['CUITReceptor'] ?? item['CuitReceptor'] ?? ''),
283
- denominacionReceptor: (item['denominacionReceptor'] ?? item['DenominacionReceptor']),
284
- tipoComprobante: item['tipoComprobante'] != null ? Number(item['tipoComprobante'] ?? item['TipoComprobante']) : undefined,
285
- puntoVenta: item['puntoVenta'] != null ? Number(item['puntoVenta'] ?? item['PuntoVenta']) : undefined,
286
- nroComprobante: item['nroComprobante'] != null ? Number(item['nroComprobante'] ?? item['NroComprobante']) : undefined,
287
- codMoneda: (item['codMoneda'] ?? item['CodMoneda']),
288
- importeTotal: item['importeTotal'] != null ? Number(item['importeTotal'] ?? item['ImporteTotal']) : undefined,
289
- saldo: item['saldo'] != null ? Number(item['saldo'] ?? item['Saldo']) : undefined,
290
- estado: (item['estado'] ?? item['Estado']),
291
- fechaEmision: (item['fechaEmision'] ?? item['FechaEmision']),
292
- fechaVencimientoPago: (item['fechaVencimientoPago'] ?? item['FechaVencimientoPago']),
293
- fechaVencimientoAceptacion: (item['fechaVencimientoAceptacion'] ?? item['FechaVencimientoAceptacion']),
294
- cae: (item['cae'] ?? item['CAE']),
295
- raw: item,
296
- };
126
+ /** Facturas informadas a Agentes de Depósito Colectivo. */
127
+ consultarFacturasAgtDptoCltv(params, opts) {
128
+ return this.client.consultarFacturasAgtDptoCltv(this.auth(opts), params, this.callOptions(opts));
297
129
  }
298
- parseComprobante(item) {
299
- const retenciones = item['retenciones'] ?? item['Retenciones'];
300
- let parsedRetenciones;
301
- if (retenciones) {
302
- const retObj = retenciones;
303
- const retItems = ensureArray(retObj['Retencion'] ?? retObj['retencion'] ?? retObj);
304
- parsedRetenciones = retItems.map((r) => {
305
- const ret = r;
306
- return {
307
- codTipoRetencion: Number(ret['codTipoRetencion'] ?? ret['CodTipoRetencion'] ?? 0),
308
- descTipoRetencion: (ret['descTipoRetencion'] ?? ret['DescTipoRetencion']),
309
- importeRetencion: Number(ret['importeRetencion'] ?? ret['ImporteRetencion'] ?? 0),
310
- porcentajeRetencion: ret['porcentajeRetencion'] != null
311
- ? Number(ret['porcentajeRetencion'] ?? ret['PorcentajeRetencion'])
312
- : undefined,
313
- };
314
- });
315
- }
316
- return {
317
- codCtaCte: Number(item['codCtaCte'] ?? item['CodCtaCte'] ?? 0),
318
- tipoComprobante: item['tipoComprobante'] != null ? Number(item['tipoComprobante'] ?? item['TipoComprobante']) : undefined,
319
- puntoVenta: item['puntoVenta'] != null ? Number(item['puntoVenta'] ?? item['PuntoVenta']) : undefined,
320
- nroComprobante: item['nroComprobante'] != null ? Number(item['nroComprobante'] ?? item['NroComprobante']) : undefined,
321
- cuitEmisor: String(item['cuitEmisor'] ?? item['CUITEmisor'] ?? item['CuitEmisor'] ?? ''),
322
- denominacionEmisor: (item['denominacionEmisor'] ?? item['DenominacionEmisor']),
323
- cuitReceptor: String(item['cuitReceptor'] ?? item['CUITReceptor'] ?? item['CuitReceptor'] ?? ''),
324
- denominacionReceptor: (item['denominacionReceptor'] ?? item['DenominacionReceptor']),
325
- codMoneda: (item['codMoneda'] ?? item['CodMoneda']),
326
- importeTotal: item['importeTotal'] != null ? Number(item['importeTotal'] ?? item['ImporteTotal']) : undefined,
327
- importeNeto: item['importeNeto'] != null ? Number(item['importeNeto'] ?? item['ImporteNeto']) : undefined,
328
- saldo: item['saldo'] != null ? Number(item['saldo'] ?? item['Saldo']) : undefined,
329
- estado: (item['estado'] ?? item['Estado']),
330
- fechaEmision: (item['fechaEmision'] ?? item['FechaEmision']),
331
- fechaVencimientoPago: (item['fechaVencimientoPago'] ?? item['FechaVencimientoPago']),
332
- cae: (item['cae'] ?? item['CAE']),
333
- retenciones: parsedRetenciones,
334
- raw: item,
130
+ // =========================================================================
131
+ // Tablas de parámetros
132
+ // =========================================================================
133
+ /** Tipos de retenciones (jurisdicción y porcentaje). */
134
+ consultarTiposRetenciones(opts) {
135
+ return this.client.consultarTiposRetenciones(this.auth(opts), this.callOptions(opts));
136
+ }
137
+ /** Formas de cancelación (para `aceptarFECred` / `informarCancelacionTotalFECred`). */
138
+ consultarTiposFormasCancelacion(opts) {
139
+ return this.client.consultarTiposFormasCancelacion(this.auth(opts), this.callOptions(opts));
140
+ }
141
+ /** Motivos de rechazo (para `rechazarFECred` / `rechazarNotaDC`). */
142
+ consultarTiposMotivosRechazo(opts) {
143
+ return this.client.consultarTiposMotivosRechazo(this.auth(opts), this.callOptions(opts));
144
+ }
145
+ /** Tipos de ajustes de operación (para `aceptarFECred`). */
146
+ consultarTiposAjustesOperacion(opts) {
147
+ return this.client.consultarTiposAjustesOperacion(this.auth(opts), this.callOptions(opts));
148
+ }
149
+ /** Credenciales diferidas: el cliente las pide después de validar los parámetros. */
150
+ auth(opts) {
151
+ return async () => {
152
+ const ticket = await this.ticket('wsfecred', opts);
153
+ return { token: ticket.token, sign: ticket.sign, cuitRepresentada: this.cuit };
335
154
  };
336
155
  }
337
- /**
338
- * Generic parser for parameter arrays from WSFECRED responses.
339
- * Handles varying SOAP response structures (different key names, namespaces).
340
- */
341
- parseParamArray(result, containerKeys, itemKeys, mapper) {
342
- let container;
343
- for (const key of containerKeys) {
344
- if (result[key] !== undefined) {
345
- container = result[key];
346
- break;
347
- }
348
- }
349
- if (!container)
350
- return [];
351
- const containerObj = container;
352
- let items = [];
353
- for (const key of itemKeys) {
354
- if (containerObj[key] !== undefined) {
355
- items = ensureArray(containerObj[key]);
356
- break;
357
- }
358
- }
359
- if (items.length === 0) {
360
- items = ensureArray(containerObj);
361
- }
362
- return items.map((item) => mapper(item));
363
- }
364
156
  }
365
157
  //# sourceMappingURL=arca-fecred.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-fecred.js","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arca-fecred.js","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"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"}