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

46 lines
857 B
TypeScript
Raw Normal View History

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