Files
koodiklinikka.fi/components/feed-transformers/twitter.ts
Aarni Koskela a4a04f1dac WIP
2022-02-11 16:54:44 +02:00

36 lines
885 B
TypeScript

import { KKEvent } from "../../data/events";
import twitterText from "twitter-text";
export interface TwitterItem {
retweeted?: boolean;
retweeted_status?: TwitterItem;
user: {
screen_name: string;
profile_image_url_https: string;
};
text: string;
created_at: number | string; // TODO: type?
}
function convertTwitterItem(item: TwitterItem): KKEvent {
if (item.retweeted && item.retweeted_status) {
item = item.retweeted_status;
}
const url = `https://twitter.com/${item.user.screen_name}`;
return {
user: `@${item.user.screen_name}`,
userLink: url,
image: item.user.profile_image_url_https,
imageLink: url,
body: twitterText.autoLink(item.text),
timestamp: new Date(item.created_at),
type: "twitter",
};
}
export function convertTwitterItems(items: readonly TwitterItem[]) {
return items.map(convertTwitterItem);
}