@port-labs/jq-node-bindings 1.0.4 → 1.1.0-dev

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 (352) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/configure +6 -5
  3. package/deps/jq/.claude/settings.local.json +7 -0
  4. package/deps/jq/.gitattributes +1 -3
  5. package/deps/jq/AUTHORS +55 -1
  6. package/deps/jq/COPYING +40 -0
  7. package/deps/jq/Makefile.am +40 -36
  8. package/deps/jq/NEWS.md +277 -2
  9. package/deps/jq/README.md +23 -5
  10. package/deps/jq/compile-ios.sh +1 -1
  11. package/deps/jq/config/m4/check-math-func.m4 +2 -2
  12. package/deps/jq/config/m4/find-func-no-libs2.m4 +3 -3
  13. package/deps/jq/configure.ac +10 -18
  14. package/deps/jq/docs/Pipfile.lock +368 -313
  15. package/deps/jq/docs/README.md +3 -4
  16. package/deps/jq/docs/build_manpage.py +1 -1
  17. package/deps/jq/docs/build_mantests.py +1 -1
  18. package/deps/jq/docs/build_website.py +1 -8
  19. package/deps/jq/docs/content/download/default.yml +49 -9
  20. package/deps/jq/docs/content/index.yml +9 -0
  21. package/deps/jq/docs/content/manual/{manual.yml → dev/manual.yml} +218 -61
  22. package/deps/jq/docs/content/manual/v1.3/manual.yml +0 -5
  23. package/deps/jq/docs/content/manual/v1.4/manual.yml +0 -5
  24. package/deps/jq/docs/content/manual/v1.5/manual.yml +3 -8
  25. package/deps/jq/docs/content/manual/v1.6/manual.yml +3 -8
  26. package/deps/jq/docs/content/manual/v1.7/manual.yml +499 -500
  27. package/deps/jq/docs/content/manual/v1.8/manual.yml +3858 -0
  28. package/deps/jq/docs/content/tutorial/default.yml +3 -3
  29. package/deps/jq/docs/manual_schema.yml +0 -3
  30. package/deps/jq/docs/public/CNAME +1 -0
  31. package/deps/jq/docs/templates/index.html.j2 +10 -10
  32. package/deps/jq/docs/templates/manual.html.j2 +14 -3
  33. package/deps/jq/docs/templates/shared/_head.html.j2 +8 -3
  34. package/deps/jq/docs/templates/shared/_navbar.html.j2 +4 -4
  35. package/deps/jq/jq.1.prebuilt +219 -44
  36. package/deps/jq/jq.spec +2 -2
  37. package/deps/jq/libjq.pc.in +1 -1
  38. package/deps/jq/scripts/version +1 -1
  39. package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
  40. package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
  41. package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
  42. package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
  43. package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
  44. package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
  45. package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
  46. package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
  47. package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
  48. package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
  49. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
  50. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
  51. package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
  52. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
  53. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
  54. package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
  55. package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
  56. package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
  57. package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
  58. package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
  59. package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
  60. package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
  61. package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
  62. package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
  63. package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
  64. package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
  65. package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
  66. package/deps/jq/sig/v1.8.0/jq-1.8.0.tar.gz.asc +16 -0
  67. package/deps/jq/sig/v1.8.0/jq-1.8.0.zip.asc +16 -0
  68. package/deps/jq/sig/v1.8.0/jq-linux-amd64.asc +16 -0
  69. package/deps/jq/sig/v1.8.0/jq-linux-arm64.asc +16 -0
  70. package/deps/jq/sig/v1.8.0/jq-linux-armel.asc +16 -0
  71. package/deps/jq/sig/v1.8.0/jq-linux-armhf.asc +16 -0
  72. package/deps/jq/sig/v1.8.0/jq-linux-i386.asc +16 -0
  73. package/deps/jq/sig/v1.8.0/jq-linux-mips.asc +16 -0
  74. package/deps/jq/sig/v1.8.0/jq-linux-mips64.asc +16 -0
  75. package/deps/jq/sig/v1.8.0/jq-linux-mips64el.asc +16 -0
  76. package/deps/jq/sig/v1.8.0/jq-linux-mips64r6.asc +16 -0
  77. package/deps/jq/sig/v1.8.0/jq-linux-mips64r6el.asc +16 -0
  78. package/deps/jq/sig/v1.8.0/jq-linux-mipsel.asc +16 -0
  79. package/deps/jq/sig/v1.8.0/jq-linux-mipsr6.asc +16 -0
  80. package/deps/jq/sig/v1.8.0/jq-linux-mipsr6el.asc +16 -0
  81. package/deps/jq/sig/v1.8.0/jq-linux-powerpc.asc +16 -0
  82. package/deps/jq/sig/v1.8.0/jq-linux-ppc64el.asc +16 -0
  83. package/deps/jq/sig/v1.8.0/jq-linux-riscv64.asc +16 -0
  84. package/deps/jq/sig/v1.8.0/jq-linux-s390x.asc +16 -0
  85. package/deps/jq/sig/v1.8.0/jq-linux64.asc +16 -0
  86. package/deps/jq/sig/v1.8.0/jq-macos-amd64.asc +16 -0
  87. package/deps/jq/sig/v1.8.0/jq-macos-arm64.asc +16 -0
  88. package/deps/jq/sig/v1.8.0/jq-osx-amd64.asc +16 -0
  89. package/deps/jq/sig/v1.8.0/jq-win64.exe.asc +16 -0
  90. package/deps/jq/sig/v1.8.0/jq-windows-amd64.exe.asc +16 -0
  91. package/deps/jq/sig/v1.8.0/jq-windows-i386.exe.asc +16 -0
  92. package/deps/jq/sig/v1.8.0/sha256sum.txt +26 -0
  93. package/deps/jq/src/builtin.c +446 -271
  94. package/deps/jq/src/builtin.jq +25 -60
  95. package/deps/jq/src/bytecode.h +8 -3
  96. package/deps/jq/src/compile.c +22 -43
  97. package/deps/jq/src/compile.h +1 -1
  98. package/deps/jq/src/execute.c +20 -25
  99. package/deps/jq/src/jq_test.c +113 -44
  100. package/deps/jq/src/jv.c +134 -42
  101. package/deps/jq/src/jv.h +10 -3
  102. package/deps/jq/src/jv_alloc.c +8 -5
  103. package/deps/jq/src/jv_alloc.h +0 -1
  104. package/deps/jq/src/jv_aux.c +41 -8
  105. package/deps/jq/src/jv_dtoa.c +4 -12
  106. package/deps/jq/src/jv_dtoa_tsd.c +5 -4
  107. package/deps/jq/src/jv_dtoa_tsd.h +1 -1
  108. package/deps/jq/src/jv_parse.c +5 -3
  109. package/deps/jq/src/jv_print.c +87 -65
  110. package/deps/jq/src/jv_unicode.c +18 -0
  111. package/deps/jq/src/jv_unicode.h +2 -0
  112. package/deps/jq/src/lexer.c +303 -278
  113. package/deps/jq/src/lexer.h +5 -4
  114. package/deps/jq/src/lexer.l +8 -2
  115. package/deps/jq/src/libm.h +15 -5
  116. package/deps/jq/src/linker.c +6 -4
  117. package/deps/jq/src/locfile.c +12 -12
  118. package/deps/jq/src/main.c +204 -270
  119. package/deps/jq/src/parser.c +1105 -1273
  120. package/deps/jq/src/parser.y +149 -181
  121. package/deps/jq/src/util.c +46 -48
  122. package/deps/jq/src/util.h +1 -1
  123. package/deps/jq/tests/base64.test +12 -0
  124. package/deps/jq/tests/jq.test +429 -37
  125. package/deps/jq/tests/jq_fuzz_load_file.c +1 -0
  126. package/deps/jq/tests/man.test +46 -13
  127. package/deps/jq/tests/manonig.test +13 -0
  128. package/deps/jq/tests/onig.test +40 -2
  129. package/deps/jq/tests/optional.test +4 -12
  130. package/deps/jq/tests/setup +5 -1
  131. package/deps/jq/tests/shtest +358 -130
  132. package/deps/jq/tests/uri.test +38 -0
  133. package/deps/jq/tests/uritest +5 -0
  134. package/deps/jq/{src → vendor}/decNumber/decBasic.c +1 -1
  135. package/deps/jq/{src → vendor}/decNumber/decCommon.c +1 -1
  136. package/deps/jq/{src → vendor}/decNumber/decNumber.c +4 -4
  137. package/deps/jq/{modules → vendor}/oniguruma/CMakeLists.txt +5 -3
  138. package/deps/jq/{modules → vendor}/oniguruma/HISTORY +45 -7
  139. package/deps/jq/{modules → vendor}/oniguruma/Makefile.am +1 -1
  140. package/deps/jq/{modules → vendor}/oniguruma/README.md +10 -23
  141. package/deps/jq/{modules → vendor}/oniguruma/compile +29 -13
  142. package/deps/jq/{modules → vendor}/oniguruma/config.guess +91 -27
  143. package/deps/jq/{modules → vendor}/oniguruma/config.sub +716 -242
  144. package/deps/jq/{modules → vendor}/oniguruma/configure.ac +2 -2
  145. package/deps/jq/{modules → vendor}/oniguruma/depcomp +10 -9
  146. package/deps/jq/{modules → vendor}/oniguruma/doc/API +3 -1
  147. package/deps/jq/{modules → vendor}/oniguruma/doc/API.ja +3 -1
  148. package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.BUILTIN +10 -1
  149. package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.BUILTIN.ja +9 -1
  150. package/deps/jq/{modules → vendor}/oniguruma/doc/RE +12 -13
  151. package/deps/jq/{modules → vendor}/oniguruma/doc/RE.ja +12 -13
  152. package/deps/jq/{modules → vendor}/oniguruma/doc/SYNTAX.md +202 -167
  153. package/deps/jq/{modules → vendor}/oniguruma/doc/UNICODE_PROPERTIES +33 -1
  154. package/deps/jq/vendor/oniguruma/doc/onig_syn_md.c +667 -0
  155. package/deps/jq/{modules → vendor}/oniguruma/harnesses/base.c +1 -1
  156. package/deps/jq/{modules → vendor}/oniguruma/install-sh +9 -9
  157. package/deps/jq/{modules → vendor}/oniguruma/missing +50 -29
  158. package/deps/jq/{modules → vendor}/oniguruma/sample/callback_each_match.c +1 -3
  159. package/deps/jq/vendor/oniguruma/sbom.cdx.json +44 -0
  160. package/deps/jq/{modules → vendor}/oniguruma/src/ascii.c +4 -1
  161. package/deps/jq/{modules → vendor}/oniguruma/src/gperf_fold_key_conv.py +4 -4
  162. package/deps/jq/{modules → vendor}/oniguruma/src/gperf_unfold_key_conv.py +4 -4
  163. package/deps/jq/vendor/oniguruma/src/make_unicode_egcb.sh +7 -0
  164. package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_egcb_data.py +20 -19
  165. package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_fold.sh +5 -5
  166. package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_fold_data.py +37 -37
  167. package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_property.sh +2 -2
  168. package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_property_data.py +66 -65
  169. package/deps/jq/vendor/oniguruma/src/make_unicode_wb.sh +7 -0
  170. package/deps/jq/{modules → vendor}/oniguruma/src/make_unicode_wb_data.py +20 -19
  171. package/deps/jq/{modules → vendor}/oniguruma/src/oniguruma.h +6 -3
  172. package/deps/jq/{modules → vendor}/oniguruma/src/regcomp.c +14 -6
  173. package/deps/jq/{modules → vendor}/oniguruma/src/regerror.c +2 -2
  174. package/deps/jq/{modules → vendor}/oniguruma/src/regexec.c +85 -14
  175. package/deps/jq/{modules → vendor}/oniguruma/src/regint.h +17 -4
  176. package/deps/jq/{modules → vendor}/oniguruma/src/regparse.c +115 -27
  177. package/deps/jq/{modules → vendor}/oniguruma/src/regsyntax.c +10 -7
  178. package/deps/jq/{modules → vendor}/oniguruma/src/st.c +49 -75
  179. package/deps/jq/{modules → vendor}/oniguruma/src/st.h +3 -10
  180. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_egcb_data.c +54 -49
  181. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_fold1_key.c +1567 -1507
  182. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_fold2_key.c +1 -1
  183. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_fold3_key.c +1 -1
  184. package/deps/jq/vendor/oniguruma/src/unicode_fold_data.c +1619 -0
  185. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_property_data.c +5520 -4178
  186. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_property_data_posix.c +239 -83
  187. package/deps/jq/vendor/oniguruma/src/unicode_unfold_key.c +3497 -0
  188. package/deps/jq/{modules → vendor}/oniguruma/src/unicode_wb_data.c +51 -19
  189. package/deps/jq/{modules → vendor}/oniguruma/src/utf16_be.c +3 -2
  190. package/deps/jq/{modules → vendor}/oniguruma/src/utf16_le.c +3 -2
  191. package/deps/jq/{modules → vendor}/oniguruma/test/test_back.c +3 -3
  192. package/deps/jq/{modules → vendor}/oniguruma/test/test_options.c +2 -2
  193. package/deps/jq/{modules → vendor}/oniguruma/test/test_syntax.c +54 -2
  194. package/deps/jq/{modules → vendor}/oniguruma/test/test_utf8.c +19 -5
  195. package/deps/jq/{modules → vendor}/oniguruma/test/testc.c +1 -1
  196. package/deps/jq/{modules → vendor}/oniguruma/test/testp.c +1 -1
  197. package/deps/jq/{modules → vendor}/oniguruma/test-driver +13 -6
  198. package/deps/jq/{modules → vendor}/oniguruma/windows/CMakeLists.txt +1 -1
  199. package/index.d.ts +2 -1
  200. package/lib/index.js +1 -0
  201. package/lib/jq.js +2 -1
  202. package/package.json +4 -3
  203. package/test/santiy-async.test.js +4 -4
  204. package/test/santiy.test.js +4 -4
  205. package/test/template.test.js +6 -6
  206. package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +0 -7
  207. package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +0 -7
  208. package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +0 -1592
  209. package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +0 -3394
  210. package/deps/jq/scripts/update-website +0 -30
  211. /package/deps/jq/{src → vendor}/decNumber/ICU-license.html +0 -0
  212. /package/deps/jq/{src → vendor}/decNumber/decContext.c +0 -0
  213. /package/deps/jq/{src → vendor}/decNumber/decContext.h +0 -0
  214. /package/deps/jq/{src → vendor}/decNumber/decDPD.h +0 -0
  215. /package/deps/jq/{src → vendor}/decNumber/decDouble.c +0 -0
  216. /package/deps/jq/{src → vendor}/decNumber/decDouble.h +0 -0
  217. /package/deps/jq/{src → vendor}/decNumber/decNumber.h +0 -0
  218. /package/deps/jq/{src → vendor}/decNumber/decNumberLocal.h +0 -0
  219. /package/deps/jq/{src → vendor}/decNumber/decPacked.c +0 -0
  220. /package/deps/jq/{src → vendor}/decNumber/decPacked.h +0 -0
  221. /package/deps/jq/{src → vendor}/decNumber/decQuad.c +0 -0
  222. /package/deps/jq/{src → vendor}/decNumber/decQuad.h +0 -0
  223. /package/deps/jq/{src → vendor}/decNumber/decSingle.c +0 -0
  224. /package/deps/jq/{src → vendor}/decNumber/decSingle.h +0 -0
  225. /package/deps/jq/{src → vendor}/decNumber/decimal128.c +0 -0
  226. /package/deps/jq/{src → vendor}/decNumber/decimal128.h +0 -0
  227. /package/deps/jq/{src → vendor}/decNumber/decimal32.c +0 -0
  228. /package/deps/jq/{src → vendor}/decNumber/decimal32.h +0 -0
  229. /package/deps/jq/{src → vendor}/decNumber/decimal64.c +0 -0
  230. /package/deps/jq/{src → vendor}/decNumber/decimal64.h +0 -0
  231. /package/deps/jq/{src → vendor}/decNumber/decnumber.pdf +0 -0
  232. /package/deps/jq/{src → vendor}/decNumber/example1.c +0 -0
  233. /package/deps/jq/{src → vendor}/decNumber/example2.c +0 -0
  234. /package/deps/jq/{src → vendor}/decNumber/example3.c +0 -0
  235. /package/deps/jq/{src → vendor}/decNumber/example4.c +0 -0
  236. /package/deps/jq/{src → vendor}/decNumber/example5.c +0 -0
  237. /package/deps/jq/{src → vendor}/decNumber/example6.c +0 -0
  238. /package/deps/jq/{src → vendor}/decNumber/example7.c +0 -0
  239. /package/deps/jq/{src → vendor}/decNumber/example8.c +0 -0
  240. /package/deps/jq/{src → vendor}/decNumber/readme.txt +0 -0
  241. /package/deps/jq/{modules → vendor}/oniguruma/.travis.yml +0 -0
  242. /package/deps/jq/{modules → vendor}/oniguruma/AUTHORS +0 -0
  243. /package/deps/jq/{modules → vendor}/oniguruma/COPYING +0 -0
  244. /package/deps/jq/{modules → vendor}/oniguruma/ChangeLog +0 -0
  245. /package/deps/jq/{modules → vendor}/oniguruma/NEWS +0 -0
  246. /package/deps/jq/{modules → vendor}/oniguruma/README +0 -0
  247. /package/deps/jq/{modules → vendor}/oniguruma/README_japanese +0 -0
  248. /package/deps/jq/{modules → vendor}/oniguruma/autogen.sh +0 -0
  249. /package/deps/jq/{modules → vendor}/oniguruma/cmake/Config.cmake.in +0 -0
  250. /package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.API +0 -0
  251. /package/deps/jq/{modules → vendor}/oniguruma/doc/CALLOUTS.API.ja +0 -0
  252. /package/deps/jq/{modules → vendor}/oniguruma/doc/FAQ +0 -0
  253. /package/deps/jq/{modules → vendor}/oniguruma/doc/FAQ.ja +0 -0
  254. /package/deps/jq/{modules → vendor}/oniguruma/harnesses/ascii_compatible.dict +0 -0
  255. /package/deps/jq/{modules → vendor}/oniguruma/harnesses/deluxe.c +0 -0
  256. /package/deps/jq/{modules → vendor}/oniguruma/harnesses/dict_conv.py +0 -0
  257. /package/deps/jq/{modules → vendor}/oniguruma/harnesses/fuzzer.options +0 -0
  258. /package/deps/jq/{modules → vendor}/oniguruma/harnesses/libfuzzer-onig.cpp +0 -0
  259. /package/deps/jq/{modules → vendor}/oniguruma/harnesses/regset.c +0 -0
  260. /package/deps/jq/{modules → vendor}/oniguruma/index.html +0 -0
  261. /package/deps/jq/{modules → vendor}/oniguruma/index_ja.html +0 -0
  262. /package/deps/jq/{modules → vendor}/oniguruma/m4/.whatever +0 -0
  263. /package/deps/jq/{modules → vendor}/oniguruma/make_win.bat +0 -0
  264. /package/deps/jq/{modules → vendor}/oniguruma/make_win32.bat +0 -0
  265. /package/deps/jq/{modules → vendor}/oniguruma/make_win64.bat +0 -0
  266. /package/deps/jq/{modules → vendor}/oniguruma/onig-config.cmake.in +0 -0
  267. /package/deps/jq/{modules → vendor}/oniguruma/onig-config.in +0 -0
  268. /package/deps/jq/{modules → vendor}/oniguruma/oniguruma.pc.cmake.in +0 -0
  269. /package/deps/jq/{modules → vendor}/oniguruma/oniguruma.pc.in +0 -0
  270. /package/deps/jq/{modules → vendor}/oniguruma/sample/CMakeLists.txt +0 -0
  271. /package/deps/jq/{modules → vendor}/oniguruma/sample/Makefile.am +0 -0
  272. /package/deps/jq/{modules → vendor}/oniguruma/sample/bug_fix.c +0 -0
  273. /package/deps/jq/{modules → vendor}/oniguruma/sample/callout.c +0 -0
  274. /package/deps/jq/{modules → vendor}/oniguruma/sample/count.c +0 -0
  275. /package/deps/jq/{modules → vendor}/oniguruma/sample/crnl.c +0 -0
  276. /package/deps/jq/{modules → vendor}/oniguruma/sample/echo.c +0 -0
  277. /package/deps/jq/{modules → vendor}/oniguruma/sample/encode.c +0 -0
  278. /package/deps/jq/{modules → vendor}/oniguruma/sample/listcap.c +0 -0
  279. /package/deps/jq/{modules → vendor}/oniguruma/sample/names.c +0 -0
  280. /package/deps/jq/{modules → vendor}/oniguruma/sample/posix.c +0 -0
  281. /package/deps/jq/{modules → vendor}/oniguruma/sample/regset.c +0 -0
  282. /package/deps/jq/{modules → vendor}/oniguruma/sample/scan.c +0 -0
  283. /package/deps/jq/{modules → vendor}/oniguruma/sample/simple.c +0 -0
  284. /package/deps/jq/{modules → vendor}/oniguruma/sample/sql.c +0 -0
  285. /package/deps/jq/{modules → vendor}/oniguruma/sample/syntax.c +0 -0
  286. /package/deps/jq/{modules → vendor}/oniguruma/sample/user_property.c +0 -0
  287. /package/deps/jq/{modules → vendor}/oniguruma/src/Makefile.am +0 -0
  288. /package/deps/jq/{modules → vendor}/oniguruma/src/Makefile.windows +0 -0
  289. /package/deps/jq/{modules → vendor}/oniguruma/src/big5.c +0 -0
  290. /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.cmake.in +0 -0
  291. /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.win32 +0 -0
  292. /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.win64 +0 -0
  293. /package/deps/jq/{modules → vendor}/oniguruma/src/config.h.windows.in +0 -0
  294. /package/deps/jq/{modules → vendor}/oniguruma/src/cp1251.c +0 -0
  295. /package/deps/jq/{modules → vendor}/oniguruma/src/euc_jp.c +0 -0
  296. /package/deps/jq/{modules → vendor}/oniguruma/src/euc_jp_prop.c +0 -0
  297. /package/deps/jq/{modules → vendor}/oniguruma/src/euc_jp_prop.gperf +0 -0
  298. /package/deps/jq/{modules → vendor}/oniguruma/src/euc_kr.c +0 -0
  299. /package/deps/jq/{modules → vendor}/oniguruma/src/euc_tw.c +0 -0
  300. /package/deps/jq/{modules → vendor}/oniguruma/src/gb18030.c +0 -0
  301. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_1.c +0 -0
  302. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_10.c +0 -0
  303. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_11.c +0 -0
  304. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_13.c +0 -0
  305. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_14.c +0 -0
  306. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_15.c +0 -0
  307. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_16.c +0 -0
  308. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_2.c +0 -0
  309. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_3.c +0 -0
  310. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_4.c +0 -0
  311. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_5.c +0 -0
  312. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_6.c +0 -0
  313. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_7.c +0 -0
  314. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_8.c +0 -0
  315. /package/deps/jq/{modules → vendor}/oniguruma/src/iso8859_9.c +0 -0
  316. /package/deps/jq/{modules → vendor}/oniguruma/src/koi8.c +0 -0
  317. /package/deps/jq/{modules → vendor}/oniguruma/src/koi8_r.c +0 -0
  318. /package/deps/jq/{modules → vendor}/oniguruma/src/make_property.sh +0 -0
  319. /package/deps/jq/{modules → vendor}/oniguruma/src/mktable.c +0 -0
  320. /package/deps/jq/{modules → vendor}/oniguruma/src/onig_init.c +0 -0
  321. /package/deps/jq/{modules → vendor}/oniguruma/src/oniggnu.h +0 -0
  322. /package/deps/jq/{modules → vendor}/oniguruma/src/onigposix.h +0 -0
  323. /package/deps/jq/{modules → vendor}/oniguruma/src/regenc.c +0 -0
  324. /package/deps/jq/{modules → vendor}/oniguruma/src/regenc.h +0 -0
  325. /package/deps/jq/{modules → vendor}/oniguruma/src/regext.c +0 -0
  326. /package/deps/jq/{modules → vendor}/oniguruma/src/reggnu.c +0 -0
  327. /package/deps/jq/{modules → vendor}/oniguruma/src/regparse.h +0 -0
  328. /package/deps/jq/{modules → vendor}/oniguruma/src/regposerr.c +0 -0
  329. /package/deps/jq/{modules → vendor}/oniguruma/src/regposix.c +0 -0
  330. /package/deps/jq/{modules → vendor}/oniguruma/src/regtrav.c +0 -0
  331. /package/deps/jq/{modules → vendor}/oniguruma/src/regversion.c +0 -0
  332. /package/deps/jq/{modules → vendor}/oniguruma/src/sjis.c +0 -0
  333. /package/deps/jq/{modules → vendor}/oniguruma/src/sjis_prop.c +0 -0
  334. /package/deps/jq/{modules → vendor}/oniguruma/src/sjis_prop.gperf +0 -0
  335. /package/deps/jq/{modules → vendor}/oniguruma/src/unicode.c +0 -0
  336. /package/deps/jq/{modules → vendor}/oniguruma/src/utf32_be.c +0 -0
  337. /package/deps/jq/{modules → vendor}/oniguruma/src/utf32_le.c +0 -0
  338. /package/deps/jq/{modules → vendor}/oniguruma/src/utf8.c +0 -0
  339. /package/deps/jq/{modules → vendor}/oniguruma/test/CMakeLists.txt +0 -0
  340. /package/deps/jq/{modules → vendor}/oniguruma/test/Makefile.am +0 -0
  341. /package/deps/jq/{modules → vendor}/oniguruma/test/test.sh +0 -0
  342. /package/deps/jq/{modules → vendor}/oniguruma/test/test_regset.c +0 -0
  343. /package/deps/jq/{modules → vendor}/oniguruma/test/testu.c +0 -0
  344. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/stub.c +0 -0
  345. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_back.config +0 -0
  346. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_regset.config +0 -0
  347. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_syntax.config +0 -0
  348. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/test_utf8.config +0 -0
  349. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/testc.config +0 -0
  350. /package/deps/jq/{modules → vendor}/oniguruma/tis-ci/testu.config +0 -0
  351. /package/deps/jq/{modules → vendor}/oniguruma/tis.config +0 -0
  352. /package/deps/jq/{modules → vendor}/oniguruma/windows/testc.c +0 -0
