immutable-sorted icon indicating copy to clipboard operation
immutable-sorted copied to clipboard

Feature request: get-and-delete operation for SortedMap

Open abonander opened this issue 6 years ago • 3 comments

I just today realized that Immutable.js doesn't provide an operation for this, though I really only need it for SortedMap. I would like a method on SortedMap that removes and returns the value under the given key as well as the updated map. In Flow the function prototype is straightforward:

getAndDelete(key: K): [?V, SortedMap<K, V>] {}

let [val, map] = map.getAndDelete('key');

Apparently in Immutable.js this can be done by returning null from the closure passed to Collection.update() (though this is undocumented) but SortedMap doesn't appear to support this; it just updates the value as null. I know this can be done with get() then delete() but I'd like to avoid the redundant lookup if possible.

abonander avatar Mar 06 '18 17:03 abonander