You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
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.
The text was updated successfully, but these errors were encountered:
Thank you for your suggestion, this would would definitely be more efficient than two separate calls.
It would be nice to have it implemented across all the collections (List, Set, Map, OrderedSet, OrderedMap, SortedSet, SortedMap)
Please note, the get function includes optional notSetValue argument to distinguish the missing key in the map from the key having unusual values like null, undefined, {}, etc.:
get<NSV>(key: K,notSetValue: NSV): V|NSV;
Would it make sense to include this additional argument into getAndDelete()?
Would it make sense to include this additional argument into getAndDelete()?
It certainly wouldn't hurt though returning any falsey value is sufficient for my use-case. I'm not sure how default parameters interact with type parameters, though; is this valid syntax?
getAndDelete<NSV = ?V>(key: K, notSetValue: NSV = null): V | NSV {}
As for merging it upstream, I figure it would be easier to prototype here first before proposing it for Immutable.js. Implementing it on SortedMap would be enough for me either way.
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 onSortedMap
that removes and returns the value under the given key as well as the updated map. In Flow the function prototype is straightforward:Apparently in Immutable.js this can be done by returning
null
from the closure passed toCollection.update()
(though this is undocumented) butSortedMap
doesn't appear to support this; it just updates the value asnull
. I know this can be done withget()
thendelete()
but I'd like to avoid the redundant lookup if possible.The text was updated successfully, but these errors were encountered: