UNPKG

@mintlify/validation

Version:

Validates mint.json files

32 lines (31 loc) 964 B
import { fontFormats } from '@mintlify/models'; import { z } from 'zod'; export const fontDetailsSchema = z .object({ family: z.string().describe('The font family, such as "Open Sans", "Playfair Display"'), weight: z .number() .optional() .describe('The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts.'), url: z .string() .url() .optional() .describe('The font url, such as https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2'), format: z.enum(fontFormats).optional().describe('The font format, can be one of woff, woff2'), }) .refine((data) => { if (data.url) { return !!data.format; } return true; }); export const fontSchema = z.union([ fontDetailsSchema, z .object({ headings: fontDetailsSchema.optional(), body: fontDetailsSchema.optional(), }) .strict(), ]);