Skip to content

Commit dd04a05

Browse files
committed
Provide Map.minus(key/keys) operation
1 parent c697cfc commit dd04a05

File tree

1 file changed

+11
-1
lines changed
  • kotlinx-collections-immutable/src/main/kotlin/kotlinx/collections/immutable

1 file changed

+11
-1
lines changed

kotlinx-collections-immutable/src/main/kotlin/kotlinx/collections/immutable/extensions.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,17 @@ public fun <K, V> ImmutableMap<out K, V>.putAll(pairs: Sequence<Pair<K, V>>): Im
5454
= (this as ImmutableMap<K, V>).mutate { it.putAll(pairs) }
5555

5656

57-
// ImmutableMap.minus ?
57+
public operator fun <K, V> ImmutableMap<out K, V>.minus(key: K): ImmutableMap<K, V>
58+
= (this as ImmutableMap<K, V>).remove(key)
59+
60+
public operator fun <K, V> ImmutableMap<out K, V>.minus(keys: Iterable<K>): ImmutableMap<K, V>
61+
= (this as ImmutableMap<K, V>).mutate { it.minusAssign(keys) }
62+
63+
public operator fun <K, V> ImmutableMap<out K, V>.minus(keys: Array<out K>): ImmutableMap<K, V>
64+
= (this as ImmutableMap<K, V>).mutate { it.minusAssign(keys) }
65+
66+
public operator fun <K, V> ImmutableMap<out K, V>.minus(keys: Sequence<K>): ImmutableMap<K, V>
67+
= (this as ImmutableMap<K, V>).mutate { it.minusAssign(keys) }
5868

5969

6070
fun <E> immutableListOf(vararg elements: E): ImmutableList<E> = ImmutableVectorList.emptyOf<E>().addAll(elements.asList())

0 commit comments

Comments
 (0)