diff options
author | Nico Williams <nico@cryptonector.com> | 2014-12-26 21:50:11 -0600 |
---|---|---|
committer | Nico Williams <nico@cryptonector.com> | 2014-12-26 21:50:11 -0600 |
commit | 36077da66ac06b4fdb325ac97a385ff2f0e9e8a6 (patch) | |
tree | ab2e1c05283c9ab806464ab09f23d135250ea4d3 | |
parent | 9e1fd8cf4da04faf1170739923a099e74da61231 (diff) | |
parent | 84d3203dd1fe741a76c4ecdd1ca3d8fe7c1a0268 (diff) |
Merge pull request #628 from slapresta/map-on-objects
Modify map\1 so that it works on objects
-rw-r--r-- | builtin.c | 1 | ||||
-rw-r--r-- | docs/content/3.manual/manual.yml | 13 |
2 files changed, 11 insertions, 3 deletions
@@ -961,6 +961,7 @@ static block bind_bytecoded_builtins(block b) { static const char* const jq_builtins[] = { "def break: error(\"break\");", "def map(f): [.[] | f];", + "def map_values(f): .[] |= f;", "def select(f): if f then . else empty end;", "def sort_by(f): _sort_by_impl(map([f]));", "def group_by(f): _group_by_impl(map([f]));", diff --git a/docs/content/3.manual/manual.yml b/docs/content/3.manual/manual.yml index 73015c05..cd2b34e5 100644 --- a/docs/content/3.manual/manual.yml +++ b/docs/content/3.manual/manual.yml @@ -777,20 +777,27 @@ sections: null and objects would, but with the given message as the error's value. - - title: "`map(x)`" + - title: "`map(x)`, `map_values(x)`" body: | For any filter `x`, `map(x)` will run that filter for each element of the input array, and produce the outputs a new array. `map(.+1)` will increment each element of an array of numbers. - + + Similarly, `map_values(x)` will run that filter for each element, + but it will return an object when an object is passed. + `map(x)` is equivalent to `[.[] | x]`. In fact, this is how - it's defined. + it's defined. Similarly, `map_values(x)` is defined as `.[] |= x`. examples: - program: 'map(.+1)' input: '[1,2,3]' output: ['[2,3,4]'] + + - program: 'map_values(.+1)' + input: '{"a": 1, "b": 2, "c": 3}' + output: ['{"a": 2, "b": 3, "c": 4}'] - title: "`paths`, `paths(node_filter)`, `leaf_paths`" body: | |