egirlskey/src/server/common/get-post-summary.ts

46 lines
859 B
TypeScript
Raw Normal View History

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