diff options
-rw-r--r-- | builtin.c | 2 | ||||
-rw-r--r-- | docs/content/3.manual/manual.yml | 40 |
2 files changed, 42 insertions, 0 deletions
@@ -680,6 +680,8 @@ static const char* const jq_builtins[] = { "def rindex(i): .[i][-1:][0];", "def paths: path(recurse(if (type|. == \"array\" or . == \"object\") then .[] else empty end))|select(length > 0);", "def leaf_paths: . as $dot|paths|select(. as $p|$dot|getpath($p)|type|. != \"array\" and . != \"object\");", + "def any: reduce .[] as $i (false; . or $i);", + "def all: reduce .[] as $i (true; . and $i);", }; diff --git a/docs/content/3.manual/manual.yml b/docs/content/3.manual/manual.yml index ff9d429a..fec50d0d 100644 --- a/docs/content/3.manual/manual.yml +++ b/docs/content/3.manual/manual.yml @@ -690,6 +690,46 @@ sections: input: '[]' output: ["null"] + - title: `any` + body: | + + The filter `any` takes as input an array of boolean values, + and produces `true` as output if any of the the elements of + the array is `true`. + + If the input is an empty array, `any` returns `false`. + + examples: + - program: any + input: '[true, false]' + output: ["true"] + - program: any + input: '[false, false]' + output: ["false"] + - program: any + input: '[]' + output: ["false"] + + - title: `all` + body: | + + The filter `all` takes as input an array of boolean values, + and produces `true` as output if all of the the elements of + the array are `true`. + + If the input is an empty array, `all` returns `true`. + + examples: + - program: all + input: '[true, false]' + output: ["false"] + - program: all + input: '[true, true]' + output: ["true"] + - program: all + input: '[]' + output: ["true"] + - title: `range` body: | |