UNPKG

openapi-zod-typed-express

Version:

Simple express runtime parser and documentation swagger generator with 100% support of Typescript static types

37 lines (36 loc) 1.41 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var zod_1 = __importDefault(require("zod")); var runtimeSchemaValidation_1 = require("./runtimeSchemaValidation"); var zStringToDateISO = (0, runtimeSchemaValidation_1.zDual)({ parse: zod_1.default .string() .datetime() .transform(function (s) { return new Date(s); }) .pipe(zod_1.default.date()) .meta({ description: 'Date in ISO string format', }), serialize: zod_1.default .date() .transform(function (d) { return d.toISOString(); }) .pipe(zod_1.default.string()), }); var zStringToNumber = (0, runtimeSchemaValidation_1.zDual)({ parse: zod_1.default.string().transform(Number).pipe(zod_1.default.number()), serialize: zod_1.default.number().transform(String).pipe(zod_1.default.string()), }); var zToArrayIfNot = function (item, zBaseType) { if (zBaseType === void 0) { zBaseType = zod_1.default.any(); } return zod_1.default .union([zBaseType, zod_1.default.array(zBaseType)]) .transform(function (val) { if (val === null || val === undefined) return []; return Array.isArray(val) ? val : [val]; }) .pipe(zod_1.default.array(item)); };