Added omap function #44
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
I've added a function called "omap", which allows functional mapping on objects. It comes in two flavors:
_.omap(o, f)
_.omap(o, keys, f)
calls function f on each key of o, setting o.key to the result of the called function.
calls function f on each key specified by keys, setting o.key to the result of the called function.
The object is modified in place and a copy of the object is returned. To call this function without modifying the called object, .omap(.clone(o), ...) can be used. I made in-place modification the default because this was my most common used case and is cheaper than always copying the object.
This function is useful when storing s set of similar items in an object and wanting to act on all of them in a similar way.
I added tests, but did not add documentation because I had some trouble building the docs (general npm problems).