diff options
author | Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> | 2021-10-05 17:39:21 +0200 |
---|---|---|
committer | Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> | 2021-10-05 17:39:21 +0200 |
commit | efe9fdc9fe538e61287f9bdba63351e1b17f3fc8 (patch) | |
tree | 822c08fe7dd005ce0b29667c7e425a27142ed62d | |
parent | :art: improve migration script (diff) | |
download | server-efe9fdc9fe538e61287f9bdba63351e1b17f3fc8.tar.xz |
:bug: fix lazy request
-rw-r--r-- | gateway/src/opcodes/LazyRequest.ts | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gateway/src/opcodes/LazyRequest.ts b/gateway/src/opcodes/LazyRequest.ts index db00157f..5b6ac444 100644 --- a/gateway/src/opcodes/LazyRequest.ts +++ b/gateway/src/opcodes/LazyRequest.ts @@ -39,7 +39,7 @@ export async function onLazyRequest(this: WebSocket, { d }: Payload) { const items = []; for (const role of roles) { - const [role_members, other_members] = members.partition((m) => + const [role_members, other_members] = partition(members, (m: Member) => m.roles.find((r) => r.id === role.id) ); const group = { @@ -80,3 +80,14 @@ export async function onLazyRequest(this: WebSocket, { d }: Payload) { }, }); } + +function partition<T>(array: T[], isValid: Function) { + return array.reduce( + ([pass, fail], elem) => { + return isValid(elem) + ? [[...pass, elem], fail] + : [pass, [...fail, elem]]; + }, + [[], []] + ); +} |