@ramiidv/arca-fecred 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.
- package/CHANGELOG.md +124 -0
- package/README.md +52 -52
- package/dist/arca-fecred.d.ts +5 -9
- package/dist/arca-fecred.d.ts.map +1 -1
- package/dist/arca-fecred.js +34 -68
- package/dist/arca-fecred.js.map +1 -1
- package/dist/fecred-client.d.ts +23 -16
- package/dist/fecred-client.d.ts.map +1 -1
- package/dist/fecred-client.js +62 -198
- package/dist/fecred-client.js.map +1 -1
- package/dist/schemas.d.ts +165 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +376 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types.d.ts +2 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +20 -22
- package/dist/parsers.d.ts +0 -38
- package/dist/parsers.d.ts.map +0 -1
- package/dist/parsers.js +0 -327
- package/dist/parsers.js.map +0 -1
- package/dist/validation.d.ts +0 -58
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js +0 -250
- package/dist/validation.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramiidv/arca-fecred",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "TypeScript SDK para el web service WSFECRED de ARCA (ex AFIP) - Factura de Credito Electronica MiPyME",
|
|
5
|
+
"author": "ramiidv",
|
|
6
|
+
"license": "MIT",
|
|
5
7
|
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"sideEffects": false,
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
9
10
|
"exports": {
|
|
10
11
|
".": {
|
|
11
12
|
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/index.js",
|
|
13
13
|
"default": "./dist/index.js"
|
|
14
|
-
}
|
|
14
|
+
},
|
|
15
|
+
"./package.json": "./package.json"
|
|
15
16
|
},
|
|
17
|
+
"sideEffects": false,
|
|
16
18
|
"files": [
|
|
17
19
|
"dist",
|
|
18
|
-
"
|
|
20
|
+
"README.md",
|
|
19
21
|
"LICENSE",
|
|
20
|
-
"
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"llms.txt"
|
|
21
24
|
],
|
|
22
25
|
"scripts": {
|
|
23
|
-
"build": "tsc",
|
|
26
|
+
"build": "tsc -p tsconfig.build.json",
|
|
24
27
|
"clean": "rm -rf dist",
|
|
25
28
|
"typecheck": "tsc --noEmit",
|
|
26
29
|
"test": "vitest run",
|
|
27
30
|
"test:watch": "vitest",
|
|
28
|
-
"
|
|
31
|
+
"lint:pkg": "publint --strict && attw --pack . --profile esm-only"
|
|
29
32
|
},
|
|
30
33
|
"keywords": [
|
|
31
34
|
"arca",
|
|
@@ -39,28 +42,23 @@
|
|
|
39
42
|
"typescript",
|
|
40
43
|
"soap"
|
|
41
44
|
],
|
|
42
|
-
"author": "ramiidv",
|
|
43
|
-
"license": "MIT",
|
|
44
45
|
"repository": {
|
|
45
46
|
"type": "git",
|
|
46
|
-
"url": "git+https://github.com/ramiidv/arca-
|
|
47
|
+
"url": "git+https://github.com/ramiidv/arca-sdks.git",
|
|
48
|
+
"directory": "packages/fecred"
|
|
47
49
|
},
|
|
48
50
|
"homepage": "https://arca-sdk.dev/fecred",
|
|
49
51
|
"bugs": {
|
|
50
|
-
"url": "https://github.com/ramiidv/arca-
|
|
52
|
+
"url": "https://github.com/ramiidv/arca-sdks/issues"
|
|
51
53
|
},
|
|
52
54
|
"publishConfig": {
|
|
53
|
-
"access": "public"
|
|
55
|
+
"access": "public",
|
|
56
|
+
"provenance": true
|
|
54
57
|
},
|
|
55
58
|
"engines": {
|
|
56
|
-
"node": ">=
|
|
59
|
+
"node": ">=20.19.0"
|
|
57
60
|
},
|
|
58
61
|
"dependencies": {
|
|
59
|
-
"@ramiidv/arca-common": "^0.
|
|
60
|
-
},
|
|
61
|
-
"devDependencies": {
|
|
62
|
-
"@types/node": "^22.0.0",
|
|
63
|
-
"typescript": "^5.7.0",
|
|
64
|
-
"vitest": "^3.2.4"
|
|
62
|
+
"@ramiidv/arca-common": "^0.5.0"
|
|
65
63
|
}
|
|
66
64
|
}
|
package/dist/parsers.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { CodigoDescripcion, Comprobante, CuentaCorriente, CuentaEnAgente, EstadoComprobanteInfo, EstadoCtaCteInfo, IdComprobante, IdCtaCte, InfoAgtDptoCltv, InfoCtaCte, InfoRespuesta } from './types.js';
|
|
2
|
-
type Obj = Record<string, unknown>;
|
|
3
|
-
declare function invalidResponse(path: string, detail?: string): never;
|
|
4
|
-
declare function str(o: Obj, key: string, path: string): string;
|
|
5
|
-
declare function optStr(o: Obj, key: string, path: string): string | undefined;
|
|
6
|
-
declare function num(o: Obj, key: string, path: string): number;
|
|
7
|
-
declare function optNum(o: Obj, key: string, path: string): number | undefined;
|
|
8
|
-
declare function siNo(o: Obj, key: string, path: string): boolean;
|
|
9
|
-
declare function optSiNo(o: Obj, key: string, path: string): boolean | undefined;
|
|
10
|
-
/** Ítems `item` de un contenedor opcional `container` (ensureArray sobre el hijo, nunca sobre el contenedor). */
|
|
11
|
-
declare function items(o: Obj, container: string, item: string, path: string): Obj[];
|
|
12
|
-
/**
|
|
13
|
-
* Lanza ArcaServiceError si la respuesta trae `arrayErrores` o
|
|
14
|
-
* `arrayErroresFormato` (este último con ítems `codigoDescripcionString`,
|
|
15
|
-
* que `checkServiceErrors` de common reconoce).
|
|
16
|
-
*/
|
|
17
|
-
export declare function checkFecredErrors(result: Obj): void;
|
|
18
|
-
/**
|
|
19
|
-
* Para operaciones con `resultado`: `R` sin errores informados (no debería
|
|
20
|
-
* pasar) también se lanza, con las observaciones como detalle.
|
|
21
|
-
*/
|
|
22
|
-
export declare function resultadoAprobado(r: Obj, path: string): 'A' | 'O';
|
|
23
|
-
export declare function parseCodigoDescripcion(o: Obj, path: string): CodigoDescripcion;
|
|
24
|
-
export declare function parseCodigosDescripciones(o: Obj, container: string, path: string): CodigoDescripcion[];
|
|
25
|
-
/** `evento` + `arrayObservaciones` (o `arrayObservacion`, según la operación). */
|
|
26
|
-
export declare function parseInfo(o: Obj, path: string): InfoRespuesta;
|
|
27
|
-
export declare function parseIdComprobante(v: unknown, path: string): IdComprobante;
|
|
28
|
-
export declare function parseIdCtaCte(v: unknown, path: string): IdCtaCte;
|
|
29
|
-
export declare function parseEstadoCtaCte(v: unknown, path: string): EstadoCtaCteInfo;
|
|
30
|
-
export declare function parseEstadoCmp(v: unknown, path: string): EstadoComprobanteInfo;
|
|
31
|
-
export declare function parseInfoCtaCte(o: Obj, path: string): InfoCtaCte;
|
|
32
|
-
export declare function parseCuentaCorriente(v: unknown, path: string): CuentaCorriente;
|
|
33
|
-
export declare function parseCuentaEnAgente(v: unknown, path: string): CuentaEnAgente;
|
|
34
|
-
export declare function parseInfoAgtDptoCltv(v: unknown, path: string): InfoAgtDptoCltv;
|
|
35
|
-
export declare function parseComprobante(v: unknown, path: string): Comprobante;
|
|
36
|
-
export { items as parseItems, num as parseNum, optNum as parseOptNum, optStr as parseOptStr, siNo as parseSiNo, optSiNo as parseOptSiNo, str as parseStr };
|
|
37
|
-
export { invalidResponse };
|
|
38
|
-
//# sourceMappingURL=parsers.d.ts.map
|
package/dist/parsers.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/parsers.js
DELETED
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
import { ArcaSoapError, ArcaServiceError, checkServiceErrors, ensureArray, extractServiceErrors } from '@ramiidv/arca-common';
|
|
2
|
-
import { EstadoComprobante, EstadoCtaCte, OpcionTransferencia, Resultado, TipoAceptacion, } from './constants.js';
|
|
3
|
-
const SERVICE = 'WSFECRED';
|
|
4
|
-
function invalidResponse(path, detail = 'falta el campo') {
|
|
5
|
-
throw new ArcaSoapError(`Respuesta inválida de ${SERVICE}: ${detail} ${path}`, { uncertain: true });
|
|
6
|
-
}
|
|
7
|
-
function isAbsent(v) {
|
|
8
|
-
return v === undefined || v === null || v === '';
|
|
9
|
-
}
|
|
10
|
-
function obj(v, path) {
|
|
11
|
-
if (v === null || typeof v !== 'object' || Array.isArray(v))
|
|
12
|
-
invalidResponse(path);
|
|
13
|
-
return v;
|
|
14
|
-
}
|
|
15
|
-
function optObj(o, key, path) {
|
|
16
|
-
return isAbsent(o[key]) ? undefined : obj(o[key], `${path}.${key}`);
|
|
17
|
-
}
|
|
18
|
-
function str(o, key, path) {
|
|
19
|
-
const v = o[key];
|
|
20
|
-
if (isAbsent(v) || typeof v === 'object')
|
|
21
|
-
invalidResponse(`${path}.${key}`);
|
|
22
|
-
return String(v);
|
|
23
|
-
}
|
|
24
|
-
function optStr(o, key, path) {
|
|
25
|
-
return isAbsent(o[key]) ? undefined : str(o, key, path);
|
|
26
|
-
}
|
|
27
|
-
function num(o, key, path) {
|
|
28
|
-
const s = str(o, key, path);
|
|
29
|
-
const n = Number(s);
|
|
30
|
-
if (!Number.isFinite(n))
|
|
31
|
-
invalidResponse(`${path}.${key}`, 'valor no numérico en');
|
|
32
|
-
return n;
|
|
33
|
-
}
|
|
34
|
-
function optNum(o, key, path) {
|
|
35
|
-
return isAbsent(o[key]) ? undefined : num(o, key, path);
|
|
36
|
-
}
|
|
37
|
-
function siNo(o, key, path) {
|
|
38
|
-
const v = str(o, key, path);
|
|
39
|
-
if (v === 'S')
|
|
40
|
-
return true;
|
|
41
|
-
if (v === 'N')
|
|
42
|
-
return false;
|
|
43
|
-
return invalidResponse(`${path}.${key}`, `valor "${v}" (se esperaba S/N) en`);
|
|
44
|
-
}
|
|
45
|
-
function optSiNo(o, key, path) {
|
|
46
|
-
return isAbsent(o[key]) ? undefined : siNo(o, key, path);
|
|
47
|
-
}
|
|
48
|
-
function enumValue(o, key, path, values) {
|
|
49
|
-
const v = str(o, key, path);
|
|
50
|
-
if (!Object.values(values).includes(v))
|
|
51
|
-
invalidResponse(`${path}.${key}`, `valor "${v}" desconocido en`);
|
|
52
|
-
return v;
|
|
53
|
-
}
|
|
54
|
-
/** Ítems `item` de un contenedor opcional `container` (ensureArray sobre el hijo, nunca sobre el contenedor). */
|
|
55
|
-
function items(o, container, item, path) {
|
|
56
|
-
if (isAbsent(o[container]))
|
|
57
|
-
return [];
|
|
58
|
-
const c = obj(o[container], `${path}.${container}`);
|
|
59
|
-
return ensureArray(c[item]).map((x, i) => obj(x, `${path}.${container}.${item}[${i}]`));
|
|
60
|
-
}
|
|
61
|
-
// ---------------------------------------------------------------------------
|
|
62
|
-
// Errores de negocio
|
|
63
|
-
// ---------------------------------------------------------------------------
|
|
64
|
-
/**
|
|
65
|
-
* Lanza ArcaServiceError si la respuesta trae `arrayErrores` o
|
|
66
|
-
* `arrayErroresFormato` (este último con ítems `codigoDescripcionString`,
|
|
67
|
-
* que `checkServiceErrors` de common reconoce).
|
|
68
|
-
*/
|
|
69
|
-
export function checkFecredErrors(result) {
|
|
70
|
-
checkServiceErrors(result, SERVICE);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Para operaciones con `resultado`: `R` sin errores informados (no debería
|
|
74
|
-
* pasar) también se lanza, con las observaciones como detalle.
|
|
75
|
-
*/
|
|
76
|
-
export function resultadoAprobado(r, path) {
|
|
77
|
-
const resultado = enumValue(r, 'resultado', path, Resultado);
|
|
78
|
-
if (resultado === 'R') {
|
|
79
|
-
const errors = extractServiceErrors(r);
|
|
80
|
-
const obs = parseInfo(r, path).observaciones.map((o) => ({ code: o.codigo, msg: o.descripcion }));
|
|
81
|
-
const details = [...errors, ...obs];
|
|
82
|
-
throw new ArcaServiceError(`${SERVICE}: operación rechazada (resultado R)${details.length ? ': ' + details.map((d) => `[${d.code}] ${d.msg}`).join(', ') : ''}`, details);
|
|
83
|
-
}
|
|
84
|
-
return resultado;
|
|
85
|
-
}
|
|
86
|
-
// ---------------------------------------------------------------------------
|
|
87
|
-
// Tipos comunes
|
|
88
|
-
// ---------------------------------------------------------------------------
|
|
89
|
-
export function parseCodigoDescripcion(o, path) {
|
|
90
|
-
return { codigo: num(o, 'codigo', path), descripcion: str(o, 'descripcion', path) };
|
|
91
|
-
}
|
|
92
|
-
export function parseCodigosDescripciones(o, container, path) {
|
|
93
|
-
return items(o, container, 'codigoDescripcion', path).map((x, i) => parseCodigoDescripcion(x, `${path}.${container}.codigoDescripcion[${i}]`));
|
|
94
|
-
}
|
|
95
|
-
/** `evento` + `arrayObservaciones` (o `arrayObservacion`, según la operación). */
|
|
96
|
-
export function parseInfo(o, path) {
|
|
97
|
-
const ev = optObj(o, 'evento', path);
|
|
98
|
-
const info = {
|
|
99
|
-
observaciones: [
|
|
100
|
-
...parseCodigosDescripciones(o, 'arrayObservaciones', path),
|
|
101
|
-
...parseCodigosDescripciones(o, 'arrayObservacion', path),
|
|
102
|
-
],
|
|
103
|
-
};
|
|
104
|
-
if (ev)
|
|
105
|
-
info.evento = parseCodigoDescripcion(ev, `${path}.evento`);
|
|
106
|
-
return info;
|
|
107
|
-
}
|
|
108
|
-
export function parseIdComprobante(v, path) {
|
|
109
|
-
const o = obj(v, path);
|
|
110
|
-
return {
|
|
111
|
-
cuitEmisor: str(o, 'CUITEmisor', path),
|
|
112
|
-
codTipoCmp: num(o, 'codTipoCmp', path),
|
|
113
|
-
ptoVta: num(o, 'ptoVta', path),
|
|
114
|
-
nroCmp: num(o, 'nroCmp', path),
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
export function parseIdCtaCte(v, path) {
|
|
118
|
-
const o = obj(v, path);
|
|
119
|
-
if (!isAbsent(o['codCtaCte']))
|
|
120
|
-
return { codCtaCte: str(o, 'codCtaCte', path) };
|
|
121
|
-
if (!isAbsent(o['idFactura']))
|
|
122
|
-
return { idFactura: parseIdComprobante(o['idFactura'], `${path}.idFactura`) };
|
|
123
|
-
return invalidResponse(`${path}.codCtaCte|idFactura`);
|
|
124
|
-
}
|
|
125
|
-
export function parseEstadoCtaCte(v, path) {
|
|
126
|
-
const o = obj(v, path);
|
|
127
|
-
return { estado: enumValue(o, 'estado', path, EstadoCtaCte), fechaHoraEstado: str(o, 'fechaHoraEstado', path) };
|
|
128
|
-
}
|
|
129
|
-
export function parseEstadoCmp(v, path) {
|
|
130
|
-
const o = obj(v, path);
|
|
131
|
-
return { estado: enumValue(o, 'estado', path, EstadoComprobante), fechaHoraEstado: str(o, 'fechaHoraEstado', path) };
|
|
132
|
-
}
|
|
133
|
-
// ---------------------------------------------------------------------------
|
|
134
|
-
// Cuenta corriente
|
|
135
|
-
// ---------------------------------------------------------------------------
|
|
136
|
-
export function parseInfoCtaCte(o, path) {
|
|
137
|
-
const r = {
|
|
138
|
-
codCtaCte: str(o, 'codCtaCte', path),
|
|
139
|
-
estadoCtaCte: parseEstadoCtaCte(o['estadoCtaCte'], `${path}.estadoCtaCte`),
|
|
140
|
-
idFacturaCredito: parseIdComprobante(o['idFacturaCredito'], `${path}.idFacturaCredito`),
|
|
141
|
-
importeTotalFC: num(o, 'importeTotalFC', path),
|
|
142
|
-
saldo: num(o, 'saldo', path),
|
|
143
|
-
codMoneda: str(o, 'codMoneda', path),
|
|
144
|
-
opcionTransferencia: enumValue(o, 'opcionTransferencia', path, OpcionTransferencia),
|
|
145
|
-
};
|
|
146
|
-
const saldoAceptado = optNum(o, 'saldoAceptado', path);
|
|
147
|
-
if (saldoAceptado !== undefined)
|
|
148
|
-
r.saldoAceptado = saldoAceptado;
|
|
149
|
-
return r;
|
|
150
|
-
}
|
|
151
|
-
function parseRetencion(o, path) {
|
|
152
|
-
const r = {
|
|
153
|
-
codTipo: num(o, 'codTipo', path),
|
|
154
|
-
importe: num(o, 'importe', path),
|
|
155
|
-
porcentaje: num(o, 'porcentaje', path),
|
|
156
|
-
};
|
|
157
|
-
const desc = optStr(o, 'descMotivo', path);
|
|
158
|
-
if (desc !== undefined)
|
|
159
|
-
r.descMotivo = desc;
|
|
160
|
-
return r;
|
|
161
|
-
}
|
|
162
|
-
export function parseCuentaCorriente(v, path) {
|
|
163
|
-
const o = obj(v, path);
|
|
164
|
-
return dropUndefined({
|
|
165
|
-
codCtaCte: str(o, 'codCtaCte', path),
|
|
166
|
-
estadoCtaCte: parseEstadoCtaCte(o['estadoCtaCte'], `${path}.estadoCtaCte`),
|
|
167
|
-
factura: parseComprobante(o['factura'], `${path}.factura`),
|
|
168
|
-
notasDCAsociadas: items(o, 'arrayNotasDCAsociadas', 'comprobante', path).map((x, i) => parseComprobante(x, `${path}.arrayNotasDCAsociadas.comprobante[${i}]`)),
|
|
169
|
-
formasCancelacion: parseCodigosDescripciones(o, 'arrayFormasCancelacion', path),
|
|
170
|
-
retenciones: items(o, 'arrayRetenciones', 'retencion', path).map((x, i) => parseRetencion(x, `${path}.arrayRetenciones.retencion[${i}]`)),
|
|
171
|
-
ajustesOperacion: items(o, 'arrayAjustesOperacion', 'ajuste', path).map((x, i) => {
|
|
172
|
-
const p = `${path}.arrayAjustesOperacion.ajuste[${i}]`;
|
|
173
|
-
return { codigo: num(x, 'codigo', p), importe: num(x, 'importe', p) };
|
|
174
|
-
}),
|
|
175
|
-
importeInicial: num(o, 'importeInicial', path),
|
|
176
|
-
importeTotalNotasDC: optNum(o, 'importeTotalNotasDC', path),
|
|
177
|
-
importeCancelado: optNum(o, 'importeCancelado', path),
|
|
178
|
-
importeTotalRetPesos: optNum(o, 'importeTotalRetPesos', path),
|
|
179
|
-
importeEmbargoPesos: optNum(o, 'importeEmbargoPesos', path),
|
|
180
|
-
saldoAceptado: optNum(o, 'saldoAceptado', path),
|
|
181
|
-
saldo: num(o, 'saldo', path),
|
|
182
|
-
codMoneda: str(o, 'codMoneda', path),
|
|
183
|
-
cotizacionMonedaUlt: num(o, 'cotizacionMonedaUlt', path),
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
// ---------------------------------------------------------------------------
|
|
187
|
-
// Comprobante
|
|
188
|
-
// ---------------------------------------------------------------------------
|
|
189
|
-
export function parseCuentaEnAgente(v, path) {
|
|
190
|
-
const o = obj(v, path);
|
|
191
|
-
return dropUndefined({
|
|
192
|
-
cuitAgente: str(o, 'cuitAgente', path),
|
|
193
|
-
razonSocialAgente: optStr(o, 'razonSocialAgente', path),
|
|
194
|
-
idCuenta: str(o, 'idCuenta', path),
|
|
195
|
-
denominacion: optStr(o, 'denominacion', path),
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
export function parseInfoAgtDptoCltv(v, path) {
|
|
199
|
-
const o = obj(v, path);
|
|
200
|
-
return dropUndefined({
|
|
201
|
-
fechaInfo: str(o, 'fechaInfo', path),
|
|
202
|
-
ctaAgente: parseCuentaEnAgente(o['ctaAgente'], `${path}.ctaAgente`),
|
|
203
|
-
recibida: siNo(o, 'recibida', path),
|
|
204
|
-
fechaLectura: optStr(o, 'fechaLectura', path),
|
|
205
|
-
fechaRecep: optStr(o, 'fechaRecep', path),
|
|
206
|
-
aceptada: optSiNo(o, 'aceptada', path),
|
|
207
|
-
motivoRechazo: optStr(o, 'motivoRechazo', path),
|
|
208
|
-
idPagoAgtDptoCltv: optStr(o, 'idPagoAgtDptoCltv', path),
|
|
209
|
-
cbuAgtDptoCltv: optStr(o, 'CBUAgtDptoCltv', path),
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
function parseInfoTransferencia(v, path) {
|
|
213
|
-
const o = obj(v, path);
|
|
214
|
-
if (!isAbsent(o['infoAgtDptoCltv'])) {
|
|
215
|
-
return { infoAgtDptoCltv: parseInfoAgtDptoCltv(o['infoAgtDptoCltv'], `${path}.infoAgtDptoCltv`) };
|
|
216
|
-
}
|
|
217
|
-
if (!isAbsent(o['infoSCA'])) {
|
|
218
|
-
const p = `${path}.infoSCA`;
|
|
219
|
-
const s = obj(o['infoSCA'], p);
|
|
220
|
-
return {
|
|
221
|
-
infoSCA: dropUndefined({
|
|
222
|
-
fechaAceptacionFactura: str(s, 'fechaAceptacionFactura', p),
|
|
223
|
-
informaCBUReceptor: siNo(s, 'informaCBUReceptor', p),
|
|
224
|
-
cbuReceptor: optStr(s, 'CBUReceptor', p),
|
|
225
|
-
cbuValidada: optSiNo(s, 'CBUValidada', p),
|
|
226
|
-
fechaLecturaSCA: optStr(s, 'fechaLecturaSCA', p),
|
|
227
|
-
}),
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
return invalidResponse(`${path}.infoAgtDptoCltv|infoSCA`);
|
|
231
|
-
}
|
|
232
|
-
function parseMotivoRechazo(o, path) {
|
|
233
|
-
return {
|
|
234
|
-
codMotivo: num(o, 'codMotivo', path),
|
|
235
|
-
descMotivo: str(o, 'descMotivo', path),
|
|
236
|
-
justificacion: str(o, 'justificacion', path),
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
export function parseComprobante(v, path) {
|
|
240
|
-
const o = obj(v, path);
|
|
241
|
-
const tipoCodAuto = str(o, 'tipoCodAuto', path);
|
|
242
|
-
if (tipoCodAuto !== 'A' && tipoCodAuto !== 'E')
|
|
243
|
-
invalidResponse(`${path}.tipoCodAuto`, `valor "${tipoCodAuto}" desconocido en`);
|
|
244
|
-
const asociado = o['idComprobanteAsociado'];
|
|
245
|
-
const infoTransf = o['infoTransferencia'];
|
|
246
|
-
return dropUndefined({
|
|
247
|
-
cuitEmisor: str(o, 'cuitEmisor', path),
|
|
248
|
-
razonSocialEmi: str(o, 'razonSocialEmi', path),
|
|
249
|
-
codTipoCmp: num(o, 'codTipoCmp', path),
|
|
250
|
-
ptoVta: num(o, 'ptovta', path),
|
|
251
|
-
nroCmp: num(o, 'nroCmp', path),
|
|
252
|
-
cuitReceptor: str(o, 'cuitReceptor', path),
|
|
253
|
-
razonSocialRecep: str(o, 'razonSocialRecep', path),
|
|
254
|
-
tipoCodAuto: tipoCodAuto,
|
|
255
|
-
codAutorizacion: str(o, 'codAutorizacion', path),
|
|
256
|
-
fechaEmision: str(o, 'fechaEmision', path),
|
|
257
|
-
fechaPuestaDispo: optStr(o, 'fechaPuestaDispo', path),
|
|
258
|
-
fechaVenPago: optStr(o, 'fechaVenPago', path),
|
|
259
|
-
fechaVenAcep: optStr(o, 'fechaVenAcep', path),
|
|
260
|
-
importeTotal: num(o, 'importeTotal', path),
|
|
261
|
-
codMoneda: str(o, 'codMoneda', path),
|
|
262
|
-
cotizacionMoneda: num(o, 'cotizacionMoneda', path),
|
|
263
|
-
cbuEmisor: optStr(o, 'CBUEmisor', path),
|
|
264
|
-
aliasEmisor: optStr(o, 'AliasEmisor', path),
|
|
265
|
-
esAnulacion: optSiNo(o, 'esAnulacion', path),
|
|
266
|
-
esPostAceptacion: optSiNo(o, 'esPostAceptacion', path),
|
|
267
|
-
idComprobanteAsociado: isAbsent(asociado)
|
|
268
|
-
? undefined
|
|
269
|
-
: parseIdComprobante(asociado, `${path}.idComprobanteAsociado`),
|
|
270
|
-
referenciasComerciales: isAbsent(o['referenciasComerciales'])
|
|
271
|
-
? []
|
|
272
|
-
: ensureArray(obj(o['referenciasComerciales'], `${path}.referenciasComerciales`)['texto']).map(String),
|
|
273
|
-
subtotalesIVA: items(o, 'arraySubtotalesIVA', 'subtotalIVA', path).map((x, i) => {
|
|
274
|
-
const p = `${path}.arraySubtotalesIVA.subtotalIVA[${i}]`;
|
|
275
|
-
return { codigo: num(x, 'codigo', p), baseImponible: num(x, 'baseImponible', p), importe: num(x, 'importe', p) };
|
|
276
|
-
}),
|
|
277
|
-
otrosTributos: items(o, 'arrayOtrosTributos', 'otroTributo', path).map((x, i) => {
|
|
278
|
-
const p = `${path}.arrayOtrosTributos.otroTributo[${i}]`;
|
|
279
|
-
return dropUndefined({
|
|
280
|
-
codigo: num(x, 'codigo', p),
|
|
281
|
-
detalle: optStr(x, 'detalle', p),
|
|
282
|
-
baseImponible: num(x, 'baseImponible', p),
|
|
283
|
-
importe: num(x, 'importe', p),
|
|
284
|
-
});
|
|
285
|
-
}),
|
|
286
|
-
items: items(o, 'arrayItems', 'item', path).map((x, i) => {
|
|
287
|
-
const p = `${path}.arrayItems.item[${i}]`;
|
|
288
|
-
return dropUndefined({
|
|
289
|
-
orden: num(x, 'orden', p),
|
|
290
|
-
unidadesMtx: optNum(x, 'unidadesMtx', p),
|
|
291
|
-
codigoMtx: optStr(x, 'codigoMtx', p),
|
|
292
|
-
codigo: optStr(x, 'codigo', p),
|
|
293
|
-
descripcion: str(x, 'descripcion', p),
|
|
294
|
-
codNomMercosur: optStr(x, 'codNomMercosur', p),
|
|
295
|
-
cantidad: optNum(x, 'cantidad', p),
|
|
296
|
-
codigoUnidadMedida: optNum(x, 'codigoUnidadMedida', p),
|
|
297
|
-
precioUnitario: optNum(x, 'precioUnitario', p),
|
|
298
|
-
importeBonificacion: optNum(x, 'importeBonificacion', p),
|
|
299
|
-
codigoCondicionIVA: num(x, 'codigoCondicionIVA', p),
|
|
300
|
-
importeIVA: optNum(x, 'importeIVA', p),
|
|
301
|
-
importeItem: num(x, 'importeItem', p),
|
|
302
|
-
});
|
|
303
|
-
}),
|
|
304
|
-
datosGenerales: optStr(o, 'datosGenerales', path),
|
|
305
|
-
datosComerciales: optStr(o, 'datosComerciales', path),
|
|
306
|
-
leyendaComercial: optStr(o, 'leyendaComercial', path),
|
|
307
|
-
codCtaCte: str(o, 'codCtaCte', path),
|
|
308
|
-
estado: parseEstadoCmp(o['estado'], `${path}.estado`),
|
|
309
|
-
tipoAcep: isAbsent(o['tipoAcep']) ? undefined : enumValue(o, 'tipoAcep', path, TipoAceptacion),
|
|
310
|
-
fechaHoraAcep: optStr(o, 'fechaHoraAcep', path),
|
|
311
|
-
motivosRechazo: items(o, 'arrayMotivosRechazo', 'motivoRechazo', path).map((x, i) => parseMotivoRechazo(x, `${path}.arrayMotivosRechazo.motivoRechazo[${i}]`)),
|
|
312
|
-
opcionTransferencia: isAbsent(o['opcionTransferencia'])
|
|
313
|
-
? undefined
|
|
314
|
-
: enumValue(o, 'opcionTransferencia', path, OpcionTransferencia),
|
|
315
|
-
infoTransferencia: isAbsent(infoTransf) ? undefined : parseInfoTransferencia(infoTransf, `${path}.infoTransferencia`),
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
/** Saca las claves `undefined` (para que los objetos no tengan claves opcionales vacías). */
|
|
319
|
-
function dropUndefined(o) {
|
|
320
|
-
for (const k of Object.keys(o))
|
|
321
|
-
if (o[k] === undefined)
|
|
322
|
-
delete o[k];
|
|
323
|
-
return o;
|
|
324
|
-
}
|
|
325
|
-
export { items as parseItems, num as parseNum, optNum as parseOptNum, optStr as parseOptStr, siNo as parseSiNo, optSiNo as parseOptSiNo, str as parseStr };
|
|
326
|
-
export { invalidResponse };
|
|
327
|
-
//# sourceMappingURL=parsers.js.map
|
package/dist/parsers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/validation.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { ConfirmarNotaDCInput, CuentaEnAgenteInput, FiltroFecha, FormaCancelacionInput, IdComprobanteInput, IdCtaCteInput, MotivoRechazo, RetencionInput, AjusteOperacion } from './types.js';
|
|
2
|
-
type Xml = Record<string, unknown>;
|
|
3
|
-
/** CUIT (`CuitSimpleType`) validado con dígito verificador, como 11 dígitos. */
|
|
4
|
-
export declare function cuitParam(value: unknown, field: string): string;
|
|
5
|
-
/** `xsd:date` (`YYYY-MM-DD`). Acepta `Date` (fecha de Argentina), `YYYY-MM-DD` o `YYYYMMDD`. */
|
|
6
|
-
export declare function dateParam(value: unknown, field: string): string;
|
|
7
|
-
/** Entero dentro de un rango (`xsd:short`, `PuntoVentaSimpleType`, etc.). */
|
|
8
|
-
export declare function intParam(value: unknown, field: string, min: number, max: number): number;
|
|
9
|
-
/** Código `xsd:short` no negativo. */
|
|
10
|
-
export declare function codeParam(value: unknown, field: string): number;
|
|
11
|
-
/** `xsd:long` positivo (ej: `codCtaCte`), como string de dígitos. */
|
|
12
|
-
export declare function longParam(value: unknown, field: string): string;
|
|
13
|
-
/**
|
|
14
|
-
* `ImporteSimpleType`: decimal con 2 decimales (redondeado), entre
|
|
15
|
-
* -9999999999999.99 y 9999999999999.99. Con `allowNegative = false` rechaza negativos.
|
|
16
|
-
*/
|
|
17
|
-
export declare function importeParam(value: unknown, field: string, allowNegative?: boolean): string;
|
|
18
|
-
/** `PorcentajeSimpleType`: 0 a 100. */
|
|
19
|
-
export declare function porcentajeParam(value: unknown, field: string): string;
|
|
20
|
-
/** Cotización (`xsd:decimal`), positiva; se envía con hasta 6 decimales. */
|
|
21
|
-
export declare function cotizacionParam(value: unknown, field: string): string;
|
|
22
|
-
/** String con longitud acotada (ej: `Texto250SimpleType` = 3..250). */
|
|
23
|
-
export declare function textParam(value: unknown, field: string, min: number, max: number): string;
|
|
24
|
-
/** `xsd:string` no vacío. */
|
|
25
|
-
export declare function nonEmptyParam(value: unknown, field: string): string;
|
|
26
|
-
/** Valor de una enumeración del XSD. */
|
|
27
|
-
export declare function enumParam<T extends string>(value: unknown, field: string, values: Record<string, T>): T;
|
|
28
|
-
export declare const rolParam: (v: unknown, field?: string) => "Emisor" | "Receptor";
|
|
29
|
-
export declare const estadoCtaCteParam: (v: unknown, field?: string) => "Modificable" | "Aceptada" | "Rechazada" | "CanceladaTotal" | "InformadaAgDpto";
|
|
30
|
-
export declare const estadoCmpParam: (v: unknown, field?: string) => "InformadaAgDpto" | "PendienteRecepcion" | "Recepcionado" | "Aceptado" | "Rechazado";
|
|
31
|
-
export declare const opcionTransferenciaParam: (v: unknown, field?: string) => "SCA" | "ADC";
|
|
32
|
-
export declare const tipoCancelacionParam: (v: unknown, field?: string) => "PAR" | "TOT";
|
|
33
|
-
/** `SiNoSimpleType`. */
|
|
34
|
-
export declare function siNoParam(value: unknown, field: string): 'S' | 'N';
|
|
35
|
-
/** `CBUSimpleType` (22 dígitos, con dígitos verificadores). */
|
|
36
|
-
export declare function cbuParam(value: unknown, field: string): string;
|
|
37
|
-
/** `IdComprobanteType`. */
|
|
38
|
-
export declare function idComprobanteParam(value: IdComprobanteInput | undefined, field: string): Xml;
|
|
39
|
-
/** `IdCtaCteType` (choice `codCtaCte` | `idFactura`). */
|
|
40
|
-
export declare function idCtaCteParam(value: IdCtaCteInput | undefined, field?: string): Xml;
|
|
41
|
-
/** `FiltroFechaType`. */
|
|
42
|
-
export declare function fechaParam(value: FiltroFecha | undefined, field?: string): Xml;
|
|
43
|
-
/** `ArrayMotivosRechazoType`. */
|
|
44
|
-
export declare function motivosRechazoParam(value: MotivoRechazo[] | undefined, field?: string): Xml;
|
|
45
|
-
/** `ArrayCodigosDescripcionesType` para formas de cancelación. */
|
|
46
|
-
export declare function formasCancelacionParam(value: FormaCancelacionInput[] | undefined, field?: string, required?: boolean): Xml | undefined;
|
|
47
|
-
/** `ArrayConfirmarNotasType`. */
|
|
48
|
-
export declare function confirmarNotasParam(value: ConfirmarNotaDCInput[] | undefined, field?: string): Xml | undefined;
|
|
49
|
-
/** `ArrayRetencionesType`. */
|
|
50
|
-
export declare function retencionesParam(value: RetencionInput[] | undefined, field?: string): Xml | undefined;
|
|
51
|
-
/** `ArrayAjustesOperacionType`. */
|
|
52
|
-
export declare function ajustesParam(value: AjusteOperacion[] | undefined, field?: string): Xml | undefined;
|
|
53
|
-
/** `CuentaEnAgenteType`. */
|
|
54
|
-
export declare function ctaAgenteParam(value: CuentaEnAgenteInput | undefined, field?: string): Xml;
|
|
55
|
-
/** Código de moneda (`xsd:string`; ej: `PES`, `DOL`). */
|
|
56
|
-
export declare function monedaParam(value: unknown, field?: string): string;
|
|
57
|
-
export {};
|
|
58
|
-
//# sourceMappingURL=validation.d.ts.map
|
package/dist/validation.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
|