From 821cd31e67444d60656baf463e4603899697b045 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sun, 6 Jul 2014 20:08:06 -0500 Subject: Add `any/N` and `all/N` x N in (1, 2) (fix #455) Contributed by @pkoppstein. --- builtin.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'builtin.c') diff --git a/builtin.c b/builtin.c index bda2c9ea..e742c0e2 100644 --- a/builtin.c +++ b/builtin.c @@ -934,6 +934,10 @@ static const char* const jq_builtins[] = { "def paths(node_filter): . as $dot|paths|select(. as $p|$dot|getpath($p)|node_filter);", "def any: reduce .[] as $i (false; . or $i);", "def all: reduce .[] as $i (true; . and $i);", + "def any(condition): reduce .[] as $i (false; . or ($i|condition));", + "def all(condition): reduce .[] as $i (true; . and ($i|condition));", + "def any(generator; condition): reduce generator as $i (false; . or ($i|condition));", + "def all(generator; condition): reduce generator as $i (true; . and ($i|condition));", "def arrays: select(type == \"array\");", "def objects: select(type == \"object\");", "def iterables: arrays, objects;", -- cgit v1.2.3