Sharkey/src/renderers/get-post-summary.ts

46 lines
857 B
TypeScript
Raw Normal View History

2017-10-06 21:36:46 +03:00
/**
* 稿
* @param {*} post 稿
*/
2017-10-07 00:58:50 +03:00
const summarize = (post: any): string => {
2017-10-31 21:16:16 +02:00
let summary = '';
// チャンネル
summary += post.channel ? `${post.channel.title}:` : '';
// 本文
summary += post.text ? post.text : '';
2017-02-18 06:07:34 +02:00
// メディアが添付されているとき
if (post.media) {
summary += ` (${post.media.length}つのメディア)`;
}
// 投票が添付されているとき
if (post.poll) {
summary += ' (投票)';
}
// 返信のとき
2018-03-29 08:48:47 +03:00
if (post.replyId) {
2017-11-01 03:22:40 +02:00
if (post.reply) {
summary += ` RE: ${summarize(post.reply)}`;
2017-02-18 06:07:34 +02:00
} else {
summary += ' RE: ...';
}
}
// Repostのとき
2018-03-29 08:48:47 +03:00
if (post.repostId) {
2017-02-18 06:07:34 +02:00
if (post.repost) {
2017-02-19 05:27:43 +02:00
summary += ` RP: ${summarize(post.repost)}`;
2017-02-18 06:07:34 +02:00
} else {
summary += ' RP: ...';
}
}
return summary.trim();
};
2017-03-18 13:05:11 +02:00
export default summarize;