summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuh Muhten <muh.muhten@gmail.com>2019-02-26 05:21:31 -0500
committerNico Williams <nico@cryptonector.com>2019-02-26 11:05:25 -0600
commit78271b179a125bc2a4b38479e03314157d3319e6 (patch)
treeb7b8bb940cac2d4200a8b753d5ffaafa72419f01
parentd3abe3a46839d0a588c0d67d86e9db3c6facbae9 (diff)
Simplify type-select builtins
-rw-r--r--src/builtin.jq8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/builtin.jq b/src/builtin.jq
index e3d0b7ff..2c7bebeb 100644
--- a/src/builtin.jq
+++ b/src/builtin.jq
@@ -35,15 +35,15 @@ def paths(node_filter): . as $dot|paths|select(. as $p|$dot|getpath($p)|node_fil
def isfinite: type == "number" and (isinfinite | not);
def arrays: select(type == "array");
def objects: select(type == "object");
-def iterables: arrays, objects;
+def iterables: select(type|. == "array" or . == "object");
def booleans: select(type == "boolean");
def numbers: select(type == "number");
def normals: select(isnormal);
def finites: select(isfinite);
def strings: select(type == "string");
-def nulls: select(type == "null");
+def nulls: select(. == null);
def values: select(. != null);
-def scalars: select(. == null or . == true or . == false or type == "number" or type == "string");
+def scalars: select(type|. != "array" and . != "object");
def leaf_paths: paths(scalars);
def join($x): reduce .[] as $i (null;
(if .==null then "" else .+$x end) +
@@ -195,7 +195,7 @@ def repeat(exp):
def _repeat:
exp, _repeat;
_repeat;
-def inputs: try repeat(input) catch if .=="break" then empty else .|error end;
+def inputs: try repeat(input) catch if .=="break" then empty else error end;
# like ruby's downcase - only characters A to Z are affected
def ascii_downcase:
explode | map( if 65 <= . and . <= 90 then . + 32 else . end) | implode;