@ramiidv/arca-agro 0.2.0 → 0.3.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 (61) hide show
  1. package/README.md +211 -179
  2. package/dist/arca-agro.d.ts +25 -140
  3. package/dist/arca-agro.d.ts.map +1 -1
  4. package/dist/arca-agro.js +69 -264
  5. package/dist/arca-agro.js.map +1 -1
  6. package/dist/constants.d.ts +34 -8
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +34 -11
  9. package/dist/constants.js.map +1 -1
  10. package/dist/context.d.ts +13 -0
  11. package/dist/context.d.ts.map +1 -0
  12. package/dist/context.js +2 -0
  13. package/dist/context.js.map +1 -0
  14. package/dist/cpe-client.d.ts +95 -51
  15. package/dist/cpe-client.d.ts.map +1 -1
  16. package/dist/cpe-client.js +236 -228
  17. package/dist/cpe-client.js.map +1 -1
  18. package/dist/cpe-schemas.d.ts +76 -0
  19. package/dist/cpe-schemas.d.ts.map +1 -0
  20. package/dist/cpe-schemas.js +512 -0
  21. package/dist/cpe-schemas.js.map +1 -0
  22. package/dist/cpe-types.d.ts +599 -0
  23. package/dist/cpe-types.d.ts.map +1 -0
  24. package/dist/cpe-types.js +2 -0
  25. package/dist/cpe-types.js.map +1 -0
  26. package/dist/errors.d.ts +38 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +53 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/index.d.ts +10 -10
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -13
  33. package/dist/index.js.map +1 -1
  34. package/dist/lpg-client.d.ts +64 -43
  35. package/dist/lpg-client.d.ts.map +1 -1
  36. package/dist/lpg-client.js +215 -175
  37. package/dist/lpg-client.js.map +1 -1
  38. package/dist/lpg-schemas.d.ts +50 -0
  39. package/dist/lpg-schemas.d.ts.map +1 -0
  40. package/dist/lpg-schemas.js +478 -0
  41. package/dist/lpg-schemas.js.map +1 -0
  42. package/dist/lpg-types.d.ts +470 -0
  43. package/dist/lpg-types.d.ts.map +1 -0
  44. package/dist/lpg-types.js +2 -0
  45. package/dist/lpg-types.js.map +1 -0
  46. package/dist/schema.d.ts +90 -0
  47. package/dist/schema.d.ts.map +1 -0
  48. package/dist/schema.js +301 -0
  49. package/dist/schema.js.map +1 -0
  50. package/dist/types.d.ts +33 -455
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/validation.d.ts +22 -43
  53. package/dist/validation.d.ts.map +1 -1
  54. package/dist/validation.js +31 -134
  55. package/dist/validation.js.map +1 -1
  56. package/llms.txt +78 -159
  57. package/package.json +6 -7
  58. package/dist/ctg-client.d.ts +0 -56
  59. package/dist/ctg-client.d.ts.map +0 -1
  60. package/dist/ctg-client.js +0 -214
  61. package/dist/ctg-client.js.map +0 -1
