From efe9fdc9fe538e61287f9bdba63351e1b17f3fc8 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Tue, 5 Oct 2021 17:39:21 +0200 Subject: [PATCH] :bug: fix lazy request --- gateway/src/opcodes/LazyRequest.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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(array: T[], isValid: Function) { + return array.reduce( + ([pass, fail], elem) => { + return isValid(elem) + ? [[...pass, elem], fail] + : [pass, [...fail, elem]]; + }, + [[], []] + ); +}