@@ -36,9 +36,11 @@ null
36
36
  null
37
37
  []
38
38
 
39
- {x: -1}
40
- null
41
- {"x": -1}
39
+ {x:-1},{x:-.},{x:-.|abs}
40
+ 1
41
+ {"x":-1}
42
+ {"x":-1}
43
+ {"x":1}
42
44
 
43
45
  # The input line starts with a 0xFEFF (byte order mark) codepoint
44
46
  # No, there is no reason to have a byte order mark in UTF8 text.
@@ -57,11 +59,17 @@ null
57
59
  "Aa\r\n\t\b\f\u03bc"
58
60
  "Aa\u000d\u000a\u0009\u0008\u000c\u03bc"
59
61
 
62
+ %%FAIL
63
+ "u\vw"
64
+ jq: error: Invalid escape at line 1, column 4 (while parsing '"\v"') at <top-level>, line 1, column 3:
65
+ "u\vw"
66
+ ^^
67
+
60
68
  "inter\("pol" + "ation")"
61
69
  null
62
70
  "interpolation"
63
71
 
64
- @text,@json,([1,.]|@csv,@tsv),@html,@uri,@sh,(@base64|.,@base64d)
72
+ @text,@json,([1,.]|@csv,@tsv),@html,(@uri|.,@urid),@sh,(@base64|.,@base64d)
65
73
  "!()<>&'\"\t"
