feed
Version:
Feed is a RSS, Atom and JSON feed generator for Node.js, making content syndication simple and intuitive!
93 lines (92 loc) • 1.98 kB
TypeScript
//#region src/typings/index.d.ts
interface Item {
title: string;
id?: string;
link: string;
date: Date;
description?: string;
content?: string;
category?: Category[];
guid?: string;
image?: string | Enclosure;
audio?: string | Enclosure;
video?: string | Enclosure;
enclosure?: Enclosure;
author?: Author[];
contributor?: Author[];
published?: Date;
copyright?: string;
extensions?: Extension[];
}
interface Enclosure {
url: string;
type?: string;
length?: number;
title?: string;
duration?: number;
}
interface Author {
name?: string;
email?: string;
link?: string;
avatar?: string;
}
interface Category {
name?: string;
domain?: string;
scheme?: string;
term?: string;
}
interface FeedOptions {
id?: string;
title: string;
updated?: Date;
/**
* Feed generator. Defaults to the library's URL.
* Pass `false` to omit the `<generator>` element entirely.
*/
generator?: string | false;
language?: string;
ttl?: number;
stylesheet?: string;
feed?: string;
feedLinks?: {
rss?: string;
atom?: string;
json?: string;
[key: string]: string | undefined;
};
hub?: string;
docs?: string;
podcast?: boolean;
category?: string;
author?: Author;
link?: string;
description?: string;
image?: string;
favicon?: string;
copyright?: string;
}
interface Extension {
name: string;
objects: Record<string, unknown>;
} //#endregion
//#region src/feed.d.ts
declare class Feed {
options: FeedOptions;
items: Item[];
categories: string[];
contributors: Author[];
extensions: Extension[];
constructor(options: FeedOptions);
addItem(item: Item): void;
addCategory(category: string): void;
addContributor(contributor: Author): void;
addExtension(extension: Extension): void;
atom1(): string;
rss2(): string;
json1(): string;
}
//#endregion
export { Author, Category, Enclosure, Extension, Feed, FeedOptions, Item };
//# sourceMappingURL=feed.d.ts.map