strictNullChecks (#4666)

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
This commit is contained in:
syuilo
2019-04-13 01:43:22 +09:00
committed by GitHub
parent 4ee40c3345
commit 987168b863
214 changed files with 939 additions and 785 deletions

View File

@@ -66,7 +66,7 @@ export const meta = {
export default define(meta, async (ps, me) => {
const user = await Users.findOne(ps.userId != null
? { id: ps.userId }
: { usernameLower: ps.username.toLowerCase(), host: toPuny(ps.host) });
: { usernameLower: ps.username!.toLowerCase(), host: toPuny(ps.host!) });
if (user == null) {
throw new ApiError(meta.errors.noSuchUser);
@@ -76,7 +76,7 @@ export default define(meta, async (ps, me) => {
.andWhere(`following.followeeId = :userId`, { userId: user.id });
const followings = await query
.take(ps.limit)
.take(ps.limit!)
.getMany();
return await Followings.packMany(followings, me, { populateFollower: true });

View File

@@ -66,7 +66,7 @@ export const meta = {
export default define(meta, async (ps, me) => {
const user = await Users.findOne(ps.userId != null
? { id: ps.userId }
: { usernameLower: ps.username.toLowerCase(), host: toPuny(ps.host) });
: { usernameLower: ps.username!.toLowerCase(), host: toPuny(ps.host!) });
if (user == null) {
throw new ApiError(meta.errors.noSuchUser);
@@ -76,7 +76,7 @@ export default define(meta, async (ps, me) => {
.andWhere(`following.followerId = :userId`, { userId: user.id });
const followings = await query
.take(ps.limit)
.take(ps.limit!)
.getMany();
return await Followings.packMany(followings, me, { populateFollowee: true });

View File

@@ -94,7 +94,7 @@ export default define(meta, async (ps, me) => {
const repliedUsersSorted = Object.keys(repliedUsers).sort((a, b) => repliedUsers[b] - repliedUsers[a]);
// Extract top replied users
const topRepliedUsers = repliedUsersSorted.slice(0, ps.limit);
const topRepliedUsers = repliedUsersSorted.slice(0, ps.limit!);
// Make replies object (includes weights)
const repliesObj = await Promise.all(topRepliedUsers.map(async (user) => ({

View File

@@ -153,11 +153,11 @@ export default define(meta, async (ps, me) => {
query.andWhere('note.fileIds != \'{}\'');
}
if (ps.fileType) {
if (ps.fileType != null) {
query.andWhere('note.fileIds != \'{}\'');
query.andWhere(new Brackets(qb => {
for (const type of ps.fileType) {
const i = ps.fileType.indexOf(type);
for (const type of ps.fileType!) {
const i = ps.fileType!.indexOf(type);
qb.orWhere(`:type${i} = ANY(note.attachedFileTypes)`, { [`type${i}`]: type });
}
}));
@@ -194,7 +194,7 @@ export default define(meta, async (ps, me) => {
//#endregion
const timeline = await query.take(ps.limit).getMany();
const timeline = await query.take(ps.limit!).getMany();
return await Notes.packMany(timeline, user);
});

View File

@@ -53,7 +53,7 @@ export default define(meta, async (ps, me) => {
query.setParameters(followingQuery.getParameters());
const users = await query.take(ps.limit).skip(ps.offset).getMany();
const users = await query.take(ps.limit!).skip(ps.offset).getMany();
return await Users.packMany(users, me, { detail: true });
});

View File

@@ -71,16 +71,16 @@ export default define(meta, async (ps, me) => {
.where('user.host IS NULL')
.andWhere('user.isSuspended = FALSE')
.andWhere('user.usernameLower like :username', { username: ps.query.replace('@', '').toLowerCase() + '%' })
.take(ps.limit)
.take(ps.limit!)
.skip(ps.offset)
.getMany();
if (users.length < ps.limit && !ps.localOnly) {
if (users.length < ps.limit! && !ps.localOnly) {
const otherUsers = await Users.createQueryBuilder('user')
.where('user.host IS NOT NULL')
.andWhere('user.isSuspended = FALSE')
.andWhere('user.usernameLower like :username', { username: ps.query.replace('@', '').toLowerCase() + '%' })
.take(ps.limit - users.length)
.take(ps.limit! - users.length)
.getMany();
users = users.concat(otherUsers);

View File

@@ -74,7 +74,7 @@ export default define(meta, async (ps, me) => {
})));
} else {
// Lookup user
if (typeof ps.host === 'string') {
if (typeof ps.host === 'string' && typeof ps.username === 'string') {
user = await resolveUser(ps.username, ps.host).catch(e => {
apiLogger.warn(`failed to resolve remote user: ${e}`);
throw new ApiError(meta.errors.failedToResolveRemoteUser);
@@ -82,7 +82,7 @@ export default define(meta, async (ps, me) => {
} else {
const q: any = ps.userId != null
? { id: ps.userId }
: { usernameLower: ps.username.toLowerCase(), host: null };
: { usernameLower: ps.username!.toLowerCase(), host: null };
user = await Users.findOne(q);
}
@@ -94,7 +94,7 @@ export default define(meta, async (ps, me) => {
// ユーザー情報更新
if (Users.isRemoteUser(user)) {
if (user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) {
resolveUser(ps.username, ps.host, { }, true);
resolveUser(user.username, user.host, { }, true);
}
}