summary refs log tree commit diff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/entities/Member.ts4
-rw-r--r--src/util/util/Array.ts8
2 files changed, 10 insertions, 2 deletions
diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts
index cd885c13..cc2bf2a1 100644
--- a/src/util/entities/Member.ts
+++ b/src/util/entities/Member.ts
@@ -260,9 +260,9 @@ export class Member extends BaseClassWithoutId {
 					},
 				},
 			}),
-			await Role.findOneOrFail({ where: { id: role_id, guild_id } }),
+			Role.findOneOrFail({ where: { id: role_id, guild_id } }),
 		]);
-		member.roles = member.roles.filter((x) => x.id == role_id);
+		member.roles = member.roles.filter((x) => x.id !== role_id);
 
 		await Promise.all([
 			member.save(),
diff --git a/src/util/util/Array.ts b/src/util/util/Array.ts
index 8a141340..082ac307 100644
--- a/src/util/util/Array.ts
+++ b/src/util/util/Array.ts
@@ -21,3 +21,11 @@
 export function containsAll(arr: unknown[], target: unknown[]) {
 	return target.every((v) => arr.includes(v));
 }
+
+/* https://stackoverflow.com/a/50636286 */
+export function partition<T>(array: T[], filter: (elem: T) => boolean) {
+	const pass: T[] = [],
+		fail: T[] = [];
+	array.forEach((e) => (filter(e) ? pass : fail).push(e));
+	return [pass, fail];
+}