@@ -0,0 +1,470 @@
1
+ /**
2
+ * Tipos de WSLPG (Liquidación Primaria de Granos), fieles al XSD del WSDL
3
+ * oficial. Los contenedores con ítems repetidos del XSD (`certificados/certificado`,
4
+ * `deducciones/deduccion`, `eventos/evento`, ...) se exponen como arrays.
5
+ */
6
+ import type { CodigoDescripcion, CuitInput, FechaInput } from './types.js';
7
+ export type SiNo = 'S' | 'N';
8
+ /** `LpgCertType`: certificado de depósito. */
9
+ export interface CertificadoDepositoLpg {
10
+ tipoCertificadoDeposito: string;
11
+ nroCertificadoDeposito: number;
12
+ pesoNeto: number;
13
+ pesoNetoTotalCertificado?: number;
14
+ codLocalidadProcedencia: number;
15
+ codProvProcedencia: number;
16
+ campania: number;
17
+ fechaCierre: FechaInput;
18
+ }
19
+ /** `LpgLiquidacionBaseType`. */
20
+ export interface LiquidacionLpg {
21
+ /** Punto de emisión (1-9999). */
22
+ ptoEmision: number;
23
+ nroOrden: number;
24
+ numeroContrato?: number;
25
+ cuitComprador: CuitInput;
26
+ nroActComprador: number;
27
+ nroIngBrutoComprador: number;
28
+ codTipoOperacion: string;
29
+ esLiquidacionPropia?: SiNo;
30
+ /** `P`, `T` o `N`. */
31
+ esCanje?: 'P' | 'T' | 'N';
32
+ codPuerto: number;
33
+ desPuertoLocalidad?: string;
34
+ codGrano: number;
35
+ pesoNetoSinCertificado?: number;
36
+ codLocalidadProcedenciaSinCertificado?: number;
37
+ codProvProcedenciaSinCertificado?: number;
38
+ cuitVendedor: CuitInput;
39
+ nroIngBrutoVendedor: number;
40
+ actuaCorredor?: SiNo;
41
+ liquidaCorredor: SiNo;
42
+ cuitCorredor?: CuitInput;
43
+ /** Porcentaje (hasta 99.99). */
44
+ comisionCorredor?: number;
45
+ nroIngBrutoCorredor?: number;
46
+ fechaPrecioOperacion: FechaInput;
47
+ /** Precio de referencia por tonelada (3 decimales). */
48
+ precioRefTn: number;
49
+ codGradoRef?: string;
50
+ codGradoEnt?: string;
51
+ /** Valor del grado entregado (8 decimales, > 0 y <= 1.99999999). */
52
+ valGradoEnt?: number;
53
+ factorEnt?: number;
54
+ /** Precio del flete por tonelada (2 decimales). */
55
+ precioFleteTn: number;
56
+ contProteico?: number;
57
+ /** Alícuota de IVA de la operación (4 decimales, 0-100). */
58
+ alicIvaOperacion?: number;
59
+ /** Campaña principal (ej: 2526). */
60
+ campaniaPPal: number;
61
+ codLocalidadProcedencia: number;
62
+ codProvProcedencia: number;
63
+ datosAdicionales?: string;
64
+ certificados?: CertificadoDepositoLpg[];
65
+ opcionales?: CodigoDescripcion[];
66
+ }
67
+ /** `LpgDeduccionType`. */
68
+ export interface DeduccionLpg {
69
+ codigoConcepto: string;
70
+ detalleAclaratorio?: string;
71
+ diasAlmacenaje?: number;
72
+ precioPKGdiario?: number;
73
+ comisionGastosAdm?: number;
74
+ baseCalculo?: number;
75
+ alicuotaIva: number;
76
+ }
77
+ /** `LpgRetencionType`. */
78
+ export interface RetencionLpg {
79
+ codigoConcepto: string;
80
+ detalleAclaratorio?: string;
81
+ baseCalculo?: number;
82
+ alicuota: number;
83
+ nroCertificadoRetencion?: number;
84
+ fechaCertificadoRetencion?: FechaInput;
85
+ importeCertificadoRetencion?: number;
86
+ }
87
+ /** `LpgPercepcionType`. */
88
+ export interface PercepcionLpg {
89
+ descripcion: string;
90
+ importeFinal: number;
91
+ }
92
+ /** `liquidacionReq` sin `auth`: `liquidacion` y sus hermanos `deducciones`, `retenciones`, `percepciones`. */
93
+ export interface LiquidacionAutorizarParams {
94
+ liquidacion: LiquidacionLpg;
95
+ deducciones?: DeduccionLpg[];
96
+ retenciones?: RetencionLpg[];
97
+ percepciones?: PercepcionLpg[];
98
+ }
99
+ /** `LpgAjusteCreditoType` / `LpgAjusteDebitoType`. */
100
+ export interface AjusteCreditoDebitoLpg {
101
+ certificados?: Array<{
102
+ coe: string | number;
103
+ pesoAjustado: number;
104
+ }>;
105
+ diferenciaPesoNeto: number;
106
+ diferenciaPrecioOperacion: number;
107
+ codGrado?: string;
108
+ valGrado?: number;
109
+ factor?: number;
110
+ diferenciaPrecioFleteTn: number;
111
+ datosAdicionales?: string;
112
+ opcionales?: CodigoDescripcion[];
113
+ conceptoImporteIva0?: string;
114
+ importeAjustarIva0?: number;
115
+ conceptoImporteIva105?: string;
116
+ importeAjustarIva105?: number;
117
+ conceptoImporteIva21?: string;
118
+ importeAjustarIva21?: number;
119
+ deducciones?: DeduccionLpg[];
120
+ retenciones?: RetencionLpg[];
121
+ }
122
+ /** `ajustarUnificadoReq` sin `auth`. */
123
+ export interface AjusteUnificadoParams {
124
+ ajusteBase: {
125
+ ptoEmision: number;
126
+ nroOrden: number;
127
+ /** COE de la liquidación que se ajusta. */
128
+ coeAjustado: string | number;
129
+ certificados?: CertificadoDepositoLpg[];
130
+ codLocalidad: number;
131
+ codProv: number;
132
+ fusion?: {
133
+ nroIngBrutos: number;
134
+ nroActividad: number;
135
+ };
136
+ };
137
+ ajusteCredito?: AjusteCreditoDebitoLpg;
138
+ ajusteDebito?: AjusteCreditoDebitoLpg;
139
+ }
140
+ /** Mermas de un CTG / carta de porte ferroviaria en `cgAutorizar`. */
141
+ export interface MermasCg {
142
+ porcentajeSecadoHumedad: number;
143
+ importeSecado: number;
144
+ pesoNetoMermaSecado: number;
145
+ tarifaSecado: number;
146
+ importeZarandeo: number;
147
+ pesoNetoMermaZarandeo: number;
148
+ tarifaZarandeo: number;
149
+ }
150
+ /** `cgAutorizarReq` sin `auth` (`CgAutorizarReqType`). */
151
+ export interface CgAutorizarParams {
152
+ cabecera: {
153
+ /** `P` primaria, `R` retiro, `T` transferencia, `E` preexistente. */
154
+ tipoCertificado: 'P' | 'R' | 'T' | 'E';
155
+ ptoEmision: number;
156
+ nroOrden: number;
157
+ nroIngBrutoDepositario: number;
158
+ /** `P` propio, `T` tercero. */
159
+ titularGrano: 'P' | 'T';
160
+ cuitDepositante?: CuitInput;
161
+ nroIngBrutoDepositante?: number;
162
+ codGrano: number;
163
+ campania: number;
164
+ cuitCorredor?: CuitInput;
165
+ datosAdicionales?: string;
166
+ };
167
+ primaria?: {
168
+ nroActDepositario: number;
169
+ ctg?: Array<{
170
+ nroCTG: string | number;
171
+ nroCartaDePorte: string;
172
+ pesoNetoConfirmadoDefinitivo: number;
173
+ } & MermasCg>;
174
+ cartaPorteFerroviaria?: Array<{
175
+ nroCartaPorte: number;
176
+ pesoNetoConfirmadoDefinitivo: number;
177
+ } & MermasCg>;
178
+ descripcionTipoGrano: string;
179
+ montoAlmacenaje: number;
180
+ montoAcarreo: number;
181
+ montoGastosGenerales: number;
182
+ montoZarandeo: number;
183
+ porcentajeSecadoDe: number;
184
+ porcentajeSecadoA: number;
185
+ montoSecado: number;
186
+ montoPorCadaPuntoExceso: number;
187
+ montoOtros: number;
188
+ calidad?: {
189
+ analisisMuestra: number;
190
+ nroBoletin: number;
191
+ codGrado?: string;
192
+ valorGrado?: number;
193
+ valorContProteico: number;
194
+ valorFactor?: number;
195
+ detalleMuestraAnalisis?: Array<{
196
+ descripcionRubro: string;
197
+ /** `B` bonificación, `R` rebaja. */
198
+ tipoRubro: 'B' | 'R';
199
+ porcentaje: number;
200
+ valor: number;
201
+ }>;
202
+ };
203
+ pesoNetoMermaVolatil: number;
204
+ serviciosFormaDePago?: string;
205
+ serviciosOtros?: number;
206
+ serviciosConceptosNoGravados?: number;
207
+ serviciosPercepcionesIVA?: number;
208
+ serviciosOtrasPercepciones?: number;
209
+ };
210
+ retiroTransferencia?: {
211
+ certificadoDeposito: {
212
+ coeCertificadoDeposito: string | number;
213
+ pesoNeto: number;
214
+ };
215
+ nroActDepositario: number;
216
+ cuitReceptor?: CuitInput;
217
+ nroCartaPorteAUtilizar?: string;
218
+ nroCTG?: string | number;
219
+ descripcionCausaJudicial?: string;
220
+ };
221
+ preexistente?: {
222
+ nroPlanta: number;
223
+ tipoCertificadoDepositoPreexistente: number;
224
+ nroCertificadoDepositoPreexistente: number;
225
+ cacCertificadoDepositoPreexistente: number;
226
+ fechaEmisionCertificadoDepositoPreexistente: FechaInput;
227
+ pesoNeto: number;
228
+ };
229
+ preexistenteFusion?: {
230
+ nroPlanta: number;
231
+ nroCertificadoDepositoPreexistente: number;
232
+ fechaEmisionCertificadoDepositoPreexistente: FechaInput;
233
+ pesoNeto: number;
234
+ };
235
+ }
236
+ /** `LpgDeduccionReturnType`. */
237
+ export interface DeduccionLiquidadaLpg {
238
+ deduccion?: {
239
+ codigoConcepto?: string;
240
+ detalleAclaratorio?: string;
241
+ diasAlmacenaje?: number;
242
+ precioPKGdiario?: number;
243
+ comisionGastosAdm?: number;
244
+ baseCalculo?: number;
245
+ alicuotaIva?: number;
246
+ };
247
+ importeIva?: number;
248
+ importeDeduccion?: number;
249
+ }
250
+ /** `LpgRetencionReturnType`. */
251
+ export interface RetencionLiquidadaLpg {
252
+ retencion?: {
253
+ codigoConcepto?: string;
254
+ detalleAclaratorio?: string;
255
+ baseCalculo?: number;
256
+ alicuota?: number;
257
+ nroCertificadoRetencion?: number;
258
+ fechaCertificadoRetencion?: string;
259
+ importeCertificadoRetencion?: number;
260
+ };
261
+ importeRetencion?: number;
262
+ }
263
+ /** `LpgLiquidacionRespType`: datos de la liquidación autorizada. `coe` siempre presente. */
264
+ export interface LiquidacionAutorizadaLpg {
265
+ ptoEmision?: number;
266
+ nroOrden?: number;
267
+ codTipoOperacion?: string;
268
+ codTipoAjuste?: string;
269
+ nroOpComercial?: number;
270
+ fechaLiquidacion?: string;
271
+ precioOperacion?: number;
272
+ subTotal?: number;
273
+ importeIva?: number;
274
+ operacionConIva?: number;
275
+ totalPesoNeto?: number;
276
+ percepciones: Array<{
277
+ descripcion?: string;
278
+ baseCalculo?: number;
279
+ alicuota?: number;
280
+ importeFinal?: number;
281
+ }>;
282
+ totalPercepcion?: number;
283
+ deducciones: DeduccionLiquidadaLpg[];
284
+ totalDeduccion?: number;
285
+ retenciones: RetencionLiquidadaLpg[];
286
+ totalRetencion?: number;
287
+ totalRetencionAfip?: number;
288
+ totalOtrasRetenciones?: number;
289
+ totalNetoAPagar?: number;
290
+ totalIvaRg4310_18?: number;
291
+ totalPagoSegunCondicion?: number;
292
+ /** Código de Operación Electrónico (como string). */
293
+ coe: string;
294
+ coeAjustado?: string;
295
+ numeroContrato?: number;
296
+ estado?: string;
297
+ }
298
+ /** Resultado de `liquidacionAutorizar` (`LpgLiqReturnType`). */
299
+ export interface LiquidacionResultado {
300
+ autorizacion: LiquidacionAutorizadaLpg;
301
+ /** Eventos informativos de ARCA (`eventos.evento[]`). */
302
+ eventos: CodigoDescripcion[];
303
+ }
304
+ /** `LpgLiquidacionBaseType` tal como la devuelven las consultas. */
305
+ export interface LiquidacionConsultadaLpg {
306
+ ptoEmision?: number;
307
+ nroOrden?: number;
308
+ numeroContrato?: number;
309
+ cuitComprador?: number;
310
+ nroActComprador?: number;
311
+ nroIngBrutoComprador?: number;
312
+ codTipoOperacion?: string;
313
+ esLiquidacionPropia?: string;
314
+ esCanje?: string;
315
+ codPuerto?: number;
316
+ desPuertoLocalidad?: string;
317
+ codGrano?: number;
318
+ pesoNetoSinCertificado?: number;
319
+ codLocalidadProcedenciaSinCertificado?: number;
320
+ codProvProcedenciaSinCertificado?: number;
321
+ cuitVendedor?: number;
322
+ nroIngBrutoVendedor?: number;
323
+ actuaCorredor?: string;
324
+ liquidaCorredor?: string;
325
+ cuitCorredor?: number;
326
+ comisionCorredor?: number;
327
+ nroIngBrutoCorredor?: number;
328
+ fechaPrecioOperacion?: string;
329
+ precioRefTn?: number;
330
+ codGradoRef?: string;
331
+ codGradoEnt?: string;
332
+ valGradoEnt?: number;
333
+ factorEnt?: number;
334
+ precioFleteTn?: number;
335
+ contProteico?: number;
336
+ alicIvaOperacion?: number;
337
+ campaniaPPal?: number;
338
+ codLocalidadProcedencia?: number;
339
+ codProvProcedencia?: number;
340
+ datosAdicionales?: string;
341
+ certificados: Array<{
342
+ tipoCertificadoDeposito?: string;
343
+ nroCertificadoDeposito?: number;
344
+ pesoNeto?: number;
345
+ pesoNetoTotalCertificado?: number;
346
+ codLocalidadProcedencia?: number;
347
+ codProvProcedencia?: number;
348
+ campania?: number;
349
+ fechaCierre?: string;
350
+ }>;
351
+ opcionales: CodigoDescripcion[];
352
+ }
353
+ /** Resultado de `liquidacionXCoeConsultar` / `liquidacionXNroOrdenConsultar` (`LpgLiqConsReturnType`). */
354
+ export interface LiquidacionConsultaResultado {
355
+ liquidacion?: LiquidacionConsultadaLpg;
356
+ autorizacion: LiquidacionAutorizadaLpg;
357
+ /** PDF en base64 (si se pidió con `pdf: 'S'`). */
358
+ pdf?: string;
359
+ eventos: CodigoDescripcion[];
360
+ }
361
+ /** Resultado de `liquidacionAnular` (`LpgAnulacionReturnType`). */
362
+ export interface AnulacionLiquidacionResultado {
363
+ coe?: string;
364
+ resultado: string;
365
+ pdf?: string;
366
+ eventos: CodigoDescripcion[];
367
+ }
368
+ /** `LpgAjusteCreditoRespType` / `LpgAjusteDebitoRespType`. */
369
+ export interface AjusteCreditoDebitoResultadoLpg {
370
+ nroOpComercial?: number;
371
+ fechaLiquidacion?: string;
372
+ precioOperacion?: number;
373
+ subTotal?: number;
374
+ importeIva?: number;
375
+ operacionConIva?: number;
376
+ totalPesoNeto?: number;
377
+ importes: Array<{
378
+ importe?: number;
379
+ concepto?: string;
380
+ alicuota?: number;
381
+ ivaCalculado?: number;
382
+ }>;
383
+ deducciones: DeduccionLiquidadaLpg[];
384
+ totalDeduccion?: number;
385
+ retenciones: RetencionLiquidadaLpg[];
386
+ totalRetencion?: number;
387
+ totalRetencionAfip?: number;
388
+ totalOtrasRetenciones?: number;
389
+ totalNetoAPagar?: number;
390
+ totalIvaRg4310_18?: number;
391
+ totalPagoSegunCondicion?: number;
392
+ }
393
+ /** `LpgAjusteUnificadoRespType`. `coe` siempre presente. */
394
+ export interface AjusteUnificadoLpg {
395
+ ptoEmision?: number;
396
+ nroOrden?: number;
397
+ nroContrato?: number;
398
+ coeAjustado?: string;
399
+ codTipoOperacion?: string;
400
+ ajusteCredito?: AjusteCreditoDebitoResultadoLpg;
401
+ ajusteDebito?: AjusteCreditoDebitoResultadoLpg;
402
+ totalesUnificados?: {
403
+ subTotalDebCred?: number;
404
+ totalBaseDeducciones?: number;
405
+ subTotalGeneral?: number;
406
+ ivaDeducciones?: number;
407
+ iva105?: number;
408
+ iva21?: number;
409
+ retencionesGanancias?: number;
410
+ retencionesIVA?: number;
411
+ importeOtrasRetenciones?: number;
412
+ importeNeto?: number;
413
+ ivaRG4310_18?: number;
414
+ pagoSCondicion?: number;
415
+ };
416
+ coe: string;
417
+ estado?: string;
418
+ }
419
+ /** Resultado de `liquidacionAjustarUnificado`. */
420
+ export interface AjusteUnificadoResultado {
421
+ ajusteUnificado: AjusteUnificadoLpg;
422
+ eventos: CodigoDescripcion[];
423
+ }
424
+ /** `LpgGradoEntType`. */
425
+ export interface GradoEntregadoLpg {
426
+ codigoDescripcion: CodigoDescripcion;
427
+ valor: number;
428
+ }
429
+ /** `CgAutorizacionType`. `coe` siempre presente. */
430
+ export interface CertificacionAutorizadaLpg {
431
+ ptoEmision?: number;
432
+ nroOrden?: number;
433
+ coe: string;
434
+ /** `AC`, `PA` o `AN`. */
435
+ estado?: string;
436
+ fechaCertificacion?: string;
437
+ pesosResumen?: {
438
+ pesoBrutoCertificado?: number;
439
+ pesoMermaVolatil?: number;
440
+ pesoMermaSecado?: number;
441
+ pesoMermaZarandeo?: number;
442
+ pesoNetoCertificado?: number;
443
+ };
444
+ serviciosResumen?: {
445
+ servicioSecado?: number;
446
+ servicioZarandeo?: number;
447
+ servicioOtros?: number;
448
+ servicioGastosGenerales?: number;
449
+ importeIVA?: number;
450
+ servicioTotal?: number;
451
+ };
452
+ planta?: {
453
+ nroPlanta?: number;
454
+ cuitTitularPlanta?: number;
455
+ razonSocialTitularPlanta?: string;
456
+ };
457
+ }
458
+ /** Resultado de `cgAutorizar`. */
459
+ export interface CertificacionResultado {
460
+ autorizacion: CertificacionAutorizadaLpg;
461
+ eventos: CodigoDescripcion[];
462
+ }
463
+ /** Resultado de `cgSolicitarAnulacion` / `cgConfirmarAnulacion` (`CgSolicitarAnulacionReturnType`). */
464
+ export interface AnulacionCertificacionResultado {
465
+ /** `AC`, `PA` o `AN`. */
466
+ estadoCertificado: string;
467
+ pdf?: string;
468
+ eventos: CodigoDescripcion[];
469
+ }
470
+ //# sourceMappingURL=lpg-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpg-types.d.ts","sourceRoot":"","sources":["../src/lpg-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lpg-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpg-types.js","sourceRoot":"","sources":["../src/lpg-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,90 @@
1
+ import type { ValidationErrorDetail } from '@ramiidv/arca-common';
2
+ type Scalar = {
3
+ kind: 'str';
4
+ minLen?: number;
5
+ maxLen?: number;
6
+ values?: readonly string[];
7
+ } | {
8
+ kind: 'int';
9
+ min?: number;
10
+ max?: number;
11
+ minExclusive?: boolean;
12
+ } | {
13
+ kind: 'id';
14
+ } | {
15
+ kind: 'dec';
16
+ digits: number;
17
+ min?: number;
18
+ max?: number;
19
+ minExclusive?: boolean;
20
+ } | {
21
+ kind: 'bool';
22
+ } | {
23
+ kind: 'cuit';
24
+ } | {
25
+ kind: 'date';
26
+ } | {
27
+ kind: 'datetime';
28
+ } | {
29
+ kind: 'base64';
30
+ };
31
+ export interface Field {
32
+ readonly scalar?: Scalar;
33
+ readonly schema?: Schema;
34
+ readonly optional?: boolean;
35
+ /** Si está definido, el campo es una lista con este mínimo de elementos. */
36
+ readonly minItems?: number;
37
+ /**
38
+ * Nombre del elemento ítem dentro de un contenedor (ej: `deducciones` →
39
+ * `deduccion[]`). El usuario pasa/recibe directamente el array.
40
+ */
41
+ readonly wrap?: string;
42
+ /** Solo en respuestas: el elemento es obligatorio (si falta, la respuesta es inválida). */
43
+ readonly required?: boolean;
44
+ }
45
+ export type Schema = {
46
+ readonly [element: string]: Field;
47
+ };
48
+ export declare const str: (o?: {
49
+ minLen?: number;
50
+ maxLen?: number;
51
+ values?: readonly string[];
52
+ }) => Field;
53
+ /** Entero (`xsd:int`/`short`/`long` que entra en un `number`). */
54
+ export declare const int: (min?: number, max?: number, minExclusive?: boolean) => Field;
55
+ /** ID numérico largo (nroCTG, COE): se envía y se devuelve como string de dígitos. */
56
+ export declare const id: () => Field;
57
+ /** `xsd:decimal` con `fractionDigits`: se redondea a `digits` decimales. */
58
+ export declare const dec: (digits: number, min?: number, max?: number, minExclusive?: boolean) => Field;
59
+ export declare const bool: () => Field;
60
+ /** CUIT (11 dígitos con dígito verificador). Se envía normalizado; en respuestas se devuelve como `number`. */
61
+ export declare const cuit: () => Field;
62
+ /** `xsd:date` (`AAAA-MM-DD`). Acepta `Date` o string `AAAAMMDD`/`AAAA-MM-DD`. */
63
+ export declare const date: () => Field;
64
+ /** `xsd:dateTime`. Acepta `Date` (hora de Argentina, -03:00) o string ISO-8601. */
65
+ export declare const datetime: () => Field;
66
+ export declare const base64: () => Field;
67
+ export declare const obj: (schema: Schema) => Field;
68
+ export declare const opt: (f: Field) => Field;
69
+ /** Respuestas: el elemento es obligatorio según el XSD (`minOccurs=1`). */
70
+ export declare const must: (f: Field) => Field;
71
+ export declare const list: (f: Field, minItems?: number) => Field;
72
+ /** Contenedor con ítems repetidos: `<container><item/>...</container>`. */
73
+ export declare const wrapped: (item: string, f: Field, minItems?: number) => Field;
74
+ /**
75
+ * Formatea un `Date` como `xsd:dateTime` en hora de Argentina
76
+ * (`AAAA-MM-DDTHH:mm:ss-03:00`; Argentina no tiene horario de verano desde 2009).
77
+ */
78
+ export declare function formatDateTimeAR(d: Date): string;
79
+ /**
80
+ * Valida y codifica un request según el schema (orden XSD).
81
+ * @throws ArcaValidationError con todos los campos inválidos.
82
+ */
83
+ export declare function encodeRequest(input: unknown, schema: Schema, context: string, extraCheck?: (input: Record<string, unknown>, errors: ValidationErrorDetail[]) => void): Record<string, unknown>;
84
+ /**
85
+ * Decodifica un nodo de respuesta según el schema. Los campos que no están en
86
+ * el schema se ignoran; las listas ausentes se devuelven como `[]`.
87
+ */
88
+ export declare function decodeResponse<T>(node: unknown, schema: Schema, path: string): T;
89
+ export {};
90
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}