aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/common/utils/MapOps.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/common/utils/MapOps.scala')
-rw-r--r--src/main/scala/xyz/driver/common/utils/MapOps.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/common/utils/MapOps.scala b/src/main/scala/xyz/driver/common/utils/MapOps.scala
new file mode 100644
index 0000000..759fdea
--- /dev/null
+++ b/src/main/scala/xyz/driver/common/utils/MapOps.scala
@@ -0,0 +1,10 @@
+package xyz.driver.common.utils
+
+final class MapOps[K, V](val self: Map[K, V]) extends AnyVal {
+ def swap: Map[V, Set[K]] = {
+ self
+ .toList
+ .groupBy { case (_, v) => v }
+ .mapValues(_.map { case (k, _) => k }.toSet)
+ }
+}