UNPKG

facturacionelectronicapy-ts-xmlgen

Version:

Genera el contenido del archivo XML del Documento electrónico exigido por la SET

66 lines (65 loc) 2.03 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SectorEnergiaElectricaSchema = void 0; const zod_1 = require("zod"); const NumberLenght_1 = __importDefault(require("../../helpers/validation/NumberLenght")); const SDParser_1 = __importDefault(require("../../helpers/SDParser")); /**E9.2. Sector Energía Eléctrica (E791-E799) */ exports.SectorEnergiaElectricaSchema = zod_1.z .object({ // E792 numeroMedidor: zod_1.z .string() .min(1) .max(50) .optional() .describe(SDParser_1.default.stringify('E792')), // E793 codigoActividad: zod_1.z .number() .optional() .superRefine((value, ctx) => { if (value == undefined) return; new NumberLenght_1.default(value, ctx).int().length(2); }) .describe(SDParser_1.default.stringify('E793')), // E794 codigoCategoria: zod_1.z .string() .length(3) .optional() .describe(SDParser_1.default.stringify('E794')), // E795 lecturaAnterior: zod_1.z .number() .optional() .superRefine((value, ctx) => { if (value == undefined) return; new NumberLenght_1.default(value, ctx).max(11).decimalsLength(2); }) .describe(SDParser_1.default.stringify('E795')), // E796 lecturaActual: zod_1.z .number() .optional() .superRefine((value, ctx) => { if (value == undefined) return; new NumberLenght_1.default(value, ctx).max(11).decimalsLength(2); }) .describe(SDParser_1.default.stringify('E796')), }) .transform((data, ctx) => { return { ...data, // E797 consumo: data.lecturaActual && data.lecturaAnterior ? data.lecturaActual - data.lecturaAnterior : undefined, }; });