facturas 0.12.3 → 0.12.4
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/dist/{chunk-ZPVXXSUC.mjs → chunk-3EJINDBP.mjs} +3 -3
- package/dist/{chunk-G7BWMDFT.mjs → chunk-7V5S3ISG.mjs} +120 -31
- package/dist/chunk-7V5S3ISG.mjs.map +1 -0
- package/dist/{chunk-ZOSNASXB.mjs → chunk-BYEP3ABS.mjs} +1 -1
- package/dist/chunk-BYEP3ABS.mjs.map +1 -0
- package/dist/{chunk-UDX6HLAU.mjs → chunk-PHXH34L6.mjs} +2 -2
- package/dist/{chunk-7LEKQ4P7.mjs → chunk-WVKVJTFG.mjs} +2 -2
- package/dist/{chunk-QHYJ424J.mjs → chunk-YYDSBHMO.mjs} +3 -3
- package/dist/{chunk-VGNLXU4T.mjs → chunk-ZZDL6I56.mjs} +3 -3
- package/dist/cli.d.ts +3 -3
- package/dist/cli.mjs +6 -6
- package/dist/{client-BT_F1N8o.d.ts → client-tzfxAy7w.d.ts} +11 -6
- package/dist/{decimal-xie0oMOQ.d.ts → decimal-CgWMOiAC.d.ts} +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.mjs +1 -1
- package/dist/{fiscal-evidence-Dpj-Iao8.d.ts → fiscal-evidence-DXl_U1uz.d.ts} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.mjs +7 -7
- package/dist/padron.mjs +2 -2
- package/dist/wsfe.d.ts +3 -3
- package/dist/wsfe.mjs +4 -4
- package/dist/wsmtxca.d.ts +1 -1
- package/dist/wsmtxca.mjs +3 -3
- package/package.json +1 -1
- package/dist/chunk-G7BWMDFT.mjs.map +0 -1
- package/dist/chunk-ZOSNASXB.mjs.map +0 -1
- /package/dist/{chunk-ZPVXXSUC.mjs.map → chunk-3EJINDBP.mjs.map} +0 -0
- /package/dist/{chunk-UDX6HLAU.mjs.map → chunk-PHXH34L6.mjs.map} +0 -0
- /package/dist/{chunk-7LEKQ4P7.mjs.map → chunk-WVKVJTFG.mjs.map} +0 -0
- /package/dist/{chunk-QHYJ424J.mjs.map → chunk-YYDSBHMO.mjs.map} +0 -0
- /package/dist/{chunk-VGNLXU4T.mjs.map → chunk-ZZDL6I56.mjs.map} +0 -0
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
classifyArcaAuthenticationIssues,
|
|
4
4
|
createArcaAuthenticationEvidence,
|
|
5
5
|
executeWithAuthenticationRecovery
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PHXH34L6.mjs";
|
|
7
7
|
import {
|
|
8
8
|
ArcaInputError,
|
|
9
9
|
ArcaInvalidSoapResponseError,
|
|
10
10
|
ArcaServiceError,
|
|
11
11
|
ArcaSoapFaultError,
|
|
12
12
|
ArcaTransportError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-BYEP3ABS.mjs";
|
|
14
14
|
|
|
15
15
|
// src/services/wsmtxca.ts
|
|
16
16
|
function createWsmtxcaService(options) {
|
|
@@ -655,4 +655,4 @@ function formatCompactDateToIso(dateValue) {
|
|
|
655
655
|
export {
|
|
656
656
|
createWsmtxcaService
|
|
657
657
|
};
|
|
658
|
-
//# sourceMappingURL=chunk-
|
|
658
|
+
//# sourceMappingURL=chunk-3EJINDBP.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createPadronService
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WVKVJTFG.mjs";
|
|
4
4
|
import {
|
|
5
5
|
arcaMinorUnitsToNumber,
|
|
6
6
|
assertArcaMinorUnits,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
normalizeWsfeDateInput,
|
|
12
12
|
normalizeWsfeVoucherInput,
|
|
13
13
|
serializeArcaExchangeRate
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YYDSBHMO.mjs";
|
|
15
15
|
import {
|
|
16
16
|
ARCA_CURRENCY_IDS,
|
|
17
17
|
ARCA_DOCUMENT_TYPES,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-GX5ERXT6.mjs";
|
|
24
24
|
import {
|
|
25
25
|
createWsmtxcaService
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-3EJINDBP.mjs";
|
|
27
27
|
import {
|
|
28
28
|
ArcaConfigurationError,
|
|
29
29
|
ArcaError,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
createResponseBodyDiagnostic,
|
|
36
36
|
createSafeErrorDiagnostic,
|
|
37
37
|
toArcaSafeErrorMetadata
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-BYEP3ABS.mjs";
|
|
39
39
|
|
|
40
40
|
// src/config.ts
|
|
41
41
|
var ARCA_ENVIRONMENTS = ["production", "test"];
|
|
@@ -3658,10 +3658,11 @@ async function previewNote(wsfe, input, inputOptions, context, kind) {
|
|
|
3658
3658
|
["representedTaxId", "service", "forceRefresh"],
|
|
3659
3659
|
"options"
|
|
3660
3660
|
);
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
options
|
|
3664
|
-
|
|
3661
|
+
const prepared = await prepareNote(wsfe, input, options, context, kind);
|
|
3662
|
+
return {
|
|
3663
|
+
...toPreview(prepared, options),
|
|
3664
|
+
...prepared.original === void 0 ? {} : { original: prepared.original }
|
|
3665
|
+
};
|
|
3665
3666
|
}
|
|
3666
3667
|
async function prepareNote(wsfe, input, options, context, kind) {
|
|
3667
3668
|
validateOptions(options);
|
|
@@ -3714,7 +3715,7 @@ async function prepareNote(wsfe, input, options, context, kind) {
|
|
|
3714
3715
|
}
|
|
3715
3716
|
}
|
|
3716
3717
|
validatePrepared(prepared, options);
|
|
3717
|
-
return prepared;
|
|
3718
|
+
return { ...prepared, original: toVoucherSummary(original.voucher) };
|
|
3718
3719
|
}
|
|
3719
3720
|
function preparePeriodNote(input, options, kind) {
|
|
3720
3721
|
const { associatedPeriod, ...invoice } = input;
|
|
@@ -3769,7 +3770,7 @@ async function recoverOperation(select, key, inputOptions, context) {
|
|
|
3769
3770
|
);
|
|
3770
3771
|
if (json === null) {
|
|
3771
3772
|
throw new ArcaInputError("No reservation exists for this idempotency key", {
|
|
3772
|
-
code: "
|
|
3773
|
+
code: "ARCA_INPUT_RESERVATION_NOT_FOUND",
|
|
3773
3774
|
field: "idempotencyKey"
|
|
3774
3775
|
});
|
|
3775
3776
|
}
|
|
@@ -4088,10 +4089,12 @@ function createArcaClient(config = {}) {
|
|
|
4088
4089
|
// src/store/file.ts
|
|
4089
4090
|
import { createHash as createHash3, randomUUID as randomUUID2 } from "crypto";
|
|
4090
4091
|
import {
|
|
4092
|
+
link,
|
|
4091
4093
|
mkdir,
|
|
4094
|
+
open,
|
|
4092
4095
|
readFile,
|
|
4093
4096
|
rename,
|
|
4094
|
-
|
|
4097
|
+
rmdir,
|
|
4095
4098
|
stat,
|
|
4096
4099
|
unlink,
|
|
4097
4100
|
writeFile
|
|
@@ -4194,35 +4197,28 @@ function fileLease(directory, ensure) {
|
|
|
4194
4197
|
owner,
|
|
4195
4198
|
expiresAt: new Date(Date.now() + ARCA_LEASE_MS).toISOString()
|
|
4196
4199
|
});
|
|
4197
|
-
const read = async () => {
|
|
4198
|
-
try {
|
|
4199
|
-
return JSON.parse(await readFile(holder, "utf8"));
|
|
4200
|
-
} catch {
|
|
4201
|
-
return null;
|
|
4202
|
-
}
|
|
4203
|
-
};
|
|
4204
4200
|
return {
|
|
4205
4201
|
acquire: (owner) => storeCall(async () => {
|
|
4206
4202
|
await ensure();
|
|
4207
4203
|
if (!await createDirectory(directory)) {
|
|
4208
|
-
|
|
4204
|
+
const current = await readHolder(holder);
|
|
4205
|
+
if (await stillHeld(directory, current?.value ?? null)) {
|
|
4209
4206
|
return false;
|
|
4210
4207
|
}
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4208
|
+
if (current) {
|
|
4209
|
+
await retireHolder(directory, holder, current.raw);
|
|
4210
|
+
} else {
|
|
4211
|
+
await removeEmptyDirectory(directory);
|
|
4214
4212
|
}
|
|
4213
|
+
return false;
|
|
4215
4214
|
}
|
|
4216
4215
|
return await writeHolder(holder, claim(owner));
|
|
4217
4216
|
}),
|
|
4218
|
-
renew: (owner) => storeCall(
|
|
4219
|
-
if ((await read())?.owner === owner) {
|
|
4220
|
-
await writeFile(holder, claim(owner), { mode: 384 });
|
|
4221
|
-
}
|
|
4222
|
-
}),
|
|
4217
|
+
renew: (owner) => storeCall(() => renewHolder(holder, owner, claim(owner))),
|
|
4223
4218
|
release: (owner) => storeCall(async () => {
|
|
4224
|
-
|
|
4225
|
-
|
|
4219
|
+
const current = await readHolder(holder);
|
|
4220
|
+
if (current?.value?.owner === owner) {
|
|
4221
|
+
await retireHolder(directory, holder, current.raw);
|
|
4226
4222
|
}
|
|
4227
4223
|
})
|
|
4228
4224
|
};
|
|
@@ -4243,12 +4239,105 @@ async function writeHolder(holder, value) {
|
|
|
4243
4239
|
await writeFile(holder, value, { mode: 384, flag: "wx" });
|
|
4244
4240
|
return true;
|
|
4245
4241
|
} catch (error) {
|
|
4246
|
-
if (error.code === "EEXIST") {
|
|
4242
|
+
if (error.code === "EEXIST" || error.code === "ENOENT") {
|
|
4247
4243
|
return false;
|
|
4248
4244
|
}
|
|
4249
4245
|
throw error;
|
|
4250
4246
|
}
|
|
4251
4247
|
}
|
|
4248
|
+
async function readHolder(holder) {
|
|
4249
|
+
let raw;
|
|
4250
|
+
try {
|
|
4251
|
+
raw = await readFile(holder, "utf8");
|
|
4252
|
+
} catch (error) {
|
|
4253
|
+
if (error.code === "ENOENT") {
|
|
4254
|
+
return null;
|
|
4255
|
+
}
|
|
4256
|
+
throw error;
|
|
4257
|
+
}
|
|
4258
|
+
try {
|
|
4259
|
+
return { raw, value: JSON.parse(raw) };
|
|
4260
|
+
} catch {
|
|
4261
|
+
return { raw, value: null };
|
|
4262
|
+
}
|
|
4263
|
+
}
|
|
4264
|
+
async function renewHolder(holder, owner, value) {
|
|
4265
|
+
let file;
|
|
4266
|
+
try {
|
|
4267
|
+
file = await open(holder, "r+");
|
|
4268
|
+
} catch (error) {
|
|
4269
|
+
if (error.code === "ENOENT") {
|
|
4270
|
+
return;
|
|
4271
|
+
}
|
|
4272
|
+
throw error;
|
|
4273
|
+
}
|
|
4274
|
+
try {
|
|
4275
|
+
let current = null;
|
|
4276
|
+
try {
|
|
4277
|
+
current = JSON.parse(await file.readFile("utf8"));
|
|
4278
|
+
} catch {
|
|
4279
|
+
}
|
|
4280
|
+
if (current?.owner === owner) {
|
|
4281
|
+
await file.truncate(0);
|
|
4282
|
+
await file.write(value, 0, "utf8");
|
|
4283
|
+
}
|
|
4284
|
+
} finally {
|
|
4285
|
+
await file.close();
|
|
4286
|
+
}
|
|
4287
|
+
}
|
|
4288
|
+
async function retireHolder(directory, holder, expected) {
|
|
4289
|
+
const retired = `${directory}.${randomUUID2()}.stale`;
|
|
4290
|
+
try {
|
|
4291
|
+
await rename(holder, retired);
|
|
4292
|
+
} catch (error) {
|
|
4293
|
+
if (error.code === "ENOENT") {
|
|
4294
|
+
return;
|
|
4295
|
+
}
|
|
4296
|
+
throw error;
|
|
4297
|
+
}
|
|
4298
|
+
let removed = false;
|
|
4299
|
+
try {
|
|
4300
|
+
if (await readFile(retired, "utf8") !== expected) {
|
|
4301
|
+
return;
|
|
4302
|
+
}
|
|
4303
|
+
try {
|
|
4304
|
+
await rmdir(directory);
|
|
4305
|
+
removed = true;
|
|
4306
|
+
} catch (error) {
|
|
4307
|
+
if (!isDirectoryContention(error)) {
|
|
4308
|
+
throw error;
|
|
4309
|
+
}
|
|
4310
|
+
}
|
|
4311
|
+
} finally {
|
|
4312
|
+
if (!removed) {
|
|
4313
|
+
await restoreHolder(retired, holder);
|
|
4314
|
+
}
|
|
4315
|
+
await unlink(retired).catch(() => void 0);
|
|
4316
|
+
}
|
|
4317
|
+
}
|
|
4318
|
+
async function restoreHolder(retired, holder) {
|
|
4319
|
+
try {
|
|
4320
|
+
await link(retired, holder);
|
|
4321
|
+
} catch (error) {
|
|
4322
|
+
const code = error.code;
|
|
4323
|
+
if (code !== "EEXIST" && code !== "ENOENT") {
|
|
4324
|
+
throw error;
|
|
4325
|
+
}
|
|
4326
|
+
}
|
|
4327
|
+
}
|
|
4328
|
+
async function removeEmptyDirectory(directory) {
|
|
4329
|
+
try {
|
|
4330
|
+
await rmdir(directory);
|
|
4331
|
+
} catch (error) {
|
|
4332
|
+
if (!isDirectoryContention(error)) {
|
|
4333
|
+
throw error;
|
|
4334
|
+
}
|
|
4335
|
+
}
|
|
4336
|
+
}
|
|
4337
|
+
function isDirectoryContention(error) {
|
|
4338
|
+
const code = error.code;
|
|
4339
|
+
return code === "ENOENT" || code === "ENOTEMPTY" || code === "EEXIST";
|
|
4340
|
+
}
|
|
4252
4341
|
async function stillHeld(directory, holder) {
|
|
4253
4342
|
if (holder) {
|
|
4254
4343
|
return Date.parse(holder.expiresAt) > Date.now();
|
|
@@ -4278,4 +4367,4 @@ export {
|
|
|
4278
4367
|
withLease,
|
|
4279
4368
|
createFileStore
|
|
4280
4369
|
};
|
|
4281
|
-
//# sourceMappingURL=chunk-
|
|
4370
|
+
//# sourceMappingURL=chunk-7V5S3ISG.mjs.map
|