summaryrefslogtreecommitdiffstats
path: root/builtin.c
diff options
context:
space:
mode:
authorSantiago Lapresta <santiago.lapresta@gmail.com>2014-10-21 13:00:38 +0200
committerSantiago Lapresta <santiago.lapresta@gmail.com>2014-10-21 13:00:38 +0200
commitdc5e77ef8e41ba9d71424a0a5e97a7c929bffd0d (patch)
tree0d2969f0f4b20ad83b9365039b823346fee9db8a /builtin.c
parent72735167f9cdcd10b5e411df4acb05174218f890 (diff)
Define {any,all}/2 independently from {any,all}/0
Diffstat (limited to 'builtin.c')
-rw-r--r--builtin.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/builtin.c b/builtin.c
index 7099ab26..b43ad64b 100644
--- a/builtin.c
+++ b/builtin.c
@@ -979,19 +979,17 @@ static const char* const jq_builtins[] = {
"def paths: path(recurse(if (type|. == \"array\" or . == \"object\") then .[] else empty end))|select(length > 0);",
"def paths(node_filter): . as $dot|paths|select(. as $p|$dot|getpath($p)|node_filter);",
"def any(generator; condition):"
- " [false,"
- " foreach generator as $i"
+ " [foreach generator as $i"
" (false;"
" if . then break elif $i | condition then true else . end;"
- " if . then . else empty end)] | any;",
+ " if . then . else empty end)] | length == 1;",
"def any(condition): any(.[]; condition);",
"def any: any(.);",
"def all(generator; condition): "
- " [true,"
- " foreach generator as $i"
+ " [foreach generator as $i"
" (true;"
" if .|not then break elif $i | condition then . else false end;"
- " if .|not then . else empty end)] | all;",
+ " if .|not then . else empty end)] | length == 0;",
"def all(condition): all(.[]; condition);",
"def all: all(.);",
"def arrays: select(type == \"array\");",