@primer/primitives
Version:
Typography, spacing, and color primitives for Primer design system
13 lines (12 loc) • 585 B
JavaScript
import { z } from 'zod';
import { joinFriendly, schemaErrorMessage } from '../utilities/index.js';
export const collection = (collections) => {
return z.string().refine(value => collections.includes(value), value => ({
message: schemaErrorMessage(`Invalid collection: "${value}"`, `Valid collections are ${joinFriendly(collections)}`),
}));
};
export const mode = (modes) => {
return z.string().refine(value => modes.includes(value), value => ({
message: schemaErrorMessage(`Invalid mode: "${value}"`, `Valid modes are ${joinFriendly(modes)}`),
}));
};