diff options
| author | anatawa12 <anatawa12@icloud.com> | 2026-01-08 11:49:12 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-08 11:49:12 +0900 |
| commit | 666f78e676e29abd48b351c58270b3f721f03573 (patch) | |
| tree | e5f661d81c94981c32dfb6c8ea9ed2763b761986 /packages/backend/test | |
| parent | chore(deps): update pnpm to v10.27.0 [security] (#17082) (diff) | |
| download | misskey-666f78e676e29abd48b351c58270b3f721f03573.tar.gz misskey-666f78e676e29abd48b351c58270b3f721f03573.tar.bz2 misskey-666f78e676e29abd48b351c58270b3f721f03573.zip | |
enable and fix no-unused-vars and no-async-promise-executor (#17070)
* dev: set --no-bail for lint task
* lint: enable no-async-promise-executor lint and fix them
* lint: enable no-unused-vars with allowing _ prefix
* lint: fix semi
Diffstat (limited to 'packages/backend/test')
| -rw-r--r-- | packages/backend/test/utils.ts | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/packages/backend/test/utils.ts b/packages/backend/test/utils.ts index ecca28b5af..f91fb7f9b1 100644 --- a/packages/backend/test/utils.ts +++ b/packages/backend/test/utils.ts @@ -404,37 +404,28 @@ export function connectStream<C extends keyof misskey.Channels>(user: UserToken, } export const waitFire = async <C extends keyof misskey.Channels>(user: UserToken, channel: C, trgr: () => any, cond: (msg: Record<string, any>) => boolean, params?: misskey.Channels[C]['params']) => { - return new Promise<boolean>(async (res, rej) => { - let timer: NodeJS.Timeout | null = null; + let ws: WebSocket | undefined; - let ws: WebSocket; - try { - ws = await connectStream(user, channel, msg => { + try { + let callback: (msg: Record<string, unknown>) => void; + const receivedPromise = new Promise<boolean>((resolve) => { + callback = (msg: Record<string, unknown>) => { if (cond(msg)) { - ws.close(); - if (timer) clearTimeout(timer); - res(true); + resolve(true); } - }, params); - } catch (e) { - rej(e); - } - - if (!ws!) return; + }; + }); - timer = setTimeout(() => { - ws.close(); - res(false); - }, 3000); + ws = await connectStream(user, channel, callback!, params); + await trgr(); - try { - await trgr(); - } catch (e) { - ws.close(); - if (timer) clearTimeout(timer); - rej(e); - } - }); + return await Promise.race([ + receivedPromise, + new Promise<void>((r) => setTimeout(() => r(), 3000)).then(() => false), + ]); + } finally { + if (ws) ws.close(); + } }; /** |