const zodDayjs = () => {
return z.custom<Dayjs>(
(val: any) => dayjs(val).isValid() || val === null || val === undefined,
{
params: { expected: 'Dayjs', received: z.string() },
},
)
app = new Elysia()
.use(openapi({
mapJsonSchema: {
zod: z.toJSONSchema,
},
}))
.get(
'',
() =>
({
status: 'ok',
startTime: dayjs(),
}) as const,
{
response: z.object({
status: z.literal('ok'),
startTime: zodDayjs(),
}),
},
).listen()
curl http://localhost:3000/openapi/json got error
warn: Custom types cannot be represented in JSON Schema
at customProcessor (/Users/seepine/workspace/elysia/elysia-template/node_modules/zod/v4/core/json-schema-processors.js:245:19)
at process (/Users/seepine/workspace/elysia/elysia-template/node_modules/zod/v4/core/to-json-schema.js:76:26)
at objectProcessor (/Users/seepine/workspace/elysia/elysia-template/node_modules/zod/v4/core/json-schema-processors.js:323:32)
at process (/Users/seepine/workspace/elysia/elysia-template/node_modules/zod/v4/core/to-json-schema.js:76:26)
at /Users/seepine/workspace/elysia/elysia-template/node_modules/zod/v4/core/to-json-schema.js:434:5
at unwrapSchema (/Users/seepine/workspace/elysia/elysia-template/node_modules/@elysiajs/openapi/dist/index.mjs:3267:47)
at toOpenAPISchema (/Users/seepine/workspace/elysia/elysia-template/node_modules/@elysiajs/openapi/dist/index.mjs:3592:11)
at openAPISchema (/Users/seepine/workspace/elysia/elysia-template/node_modules/@elysiajs/openapi/dist/index.mjs:10258:9)
at handle (file:///Users/seepine/workspace/elysia/elysia-template/node_modules/elysia/dist/bun/index.js:12:47)
at handle (file:///Users/seepine/workspace/elysia/elysia-template/node_modules/elysia/dist/bun/index.js:6:80)
at handle (file:///Users/seepine/workspace/elysia/elysia-template/node_modules/elysia/dist/bun/index.js:6:76)
at handle (file:///Users/seepine/workspace/elysia/elysia-template/node_modules/elysia/dist/bun/index.js:6:63)
curl
http://localhost:3000/openapi/jsongot error