mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-19 17:38:19 +08:00
eslint: add github/array-foreach rule
This commit is contained in:
21 files changed
+59
-51
No files matched your search
@@ -637,9 +637,9 @@ export class ContestUserHandler extends ContestManagementBaseHandler {
|
||||
const tsdocs = await contest.getMultiStatus(domainId, { docId: tid }).project({
|
||||
uid: 1, attend: 1, startAt: 1, unrank: 1,
|
||||
}).toArray();
|
||||
tsdocs.forEach((i) => {
|
||||
i.endAt = (this.tdoc.duration && i.startAt) ? moment(i.startAt).add(this.tdoc.duration, 'hours').toDate() : null;
|
||||
});
|
||||
for (const tsdoc of tsdocs) {
|
||||
tsdoc.endAt = (this.tdoc.duration && tsdoc.startAt) ? moment(tsdoc.startAt).add(this.tdoc.duration, 'hours').toDate() : null;
|
||||
}
|
||||
const udict = await user.getListForRender(domainId, [this.tdoc.owner, ...tsdocs.map((i) => i.uid)]);
|
||||
this.response.body = { tdoc: this.tdoc, tsdocs, udict };
|
||||
this.response.pjax = 'partials/contest_user.html';
|
||||
|
||||
@@ -36,7 +36,7 @@ export class HomeHandler extends Handler {
|
||||
uids = new Set<number>();
|
||||
|
||||
collectUser(uids: number[]) {
|
||||
uids.forEach((uid) => this.uids.add(uid));
|
||||
for (const uid of uids) this.uids.add(uid);
|
||||
}
|
||||
|
||||
async getHomework(domainId: string, limit = 5) {
|
||||
|
||||
@@ -142,7 +142,7 @@ class DomainModel {
|
||||
const affected = await UserModel.getMulti({ _id: { $in: uid } })
|
||||
.project<{ _id: number, mail: string, uname: string }>({ mail: 1, uname: 1 })
|
||||
.toArray();
|
||||
affected.forEach((udoc) => deleteUserCache(udoc));
|
||||
for (const udoc of affected) deleteUserCache(udoc);
|
||||
return await collUser.updateMany({ domainId, uid: { $in: uid } }, { $set: { role } }, { upsert: true });
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ export async function add(data: Partial<OplogDoc> & { type: string }): Promise<O
|
||||
|
||||
function safeKeys(data: any) {
|
||||
if (['string', 'number', 'boolean'].includes(typeof data)) return data;
|
||||
if (data instanceof Array) data.forEach(safeKeys);
|
||||
if (data instanceof Array) for (const d of data) safeKeys(d);
|
||||
else if (data instanceof ObjectId) return data;
|
||||
else if (data instanceof Object) {
|
||||
for (const key in data) {
|
||||
|
||||
@@ -398,7 +398,7 @@ export function Connection(
|
||||
closed = true;
|
||||
bus.emit('connection/close', h);
|
||||
if (interval) clearInterval(interval);
|
||||
disposables.forEach((d) => d());
|
||||
for (const d of disposables) d();
|
||||
h.cleanup?.(args);
|
||||
};
|
||||
interval = setInterval(() => {
|
||||
@@ -555,8 +555,10 @@ ${ctx.response.status} ${endTime - startTime}ms ${ctx.response.length}`);
|
||||
const layers = [baseLayer, rendererLayer(router, logger), responseLayer(logger), userLayer];
|
||||
app.use(async (ctx, next) => await next().catch(console.error)).use(domainLayer);
|
||||
app.use(router.routes()).use(router.allowedMethods());
|
||||
layers.forEach((layer) => router.use(layer as any));
|
||||
layers.forEach((layer) => app.use(layer as any));
|
||||
for (const layer of layers) {
|
||||
router.use(layer as any);
|
||||
app.use(layer);
|
||||
}
|
||||
app.use((ctx) => handle(ctx, NotFoundHandler, () => true));
|
||||
wsServer.on('connection', async (socket, request) => {
|
||||
socket.on('error', (err) => {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// This file was adapted from @koishijs, MIT licensed.
|
||||
/* eslint-disable consistent-return */
|
||||
/* eslint-disable import/no-dynamic-require */
|
||||
/* eslint-disable @typescript-eslint/no-shadow */
|
||||
@@ -13,7 +14,7 @@ function loadDependencies(filename: string, ignored: Set<string>) {
|
||||
function traverse({ filename, children }: NodeJS.Module) {
|
||||
if (ignored.has(filename) || dependencies.has(filename) || filename.includes('/node_modules/')) return;
|
||||
dependencies.add(filename);
|
||||
children.forEach(traverse);
|
||||
for (const c of children) traverse(c);
|
||||
}
|
||||
traverse(require.cache[filename]);
|
||||
return dependencies;
|
||||
@@ -87,13 +88,13 @@ export default class Watcher extends Service {
|
||||
this.accepted = new Set(this.stashed);
|
||||
this.declined = new Set(this.externals);
|
||||
|
||||
this.stashed.forEach((filename) => {
|
||||
for (const filename of this.stashed) {
|
||||
const { children } = require.cache[filename];
|
||||
for (const { filename } of children) {
|
||||
if (this.accepted.has(filename) || this.declined.has(filename) || filename.includes('/node_modules/')) continue;
|
||||
pending.push(filename);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
while (pending.length) {
|
||||
let index = 0;
|
||||
@@ -168,7 +169,7 @@ export default class Watcher extends Service {
|
||||
// we only detect reloads at plugin level
|
||||
// a plugin will be reloaded if any of its dependencies are accepted
|
||||
if (!dependencies.some((dep) => this.accepted.has(dep))) continue;
|
||||
dependencies.forEach((dep) => this.accepted.add(dep));
|
||||
for (const dep of dependencies) this.accepted.add(dep);
|
||||
|
||||
// prepare for reload
|
||||
let isMarked = false;
|
||||
|
||||
@@ -434,10 +434,10 @@ const scripts: UpgradeScript[] = [
|
||||
null,
|
||||
async function _65_66() {
|
||||
return await iterateAllDomain(async (ddoc) => {
|
||||
Object.keys(ddoc.roles).forEach((role) => {
|
||||
for (const role of Object.keys(ddoc.roles)) {
|
||||
if (['guest', 'root'].includes(role)) return;
|
||||
ddoc.roles[role] = (BigInt(ddoc.roles[role]) | PERM.PREM_VIEW_DISPLAYNAME).toString();
|
||||
});
|
||||
}
|
||||
await domain.setRoles(ddoc._id, ddoc.roles);
|
||||
});
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user