@port-labs/jq-node-bindings 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deps/jq/COPYING +1 -9
- package/deps/jq/Makefile.am +13 -18
- package/deps/jq/NEWS.md +2 -2
- package/deps/jq/README.md +3 -18
- package/deps/jq/configure.ac +1 -0
- package/deps/jq/docs/Pipfile.lock +59 -72
- package/deps/jq/docs/README.md +1 -1
- package/deps/jq/docs/build_manpage.py +1 -1
- package/deps/jq/docs/build_mantests.py +1 -1
- package/deps/jq/docs/content/download/default.yml +1 -23
- package/deps/jq/docs/content/index.yml +0 -5
- package/deps/jq/docs/content/manual/{dev/manual.yml → manual.yml} +36 -162
- package/deps/jq/docs/content/manual/v1.3/manual.yml +5 -0
- package/deps/jq/docs/content/manual/v1.4/manual.yml +5 -0
- package/deps/jq/docs/content/manual/v1.5/manual.yml +8 -3
- package/deps/jq/docs/content/manual/v1.6/manual.yml +8 -3
- package/deps/jq/docs/content/manual/v1.7/manual.yml +11 -6
- package/deps/jq/docs/content/tutorial/default.yml +3 -3
- package/deps/jq/docs/manual_schema.yml +3 -0
- package/deps/jq/docs/templates/index.html.j2 +6 -6
- package/deps/jq/docs/templates/manual.html.j2 +1 -11
- package/deps/jq/jq.1.prebuilt +26 -162
- package/deps/jq/jq.spec +1 -1
- package/deps/jq/src/builtin.c +211 -298
- package/deps/jq/src/builtin.jq +7 -13
- package/deps/jq/src/bytecode.h +3 -8
- package/deps/jq/src/compile.c +2 -2
- package/deps/jq/src/decNumber/decBasic.c +1 -1
- package/deps/jq/src/decNumber/decCommon.c +1 -1
- package/deps/jq/src/decNumber/decNumber.c +4 -4
- package/deps/jq/src/execute.c +42 -22
- package/deps/jq/src/jq.h +1 -1
- package/deps/jq/src/jq_test.c +7 -69
- package/deps/jq/src/jv.c +12 -17
- package/deps/jq/src/jv.h +0 -3
- package/deps/jq/src/jv_aux.c +4 -3
- package/deps/jq/src/jv_dtoa.c +1 -1
- package/deps/jq/src/jv_parse.c +0 -2
- package/deps/jq/src/jv_print.c +27 -21
- package/deps/jq/src/jv_unicode.c +0 -18
- package/deps/jq/src/jv_unicode.h +0 -2
- package/deps/jq/src/lexer.c +262 -283
- package/deps/jq/src/lexer.h +2 -3
- package/deps/jq/src/lexer.l +1 -7
- package/deps/jq/src/libm.h +5 -15
- package/deps/jq/src/linker.c +4 -6
- package/deps/jq/src/main.c +252 -179
- package/deps/jq/src/util.c +35 -41
- package/deps/jq/src/util.h +1 -1
- package/deps/jq/tests/jq.test +10 -148
- package/deps/jq/tests/jq_fuzz_load_file.c +0 -1
- package/deps/jq/tests/man.test +8 -26
- package/deps/jq/tests/setup +0 -4
- package/deps/jq/tests/shtest +39 -150
- package/index.d.ts +3 -2
- package/lib/jq.js +2 -2
- package/lib/templateAsync.js +8 -15
- package/package.json +2 -2
- package/src/binding.cc +46 -27
- package/test/santiy-async.test.js +4 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-linux64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +0 -16
- package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +0 -16
- package/deps/jq/sig/v1.7.1/sha256sum.txt +0 -26
- package/deps/jq/tests/uri.test +0 -38
- package/deps/jq/tests/uritest +0 -5
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
headline: jq Manual (development version)
|
|
3
3
|
|
|
4
|
+
history: |
|
|
5
|
+
|
|
6
|
+
*For released versions, see [jq 1.7](./v1.7/), [jq 1.6](./v1.6/), [jq 1.5](./v1.5/),
|
|
7
|
+
[jq 1.4](./v1.4/) or [jq 1.3](./v1.3/).*
|
|
8
|
+
|
|
4
9
|
body: |
|
|
5
10
|
|
|
6
11
|
A jq program is a "filter": it takes an input, and produces an
|
|
@@ -221,13 +226,12 @@ sections:
|
|
|
221
226
|
RS. This mode also parses the output of jq without the `--seq`
|
|
222
227
|
option.
|
|
223
228
|
|
|
224
|
-
* `-f` / `--from-file`:
|
|
229
|
+
* `-f filename` / `--from-file filename`:
|
|
225
230
|
|
|
226
|
-
Read
|
|
227
|
-
|
|
228
|
-
interpreted as a filename, instead of the source of a program.
|
|
231
|
+
Read filter from the file rather than from a command line, like
|
|
232
|
+
awk's -f option. You can also use '#' to make comments.
|
|
229
233
|
|
|
230
|
-
* `-L directory
|
|
234
|
+
* `-L directory`:
|
|
231
235
|
|
|
232
236
|
Prepend `directory` to the search list for modules. If this
|
|
233
237
|
option is used then no builtin search list is used. See the
|
|
@@ -242,8 +246,7 @@ sections:
|
|
|
242
246
|
bind `$foo` to `"123"`.
|
|
243
247
|
|
|
244
248
|
Named arguments are also available to the jq program as
|
|
245
|
-
`$ARGS.named`.
|
|
246
|
-
the only way to access it.
|
|
249
|
+
`$ARGS.named`.
|
|
247
250
|
|
|
248
251
|
* `--argjson name JSON-text`:
|
|
249
252
|
|
|
@@ -354,13 +357,10 @@ sections:
|
|
|
354
357
|
|
|
355
358
|
The way in which jq handles numbers has changed over time
|
|
356
359
|
and further changes are likely within the parameters set by
|
|
357
|
-
the relevant JSON standards.
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
understanding that they are intended to be descriptive of the
|
|
362
|
-
current version of jq and should not be interpreted as being
|
|
363
|
-
prescriptive:
|
|
360
|
+
the relevant JSON standards. The following remarks are
|
|
361
|
+
therefore offered with the understanding that they are
|
|
362
|
+
intended to be descriptive of the current version of jq and
|
|
363
|
+
should not be interpreted as being prescriptive:
|
|
364
364
|
|
|
365
365
|
(1) Any arithmetic operation on a number that has not
|
|
366
366
|
already been converted to an IEEE754 double precision
|
|
@@ -368,10 +368,9 @@ sections:
|
|
|
368
368
|
representation.
|
|
369
369
|
|
|
370
370
|
(2) jq will attempt to maintain the original decimal
|
|
371
|
-
precision of number literals
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
is too large.
|
|
371
|
+
precision of number literals, but in expressions such
|
|
372
|
+
`1E1234567890`, precision will be lost if the exponent is
|
|
373
|
+
too large.
|
|
375
374
|
|
|
376
375
|
(3) In jq programs, a leading minus sign will trigger the
|
|
377
376
|
conversion of the number to an IEEE754 representation.
|
|
@@ -380,12 +379,6 @@ sections:
|
|
|
380
379
|
big decimal representation of numbers if available, as
|
|
381
380
|
illustrated in one of the following examples.
|
|
382
381
|
|
|
383
|
-
The examples below use the builtin function `have_decnum` in
|
|
384
|
-
order to demonstrate the expected effects of using / not
|
|
385
|
-
using the `--disable-decnum` build configuration option, and
|
|
386
|
-
also to allow automated tests derived from these examples to
|
|
387
|
-
pass regardless of whether that option is used.
|
|
388
|
-
|
|
389
382
|
examples:
|
|
390
383
|
- program: '.'
|
|
391
384
|
input: '"Hello, world!"'
|
|
@@ -395,21 +388,21 @@ sections:
|
|
|
395
388
|
input: '0.12345678901234567890123456789'
|
|
396
389
|
output: ['0.12345678901234567890123456789']
|
|
397
390
|
|
|
398
|
-
- program: '[., tojson]
|
|
391
|
+
- program: '[., tojson]'
|
|
399
392
|
input: '12345678909876543212345'
|
|
400
|
-
output: ['
|
|
393
|
+
output: ['[12345678909876543212345,"12345678909876543212345"]']
|
|
401
394
|
|
|
402
395
|
- program: '. < 0.12345678901234567890123456788'
|
|
403
396
|
input: '0.12345678901234567890123456789'
|
|
404
397
|
output: ['false']
|
|
405
398
|
|
|
406
|
-
- program: 'map([., . == 1]) | tojson
|
|
399
|
+
- program: 'map([., . == 1]) | tojson'
|
|
407
400
|
input: '[1, 1.000, 1.0, 100e-2]'
|
|
408
|
-
output: ['true']
|
|
401
|
+
output: ['"[[1,true],[1.000,true],[1.0,true],[1.00,true]]"']
|
|
409
402
|
|
|
410
|
-
- program: '. as $big | [$big, $big + 1] | map(. > 10000000000000000000000000000000)
|
|
403
|
+
- program: '. as $big | [$big, $big + 1] | map(. > 10000000000000000000000000000000)'
|
|
411
404
|
input: '10000000000000000000000000000001'
|
|
412
|
-
output: ['true']
|
|
405
|
+
output: ['[true, false]']
|
|
413
406
|
|
|
414
407
|
- title: "Object Identifier-Index: `.foo`, `.foo.bar`"
|
|
415
408
|
body: |
|
|
@@ -575,7 +568,7 @@ sections:
|
|
|
575
568
|
.bar`, produces both the "foo" fields and "bar" fields as
|
|
576
569
|
separate outputs.
|
|
577
570
|
|
|
578
|
-
The `,` operator is one way to
|
|
571
|
+
The `,` operator is one way to contruct generators.
|
|
579
572
|
|
|
580
573
|
examples:
|
|
581
574
|
- program: '.foo, .bar'
|
|
@@ -1014,7 +1007,7 @@ sections:
|
|
|
1014
1007
|
`($x|f)` for each value, $x, in the input array or object,
|
|
1015
1008
|
but `map_values(f)` only uses `first($x|f)`.
|
|
1016
1009
|
|
|
1017
|
-
Specifically, for object inputs, `
|
|
1010
|
+
Specifically, for object inputs, `map_value(f)` constructs
|
|
1018
1011
|
the output object by examining in turn the value of
|
|
1019
1012
|
`first(.[$k]|f)` for each key, $k, of the input. If this
|
|
1020
1013
|
expression produces no values, then the corresponding key
|
|
@@ -1302,7 +1295,7 @@ sections:
|
|
|
1302
1295
|
input: '[1,[[],{"a":2}]]'
|
|
1303
1296
|
output: ['[[0],[1,1,"a"]]']
|
|
1304
1297
|
|
|
1305
|
-
- title: "`add
|
|
1298
|
+
- title: "`add`"
|
|
1306
1299
|
body: |
|
|
1307
1300
|
|
|
1308
1301
|
The filter `add` takes as input an array, and produces as
|
|
@@ -1313,9 +1306,6 @@ sections:
|
|
|
1313
1306
|
|
|
1314
1307
|
If the input is an empty array, `add` returns `null`.
|
|
1315
1308
|
|
|
1316
|
-
`add(generator)` operates on the given generator rather than
|
|
1317
|
-
the input.
|
|
1318
|
-
|
|
1319
1309
|
examples:
|
|
1320
1310
|
- program: add
|
|
1321
1311
|
input: '["a","b","c"]'
|
|
@@ -1326,9 +1316,6 @@ sections:
|
|
|
1326
1316
|
- program: add
|
|
1327
1317
|
input: '[]'
|
|
1328
1318
|
output: ["null"]
|
|
1329
|
-
- program: add(.[].a)
|
|
1330
|
-
input: '[{"a":3}, {"a":5}, {"b":6}]'
|
|
1331
|
-
output: ['8']
|
|
1332
1319
|
|
|
1333
1320
|
- title: "`any`, `any(condition)`, `any(generator; condition)`"
|
|
1334
1321
|
body: |
|
|
@@ -1785,25 +1772,6 @@ sections:
|
|
|
1785
1772
|
input: '["fo", "foo", "barfoo", "foobar", "foob"]'
|
|
1786
1773
|
output: ['["fo","","bar","foobar","foob"]']
|
|
1787
1774
|
|
|
1788
|
-
- title: "`trim`, `ltrim`, `rtrim`"
|
|
1789
|
-
body: |
|
|
1790
|
-
|
|
1791
|
-
`trim` trims both leading and trailing whitespace.
|
|
1792
|
-
|
|
1793
|
-
`ltrim` trims only leading (left side) whitespace.
|
|
1794
|
-
|
|
1795
|
-
`rtrim` trims only trailing (right side) whitespace.
|
|
1796
|
-
|
|
1797
|
-
Whitespace characters are the usual `" "`, `"\n"` `"\t"`, `"\r"`
|
|
1798
|
-
and also all characters in the Unicode character database with the
|
|
1799
|
-
whitespace property. Note that what considers whitespace might
|
|
1800
|
-
change in the future.
|
|
1801
|
-
|
|
1802
|
-
examples:
|
|
1803
|
-
- program: 'trim, ltrim, rtrim'
|
|
1804
|
-
input: '" abc "'
|
|
1805
|
-
output: ['"abc"', '"abc "', '" abc"']
|
|
1806
|
-
|
|
1807
1775
|
- title: "`explode`"
|
|
1808
1776
|
body: |
|
|
1809
1777
|
|
|
@@ -2005,19 +1973,6 @@ sections:
|
|
|
2005
1973
|
output:
|
|
2006
1974
|
- '[{"a":{"b":2}}]'
|
|
2007
1975
|
|
|
2008
|
-
- title: "`have_literal_numbers`"
|
|
2009
|
-
body: |
|
|
2010
|
-
|
|
2011
|
-
This builtin returns true if jq's build configuration
|
|
2012
|
-
includes support for preservation of input number literals.
|
|
2013
|
-
|
|
2014
|
-
- title: "`have_decnum`"
|
|
2015
|
-
body: |
|
|
2016
|
-
|
|
2017
|
-
This builtin returns true if jq was built with "decnum",
|
|
2018
|
-
which is the current literal number preserving numeric
|
|
2019
|
-
backend implementation for jq.
|
|
2020
|
-
|
|
2021
1976
|
- title: "`$JQ_BUILD_CONFIGURATION`"
|
|
2022
1977
|
body: |
|
|
2023
1978
|
|
|
@@ -2028,7 +1983,7 @@ sections:
|
|
|
2028
1983
|
future to include the version strings for the build
|
|
2029
1984
|
tooling used.
|
|
2030
1985
|
|
|
2031
|
-
Note that this can be
|
|
1986
|
+
Note that this can be overriden in the command-line
|
|
2032
1987
|
with `--arg` and related options.
|
|
2033
1988
|
|
|
2034
1989
|
- title: "`$ENV`, `env`"
|
|
@@ -2143,11 +2098,6 @@ sections:
|
|
|
2143
2098
|
Applies percent-encoding, by mapping all reserved URI
|
|
2144
2099
|
characters to a `%XX` sequence.
|
|
2145
2100
|
|
|
2146
|
-
* `@urid`:
|
|
2147
|
-
|
|
2148
|
-
The inverse of `@uri`, applies percent-decoding, by mapping
|
|
2149
|
-
all `%XX` sequences to their corresponding URI characters.
|
|
2150
|
-
|
|
2151
2101
|
* `@csv`:
|
|
2152
2102
|
|
|
2153
2103
|
The input must be an array, and it is rendered as CSV
|
|
@@ -2260,7 +2210,7 @@ sections:
|
|
|
2260
2210
|
|
|
2261
2211
|
The `strptime(fmt)` builtin parses input strings matching the
|
|
2262
2212
|
`fmt` argument. The output is in the "broken down time"
|
|
2263
|
-
representation consumed by `
|
|
2213
|
+
representation consumed by `gmtime` and output by `mktime`.
|
|
2264
2214
|
|
|
2265
2215
|
The `strftime(fmt)` builtin formats a time (GMT) with the
|
|
2266
2216
|
given format. The `strflocaltime` does the same, but using
|
|
@@ -2541,7 +2491,7 @@ sections:
|
|
|
2541
2491
|
label $out | ... break $out ...
|
|
2542
2492
|
|
|
2543
2493
|
The `break $label_name` expression will cause the program to
|
|
2544
|
-
act as though the nearest (to the left) `label $label_name`
|
|
2494
|
+
to act as though the nearest (to the left) `label $label_name`
|
|
2545
2495
|
produced `empty`.
|
|
2546
2496
|
|
|
2547
2497
|
The relationship between the `break` and corresponding `label`
|
|
@@ -3039,26 +2989,16 @@ sections:
|
|
|
3039
2989
|
input: '[1,2,3]'
|
|
3040
2990
|
output: ['false']
|
|
3041
2991
|
|
|
3042
|
-
- title: "`limit(n;
|
|
2992
|
+
- title: "`limit(n; exp)`"
|
|
3043
2993
|
body: |
|
|
3044
2994
|
|
|
3045
|
-
The `limit` function extracts up to `n` outputs from `
|
|
2995
|
+
The `limit` function extracts up to `n` outputs from `exp`.
|
|
3046
2996
|
|
|
3047
2997
|
examples:
|
|
3048
|
-
- program: '[limit(3
|
|
2998
|
+
- program: '[limit(3;.[])]'
|
|
3049
2999
|
input: '[0,1,2,3,4,5,6,7,8,9]'
|
|
3050
3000
|
output: ['[0,1,2]']
|
|
3051
3001
|
|
|
3052
|
-
- title: "`skip(n; expr)`"
|
|
3053
|
-
body: |
|
|
3054
|
-
|
|
3055
|
-
The `skip` function skips the first `n` outputs from `expr`.
|
|
3056
|
-
|
|
3057
|
-
examples:
|
|
3058
|
-
- program: '[skip(3; .[])]'
|
|
3059
|
-
input: '[0,1,2,3,4,5,6,7,8,9]'
|
|
3060
|
-
output: ['[3,4,5,6,7,8,9]']
|
|
3061
|
-
|
|
3062
3002
|
- title: "`first(expr)`, `last(expr)`, `nth(n; expr)`"
|
|
3063
3003
|
body: |
|
|
3064
3004
|
|
|
@@ -3069,12 +3009,9 @@ sections:
|
|
|
3069
3009
|
Note that `nth(n; expr)` doesn't support negative values of `n`.
|
|
3070
3010
|
|
|
3071
3011
|
examples:
|
|
3072
|
-
- program: '[first(range(.)), last(range(.)), nth(
|
|
3012
|
+
- program: '[first(range(.)), last(range(.)), nth(./2; range(.))]'
|
|
3073
3013
|
input: '10'
|
|
3074
3014
|
output: ['[0,9,5]']
|
|
3075
|
-
- program: '[first(empty), last(empty), nth(5; empty)]'
|
|
3076
|
-
input: 'null'
|
|
3077
|
-
output: ['[]']
|
|
3078
3015
|
|
|
3079
3016
|
- title: "`first`, `last`, `nth(n)`"
|
|
3080
3017
|
body: |
|
|
@@ -3260,7 +3197,7 @@ sections:
|
|
|
3260
3197
|
One-input C math functions: `acos` `acosh` `asin` `asinh` `atan`
|
|
3261
3198
|
`atanh` `cbrt` `ceil` `cos` `cosh` `erf` `erfc` `exp` `exp10`
|
|
3262
3199
|
`exp2` `expm1` `fabs` `floor` `gamma` `j0` `j1` `lgamma` `log`
|
|
3263
|
-
`log10` `log1p` `log2` `logb` `nearbyint` `rint` `round`
|
|
3200
|
+
`log10` `log1p` `log2` `logb` `nearbyint` `pow10` `rint` `round`
|
|
3264
3201
|
`significand` `sin` `sinh` `sqrt` `tan` `tanh` `tgamma` `trunc`
|
|
3265
3202
|
`y0` `y1`.
|
|
3266
3203
|
|
|
@@ -3600,68 +3537,6 @@ sections:
|
|
|
3600
3537
|
(.posts[] | select(.author == "stedolan") | .comments) |=
|
|
3601
3538
|
. + ["terrible."]
|
|
3602
3539
|
|
|
3603
|
-
- title: Comments
|
|
3604
|
-
|
|
3605
|
-
body: |
|
|
3606
|
-
|
|
3607
|
-
You can write comments in your jq filters using `#`.
|
|
3608
|
-
|
|
3609
|
-
A `#` character (not part of a string) starts a comment.
|
|
3610
|
-
All characters from `#` to the end of the line are ignored.
|
|
3611
|
-
|
|
3612
|
-
If the end of the line is preceded by an odd number of backslash
|
|
3613
|
-
characters, the following line is also considered part of the
|
|
3614
|
-
comment and is ignored.
|
|
3615
|
-
|
|
3616
|
-
For example, the following code outputs `[1,3,4,7]`
|
|
3617
|
-
|
|
3618
|
-
[
|
|
3619
|
-
1,
|
|
3620
|
-
# foo \
|
|
3621
|
-
2,
|
|
3622
|
-
# bar \\
|
|
3623
|
-
3,
|
|
3624
|
-
4, # baz \\\
|
|
3625
|
-
5, \
|
|
3626
|
-
6,
|
|
3627
|
-
7
|
|
3628
|
-
# comment \
|
|
3629
|
-
comment \
|
|
3630
|
-
comment
|
|
3631
|
-
]
|
|
3632
|
-
|
|
3633
|
-
Backslash continuing the comment on the next line can be useful
|
|
3634
|
-
when writing the "shebang" for a jq script:
|
|
3635
|
-
|
|
3636
|
-
#!/bin/sh --
|
|
3637
|
-
# total - Output the sum of the given arguments (or stdin)
|
|
3638
|
-
# usage: total [numbers...]
|
|
3639
|
-
# \
|
|
3640
|
-
exec jq --args -MRnf -- "$0" "$@"
|
|
3641
|
-
|
|
3642
|
-
$ARGS.positional |
|
|
3643
|
-
reduce (
|
|
3644
|
-
if . == []
|
|
3645
|
-
then inputs
|
|
3646
|
-
else .[]
|
|
3647
|
-
end |
|
|
3648
|
-
. as $dot |
|
|
3649
|
-
try tonumber catch false |
|
|
3650
|
-
if not or isnan then
|
|
3651
|
-
@json "total: Invalid number \($dot).\n" | halt_error(1)
|
|
3652
|
-
end
|
|
3653
|
-
) as $n (0; . + $n)
|
|
3654
|
-
|
|
3655
|
-
The `exec` line is considered a comment by jq, so it is ignored.
|
|
3656
|
-
But it is not ignored by `sh`, since in `sh` a backslash at the
|
|
3657
|
-
end of the line does not continue the comment.
|
|
3658
|
-
With this trick, when the script is invoked as `total 1 2`,
|
|
3659
|
-
`/bin/sh -- /path/to/total 1 2` will be run, and `sh` will then
|
|
3660
|
-
run `exec jq --args -MRnf -- /path/to/total 1 2` replacing itself
|
|
3661
|
-
with a `jq` interpreter invoked with the specified options (`-M`,
|
|
3662
|
-
`-R`, `-n`, `--args`), that evaluates the current file (`$0`),
|
|
3663
|
-
with the arguments (`$@`) that were passed to `sh`.
|
|
3664
|
-
|
|
3665
3540
|
- title: Modules
|
|
3666
3541
|
body: |
|
|
3667
3542
|
|
|
@@ -3672,7 +3547,7 @@ sections:
|
|
|
3672
3547
|
path (see below). The `import` and `include` directives allow the
|
|
3673
3548
|
importer to alter this path.
|
|
3674
3549
|
|
|
3675
|
-
Paths in the search path are subject to various substitutions.
|
|
3550
|
+
Paths in the a search path are subject to various substitutions.
|
|
3676
3551
|
|
|
3677
3552
|
For paths starting with `~/`, the user's home directory is
|
|
3678
3553
|
substituted for `~`.
|
|
@@ -3706,8 +3581,7 @@ sections:
|
|
|
3706
3581
|
For example, with `-L$HOME/.jq` a module `foo` can be found in
|
|
3707
3582
|
`$HOME/.jq/foo.jq` and `$HOME/.jq/foo/foo.jq`.
|
|
3708
3583
|
|
|
3709
|
-
If
|
|
3710
|
-
directory), it is automatically sourced into the main program.
|
|
3584
|
+
If `$HOME/.jq` is a file, it is sourced into the main program.
|
|
3711
3585
|
|
|
3712
3586
|
entries:
|
|
3713
3587
|
- title: "`import RelativePathString as NAME [<metadata>];`"
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
headline: jq 1.5 Manual
|
|
3
3
|
|
|
4
|
+
history: |
|
|
5
|
+
|
|
6
|
+
*The manual for the development version of jq can be found
|
|
7
|
+
[here](../).*
|
|
8
|
+
|
|
4
9
|
body: |
|
|
5
10
|
|
|
6
11
|
A jq program is a "filter": it takes an input, and produces an
|
|
@@ -1763,7 +1768,7 @@ sections:
|
|
|
1763
1768
|
|
|
1764
1769
|
The `strptime(fmt)` builtin parses input strings matching the
|
|
1765
1770
|
`fmt` argument. The output is in the "broken down time"
|
|
1766
|
-
representation consumed by `
|
|
1771
|
+
representation consumed by `gmtime` and output by `mktime`.
|
|
1767
1772
|
|
|
1768
1773
|
The `strftime(fmt)` builtin formats a time with the given
|
|
1769
1774
|
format.
|
|
@@ -1953,7 +1958,7 @@ sections:
|
|
|
1953
1958
|
label $out | ... break $out ...
|
|
1954
1959
|
|
|
1955
1960
|
The `break $label_name` expression will cause the program to
|
|
1956
|
-
act as though the nearest (to the left) `label $label_name`
|
|
1961
|
+
to act as though the nearest (to the left) `label $label_name`
|
|
1957
1962
|
produced `empty`.
|
|
1958
1963
|
|
|
1959
1964
|
The relationship between the `break` and corresponding `label`
|
|
@@ -2816,7 +2821,7 @@ sections:
|
|
|
2816
2821
|
path (see below). The `import` and `include` directives allow the
|
|
2817
2822
|
importer to alter this path.
|
|
2818
2823
|
|
|
2819
|
-
Paths in the search path are subject to various substitutions.
|
|
2824
|
+
Paths in the a search path are subject to various substitutions.
|
|
2820
2825
|
|
|
2821
2826
|
For paths starting with "~/", the user's home directory is
|
|
2822
2827
|
substituted for "~".
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
headline: jq 1.6 Manual
|
|
3
3
|
|
|
4
|
+
history: |
|
|
5
|
+
|
|
6
|
+
*The manual for the development version of jq can be found
|
|
7
|
+
[here](../).*
|
|
8
|
+
|
|
4
9
|
body: |
|
|
5
10
|
|
|
6
11
|
A jq program is a "filter": it takes an input, and produces an
|
|
@@ -1973,7 +1978,7 @@ sections:
|
|
|
1973
1978
|
|
|
1974
1979
|
The `strptime(fmt)` builtin parses input strings matching the
|
|
1975
1980
|
`fmt` argument. The output is in the "broken down time"
|
|
1976
|
-
representation consumed by `
|
|
1981
|
+
representation consumed by `gmtime` and output by `mktime`.
|
|
1977
1982
|
|
|
1978
1983
|
The `strftime(fmt)` builtin formats a time (GMT) with the
|
|
1979
1984
|
given format. The `strflocaltime` does the same, but using
|
|
@@ -2212,7 +2217,7 @@ sections:
|
|
|
2212
2217
|
label $out | ... break $out ...
|
|
2213
2218
|
|
|
2214
2219
|
The `break $label_name` expression will cause the program to
|
|
2215
|
-
act as though the nearest (to the left) `label $label_name`
|
|
2220
|
+
to act as though the nearest (to the left) `label $label_name`
|
|
2216
2221
|
produced `empty`.
|
|
2217
2222
|
|
|
2218
2223
|
The relationship between the `break` and corresponding `label`
|
|
@@ -3211,7 +3216,7 @@ sections:
|
|
|
3211
3216
|
path (see below). The `import` and `include` directives allow the
|
|
3212
3217
|
importer to alter this path.
|
|
3213
3218
|
|
|
3214
|
-
Paths in the search path are subject to various substitutions.
|
|
3219
|
+
Paths in the a search path are subject to various substitutions.
|
|
3215
3220
|
|
|
3216
3221
|
For paths starting with "~/", the user's home directory is
|
|
3217
3222
|
substituted for "~".
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
headline: jq 1.7 Manual
|
|
3
3
|
|
|
4
|
+
history: |
|
|
5
|
+
|
|
6
|
+
*The manual for the development version of jq can be found
|
|
7
|
+
[here](../).*
|
|
8
|
+
|
|
4
9
|
body: |
|
|
5
10
|
|
|
6
11
|
A jq program is a "filter": it takes an input, and produces an
|
|
@@ -564,7 +569,7 @@ sections:
|
|
|
564
569
|
.bar`, produces both the "foo" fields and "bar" fields as
|
|
565
570
|
separate outputs.
|
|
566
571
|
|
|
567
|
-
The `,` operator is one way to
|
|
572
|
+
The `,` operator is one way to contruct generators.
|
|
568
573
|
|
|
569
574
|
examples:
|
|
570
575
|
- program: ".foo, .bar"
|
|
@@ -1002,7 +1007,7 @@ sections:
|
|
|
1002
1007
|
`($x|f)` for each value, $x, in the input array or object,
|
|
1003
1008
|
but `map_values(f)` only uses `first($x|f)`.
|
|
1004
1009
|
|
|
1005
|
-
Specifically, for object inputs, `
|
|
1010
|
+
Specifically, for object inputs, `map_value(f)` constructs
|
|
1006
1011
|
the output object by examining in turn the value of
|
|
1007
1012
|
`first(.[$k]|f)` for each key, $k, of the input. If this
|
|
1008
1013
|
expression produces no values, then the corresponding key
|
|
@@ -1980,7 +1985,7 @@ sections:
|
|
|
1980
1985
|
future to include the version strings for the build
|
|
1981
1986
|
tooling used.
|
|
1982
1987
|
|
|
1983
|
-
Note that this can be
|
|
1988
|
+
Note that this can be overriden in the command-line
|
|
1984
1989
|
with `--arg` and related options.
|
|
1985
1990
|
|
|
1986
1991
|
- title: "`$ENV`, `env`"
|
|
@@ -2207,7 +2212,7 @@ sections:
|
|
|
2207
2212
|
|
|
2208
2213
|
The `strptime(fmt)` builtin parses input strings matching the
|
|
2209
2214
|
`fmt` argument. The output is in the "broken down time"
|
|
2210
|
-
representation consumed by `
|
|
2215
|
+
representation consumed by `gmtime` and output by `mktime`.
|
|
2211
2216
|
|
|
2212
2217
|
The `strftime(fmt)` builtin formats a time (GMT) with the
|
|
2213
2218
|
given format. The `strflocaltime` does the same, but using
|
|
@@ -2488,7 +2493,7 @@ sections:
|
|
|
2488
2493
|
label $out | ... break $out ...
|
|
2489
2494
|
|
|
2490
2495
|
The `break $label_name` expression will cause the program to
|
|
2491
|
-
act as though the nearest (to the left) `label $label_name`
|
|
2496
|
+
to act as though the nearest (to the left) `label $label_name`
|
|
2492
2497
|
produced `empty`.
|
|
2493
2498
|
|
|
2494
2499
|
The relationship between the `break` and corresponding `label`
|
|
@@ -3543,7 +3548,7 @@ sections:
|
|
|
3543
3548
|
path (see below). The `import` and `include` directives allow the
|
|
3544
3549
|
importer to alter this path.
|
|
3545
3550
|
|
|
3546
|
-
Paths in the search path are subject to various substitutions.
|
|
3551
|
+
Paths in the a search path are subject to various substitutions.
|
|
3547
3552
|
|
|
3548
3553
|
For paths starting with `~/`, the user's home directory is
|
|
3549
3554
|
substituted for `~`.
|
|
@@ -207,7 +207,7 @@ body:
|
|
|
207
207
|
"name": "Nico Williams"
|
|
208
208
|
}
|
|
209
209
|
{
|
|
210
|
-
"message": "Fix
|
|
210
|
+
"message": "Fix iterration problem for non decimal string\n\nWhen the string transformation to number failed, all following\ntransformation failed too.\n\nThis happend because status in decNumberFromString function is\nupdated just in error case. Reusing the DEC_CONTEXT that failed\nbefore results into error even if the string is valid number.",
|
|
211
211
|
"name": "Nico Williams"
|
|
212
212
|
}
|
|
213
213
|
{
|
|
@@ -249,7 +249,7 @@ body:
|
|
|
249
249
|
"name": "Nico Williams"
|
|
250
250
|
},
|
|
251
251
|
{
|
|
252
|
-
"message": "Fix
|
|
252
|
+
"message": "Fix iterration problem for non decimal string\n\nWhen the string transformation to number failed, all following\ntransformation failed too.\n\nThis happend because status in decNumberFromString function is\nupdated just in error case. Reusing the DEC_CONTEXT that failed\nbefore results into error even if the string is valid number.",
|
|
253
253
|
"name": "Nico Williams"
|
|
254
254
|
},
|
|
255
255
|
{
|
|
@@ -300,7 +300,7 @@ body:
|
|
|
300
300
|
]
|
|
301
301
|
},
|
|
302
302
|
{
|
|
303
|
-
"message": "Fix
|
|
303
|
+
"message": "Fix iterration problem for non decimal string\n\nWhen the string transformation to number failed, all following\ntransformation failed too.\n\nThis happend because status in decNumberFromString function is\nupdated just in error case. Reusing the DEC_CONTEXT that failed\nbefore results into error even if the string is valid number.",
|
|
304
304
|
"name": "Nico Williams",
|
|
305
305
|
"parents": [
|
|
306
306
|
"https://github.com/jqlang/jq/commit/174db0f93552bdb551ae1f3c5c64744df0ad8e2f"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
type: object
|
|
2
2
|
required:
|
|
3
3
|
- headline
|
|
4
|
+
- history
|
|
4
5
|
- body
|
|
5
6
|
- manpage_intro
|
|
6
7
|
- manpage_epilogue
|
|
@@ -9,6 +10,8 @@ additionalProperties: false
|
|
|
9
10
|
properties:
|
|
10
11
|
headline:
|
|
11
12
|
type: string
|
|
13
|
+
history:
|
|
14
|
+
type: string
|
|
12
15
|
body:
|
|
13
16
|
type: string
|
|
14
17
|
manpage_intro:
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
<h2 class="px-1" style="width:16em">{{ blurb }}</h2>
|
|
15
15
|
<div class="btn-group d-print-none" role="group">
|
|
16
16
|
<button type="button" class="btn btn-primary dropdown-toggle text-nowrap" data-bs-toggle="dropdown" aria-expanded="false">
|
|
17
|
-
Download jq 1.7
|
|
17
|
+
Download jq 1.7
|
|
18
18
|
<span class="caret"></span>
|
|
19
19
|
</button>
|
|
20
20
|
<ul class="dropdown-menu">
|
|
21
|
-
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7
|
|
22
|
-
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7
|
|
23
|
-
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7
|
|
24
|
-
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7
|
|
25
|
-
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7
|
|
21
|
+
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7/jq-linux-amd64" aria-label="Link to download executable: Linux (AMD64)"><span class="bi bi-download me-2" aria-hidden="true"></span>Linux (AMD64)</a></li>
|
|
22
|
+
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7/jq-linux-arm64" aria-label="Link to download executable: Linux (ARM64)"><span class="bi bi-download me-2" aria-hidden="true"></span>Linux (ARM64)</a></li>
|
|
23
|
+
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7/jq-macos-amd64" aria-label="Link to download executable: macOS (AMD64)"><span class="bi bi-download me-2" aria-hidden="true"></span>macOS (AMD64)</a></li>
|
|
24
|
+
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7/jq-macos-arm64" aria-label="Link to download executable: macOS (ARM64)"><span class="bi bi-download me-2" aria-hidden="true"></span>macOS (ARM64)</a></li>
|
|
25
|
+
<li><a class="dropdown-item" href="https://github.com/jqlang/jq/releases/download/jq-1.7/jq-windows-amd64.exe" aria-label="Link to download executable: Windows (AMD64)"><span class="bi bi-download me-2" aria-hidden="true"></span>Windows (AMD64)</a></li>
|
|
26
26
|
<li><a class="dropdown-item" href="{{ root }}/download/">Other platforms, older versions, and source</a></li>
|
|
27
27
|
</ul>
|
|
28
28
|
<a class="btn btn-primary text-nowrap" href="https://jqplay.org" target="_blank" rel="noopener">
|
|
@@ -33,17 +33,7 @@
|
|
|
33
33
|
{%- endmacro %}
|
|
34
34
|
<main id="main" class="col-md-9" data-bs-spy="scroll" data-bs-target="#contents" data-bs-threshold="0,1" data-bs-root-margin="-30% 0% -70%">
|
|
35
35
|
<h1>{{ headline }}</h1>
|
|
36
|
-
|
|
37
|
-
<em>
|
|
38
|
-
For other versions, see
|
|
39
|
-
<a href="{{ root }}/manual/v1.7/">1.7</a>,
|
|
40
|
-
<a href="{{ root }}/manual/v1.6/">1.6</a>,
|
|
41
|
-
<a href="{{ root }}/manual/v1.5/">1.5</a>,
|
|
42
|
-
<a href="{{ root }}/manual/v1.4/">1.4</a>,
|
|
43
|
-
<a href="{{ root }}/manual/v1.3/">1.3</a> or
|
|
44
|
-
<a href="{{ root }}/manual/dev/">development version</a>.
|
|
45
|
-
</em>
|
|
46
|
-
</p>
|
|
36
|
+
{{ history | markdownify }}
|
|
47
37
|
{{ body | markdownify }}
|
|
48
38
|
{%- for section in sections %}
|
|
49
39
|
<section id="{{ section.title | section_id }}">{{ check_section_id(section.title | section_id) }}
|