summaryrefslogtreecommitdiff
path: root/src/services/note/create.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-09-07 00:52:21 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-09-07 00:52:21 +0900
commit538bb978edab3cd566c4201674adadc0fd3040df (patch)
treed55a4bc74c180f54a55dd60eb7219dd37d809b20 /src/services/note/create.ts
parentFix bug & some refactor (diff)
parentFix typo: serive -> service (#2647) (diff)
downloadmisskey-538bb978edab3cd566c4201674adadc0fd3040df.tar.gz
misskey-538bb978edab3cd566c4201674adadc0fd3040df.tar.bz2
misskey-538bb978edab3cd566c4201674adadc0fd3040df.zip
Merge branch 'develop' of https://github.com/syuilo/misskey into develop
Diffstat (limited to 'src/services/note/create.ts')
-rw-r--r--src/services/note/create.ts17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 11e3755863..c08836c94b 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -24,6 +24,7 @@ import isQuote from '../../misc/is-quote';
import { TextElementMention } from '../../mfm/parse/elements/mention';
import { TextElementHashtag } from '../../mfm/parse/elements/hashtag';
import { updateNoteStats } from '../update-chart';
+import { erase, unique } from '../../prelude/array';
type NotificationType = 'reply' | 'renote' | 'quote' | 'mention';
@@ -103,7 +104,7 @@ export default async (user: IUser, data: Option, silent = false) => new Promise<
if (data.viaMobile == null) data.viaMobile = false;
if (data.visibleUsers) {
- data.visibleUsers = data.visibleUsers.filter(x => x != null);
+ data.visibleUsers = erase(null, data.visibleUsers);
}
if (data.reply && data.reply.deletedAt != null) {
@@ -384,7 +385,7 @@ function extractHashtags(tokens: ReturnType<typeof parse>): string[] {
.map(t => (t as TextElementHashtag).hashtag)
.filter(tag => tag.length <= 100);
- return [...new Set(hashtags)];
+ return unique(hashtags);
}
function index(note: INote) {
@@ -541,20 +542,20 @@ function incNotesCount(user: IUser) {
async function extractMentionedUsers(tokens: ReturnType<typeof parse>): Promise<IUser[]> {
if (tokens == null) return [];
- const mentionTokens = [...new Set(
+ const mentionTokens = unique(
tokens
.filter(t => t.type == 'mention') as TextElementMention[]
- )];
+ );
- const mentionedUsers = [...new Set(
- (await Promise.all(mentionTokens.map(async m => {
+ const mentionedUsers = unique(
+ erase(null, await Promise.all(mentionTokens.map(async m => {
try {
return await resolveUser(m.username, m.host);
} catch (e) {
return null;
}
- }))).filter(x => x != null)
- )];
+ })))
+ );
return mentionedUsers;
}