66
74
  "!()<>&'\"\t"
67
75
  "\"!()<>&'\\\"\\t\""
@@ -69,6 +77,7 @@ null
69
77
  "1\t!()<>&'\"\\t"
70
78
  "!()&lt;&gt;&amp;&apos;&quot;\t"
71
79
  "%21%28%29%3C%3E%26%27%22%09"
80
+ "!()<>&'\"\t"
72
81
  "'!()<>&'\\''\"\t'"
73
82
  "ISgpPD4mJyIJ"
74
83
  "!()<>&'\"\t"
@@ -86,6 +95,10 @@ null
86
95
  "\u03bc"
87
96
  "%CE%BC"
88
97
 
98
+ @urid
99
+ "%CE%BC"
100
+ "\u03bc"
101
+
89
102
  @html "<b>\(.)</b>"
90
103
  "<script>hax</script>"
91
104
  "<b>&lt;script&gt;hax&lt;/script&gt;</b>"
@@ -112,11 +125,21 @@ null
112
125
 
113
126
  %%FAIL
114
127
  {(0):1}
115
- jq: error: Cannot use number (0) as object key at <top-level>, line 1:
128
+ jq: error: Cannot use number (0) as object key at <top-level>, line 1, column 3:
129
+ {(0):1}
130
+ ^
131
+
132
+ %%FAIL
133
+ {1+2:3}
134
+ jq: error: May need parentheses around object key expression at <top-level>, line 1, column 2:
135
+ {1+2:3}
136
+ ^^^
116
137
 
