summaryrefslogtreecommitdiff
path: root/packages/astro-rss/src/schema.ts
blob: 829a4da1e459c46e1d1635f6a563c3f916ee5cca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { z } from 'astro/zod';

export const rssSchema = z.object({
	title: z.string(),
	pubDate: z.union([z.string(), z.number(), z.date()]).transform((value) => new Date(value)),
	description: z.string().optional(),
	customData: z.string().optional(),
	draft: z.boolean().optional(),
	categories: z.array(z.string()).optional(),
	author: z.string().optional(),
	commentsUrl: z.string().optional(),
	source: z.object({ url: z.string().url(), title: z.string() }).optional(),
	enclosure: z
		.object({
			url: z.string(),
			length: z.number().positive().int().finite(),
			type: z.string(),
		})
		.optional(),
});