1
2
3
4
5
6
7
8
9
import { fetchRSS } from "https://esm.town/v/stevekrouse/fetchRSS";
export let newRSSItems = ({ url, lastRunAt }) =>
fetchRSS(url)
.then(({ channel: { item } }) =>
(Array.isArray(item) ? item : [item]).filter(
({ pubDate }) => lastRunAt && new Date(pubDate) > new Date(lastRunAt),
)
);
1
2
3
4
5
6
7
8
9
import { fetchAndParseFeeds } from "https://esm.town/v/iakovos/fetchAndParseFeeds";
export const newRSSItems = async ({ url, type, lastRunAt }) => {
const items = await fetchAndParseFeeds(url);
return items?.filter(({ pubDate }) =>
lastRunAt && new Date(pubDate) > new Date(lastRunAt)
).map((item) => ({ ...item, type }));
};
// Forked from @stevekrouse.newRSSItems
1
Next