@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.
Files changed (89) hide show
  1. package/deps/jq/COPYING +1 -9
  2. package/deps/jq/Makefile.am +13 -18
  3. package/deps/jq/NEWS.md +2 -2
  4. package/deps/jq/README.md +3 -18
  5. package/deps/jq/configure.ac +1 -0
  6. package/deps/jq/docs/Pipfile.lock +59 -72
  7. package/deps/jq/docs/README.md +1 -1
  8. package/deps/jq/docs/build_manpage.py +1 -1
  9. package/deps/jq/docs/build_mantests.py +1 -1
  10. package/deps/jq/docs/content/download/default.yml +1 -23
  11. package/deps/jq/docs/content/index.yml +0 -5
  12. package/deps/jq/docs/content/manual/{dev/manual.yml → manual.yml} +36 -162
  13. package/deps/jq/docs/content/manual/v1.3/manual.yml +5 -0
  14. package/deps/jq/docs/content/manual/v1.4/manual.yml +5 -0
  15. package/deps/jq/docs/content/manual/v1.5/manual.yml +8 -3
  16. package/deps/jq/docs/content/manual/v1.6/manual.yml +8 -3
  17. package/deps/jq/docs/content/manual/v1.7/manual.yml +11 -6
  18. package/deps/jq/docs/content/tutorial/default.yml +3 -3
  19. package/deps/jq/docs/manual_schema.yml +3 -0
  20. package/deps/jq/docs/templates/index.html.j2 +6 -6
  21. package/deps/jq/docs/templates/manual.html.j2 +1 -11
  22. package/deps/jq/jq.1.prebuilt +26 -162
  23. package/deps/jq/jq.spec +1 -1
  24. package/deps/jq/src/builtin.c +211 -298
  25. package/deps/jq/src/builtin.jq +7 -13
  26. package/deps/jq/src/bytecode.h +3 -8
  27. package/deps/jq/src/compile.c +2 -2
  28. package/deps/jq/src/decNumber/decBasic.c +1 -1
  29. package/deps/jq/src/decNumber/decCommon.c +1 -1
  30. package/deps/jq/src/decNumber/decNumber.c +4 -4
  31. package/deps/jq/src/execute.c +42 -22
  32. package/deps/jq/src/jq.h +1 -1
  33. package/deps/jq/src/jq_test.c +7 -69
  34. package/deps/jq/src/jv.c +12 -17
  35. package/deps/jq/src/jv.h +0 -3
  36. package/deps/jq/src/jv_aux.c +4 -3
  37. package/deps/jq/src/jv_dtoa.c +1 -1
  38. package/deps/jq/src/jv_parse.c +0 -2
  39. package/deps/jq/src/jv_print.c +27 -21
  40. package/deps/jq/src/jv_unicode.c +0 -18
  41. package/deps/jq/src/jv_unicode.h +0 -2
  42. package/deps/jq/src/lexer.c +262 -283
  43. package/deps/jq/src/lexer.h +2 -3
  44. package/deps/jq/src/lexer.l +1 -7
  45. package/deps/jq/src/libm.h +5 -15
  46. package/deps/jq/src/linker.c +4 -6
  47. package/deps/jq/src/main.c +252 -179
  48. package/deps/jq/src/util.c +35 -41
  49. package/deps/jq/src/util.h +1 -1
  50. package/deps/jq/tests/jq.test +10 -148
  51. package/deps/jq/tests/jq_fuzz_load_file.c +0 -1
  52. package/deps/jq/tests/man.test +8 -26
  53. package/deps/jq/tests/setup +0 -4
  54. package/deps/jq/tests/shtest +39 -150
  55. package/index.d.ts +3 -2
  56. package/lib/jq.js +2 -2
  57. package/lib/templateAsync.js +8 -15
  58. package/package.json +2 -2
  59. package/src/binding.cc +46 -27
  60. package/test/santiy-async.test.js +4 -0
  61. package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +0 -16
  62. package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +0 -16
  63. package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +0 -16
  64. package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +0 -16
  65. package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +0 -16
  66. package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +0 -16
  67. package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +0 -16
  68. package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +0 -16
  69. package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +0 -16
  70. package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +0 -16
  71. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +0 -16
  72. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +0 -16
  73. package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +0 -16
  74. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +0 -16
  75. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +0 -16
  76. package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +0 -16
  77. package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +0 -16
  78. package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +0 -16
  79. package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +0 -16
  80. package/deps/jq/sig/v1.7.1/jq-linux64.asc +0 -16
  81. package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +0 -16
  82. package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +0 -16
  83. package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +0 -16
  84. package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +0 -16
  85. package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +0 -16
  86. package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +0 -16
  87. package/deps/jq/sig/v1.7.1/sha256sum.txt +0 -26
  88. package/deps/jq/tests/uri.test +0 -38
  89. 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 the filter from a file rather than from a command line,
227
- like awk's -f option. This changes the filter argument to be
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` / `--library-path 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`. When the name is not a valid identifier, this is
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. Moreover, build configuration
358
- options can alter how jq processes numbers.
359
-
360
- The following remarks are therefore offered with the
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 (if the `--disable-decnum`
372
- build configuration option was not used), but in expressions
373
- such `1E1234567890`, precision will be lost if the exponent
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] | . == if have_decnum then [12345678909876543212345,"12345678909876543212345"] else [12345678909876543000000,"12345678909876543000000"] end'
391
+ - program: '[., tojson]'
399
392
  input: '12345678909876543212345'
400
- output: ['true']
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 | . == if have_decnum then "[[1,true],[1.000,true],[1.0,true],[1.00,true]]" else "[[1,true],[1,true],[1,true],[1,true]]" end'
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) | . == if have_decnum then [true, false] else [false, false] end'
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 construct generators.
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, `map_values(f)` constructs
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`, `add(generator)`"
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 overridden in the command-line
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 `mktime` and output by `gmtime`.
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; expr)`"
2992
+ - title: "`limit(n; exp)`"
3043
2993
  body: |
3044
2994
 
3045
- The `limit` function extracts up to `n` outputs from `expr`.
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(5; range(.))]'
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 `.jq` exists in the user's home directory, and is a file (not a
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.3 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
@@ -1,6 +1,11 @@
1
1
  ---
2
2
  headline: jq 1.4 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
@@ -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 `mktime` and output by `gmtime`.
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 `mktime` and output by `gmtime`.
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 construct generators.
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, `map_values(f)` constructs
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 overridden in the command-line
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 `mktime` and output by `gmtime`.
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 iteration 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.",
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 iteration 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.",
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 iteration 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.",
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.1
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.1/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.1/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.1/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.1/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.1/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>
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
- <p>
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) }}