facturacionelectronicapy-ts-xmlgen
Version:
Genera el contenido del archivo XML del Documento electrónico exigido por la SET
44 lines (43 loc) • 1.95 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DisablingEventSchema = void 0;
const zod_1 = require("zod");
const eDocumentTypes_table_1 = require("../../data/eDocumentTypes.table");
const CommonValidators_1 = __importDefault(require("../../helpers/validation/CommonValidators"));
const SDParser_1 = __importDefault(require("../../helpers/SDParser"));
// GEI001
exports.DisablingEventSchema = zod_1.z
.object({
// GEI002
timbrado: CommonValidators_1.default.timbrado().describe(SDParser_1.default.stringify('GEI002')),
// GEI003
establecimiento: CommonValidators_1.default.zeroPadToLength(3).describe(SDParser_1.default.stringify('GEI003')),
// GEI004
punto: CommonValidators_1.default.zeroPadToLength(3).describe(SDParser_1.default.stringify('GEI004')),
// GEI005
desde: CommonValidators_1.default.zeroPadToLength(7).describe(SDParser_1.default.stringify('GEI005')),
// GEI006
hasta: CommonValidators_1.default.zeroPadToLength(7).describe(SDParser_1.default.stringify('GEI006')),
// GEI007
tipoDocumento: zod_1.z
.nativeEnum(eDocumentTypes_table_1.EDocumentType)
.describe(SDParser_1.default.stringify('GEI007', { e: 'EDocumentType' })),
// GEI008
motivo: CommonValidators_1.default.motive().describe(SDParser_1.default.stringify('GEI008')),
// GEI009
serie: CommonValidators_1.default.serie()
.optional()
.describe(SDParser_1.default.stringify('GEI009')),
})
.superRefine((value, ctx) => {
if (value.desde > value.hasta) {
ctx.addIssue({
code: zod_1.z.ZodIssueCode.custom,
message: "El valor inicial en 'data.desde' debe ser inferior o igual al valor final en 'data.hasta'",
path: ['desde'],
});
}
});