summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gateway/src/opcodes/LazyRequest.ts13
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]];
+		},
+		[[], []]
+	);
+}