117
138
  %%FAIL
118
139
  {non_const:., (0):1}
119
- jq: error: Cannot use number (0) as object key at <top-level>, line 1:
140
+ jq: error: Cannot use number (0) as object key at <top-level>, line 1, column 16:
141
+ {non_const:., (0):1}
142
+ ^
120
143
 
121
144
  #
122
145
  # Field access, piping
@@ -178,6 +201,11 @@ map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?)
178
201
  [{"a": [1,2]}, {"a": 123}]
179
202
  [1,2,1,2,1,2,1,2,"Cannot iterate over number (123)","Cannot iterate over number (123)"]
180
203
 
204
+ # oss-fuzz #66070: objects[] leaks if a non-last element throws an error
205
+ try ["OK", (.[] | error)] catch ["KO", .]
206
+ {"a":["b"],"c":["d"]}
207
+ ["KO",["b"]]
208
+
181
209
  #
182
210
  # Negative array indices
183
211
  #
@@ -198,6 +226,10 @@ null
198
226
  [0,1,2]
199
227
  [0,5,2]
200
228
 
229
+ try (.[999999999] = 0) catch .
230
+ null
231
+ "Array index too large"
232
+
201
233
  #
202
234
  # Multiple outputs, iteration
203
235
  #
@@ -290,7 +322,9 @@ null
290
322
 
