@mintlify/validation
Version:
Validates mint.json files
32 lines (31 loc) • 964 B
JavaScript
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(),
]);