@helpwave/hightide
Version:
helpwave's component and theming library
104 lines (101 loc) • 2.93 kB
TypeScript
import { z } from 'zod';
import { Languages } from '../hooks/useLanguage.js';
import 'react/jsx-runtime';
import 'react';
type News = {
title: string;
date: Date;
description: (string | URL)[];
externalResource?: URL;
keys: string[];
};
type LocalizedNews = Record<Languages, 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;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}, {
title: string;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}>, News, {
title: string;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}>;
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;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}, {
title: string;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}>, News, {
title: string;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}>, "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;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}, {
title: string;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}>, News, {
title: string;
date: string;
description: string;
keys: string[];
image?: string | undefined;
externalResource?: string | undefined;
}>, "many">>;
declare const filterNews: (localizedNews: News[], requiredKeys: string[]) => News[];
export { type LocalizedNews, type News, filterNews, localizedNewsSchema, newsListSchema, newsSchema };