UNPKG

@primer/primitives

Version:

Typography, spacing, and color primitives for Primer design system

23 lines (22 loc) 803 B
import { z } from 'zod'; import { joinFriendly, schemaErrorMessage } from '../utilities/index.js'; export const collection = (collections) => { return z.string().superRefine((value, ctx) => { if (!collections.includes(value)) { ctx.addIssue({ code: 'custom', message: schemaErrorMessage(`Invalid collection: "${value}"`, `Valid collections are ${joinFriendly(collections)}`), }); } }); }; export const mode = (modes) => { return z.string().superRefine((value, ctx) => { if (!modes.includes(value)) { ctx.addIssue({ code: 'custom', message: schemaErrorMessage(`Invalid mode: "${value}"`, `Valid modes are ${joinFriendly(modes)}`), }); } }); };