291
323
  %%FAIL
292
324
  . as $foo | break $foo
293
- jq: error: $*label-foo is not defined at <top-level>, line 1:
325
+ jq: error: $*label-foo is not defined at <top-level>, line 1, column 13:
326
+ . as $foo | break $foo
327
+ ^^^^^^^^^^
294
328
 
295
329
  [.[]|[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]]
296
330
  [1,2,3,4,5]
@@ -312,6 +346,18 @@ null
312
346
  [{"a":1}, {"b":2}, {"a":3, "b":4}]
313
347
  [-1, -1, -4]
314
348
 
349
+ [-foreach -.[] as $x (0; . + $x)]
350
+ [1,2,3]
351
+ [1,3,6]
352
+
353
+ [foreach .[] / .[] as $i (0; . + $i)]
354
+ [1,2]
355
+ [1,3,3.5,4.5]
356
+
357
+ [foreach .[] as $x (0; . + $x) as $x | $x]
358
+ [1,2,3]
359
+ [1,3,6]
360
+
315
361
  [limit(3; .[])]
316
362
  [11,22,33,44,55,66,77,88,99]
317
363
  [11,22,33]
@@ -324,10 +370,38 @@ null
324
370
  "badness"
325
371
  [1]
326
372
 
373
+ try limit(-1; error) catch .
374
+ null
375
+ "limit doesn't support negative count"
376
+
377
+ [skip(3; .[])]
378
+ [1,2,3,4,5,6,7,8,9]
379
+ [4,5,6,7,8,9]
380
+
381
+ [skip(0,2,3,4; .[])]
382
+ [1,2,3]
383
+ [1,2,3,3]
384
+
385
+ [skip(3; .[])]
386
+ []
387
+ []
388
+
389
+ try skip(-1; error) catch .
390
+ null
391
+ "skip doesn't support negative count"
392
+
393
+ nth(1; 0,1,error("foo"))
394
+ null
395
+ 1
396
+
327
397
  [first(range(.)), last(range(.))]
328
398
  10
329
399
  [0,9]
330
400
 
401
+ [first(range(.)), last(range(.))]
402
+ 0
403
+ []
404
+
331
405
  [nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .]
332
406
  10
333
407
  [0,5,9,"nth doesn't support negative indices"]
@@ -435,6 +509,14 @@ null
435
509
  34324
436
510
  43
437
511
 
512
+ 1 + 2 as $x | -$x
513
+ null
514
+ -3
515
+
516
+ "x" as $x | "a"+"y" as $y | $x+","+$y
517
+ null
518
+ "x,ay"
519
+
438
520
  1 as $x | [$x,$x,$x as $x | $x]
439
521
  null
440
522
  [1,1,1]
@@ -462,13 +544,29 @@ null
462
544
  [0]
463
545
  [0]
464
546
 
465
- %%FAIL IGNORE MSG
547
+ %%FAIL
466
548
  . as [] | null
467
- jq: error: syntax error, unexpected ']', expecting '$' or '[' or '{' (Unix shell quoting issues?) at <top-level>, line 1:
549
+ jq: error: syntax error, unexpected ']', expecting BINDING or '[' or '{' at <top-level>, line 1, column 7:
550
+ . as [] | null
551
+ ^
468
552
 
469
- %%FAIL IGNORE MSG
553
+ %%FAIL
470
554
  . as {} | null
471
- jq: error: syntax error, unexpected '}' (Unix shell quoting issues?) at <top-level>, line 1:
555
+ jq: error: syntax error, unexpected '}' at <top-level>, line 1, column 7:
556
+ . as {} | null
557
+ ^
558
+
559
+ %%FAIL
560
+ . as $foo | [$foo, $bar]
561
+ jq: error: $bar is not defined at <top-level>, line 1, column 20:
562
+ . as $foo | [$foo, $bar]
563
+ ^^^^
564
+
565
+ %%FAIL
566
+ . as {(true):$foo} | $foo
567
+ jq: error: Cannot use boolean (true) as object key at <top-level>, line 1, column 8:
568
+ . as {(true):$foo} | $foo
569
+ ^^^^
472
570
 
473
571
  # [.,(.[] | {x:.},.),.,.[]]
474
572
 
@@ -536,6 +634,10 @@ null
536
634
  1
537
635
  [2,4]
538
636
 
637
+ [-1 as $x | 1,$x]
638
+ null
639
+ [1,-1]
640
+
539
641
  [10 * 20, 20 / .]
540
642
  4
541
643
  [200, 5]
@@ -596,6 +698,21 @@ null
596
698
  4
597
699
  15
598
700
 
701
+ map(toboolean)
702
+ ["false","true",false,true]
703
+ [false,true,false,true]
704
+
705
+ .[] | try toboolean catch .
706
+ [null,0,"tru","truee","fals","falsee",[],{}]
707
+ "null (null) cannot be parsed as a boolean"
708
+ "number (0) cannot be parsed as a boolean"
709
+ "string (\"tru\") cannot be parsed as a boolean"
710
+ "string (\"truee\") cannot be parsed as a boolean"
711
+ "string (\"fals\") cannot be parsed as a boolean"
712
+ "string (\"falsee\") cannot be parsed as a boolean"
713
+ "array ([]) cannot be parsed as a boolean"
714
+ "object ({}) cannot be parsed as a boolean"
715
+
599
716
  [{"a":42},.object,10,.num,false,true,null,"b",[1,4]] | .[] as $x | [$x == .[]]
600
717
  {"object": {"a":42}, "num":10.0}
601
718
  [true, true, false, false, false, false, false, false, false]
@@ -637,6 +754,19 @@ map_values(.+1)
637
754
  [0,1,2]
638
755
  [1,2,3]
639
756
 
757
+ [add(null), add(range(range(10))), add(empty), add(10,range(10))]
758
+ null
759
+ [null,120,null,55]
760
+
761
+ # Real-world use case for add(empty)
762
+ .sum = add(.arr[])
763
+ {"arr":[]}
764
+ {"arr":[],"sum":null}
765
+
766
+ add({(.[]):1}) | keys
767
+ ["a","a","b","a","d","b","d","a","d"]
768
+ ["a","b","d"]
769
+
640
770
  #
641
771
  # User-defined functions
642
772
  # Oh god.
@@ -769,6 +899,18 @@ reduce [[1,2,10], [3,4,10]][] as [$i,$j] (0; . + $i * $j)
769
899
  null
770
900
  14
771
901
 
