Skip to content

Commit

Permalink
join/1: respect empty strings (fix jqlang#668)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicowilliams committed Jan 14, 2015
1 parent 8b5ff40 commit 9760245
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion builtin.c
Original file line number Diff line number Diff line change
Expand Up @@ -1065,7 +1065,7 @@ static const char* const jq_builtins[] = {
"def scalars: select(. == null or . == true or . == false or type == \"number\" or type == \"string\");",
"def scalars_or_empty: select(. == null or . == true or . == false or type == \"number\" or type == \"string\" or ((type==\"array\" or type==\"object\") and length==0));",
"def leaf_paths: paths(scalars);",
"def join($x): reduce .[] as $i (\"\"; . + (if . == \"\" then $i else $x + $i end));",
"def join($x): reduce .[] as $i (null; (.//\"\") + (if . == null then $i else $x + $i end));",
"def flatten: reduce .[] as $i ([]; if $i | type == \"array\" then . + ($i | flatten) else . + [$i] end);",
"def flatten($x): reduce .[] as $i ([]; if $i | type == \"array\" and $x > 0 then . + ($i | flatten($x-1)) else . + [$i] end);",
"def range($x): range(0;$x);",
Expand Down
4 changes: 4 additions & 0 deletions tests/all.test
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,10 @@ join(",","/")
"a,b,c,d"
"a/b/c/d"

[.[]|join("a")]
[[""],["",""],["","",""]]
["","a","aa"]

# Same check for flatten/1
flatten(-1,3,2,1)
[0, [1], [[2]], [[[3]]]]
Expand Down

0 comments on commit 9760245

Please sign in to comment.