import { array, InferType, object, string } from 'yup'; import { ENS_NAME_REGEXP, SERIES_SLUG_REGEXP } from '~/regexp.constants'; export const AUTHOR_SCHEMA = object({ slug: string().required().lowercase().matches(ENS_NAME_REGEXP), name: string().required(), email: string().email().required(), bio: string(), contacts: array().of( object().shape({ service: string() .oneOf(['twitter', 'instagram', 'website', '500px']) .required(), link: string().url().required(), }), ), series: array().of( string().required().lowercase().matches(SERIES_SLUG_REGEXP), ), }).strict(); export type Author = InferType;