feedsmith
Version:
Fast, all‑in‑one feed parser and generator for RSS, Atom, RDF, and JSON Feed, with support for Podcast, iTunes, Dublin Core, and OPML files.
58 lines • 1.29 kB
text/typescript
import { DateLike } from "../../../common/types.cjs";
//#region src/feeds/json/common/types.d.ts
declare namespace Json {
type Author = {
name?: string;
url?: string;
avatar?: string;
};
type Attachment = {
url: string;
mime_type: string;
title?: string;
size_in_bytes?: number;
duration_in_seconds?: number;
};
type Item<TDate extends DateLike> = {
id: string;
url?: string;
external_url?: string;
title?: string;
content_html?: string;
content_text?: string;
summary?: string;
image?: string;
banner_image?: string;
date_published?: TDate;
date_modified?: TDate;
tags?: Array<string>;
authors?: Array<Author>;
language?: string;
attachments?: Array<Attachment>;
} & ({
content_html: string;
} | {
content_text: string;
});
type Hub = {
type: string;
url: string;
};
type Feed<TDate extends DateLike> = {
title: string;
home_page_url?: string;
feed_url?: string;
description?: string;
user_comment?: string;
next_url?: string;
icon?: string;
favicon?: string;
language?: string;
expired?: boolean;
hubs?: Array<Hub>;
authors?: Array<Author>;
items: Array<Item<TDate>>;
};
}
//#endregion
export { Json };