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/util/Array.ts8
1 files changed, 8 insertions, 0 deletions
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];
+}