diff options
author | Muh Muhten <muh.muhten@gmail.com> | 2019-02-26 05:21:31 -0500 |
---|---|---|
committer | Nico Williams <nico@cryptonector.com> | 2019-02-26 11:05:25 -0600 |
commit | 78271b179a125bc2a4b38479e03314157d3319e6 (patch) | |
tree | b7b8bb940cac2d4200a8b753d5ffaafa72419f01 | |
parent | d3abe3a46839d0a588c0d67d86e9db3c6facbae9 (diff) |
Simplify type-select builtins
-rw-r--r-- | src/builtin.jq | 8 |
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; |