902
+ [-reduce -.[] as $x (0; . + $x)]
903
+ [1,2,3]
904
+ [6]
905
+
906
+ [reduce .[] / .[] as $i (0; . + $i)]
907
+ [1,2]
908
+ [4.5]
909
+
910
+ reduce .[] as $x (0; . + $x) as $x | $x
911
+ [1,2,3]
912
+ 6
913
+
772
914
  # This, while useless, should still compile.
773
915
  reduce . as $n (.; .)
774
916
  null
@@ -1196,6 +1338,18 @@ null
1196
1338
  7
1197
1339
  [7]
1198
1340
 
1341
+ [-if true then 1 else 2 end]
1342
+ null
1343
+ [-1]
1344
+
1345
+ {x: if true then 1 else 2 end}
1346
+ null
1347
+ {"x":1}
1348
+
1349
+ if true then [.] else . end []
1350
+ null
1351
+ null
1352
+
1199
1353
  [.[] | [.foo[] // .bar]]
1200
1354
  [{"foo":[1,2], "bar": 42}, {"foo":[1], "bar": null}, {"foo":[null,false,3], "bar": 18}, {"foo":[], "bar":42}, {"foo": [null,false,null], "bar": 41}]
1201
1355
  [[1,2], [1], [3], [42], [41]]
@@ -1286,6 +1440,39 @@ null
1286
1440
  [null,true,{"a":1}]
1287
1441
  []
1288
1442
 
1443
+ [if error then 1 else 2 end?]
1444
+ "foo"
1445
+ []
1446
+
1447
+ try error(0) // 1
1448
+ null
1449
+ 1
1450
+
1451
+ 1, try error(2), 3
1452
+ null
1453
+ 1
1454
+ 3
1455
+
1456
+ 1 + try 2 catch 3 + 4
1457
+ null
1458
+ 7
1459
+
1460
+ [-try .]
1461
+ 1
1462
+ [-1]
1463
+
1464
+ try -.? catch .
1465
+ "foo"
1466
+ "string (\"foo\") cannot be negated"
1467
+
1468
+ {x: try 1, y: try error catch 2, z: if true then 3 end}
1469
+ null
1470
+ {"x":1,"y":2,"z":3}
1471
+
1472
+ {x: 1 + 2, y: false or true, z: null // 3}
1473
+ null
1474
+ {"x":3,"y":true,"z":3}
1475
+
1289
1476
  .[] | try error catch .
1290
1477
  [1,null,2]
1291
1478
  1
@@ -1321,6 +1508,10 @@ split("")
1321
1508
  ["fo", "foo", "barfoo", "foobar", "foob"]
1322
1509
  ["fo","","bar","foobar","foob"]
1323
1510
 
1511
+ [.[]|trimstr("foo")]
1512
+ ["fo", "foo", "barfoo", "foobarfoo", "foob"]
1513
+ ["fo","","bar","bar","b"]
1514
+
1324
1515
  [(index(","), rindex(",")), indices(",")]
1325
1516
  "a,bc,def,ghij,klmno"
1326
1517
  [1,13,[1,4,8,13]]
@@ -1329,6 +1520,26 @@ split("")
1329
1520
  "xababababax"
1330
1521
  [1,7,[1,3,5,7]]
1331
1522
 
1523
+ # trim
1524
+ # \u000b is vertical tab (\v not supported by json)
1525
+ map(trim), map(ltrim), map(rtrim)
1526
+ [" \n\t\r\f\u000b", ""," ", "a", " a ", "abc", " abc ", " abc", "abc "]
1527
+ ["", "", "", "a", "a", "abc", "abc", "abc", "abc"]
1528
+ ["", "", "", "a", "a ", "abc", "abc ", "abc", "abc "]
1529
+ ["", "", "", "a", " a", "abc", " abc", " abc", "abc"]
1530
+
1531
+ trim, ltrim, rtrim
1532
+ "\u0009\u000A\u000B\u000C\u000D\u0020\u0085\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000abc\u0009\u000A\u000B\u000C\u000D\u0020\u0085\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000"
1533
+ "abc"
1534
+ "abc\u0009\u000A\u000B\u000C\u000D\u0020\u0085\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000"
1535
+ "\u0009\u000A\u000B\u000C\u000D\u0020\u0085\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000abc"
1536
+
1537
+ try trim catch ., try ltrim catch ., try rtrim catch .
1538
+ 123
1539
+ "trim input must be a string"
1540
+ "trim input must be a string"
1541
+ "trim input must be a string"
1542
+
1332
1543
  indices(1)
1333
1544
  [0,1,1,2,3,4,1,5]
1334
1545
  [1,2,6]
@@ -1345,6 +1556,22 @@ indices(", ")
1345
1556
  "a,b, cd,e, fgh, ijkl"
1346
1557
  [3,9,14]
1347
1558
 
1559
+ index("!")
1560
+ "здравствуй мир!"
1561
+ 14
1562
+
1563
+ .[:rindex("x")]
1564
+ "正xyz"
1565
+ "正"
1566
+
1567
+ indices("o")
1568
+ "🇬🇧oo"
1569
+ [2,3]
1570
+
1571
+ indices("o")
1572
+ "ƒoo"
1573
+ [1,2]
1574
+
1348
1575
  [.[]|split(",")]
1349
1576
  ["a, bc, def, ghij, jklmn, a,b, c,d, e,f", "a,b,c,d, e,f,g,h"]
1350
1577
  [["a"," bc"," def"," ghij"," jklmn"," a","b"," c","d"," e","f"],["a","b","c","d"," e","f","g","h"]]
@@ -1365,6 +1592,18 @@ indices(", ")
1365
1592
  "abc"
1366
1593
  [null,null]
1367
1594
 
1595
+ . * 100000 | [.[:10],.[-10:]]
1596
+ "abc"
1597
+ ["abcabcabca","cabcabcabc"]
1598
+
1599
+ . * 1000000000
1600
+ ""
1601
+ ""
1602
+
1603
+ try (. * 1000000000) catch .
1604
+ "abc"
1605
+ "Repeat string result too long"
1606
+
1368
1607
  [.[] / ","]
1369
1608
  ["a, bc, def, ghij, jklmn, a,b, c,d, e,f", "a,b,c,d, e,f,g,h"]
1370
1609
  [["a"," bc"," def"," ghij"," jklmn"," a","b"," c","d"," e","f"],["a","b","c","d"," e","f","g","h"]]
@@ -1547,13 +1786,21 @@ ascii_upcase
1547
1786
  "useful but not for é"
1548
1787
  "USEFUL BUT NOT FOR é"
1549
1788
 
1550
- bsearch(0,2,4)
1789
+ bsearch(0,1,2,3,4)
1551
1790
  [1,2,3]
1552
1791
  -1
1792
+ 0
1553
1793
  1
1794
+ 2
1554
1795
  -4
1555
1796
 
1556
- # strptime tests are in optional.test
1797
+ bsearch({x:1})
1798
+ [{ "x": 0 },{ "x": 1 },{ "x": 2 }]
1799
+ 1
1800
+
1801
+ try ["OK", bsearch(0)] catch ["KO",.]
1802
+ "aa"
1803
+ ["KO","string (\"aa\") cannot be searched from"]
1557
1804
 
1558
1805
  strftime("%Y-%m-%dT%H:%M:%SZ")
1559
1806
  [2015,2,5,23,51,47,4,63]
@@ -1563,6 +1810,14 @@ strftime("%A, %B %d, %Y")
1563
1810
  1435677542.822351
1564
1811
  "Tuesday, June 30, 2015"
1565
1812
 
1813
+ strftime("%Y-%m-%dT%H:%M:%SZ")
1814
+ [2024,2,15]
1815
+ "2024-03-15T00:00:00Z"
1816
+
1817
+ mktime
1818
+ [2024,8,21]
1819
+ 1726876800
1820
+
1566
1821
  gmtime
1567
1822
  1425599507
1568
1823
  [2015,2,5,23,51,47,4,63]
@@ -1580,6 +1835,29 @@ try mktime catch .
1580
1835
  ["a",1,2,3,4,5,6,7]
1581
1836
  "mktime requires parsed datetime inputs"
1582
1837
 
1838
+ # oss-fuzz #67403: non-string argument with number input fails assert
1839
+ try ["OK", strftime([])] catch ["KO", .]
1840
+ 0
1841
+ ["KO","strftime/1 requires a string format"]
1842
+
1843
+ try ["OK", strflocaltime({})] catch ["KO", .]
1844
+ 0
1845
+ ["KO","strflocaltime/1 requires a string format"]
1846
+
1847
+ [strptime("%Y-%m-%dT%H:%M:%SZ")|(.,mktime)]
1848
+ "2015-03-05T23:51:47Z"
1849
+ [[2015,2,5,23,51,47,4,63],1425599507]
1850
+
1851
+ [strptime("%FT%T")|(.,mktime)]
1852
+ "2025-06-07T08:09:10"
1853
+ [[2025,5,7,8,9,10,6,157],1749283750]
1854
+
1855
+ # Check day-of-week and day of year computations
1856
+ # (should trip an assert if this fails)
1857
+ last(range(365 * 67)|("1970-03-01T01:02:03Z"|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime) + (86400 * .)|strftime("%Y-%m-%dT%H:%M:%SZ")|strptime("%Y-%m-%dT%H:%M:%SZ"))
1858
+ null
1859
+ [2037,1,11,1,2,3,3,41]
1860
+
1583
1861
  # module system
1584
1862
  import "a" as foo; import "b" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]
1585
1863
  null
@@ -1616,27 +1894,39 @@ null
1616
1894
 
1617
1895
  %%FAIL
1618
1896
  module (.+1); 0
1619
- jq: error: Module metadata must be constant at <top-level>, line 1:
1897
+ jq: error: Module metadata must be constant at <top-level>, line 1, column 8:
1898
+ module (.+1); 0
1899
+ ^^^^^
1620
1900
 
1621
1901
  %%FAIL
1622
1902
  module []; 0
1623
- jq: error: Module metadata must be an object at <top-level>, line 1:
1903
+ jq: error: Module metadata must be an object at <top-level>, line 1, column 8:
1904
+ module []; 0
1905
+ ^^
1624
1906
 
1625
1907
  %%FAIL
1626
1908
  include "a" (.+1); 0
1627
- jq: error: Module metadata must be constant at <top-level>, line 1:
1909
+ jq: error: Module metadata must be constant at <top-level>, line 1, column 13:
1910
+ include "a" (.+1); 0
1911
+ ^^^^^
1628
1912
 
1629
1913
  %%FAIL
1630
1914
  include "a" []; 0
1631
- jq: error: Module metadata must be an object at <top-level>, line 1:
1915
+ jq: error: Module metadata must be an object at <top-level>, line 1, column 13:
1916
+ include "a" []; 0
1917
+ ^^
1632
1918
 
1633
1919
  %%FAIL
1634
1920
  include "\ "; 0
1635
- jq: error: Invalid escape at line 1, column 4 (while parsing '"\ "') at <top-level>, line 1:
1921
+ jq: error: Invalid escape at line 1, column 4 (while parsing '"\ "') at <top-level>, line 1, column 10:
1922
+ include "\ "; 0
1923
+ ^^
1636
1924
 
1637
1925
  %%FAIL
1638
1926
  include "\(a)"; 0
1639
- jq: error: Import path must be constant at <top-level>, line 1:
1927
+ jq: error: Import path must be constant at <top-level>, line 1, column 9:
1928
+ include "\(a)"; 0
1929
+ ^^^^^^
1640
1930
 
1641
1931
  modulemeta
1642
1932
  "c"
@@ -1652,11 +1942,15 @@ modulemeta | .defs | length
1652
1942
 
1653
1943
  %%FAIL IGNORE MSG
1654
1944
  import "syntaxerror" as e; .
1655
- jq: error: syntax error, unexpected ';', expecting $end (Unix shell quoting issues?) at /home/nico/ws/jq/tests/modules/syntaxerror/syntaxerror.jq, line 1:
1945
+ jq: error: syntax error, unexpected ';', expecting end of file at tests/modules/syntaxerror/syntaxerror.jq, line 1, column 4:
1946
+ wat;
1947
+ ^
1656
1948
 
1657
- %%FAIL IGNORE MSG
1949
+ %%FAIL
1658
1950
  %::wat
1659
- jq: error: syntax error, unexpected '%', expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
1951
+ jq: error: syntax error, unexpected '%', expecting end of file at <top-level>, line 1, column 1:
1952
+ %::wat
1953
+ ^
1660
1954
 
1661
1955
  import "test_bind_order" as check; check::check
1662
1956
  null
@@ -1666,6 +1960,19 @@ try -. catch .
1666
1960
  "very-long-string"
1667
1961
  "string (\"very-long-...) cannot be negated"
1668
1962
 
1963
+ try (.-.) catch .
1964
+ "very-long-string"
1965
+ "string (\"very-long-...) and string (\"very-long-...) cannot be subtracted"
1966
+
1967
+ "x" * range(0; 12; 2) + "☆" * 5 | try -. catch .
1968
+ null
1969
+ "string (\"☆☆☆...) cannot be negated"
1970
+ "string (\"xx☆☆...) cannot be negated"
1971
+ "string (\"xxxx☆☆...) cannot be negated"
1972
+ "string (\"xxxxxx☆...) cannot be negated"
1973
+ "string (\"xxxxxxxx...) cannot be negated"
1974
+ "string (\"xxxxxxxxxx...) cannot be negated"
1975
+
1669
1976
  join(",")
1670
1977
  ["1",2,true,false,3.4]
1671
1978
  "1,2,true,false,3.4"
@@ -1722,9 +2029,17 @@ true
1722
2029
  [range(-99/2;99/2;1)] as $orig | [$orig[]|pow(2;.)|log2] as $back | ($orig|keys)[]|. as $k | (($orig|.[$k])-($back|.[$k]))|if . < 0 then . * -1 else . end|select(.>.00005)
1723
2030
  null
1724
2031
 
1725
- %%FAIL IGNORE MSG
2032
+ %%FAIL
2033
+ {
2034
+ jq: error: syntax error, unexpected end of file at <top-level>, line 1, column 1:
2035
+ {
2036
+ ^
2037
+
2038
+ %%FAIL
1726
2039
  }
1727
- jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
2040
+ jq: error: syntax error, unexpected INVALID_CHARACTER, expecting end of file at <top-level>, line 1, column 1:
2041
+ }
2042
+ ^
1728
2043
 
1729
2044
  (.[{}] = 0)?
1730
2045
  null
@@ -1836,17 +2151,17 @@ map(. == 1)
1836
2151
 
1837
2152
  # When no arithmetic is involved jq should preserve the literal value
1838
2153
 
1839
- .[0] | tostring
2154
+ .[0] | tostring | . == if have_decnum then "13911860366432393" else "13911860366432392" end
1840
2155
  [13911860366432393]
1841
- "13911860366432393"
2156
+ true
1842
2157
 
1843
- .x | tojson
2158
+ .x | tojson | . == if have_decnum then "13911860366432393" else "13911860366432392" end
1844
2159
  {"x":13911860366432393}
1845
- "13911860366432393"
2160
+ true
1846
2161
 
1847
- 13911860366432393 == 13911860366432392
2162
+ (13911860366432393 == 13911860366432392) | . == if have_decnum then false else true end
1848
2163
  null
1849
- false
2164
+ true
1850
2165
 
1851
2166
 
1852
2167
  # Applying arithmetic to the value will truncate the result to double
@@ -1863,6 +2178,19 @@ false
1863
2178
  {"x":13911860366432393}
1864
2179
  13911860366432382
1865
2180
 
2181
+ # Unary negation preserves numerical precision
2182
+ -. | tojson == if have_decnum then "-13911860366432393" else "-13911860366432392" end
2183
+ 13911860366432393
2184
+ true
2185
+
2186
+ -. | tojson == if have_decnum then "0.12345678901234567890123456789" else "0.12345678901234568" end
2187
+ -0.12345678901234567890123456789
2188
+ true
2189
+
2190
+ [1E+1000,-1E+1000 | tojson] == if have_decnum then ["1E+1000","-1E+1000"] else ["1.7976931348623157e+308","-1.7976931348623157e+308"] end
2191
+ null
2192
+ true
2193
+
1866
2194
  . |= try . catch .
1867
2195
  1
1868
2196
  1
@@ -1885,7 +2213,11 @@ map(abs)
1885
2213
  [-0, 0, -10, -1.1]
1886
2214
  [0,0,10,1.1]
1887
2215
 
1888
- map(fabs == length) | unique
2216
+ map(fabs)
2217
+ [-0, 0, -10, -1.1]
2218
+ [0,0,10,1.1]
2219
+
2220
+ map(abs == length) | unique
1889
2221
  [-10, -1.1, -1e-1, 1000000000000000002]
1890
2222
  [true]
1891
2223
 
@@ -1894,6 +2226,14 @@ map(abs)
1894
2226
  [0.1,1000000000000000002]
1895
2227
  [1e-1, 1000000000000000002]
1896
2228
 
2229
+ [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then ["1E+1000"] else ["1.7976931348623157e+308"] end
2230
+ null
2231
+ true
2232
+
2233
+ [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then ["1E+1000"] else ["1.7976931348623157e+308"] end
2234
+ null
2235
+ true
2236
+
1897
2237
  # Using a keyword as variable/label name
1898
2238
 
1899
2239
  123 as $label | $label
@@ -1938,11 +2278,17 @@ tojson | fromjson
1938
2278
  {"a":nan}
1939
2279
  {"a":null}
1940
2280
 
1941
- # also "nan with payload" #2985
1942
- fromjson | isnan
1943
- "nan1234"
2281
+ # NaN with payload is not parsed
2282
+ .[] | try (fromjson | isnan) catch .
2283
+ ["NaN","-NaN","NaN1","NaN10","NaN100","NaN1000","NaN10000","NaN100000"]
1944
2284
  true
1945
-
2285
+ true
2286
+ "Invalid numeric literal at EOF at line 1, column 4 (while parsing 'NaN1')"
2287
+ "Invalid numeric literal at EOF at line 1, column 5 (while parsing 'NaN10')"
2288
+ "Invalid numeric literal at EOF at line 1, column 6 (while parsing 'NaN100')"
2289
+ "Invalid numeric literal at EOF at line 1, column 7 (while parsing 'NaN1000')"
2290
+ "Invalid numeric literal at EOF at line 1, column 8 (while parsing 'NaN10000')"
2291
+ "Invalid numeric literal at EOF at line 1, column 9 (while parsing 'NaN100000')"
1946
2292
 
1947
2293
  # calling input/0, or debug/0 in a test doesn't crash jq
1948
2294
 
@@ -2000,8 +2346,8 @@ null
2000
2346
  2
2001
2347
 
2002
2348
  .[] |= try tonumber
2003
- ["1", "2a", "3", 4]
2004
- [1, 3, 4]
2349
+ ["1", "2a", "3", " 4", "5 ", "6.7", ".89", "-876", "+5.43", 21]
2350
+ [1, 3, 6.7, 0.89, -876, 5.43, 21]
2005
2351
 
2006
2352
  # Also 1859, but from 2073
2007
2353
  any(keys[]|tostring?;true)
@@ -2020,6 +2366,10 @@ map(try implode catch .)
2020
2366
  [123,["a"],[nan]]
2021
2367
  ["implode input must be an array","string (\"a\") can't be imploded, unicode codepoint needs to be numeric","number (null) can't be imploded, unicode codepoint needs to be numeric"]
2022
2368
 
2369
+ try 0[implode] catch .
2370
+ []
2371
+ "Cannot index number with string \"\""
2372
+
2023
2373
  # walk
2024
2374
  walk(.)
2025
2375
  {"x":0}
@@ -2103,6 +2453,9 @@ try ["ok", setpath([1]; 1)] catch ["ko", .]
2103
2453
  {"hi":"hello"}
2104
2454
  ["ko","Cannot index object with number"]
2105
2455
 
2456
+ try fromjson catch .
2457
+ "{'a': 123}"
2458
+ "Invalid string literal; expected \", but got ' at line 1, column 5 (while parsing '{'a': 123}')"
2106
2459
 
2107
2460
  # ltrimstr/1 rtrimstr/1 don't leak on invalid input #2977
2108
2461
 
@@ -2115,3 +2468,42 @@ try ltrimstr("x") catch "x", try rtrimstr("x") catch "x" | "ok"
2115
2468
  {"hey":[]}
2116
2469
  "ok"
2117
2470
  "ok"
2471
+
2472
+ # ltrimstr/1 and rtrimstr/1 return an error for non-strings. #2969
2473
+
2474
+ .[] as [$x, $y] | try ["ok", ($x | ltrimstr($y))] catch ["ko", .]
2475
+ [["hi",1],[1,"hi"],["hi","hi"],[1,1]]
2476
+ ["ko","startswith() requires string inputs"]
2477
+ ["ko","startswith() requires string inputs"]
2478
+ ["ok",""]
2479
+ ["ko","startswith() requires string inputs"]
2480
+
2481
+ .[] as [$x, $y] | try ["ok", ($x | rtrimstr($y))] catch ["ko", .]
2482
+ [["hi",1],[1,"hi"],["hi","hi"],[1,1]]
2483
+ ["ko","endswith() requires string inputs"]
2484
+ ["ko","endswith() requires string inputs"]
2485
+ ["ok",""]
2486
+ ["ko","endswith() requires string inputs"]
2487
+
2488
+
2489
+ # oss-fuzz #66061: setpath/2 leaks when indexing array with array
2490
+
2491
+ try ["OK", setpath([[1]]; 1)] catch ["KO", .]
2492
+ []
2493
+ ["KO","Cannot update field at array index of array"]
2494
+
2495
+ # regression test for #3227
2496
+ foreach .[] as $x (0, 1; . + $x)
2497
+ [1, 2]
2498
+ 1
2499
+ 3
2500
+ 2
2501
+ 4
2502
+
2503
+ # regression test for CVE-2025-49014 (use of fmt after free)
2504
+ # tests with both empty string literal and empty string created by function
2505
+ # as they seems to behave referecne wise differently.
2506
+ strflocaltime("" | ., @uri)
2507
+ 0
2508
+ ""
2509
+ ""