facturacionelectronicapy-ts-xmlgen
Version:
Genera el contenido del archivo XML del Documento electrónico exigido por la SET
34 lines (33 loc) • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConformityEventSchema = exports.ConformityType = void 0;
const zod_1 = require("zod");
const ZodValidator_1 = __importDefault(require("../../helpers/validation/ZodValidator"));
const CommonValidators_1 = __importDefault(require("../../helpers/validation/CommonValidators"));
const SDParser_1 = __importDefault(require("../../helpers/SDParser"));
var ConformityType;
(function (ConformityType) {
ConformityType[ConformityType["TOTAL"] = 1] = "TOTAL";
ConformityType[ConformityType["PARTIAL"] = 2] = "PARTIAL";
})(ConformityType || (exports.ConformityType = ConformityType = {}));
// GEC001
exports.ConformityEventSchema = zod_1.z
.object({
// GCO002
cdc: CommonValidators_1.default.cdc().describe(SDParser_1.default.stringify('GCO002')),
// GCO003
tipoConformidad: zod_1.z.nativeEnum(ConformityType).describe(SDParser_1.default.stringify('GCO003', {
e: 'ConformityType'
})),
// GCO004
fechaRecepcion: CommonValidators_1.default.isoDateTime().optional().describe(SDParser_1.default.stringify('GCO004')),
})
.superRefine((value, ctx) => {
const validator = new ZodValidator_1.default(ctx, value);
if (value.tipoConformidad == ConformityType.PARTIAL) {
validator.requiredField('fechaRecepcion');
}
});