UNPKG

@helpwave/hightide

Version:

helpwave's component and theming library

102 lines (99 loc) 2.71 kB
import { z } from 'zod'; import { Language } from '../localization/util.mjs'; type News = { title: string; date: Date; description: (string | URL)[]; externalResource?: URL; keys: string[]; }; type LocalizedNews = Record<Language, News[]>; declare const newsSchema: z.ZodEffects<z.ZodObject<{ title: z.ZodString; description: z.ZodString; date: z.ZodString; image: z.ZodOptional<z.ZodString>; externalResource: z.ZodOptional<z.ZodString>; keys: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }>, News, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }>; declare const newsListSchema: z.ZodArray<z.ZodEffects<z.ZodObject<{ title: z.ZodString; description: z.ZodString; date: z.ZodString; image: z.ZodOptional<z.ZodString>; externalResource: z.ZodOptional<z.ZodString>; keys: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }>, News, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }>, "many">; declare const localizedNewsSchema: z.ZodRecord<z.ZodEnum<["en", "de"]>, z.ZodArray<z.ZodEffects<z.ZodObject<{ title: z.ZodString; description: z.ZodString; date: z.ZodString; image: z.ZodOptional<z.ZodString>; externalResource: z.ZodOptional<z.ZodString>; keys: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }>, News, { title?: string; description?: string; date?: string; image?: string; keys?: string[]; externalResource?: string; }>, "many">>; declare const filterNews: (localizedNews: News[], requiredKeys: string[]) => News[]; export { type LocalizedNews, type News, filterNews, localizedNewsSchema, newsListSchema, newsSchema };