server/packages/client/schemas/common.ts
Jesse Wierzbinski 58342e86e1
refactor(api): ♻️ Move from @hono/zod-openapi to hono-openapi
hono-openapi is easier to work with and generates better OpenAPI definitions
2025-03-29 03:30:06 +01:00

22 lines
580 B
TypeScript

import ISO6391 from "iso-639-1";
import { z } from "zod";
export const Id = z.string().uuid();
export const iso631 = z
.enum(ISO6391.getAllCodes() as [string, ...string[]])
.openapi({
description: "ISO 639-1 language code",
example: "en",
externalDocs: {
url: "https://en.wikipedia.org/wiki/List_of_ISO_639-1_language_codes",
},
ref: "ISO631",
});
export const zBoolean = z
.string()
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
.openapi({ type: "boolean" })
.or(z.boolean());