summaryrefslogtreecommitdiffstats
path: root/tests/modules
diff options
context:
space:
mode:
authorNicolas Williams <nico@cryptonector.com>2015-06-26 20:16:23 -0500
committerNicolas Williams <nico@cryptonector.com>2015-06-26 20:45:06 -0500
commit25d47ca08e682dd28793cb76e0deeae93cd2f8bd (patch)
tree0cc18579a1f51eee37fb8a8b0204d69c4bfe38ca /tests/modules
parent5108a451caf0054f4ff6c1e900072e0eb41d894f (diff)
Add streaming utilities (fix #827)
Diffstat (limited to 'tests/modules')
-rw-r--r--tests/modules/streaming.jq49
1 files changed, 0 insertions, 49 deletions
diff --git a/tests/modules/streaming.jq b/tests/modules/streaming.jq
deleted file mode 100644
index 4e2909e0..00000000
--- a/tests/modules/streaming.jq
+++ /dev/null
@@ -1,49 +0,0 @@
-
-# Filter and adjust streamed values so that only values from the .th
-# level are output.
-def trunc(stream):
- . as $n | stream | . as $input | if (.[0]|length) > $n then setpath([0];$input[0][$n:]) else empty end;
-
-# Reduce streamed values back to normal
-def tovalues(i):
- def debug(msg): . as $dot | [msg, .] | debug | $dot;
- foreach i as $item (
- [null,false,null];
-
- # Updator
- #
- # If the new $item is a top-level value,
- # then clear out the current value
- . as [$cur, $cur_isvalid, $prev] |
- $item as [$path, $leaf] |
- ($item|length > 1) as $has_leaf |
- ($item|length == 1) as $closing |
- ($path|length) as $plen |
- # if the new $item terminates the current value, then cur is ready
- # for extraction and we'll start building a new value with the next
- # inputs
- if ($plen == 0) or # top-level scalar
- ($closing and $plen < 2) then [null,false,$cur]
- # else continue building up cur
- else . end |
- . as [$cur, $cur_isvalid, $prev] |
- # If the new $item has a leaf, upate the current value
- if $has_leaf and $plen > 0 then
- [$cur|setpath(($path); $leaf), # update current value
- true, # current value is now valid (if, perhaps, incomplete)
- $prev] # previous value is unchanged
- else .
- end;
-
- # Extractor
- #
- . as [$cur, $cur_isvalid, $prev] |
- $item as [$path, $leaf] |
- ($item|length > 1) as $has_leaf |
- ($item|length == 1) as $closing |
- ($path|length) as $plen |
- # If previous value is valid, output it
- if $plen == 1 and $closing then $prev else empty end,
- # and/or if the new $item is a top-level scalar, output it
- if $plen == 0 then $leaf else empty end
- );