From 51125b4c8429ad2d97e55d239dba0a5ac52d688b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?=
 <root@acid-chicken.com>
Date: Sat, 2 Feb 2019 00:16:27 +0900
Subject: [PATCH] Create new type definition for 'ms' (#4057)

* Create new type definition for 'ms'

* Follow lint
---
 package.json                                         |  1 -
 src/@types/ms.d.ts                                   | 12 ++++++++++++
 src/server/api/endpoints/blocking/create.ts          |  2 +-
 src/server/api/endpoints/blocking/delete.ts          |  2 +-
 src/server/api/endpoints/drive/files/create.ts       |  2 +-
 .../api/endpoints/drive/files/upload_from_url.ts     |  2 +-
 src/server/api/endpoints/following/create.ts         |  2 +-
 src/server/api/endpoints/following/delete.ts         |  2 +-
 src/server/api/endpoints/i/update_email.ts           |  2 +-
 .../api/endpoints/messaging/messages/delete.ts       |  2 +-
 src/server/api/endpoints/notes/create.ts             |  2 +-
 src/server/api/endpoints/notes/delete.ts             |  2 +-
 src/server/api/endpoints/notes/reactions/delete.ts   |  2 +-
 src/server/api/endpoints/users/recommendation.ts     |  2 +-
 14 files changed, 24 insertions(+), 13 deletions(-)
 create mode 100644 src/@types/ms.d.ts

diff --git a/package.json b/package.json
index 58c41890a..53354d438 100644
--- a/package.json
+++ b/package.json
@@ -63,7 +63,6 @@
 		"@types/mkdirp": "0.5.2",
 		"@types/mocha": "5.2.5",
 		"@types/mongodb": "3.1.19",
-		"@types/ms": "0.7.30",
 		"@types/node": "10.12.18",
 		"@types/nodemailer": "4.6.5",
 		"@types/nprogress": "0.0.29",
diff --git a/src/@types/ms.d.ts b/src/@types/ms.d.ts
new file mode 100644
index 000000000..2f0156d10
--- /dev/null
+++ b/src/@types/ms.d.ts
@@ -0,0 +1,12 @@
+declare module 'ms' {
+	interface IMSOptions {
+		long: boolean;
+	}
+
+	function ms(value: string): number;
+	function ms(value: number, options?: IMSOptions): string;
+
+	namespace ms {} // Hack
+
+	export = ms;
+}
diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts
index 716650530..76cec064e 100644
--- a/src/server/api/endpoints/blocking/create.ts
+++ b/src/server/api/endpoints/blocking/create.ts
@@ -1,5 +1,5 @@
 import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
-const ms = require('ms');
+import * as ms from 'ms';
 import User, { pack } from '../../../../models/user';
 import Blocking from '../../../../models/blocking';
 import create from '../../../../services/blocking/create';
diff --git a/src/server/api/endpoints/blocking/delete.ts b/src/server/api/endpoints/blocking/delete.ts
index 667255a66..86360bfb3 100644
--- a/src/server/api/endpoints/blocking/delete.ts
+++ b/src/server/api/endpoints/blocking/delete.ts
@@ -1,5 +1,5 @@
 import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
-const ms = require('ms');
+import * as ms from 'ms';
 import User, { pack } from '../../../../models/user';
 import Blocking from '../../../../models/blocking';
 import deleteBlocking from '../../../../services/blocking/delete';
diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts
index 0660627f0..ce9320299 100644
--- a/src/server/api/endpoints/drive/files/create.ts
+++ b/src/server/api/endpoints/drive/files/create.ts
@@ -1,4 +1,4 @@
-const ms = require('ms');
+import * as ms from 'ms';
 import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
 import { validateFileName, pack } from '../../../../../models/drive-file';
 import create from '../../../../../services/drive/add-file';
diff --git a/src/server/api/endpoints/drive/files/upload_from_url.ts b/src/server/api/endpoints/drive/files/upload_from_url.ts
index fc386e163..bea61dbeb 100644
--- a/src/server/api/endpoints/drive/files/upload_from_url.ts
+++ b/src/server/api/endpoints/drive/files/upload_from_url.ts
@@ -1,5 +1,5 @@
 import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
-const ms = require('ms');
+import * as ms from 'ms';
 import { pack } from '../../../../../models/drive-file';
 import uploadFromUrl from '../../../../../services/drive/upload-from-url';
 import define from '../../../define';
diff --git a/src/server/api/endpoints/following/create.ts b/src/server/api/endpoints/following/create.ts
index f82677689..9786d1990 100644
--- a/src/server/api/endpoints/following/create.ts
+++ b/src/server/api/endpoints/following/create.ts
@@ -1,5 +1,5 @@
 import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
-const ms = require('ms');
+import * as ms from 'ms';
 import User, { pack } from '../../../../models/user';
 import Following from '../../../../models/following';
 import create from '../../../../services/following/create';
diff --git a/src/server/api/endpoints/following/delete.ts b/src/server/api/endpoints/following/delete.ts
index 92a50ce72..c7f1288ad 100644
--- a/src/server/api/endpoints/following/delete.ts
+++ b/src/server/api/endpoints/following/delete.ts
@@ -1,5 +1,5 @@
 import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
-const ms = require('ms');
+import * as ms from 'ms';
 import User, { pack } from '../../../../models/user';
 import Following from '../../../../models/following';
 import deleteFollowing from '../../../../services/following/delete';
diff --git a/src/server/api/endpoints/i/update_email.ts b/src/server/api/endpoints/i/update_email.ts
index e08d1fba0..aeaa3d39e 100644
--- a/src/server/api/endpoints/i/update_email.ts
+++ b/src/server/api/endpoints/i/update_email.ts
@@ -6,7 +6,7 @@ import * as nodemailer from 'nodemailer';
 import fetchMeta from '../../../../misc/fetch-meta';
 import rndstr from 'rndstr';
 import config from '../../../../config';
-const ms = require('ms');
+import * as ms from 'ms';
 import * as bcrypt from 'bcryptjs';
 
 export const meta = {
diff --git a/src/server/api/endpoints/messaging/messages/delete.ts b/src/server/api/endpoints/messaging/messages/delete.ts
index 26161896c..103b680da 100644
--- a/src/server/api/endpoints/messaging/messages/delete.ts
+++ b/src/server/api/endpoints/messaging/messages/delete.ts
@@ -3,7 +3,7 @@ import ID, { transform } from '../../../../../misc/cafy-id';
 import Message from '../../../../../models/messaging-message';
 import define from '../../../define';
 import { publishMessagingStream } from '../../../../../stream';
-const ms = require('ms');
+import * as ms from 'ms';
 
 export const meta = {
 	stability: 'stable',
diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts
index ec84d6497..696a27afb 100644
--- a/src/server/api/endpoints/notes/create.ts
+++ b/src/server/api/endpoints/notes/create.ts
@@ -1,5 +1,5 @@
 import $ from 'cafy'; import ID, { transform, transformMany } from '../../../../misc/cafy-id';
-const ms = require('ms');
+import * as ms from 'ms';
 import { length } from 'stringz';
 import Note, { INote, isValidCw, pack } from '../../../../models/note';
 import User, { IUser } from '../../../../models/user';
diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts
index 1923aed9b..0ddcb7c44 100644
--- a/src/server/api/endpoints/notes/delete.ts
+++ b/src/server/api/endpoints/notes/delete.ts
@@ -3,7 +3,7 @@ import Note from '../../../../models/note';
 import deleteNote from '../../../../services/note/delete';
 import User from '../../../../models/user';
 import define from '../../define';
-const ms = require('ms');
+import * as ms from 'ms';
 
 export const meta = {
 	stability: 'stable',
diff --git a/src/server/api/endpoints/notes/reactions/delete.ts b/src/server/api/endpoints/notes/reactions/delete.ts
index 9ff4edb7f..01151ef9b 100644
--- a/src/server/api/endpoints/notes/reactions/delete.ts
+++ b/src/server/api/endpoints/notes/reactions/delete.ts
@@ -1,7 +1,7 @@
 import * as mongo from 'mongodb';
 import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
 import define from '../../../define';
-const ms = require('ms');
+import * as ms from 'ms';
 import deleteReaction from '../../../../../services/note/reaction/delete';
 import { IUser } from '../../../../../models/user';
 import { getValiedNote } from '../../../common/getters';
diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts
index 8320c2bd0..0d7e57b52 100644
--- a/src/server/api/endpoints/users/recommendation.ts
+++ b/src/server/api/endpoints/users/recommendation.ts
@@ -1,4 +1,4 @@
-const ms = require('ms');
+import * as ms from 'ms';
 import $ from 'cafy';
 import User, { pack, ILocalUser } from '../../../../models/user';
 import { getFriendIds } from '../../common/get-friends';