summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
authorAya Morisawa <AyaMorisawa4869@gmail.com>2018-12-11 20:36:55 +0900
committerGitHub <noreply@github.com>2018-12-11 20:36:55 +0900
commit125849673a1aba46021852ee473d00f4520d1bd6 (patch)
treee30d39490236df402b97a9963dafa44eaf549368 /src/server/api
parentFix error (diff)
downloadsharkey-125849673a1aba46021852ee473d00f4520d1bd6.tar.gz
sharkey-125849673a1aba46021852ee473d00f4520d1bd6.tar.bz2
sharkey-125849673a1aba46021852ee473d00f4520d1bd6.zip
Use for-of instead of forEach (#3583)
Co-authored-by: syuilo <syuilotan@yahoo.co.jp> Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Diffstat (limited to 'src/server/api')
-rw-r--r--src/server/api/endpoints/aggregation/hashtags.ts7
-rw-r--r--src/server/api/endpoints/drive/files/update.ts4
-rw-r--r--src/server/api/endpoints/games/reversi/games/show.ts3
-rw-r--r--src/server/api/endpoints/hashtags/trend.ts7
-rw-r--r--src/server/api/endpoints/i/update_widget.ts10
-rw-r--r--src/server/api/endpoints/notes/mentions.ts4
-rw-r--r--src/server/api/endpoints/notes/polls/vote.ts4
-rw-r--r--src/server/api/endpoints/users/get_frequently_replied_users.ts11
-rw-r--r--src/server/api/index.ts11
-rw-r--r--src/server/api/stream/channels/games/reversi-game.ts4
-rw-r--r--src/server/api/stream/index.ts6
11 files changed, 33 insertions, 38 deletions
diff --git a/src/server/api/endpoints/aggregation/hashtags.ts b/src/server/api/endpoints/aggregation/hashtags.ts
index 45d709f772..7577711b5f 100644
--- a/src/server/api/endpoints/aggregation/hashtags.ts
+++ b/src/server/api/endpoints/aggregation/hashtags.ts
@@ -47,10 +47,7 @@ export default define(meta, (ps) => new Promise(async (res, rej) => {
}> = [];
// カウント
- data.map(x => x._id).forEach(x => {
- // ブラックリストに登録されているタグなら弾く
- if (hidedTags.includes(x.tag)) return;
-
+ for (const x of data.map(x => x._id).filter(x => !hidedTags.includes(x.tag))) {
const i = tags.findIndex(tag => tag.name == x.tag);
if (i != -1) {
tags[i].count++;
@@ -60,7 +57,7 @@ export default define(meta, (ps) => new Promise(async (res, rej) => {
count: 1
});
}
- });
+ }
// タグを人気順に並べ替え
tags.sort((a, b) => b.count - a.count);
diff --git a/src/server/api/endpoints/drive/files/update.ts b/src/server/api/endpoints/drive/files/update.ts
index a5835c6d65..7f9eb7bad3 100644
--- a/src/server/api/endpoints/drive/files/update.ts
+++ b/src/server/api/endpoints/drive/files/update.ts
@@ -100,14 +100,14 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
Note.find({
'_files._id': file._id
}).then(notes => {
- notes.forEach(note => {
+ for (const note of notes) {
note._files[note._files.findIndex(f => f._id.equals(file._id))] = file;
Note.update({ _id: note._id }, {
$set: {
_files: note._files
}
});
- });
+ }
});
// Serialize
diff --git a/src/server/api/endpoints/games/reversi/games/show.ts b/src/server/api/endpoints/games/reversi/games/show.ts
index c747202354..0882456102 100644
--- a/src/server/api/endpoints/games/reversi/games/show.ts
+++ b/src/server/api/endpoints/games/reversi/games/show.ts
@@ -25,9 +25,8 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
loopedBoard: game.settings.loopedBoard
});
- game.logs.forEach(log => {
+ for (const log of game.logs)
o.put(log.color, log.pos);
- });
const packed = await pack(game, user);
diff --git a/src/server/api/endpoints/hashtags/trend.ts b/src/server/api/endpoints/hashtags/trend.ts
index ed4c8e337f..a26dbf0941 100644
--- a/src/server/api/endpoints/hashtags/trend.ts
+++ b/src/server/api/endpoints/hashtags/trend.ts
@@ -58,10 +58,7 @@ export default define(meta, () => new Promise(async (res, rej) => {
}> = [];
// カウント
- data.map(x => x._id).forEach(x => {
- // ブラックリストに登録されているタグなら弾く
- if (hidedTags.includes(x.tag)) return;
-
+ for (const x of data.map(x => x._id).filter(x => !hidedTags.includes(x.tag))) {
const i = tags.findIndex(tag => tag.name == x.tag);
if (i != -1) {
tags[i].count++;
@@ -71,7 +68,7 @@ export default define(meta, () => new Promise(async (res, rej) => {
count: 1
});
}
- });
+ }
// 最低要求投稿者数を下回るならカットする
const limitedTags = tags.filter(tag => tag.count >= requiredUsers);
diff --git a/src/server/api/endpoints/i/update_widget.ts b/src/server/api/endpoints/i/update_widget.ts
index 90fe8fbe23..da96ec6fc1 100644
--- a/src/server/api/endpoints/i/update_widget.ts
+++ b/src/server/api/endpoints/i/update_widget.ts
@@ -59,11 +59,11 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
//#region Deck
if (widget == null && user.clientSettings.deck && user.clientSettings.deck.columns) {
const deck = user.clientSettings.deck;
- deck.columns.filter((c: any) => c.type == 'widgets').forEach((c: any) => {
- c.widgets.forEach((w: any) => {
- if (w.id == ps.id) widget = w;
- });
- });
+ for (const c of deck.columns.filter((c: any) => c.type == 'widgets')) {
+ for (const w of c.widgets.filter((w: any) => w.id == ps.id)) {
+ widget = w;
+ }
+ }
if (widget) {
widget.data = ps.data;
diff --git a/src/server/api/endpoints/notes/mentions.ts b/src/server/api/endpoints/notes/mentions.ts
index 718f5e4403..a353165cd0 100644
--- a/src/server/api/endpoints/notes/mentions.ts
+++ b/src/server/api/endpoints/notes/mentions.ts
@@ -91,5 +91,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
res(await packMany(mentions, user));
- mentions.forEach(note => read(user._id, note._id));
+ for (const note of mentions) {
+ read(user._id, note._id);
+ }
}));
diff --git a/src/server/api/endpoints/notes/polls/vote.ts b/src/server/api/endpoints/notes/polls/vote.ts
index dc012152c6..8de0eb420e 100644
--- a/src/server/api/endpoints/notes/polls/vote.ts
+++ b/src/server/api/endpoints/notes/polls/vote.ts
@@ -102,12 +102,12 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
}
})
.then(watchers => {
- watchers.forEach(watcher => {
+ for (const watcher of watchers) {
notify(watcher.userId, user._id, 'poll_vote', {
noteId: note._id,
choice: ps.choice
});
- });
+ }
});
// この投稿をWatchする
diff --git a/src/server/api/endpoints/users/get_frequently_replied_users.ts b/src/server/api/endpoints/users/get_frequently_replied_users.ts
index cf123b82ba..353ccef1e9 100644
--- a/src/server/api/endpoints/users/get_frequently_replied_users.ts
+++ b/src/server/api/endpoints/users/get_frequently_replied_users.ts
@@ -2,6 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import User, { pack } from '../../../../models/user';
import define from '../../define';
+import { maximum } from '../../../../prelude/array';
export const meta = {
requireCredential: false,
@@ -77,20 +78,16 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
const repliedUsers: any = {};
// Extract replies from recent notes
- replyTargetNotes.forEach(note => {
- const userId = note.userId.toString();
+ for (const userId of replyTargetNotes.map(x => x.userId.toString())) {
if (repliedUsers[userId]) {
repliedUsers[userId]++;
} else {
repliedUsers[userId] = 1;
}
- });
+ }
// Calc peak
- let peak = 0;
- Object.keys(repliedUsers).forEach(user => {
- if (repliedUsers[user] > peak) peak = repliedUsers[user];
- });
+ const peak = maximum(Object.values(repliedUsers));
// Sort replies by frequency
const repliedUsersSorted = Object.keys(repliedUsers).sort((a, b) => repliedUsers[b] - repliedUsers[a]);
diff --git a/src/server/api/index.ts b/src/server/api/index.ts
index ebb3d5a27f..04fc8759f9 100644
--- a/src/server/api/index.ts
+++ b/src/server/api/index.ts
@@ -41,10 +41,13 @@ const router = new Router();
/**
* Register endpoint handlers
*/
-endpoints.forEach(endpoint => endpoint.meta.requireFile
- ? router.post(`/${endpoint.name}`, upload.single('file'), handler.bind(null, endpoint))
- : router.post(`/${endpoint.name}`, handler.bind(null, endpoint))
-);
+for (const endpoint of endpoints) {
+ if (endpoint.meta.requireFile) {
+ router.post(`/${endpoint.name}`, upload.single('file'), handler.bind(null, endpoint));
+ } else {
+ router.post(`/${endpoint.name}`, handler.bind(null, endpoint));
+ }
+}
router.post('/signup', require('./private/signup').default);
router.post('/signin', require('./private/signin').default);
diff --git a/src/server/api/stream/channels/games/reversi-game.ts b/src/server/api/stream/channels/games/reversi-game.ts
index f287ad0107..1cb077c8c4 100644
--- a/src/server/api/stream/channels/games/reversi-game.ts
+++ b/src/server/api/stream/channels/games/reversi-game.ts
@@ -242,9 +242,9 @@ export default class extends Channel {
loopedBoard: game.settings.loopedBoard
});
- game.logs.forEach(log => {
+ for (const log of game.logs) {
o.put(log.color, log.pos);
- });
+ }
const myColor =
(game.user1Id.equals(this.user._id) && game.black == 1) || (game.user2Id.equals(this.user._id) && game.black == 2)
diff --git a/src/server/api/stream/index.ts b/src/server/api/stream/index.ts
index 3119e20af8..22f7646cb9 100644
--- a/src/server/api/stream/index.ts
+++ b/src/server/api/stream/index.ts
@@ -213,8 +213,8 @@ export default class Connection {
*/
@autobind
public dispose() {
- this.channels.forEach(c => {
- if (c.dispose) c.dispose();
- });
+ for (const c of this.channels.filter(c => c.dispose)) {
+ c.dispose();
+ }
}
}