facturacionelectronicapy-ts-xmlgen
Version:
Genera el contenido del archivo XML del Documento electrónico exigido por la SET
39 lines (38 loc) • 1.51 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DncpSchema = void 0;
const zod_1 = require("zod");
const CommonValidators_1 = __importDefault(require("../../helpers/validation/CommonValidators"));
const NumberLenght_1 = __importDefault(require("../../helpers/validation/NumberLenght"));
const SDParser_1 = __importDefault(require("../../helpers/SDParser"));
/**E1.1. Campos de informaciones de Compras Públicas (E020-E029) */
exports.DncpSchema = zod_1.z.object({
// E021
modalidad: zod_1.z.string().length(2).describe(SDParser_1.default.stringify('E021')),
// E022
entidad: zod_1.z
.number()
.superRefine((value, ctx) => {
new NumberLenght_1.default(value, ctx).int().length(5);
})
.describe(SDParser_1.default.stringify('E022')),
// E023
año: zod_1.z
.number()
.superRefine((value, ctx) => {
new NumberLenght_1.default(value, ctx).int().length(2);
})
.describe(SDParser_1.default.stringify('E023')),
// E024
secuencia: zod_1.z
.number()
.superRefine((value, ctx) => {
new NumberLenght_1.default(value, ctx).int().length(7);
})
.describe(SDParser_1.default.stringify('E024')),
// E025
fecha: CommonValidators_1.default.isoDate().describe(SDParser_1.default.stringify('E025')),
});