@port-labs/jq-node-bindings 0.0.13 → 0.0.15-dev1

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 (453) hide show
  1. package/README.md +6 -1
  2. package/binding.gyp +41 -19
  3. package/configure +1 -1
  4. package/deps/jq/.gitattributes +12 -0
  5. package/deps/jq/AUTHORS +149 -43
  6. package/deps/jq/COPYING +75 -1
  7. package/deps/jq/ChangeLog +2 -2
  8. package/deps/jq/Makefile.am +106 -65
  9. package/deps/jq/NEWS.md +391 -0
  10. package/deps/jq/README.md +54 -52
  11. package/deps/jq/SECURITY.md +7 -0
  12. package/deps/jq/compile-ios.sh +106 -102
  13. package/deps/jq/configure.ac +72 -59
  14. package/deps/jq/docs/Pipfile +14 -0
  15. package/deps/jq/docs/Pipfile.lock +415 -0
  16. package/deps/jq/docs/README.md +15 -14
  17. package/deps/jq/docs/build_manpage.py +251 -0
  18. package/deps/jq/docs/build_mantests.py +21 -0
  19. package/deps/jq/docs/build_website.py +95 -0
  20. package/deps/jq/docs/content/download/default.yml +249 -0
  21. package/deps/jq/docs/content/index.yml +83 -0
  22. package/deps/jq/docs/content/{3.manual/v1.6 → manual/dev}/manual.yml +992 -452
  23. package/deps/jq/docs/content/{3.manual → manual}/v1.3/manual.yml +105 -116
  24. package/deps/jq/docs/content/{3.manual → manual}/v1.4/manual.yml +122 -129
  25. package/deps/jq/docs/content/{3.manual → manual}/v1.5/manual.yml +313 -262
  26. package/deps/jq/docs/content/{3.manual → manual/v1.6}/manual.yml +407 -332
  27. package/deps/jq/docs/content/manual/v1.7/manual.yml +3697 -0
  28. package/deps/jq/docs/content/tutorial/default.yml +337 -0
  29. package/deps/jq/docs/manual_schema.yml +60 -0
  30. package/deps/jq/docs/public/css/style.css +99 -0
  31. package/deps/jq/docs/public/icon.png +0 -0
  32. package/deps/jq/docs/public/icon.svg +1 -0
  33. package/deps/jq/docs/public/jq.svg +1 -0
  34. package/deps/jq/docs/public/js/manual-search.js +31 -49
  35. package/deps/jq/docs/templates/default.html.j2 +31 -0
  36. package/deps/jq/docs/templates/index.html.j2 +58 -0
  37. package/deps/jq/docs/templates/manual.html.j2 +120 -0
  38. package/deps/jq/docs/templates/shared/_footer.html.j2 +14 -0
  39. package/deps/jq/docs/templates/shared/_head.html.j2 +23 -0
  40. package/deps/jq/docs/templates/shared/_navbar.html.j2 +40 -0
  41. package/deps/jq/docs/validate_manual_schema.py +19 -0
  42. package/deps/jq/jq.1.prebuilt +1102 -294
  43. package/deps/jq/jq.spec +2 -3
  44. package/deps/jq/libjq.pc.in +11 -0
  45. package/deps/jq/m4/ax_pthread.m4 +522 -0
  46. package/deps/jq/modules/oniguruma/.travis.yml +17 -0
  47. package/deps/jq/modules/oniguruma/CMakeLists.txt +206 -41
  48. package/deps/jq/modules/oniguruma/COPYING +23 -25
  49. package/deps/jq/modules/oniguruma/HISTORY +368 -23
  50. package/deps/jq/modules/oniguruma/Makefile.am +61 -7
  51. package/deps/jq/modules/oniguruma/README +34 -20
  52. package/deps/jq/modules/oniguruma/README.md +106 -33
  53. package/deps/jq/modules/oniguruma/README_japanese +183 -0
  54. package/deps/jq/modules/oniguruma/autogen.sh +9 -0
  55. package/deps/jq/modules/oniguruma/cmake/Config.cmake.in +4 -0
  56. package/deps/jq/modules/oniguruma/configure.ac +66 -55
  57. package/deps/jq/modules/oniguruma/doc/API +485 -42
  58. package/deps/jq/modules/oniguruma/doc/API.ja +732 -293
  59. package/deps/jq/modules/oniguruma/doc/CALLOUTS.API +397 -0
  60. package/deps/jq/modules/oniguruma/doc/CALLOUTS.API.ja +393 -0
  61. package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN +95 -0
  62. package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN.ja +93 -0
  63. package/deps/jq/modules/oniguruma/doc/FAQ +3 -3
  64. package/deps/jq/modules/oniguruma/doc/FAQ.ja +8 -8
  65. package/deps/jq/modules/oniguruma/doc/RE +223 -63
  66. package/deps/jq/modules/oniguruma/doc/RE.ja +420 -265
  67. package/deps/jq/modules/oniguruma/doc/SYNTAX.md +1091 -0
  68. package/deps/jq/modules/oniguruma/doc/UNICODE_PROPERTIES +840 -697
  69. package/deps/jq/modules/oniguruma/harnesses/ascii_compatible.dict +113 -0
  70. package/deps/jq/modules/oniguruma/harnesses/base.c +749 -0
  71. package/deps/jq/modules/oniguruma/harnesses/deluxe.c +206 -0
  72. package/deps/jq/modules/oniguruma/harnesses/dict_conv.py +72 -0
  73. package/deps/jq/modules/oniguruma/harnesses/fuzzer.options +2 -0
  74. package/deps/jq/modules/oniguruma/harnesses/libfuzzer-onig.cpp +45 -0
  75. package/deps/jq/modules/oniguruma/harnesses/regset.c +392 -0
  76. package/deps/jq/modules/oniguruma/index.html +16 -5
  77. package/deps/jq/modules/oniguruma/index_ja.html +16 -5
  78. package/deps/jq/modules/oniguruma/make_win.bat +5 -0
  79. package/deps/jq/modules/oniguruma/make_win32.bat +5 -3
  80. package/deps/jq/modules/oniguruma/make_win64.bat +5 -3
  81. package/deps/jq/modules/oniguruma/onig-config.cmake.in +80 -0
  82. package/deps/jq/modules/oniguruma/onig-config.in +1 -1
  83. package/deps/jq/modules/oniguruma/oniguruma.pc.cmake.in +1 -1
  84. package/deps/jq/modules/oniguruma/oniguruma.pc.in +0 -1
  85. package/deps/jq/modules/oniguruma/sample/CMakeLists.txt +9 -2
  86. package/deps/jq/modules/oniguruma/sample/Makefile.am +24 -5
  87. package/deps/jq/modules/oniguruma/sample/bug_fix.c +13 -51
  88. package/deps/jq/modules/oniguruma/sample/callback_each_match.c +168 -0
  89. package/deps/jq/modules/oniguruma/sample/callout.c +268 -0
  90. package/deps/jq/modules/oniguruma/sample/count.c +125 -0
  91. package/deps/jq/modules/oniguruma/sample/crnl.c +6 -4
  92. package/deps/jq/modules/oniguruma/sample/echo.c +136 -0
  93. package/deps/jq/modules/oniguruma/sample/encode.c +53 -146
  94. package/deps/jq/modules/oniguruma/sample/listcap.c +18 -10
  95. package/deps/jq/modules/oniguruma/sample/names.c +10 -6
  96. package/deps/jq/modules/oniguruma/sample/posix.c +13 -2
  97. package/deps/jq/modules/oniguruma/sample/regset.c +95 -0
  98. package/deps/jq/modules/oniguruma/sample/scan.c +20 -6
  99. package/deps/jq/modules/oniguruma/sample/simple.c +8 -4
  100. package/deps/jq/modules/oniguruma/sample/sql.c +13 -8
  101. package/deps/jq/modules/oniguruma/sample/syntax.c +11 -10
  102. package/deps/jq/modules/oniguruma/sample/user_property.c +12 -7
  103. package/deps/jq/modules/oniguruma/src/Makefile.am +41 -15
  104. package/deps/jq/modules/oniguruma/src/Makefile.windows +196 -183
  105. package/deps/jq/modules/oniguruma/src/ascii.c +64 -7
  106. package/deps/jq/modules/oniguruma/src/big5.c +25 -15
  107. package/deps/jq/modules/oniguruma/src/config.h.cmake.in +7 -22
  108. package/deps/jq/modules/oniguruma/src/config.h.win32 +56 -84
  109. package/deps/jq/modules/oniguruma/src/config.h.win64 +56 -84
  110. package/deps/jq/modules/oniguruma/src/config.h.windows.in +62 -0
  111. package/deps/jq/modules/oniguruma/src/cp1251.c +14 -8
  112. package/deps/jq/modules/oniguruma/src/euc_jp.c +28 -30
  113. package/deps/jq/modules/oniguruma/src/euc_jp_prop.c +25 -32
  114. package/deps/jq/modules/oniguruma/src/euc_jp_prop.gperf +1 -2
  115. package/deps/jq/modules/oniguruma/src/euc_kr.c +27 -15
  116. package/deps/jq/modules/oniguruma/src/euc_tw.c +40 -17
  117. package/deps/jq/modules/oniguruma/src/gb18030.c +177 -119
  118. package/deps/jq/modules/oniguruma/src/gperf_fold_key_conv.py +12 -8
  119. package/deps/jq/modules/oniguruma/src/gperf_unfold_key_conv.py +8 -6
  120. package/deps/jq/modules/oniguruma/src/iso8859_1.c +92 -91
  121. package/deps/jq/modules/oniguruma/src/iso8859_10.c +13 -29
  122. package/deps/jq/modules/oniguruma/src/iso8859_11.c +4 -2
  123. package/deps/jq/modules/oniguruma/src/iso8859_13.c +13 -33
  124. package/deps/jq/modules/oniguruma/src/iso8859_14.c +13 -30
  125. package/deps/jq/modules/oniguruma/src/iso8859_15.c +13 -34
  126. package/deps/jq/modules/oniguruma/src/iso8859_16.c +13 -29
  127. package/deps/jq/modules/oniguruma/src/iso8859_2.c +13 -29
  128. package/deps/jq/modules/oniguruma/src/iso8859_3.c +13 -33
  129. package/deps/jq/modules/oniguruma/src/iso8859_4.c +13 -32
  130. package/deps/jq/modules/oniguruma/src/iso8859_5.c +16 -23
  131. package/deps/jq/modules/oniguruma/src/iso8859_6.c +4 -2
  132. package/deps/jq/modules/oniguruma/src/iso8859_7.c +14 -29
  133. package/deps/jq/modules/oniguruma/src/iso8859_8.c +4 -2
  134. package/deps/jq/modules/oniguruma/src/iso8859_9.c +13 -33
  135. package/deps/jq/modules/oniguruma/src/koi8.c +14 -27
  136. package/deps/jq/modules/oniguruma/src/koi8_r.c +12 -19
  137. package/deps/jq/modules/oniguruma/src/make_property.sh +21 -0
  138. package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +7 -0
  139. package/deps/jq/modules/oniguruma/src/make_unicode_egcb_data.py +267 -0
  140. package/deps/jq/modules/oniguruma/src/make_unicode_fold.sh +25 -11
  141. package/deps/jq/modules/oniguruma/src/make_unicode_fold_data.py +206 -26
  142. package/deps/jq/modules/oniguruma/src/make_unicode_property.sh +19 -10
  143. package/deps/jq/modules/oniguruma/src/make_unicode_property_data.py +474 -375
  144. package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +7 -0
  145. package/deps/jq/modules/oniguruma/src/make_unicode_wb_data.py +267 -0
  146. package/deps/jq/modules/oniguruma/src/mktable.c +28 -24
  147. package/deps/jq/modules/oniguruma/src/onig_init.c +2 -2
  148. package/deps/jq/modules/oniguruma/src/oniggnu.h +7 -5
  149. package/deps/jq/modules/oniguruma/src/onigposix.h +40 -16
  150. package/deps/jq/modules/oniguruma/src/oniguruma.h +357 -107
  151. package/deps/jq/modules/oniguruma/src/regcomp.c +6214 -3933
  152. package/deps/jq/modules/oniguruma/src/regenc.c +197 -120
  153. package/deps/jq/modules/oniguruma/src/regenc.h +106 -63
  154. package/deps/jq/modules/oniguruma/src/regerror.c +112 -91
  155. package/deps/jq/modules/oniguruma/src/regexec.c +4876 -2010
  156. package/deps/jq/modules/oniguruma/src/regext.c +8 -8
  157. package/deps/jq/modules/oniguruma/src/reggnu.c +13 -17
  158. package/deps/jq/modules/oniguruma/src/regint.h +757 -491
  159. package/deps/jq/modules/oniguruma/src/regparse.c +7204 -3240
  160. package/deps/jq/modules/oniguruma/src/regparse.h +361 -218
  161. package/deps/jq/modules/oniguruma/src/regposerr.c +49 -9
  162. package/deps/jq/modules/oniguruma/src/regposix.c +106 -24
  163. package/deps/jq/modules/oniguruma/src/regsyntax.c +66 -13
  164. package/deps/jq/modules/oniguruma/src/regtrav.c +1 -1
  165. package/deps/jq/modules/oniguruma/src/regversion.c +6 -4
  166. package/deps/jq/modules/oniguruma/src/sjis.c +23 -52
  167. package/deps/jq/modules/oniguruma/src/sjis_prop.c +25 -32
  168. package/deps/jq/modules/oniguruma/src/sjis_prop.gperf +1 -2
  169. package/deps/jq/modules/oniguruma/src/st.c +248 -249
  170. package/deps/jq/modules/oniguruma/src/st.h +4 -5
  171. package/deps/jq/modules/oniguruma/src/unicode.c +869 -294
  172. package/deps/jq/modules/oniguruma/src/unicode_egcb_data.c +1419 -0
  173. package/deps/jq/modules/oniguruma/src/unicode_fold1_key.c +1829 -1300
  174. package/deps/jq/modules/oniguruma/src/unicode_fold2_key.c +32 -9
  175. package/deps/jq/modules/oniguruma/src/unicode_fold3_key.c +32 -9
  176. package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +1210 -984
  177. package/deps/jq/modules/oniguruma/src/unicode_property_data.c +22480 -15198
  178. package/deps/jq/modules/oniguruma/src/unicode_property_data_posix.c +1463 -591
  179. package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +1958 -1418
  180. package/deps/jq/modules/oniguruma/src/unicode_wb_data.c +1106 -0
  181. package/deps/jq/modules/oniguruma/src/utf16_be.c +90 -49
  182. package/deps/jq/modules/oniguruma/src/utf16_le.c +80 -49
  183. package/deps/jq/modules/oniguruma/src/utf32_be.c +14 -42
  184. package/deps/jq/modules/oniguruma/src/utf32_le.c +13 -40
  185. package/deps/jq/modules/oniguruma/src/utf8.c +33 -78
  186. package/deps/jq/modules/oniguruma/test/CMakeLists.txt +55 -0
  187. package/deps/jq/modules/oniguruma/test/Makefile.am +65 -10
  188. package/deps/jq/modules/oniguruma/test/test.sh +17 -0
  189. package/deps/jq/modules/oniguruma/test/test_back.c +1450 -0
  190. package/deps/jq/modules/oniguruma/test/test_options.c +228 -0
  191. package/deps/jq/modules/oniguruma/test/test_regset.c +466 -0
  192. package/deps/jq/modules/oniguruma/test/test_syntax.c +365 -0
  193. package/deps/jq/modules/oniguruma/test/test_utf8.c +1761 -0
  194. package/deps/jq/modules/oniguruma/test/testc.c +128 -88
  195. package/deps/jq/modules/oniguruma/test/testp.c +613 -0
  196. package/deps/jq/modules/oniguruma/test/testu.c +75 -28
  197. package/deps/jq/modules/oniguruma/tis-ci/stub.c +3 -0
  198. package/deps/jq/modules/oniguruma/tis-ci/test_back.config +26 -0
  199. package/deps/jq/modules/oniguruma/tis-ci/test_regset.config +20 -0
  200. package/deps/jq/modules/oniguruma/tis-ci/test_syntax.config +26 -0
  201. package/deps/jq/modules/oniguruma/tis-ci/test_utf8.config +25 -0
  202. package/deps/jq/modules/oniguruma/tis-ci/testc.config +26 -0
  203. package/deps/jq/modules/oniguruma/tis-ci/testu.config +24 -0
  204. package/deps/jq/modules/oniguruma/tis.config +1336 -0
  205. package/deps/jq/modules/oniguruma/windows/CMakeLists.txt +8 -0
  206. package/deps/jq/modules/oniguruma/windows/testc.c +865 -869
  207. package/deps/jq/scripts/update-website +6 -5
  208. package/deps/jq/scripts/version +10 -7
  209. package/deps/jq/sig/jq-release-new.key +29 -0
  210. package/deps/jq/sig/v1.4/sha256sum.txt +1 -0
  211. package/deps/jq/sig/v1.5/sha256sum.txt +2 -0
  212. package/deps/jq/sig/v1.5rc1/sha256sum.txt +1 -0
  213. package/deps/jq/sig/v1.5rc2/sha256sum.txt +2 -0
  214. package/deps/jq/sig/v1.6/sha256sum.txt +2 -0
  215. package/deps/jq/sig/v1.7/jq-1.7.tar.gz.asc +16 -0
  216. package/deps/jq/sig/v1.7/jq-1.7.zip.asc +16 -0
  217. package/deps/jq/sig/v1.7/jq-linux-amd64.asc +16 -0
  218. package/deps/jq/sig/v1.7/jq-linux-arm64.asc +16 -0
  219. package/deps/jq/sig/v1.7/jq-linux-armel.asc +16 -0
  220. package/deps/jq/sig/v1.7/jq-linux-armhf.asc +16 -0
  221. package/deps/jq/sig/v1.7/jq-linux-i386.asc +16 -0
  222. package/deps/jq/sig/v1.7/jq-linux-mips.asc +16 -0
  223. package/deps/jq/sig/v1.7/jq-linux-mips64.asc +16 -0
  224. package/deps/jq/sig/v1.7/jq-linux-mips64el.asc +16 -0
  225. package/deps/jq/sig/v1.7/jq-linux-mips64r6.asc +16 -0
  226. package/deps/jq/sig/v1.7/jq-linux-mips64r6el.asc +16 -0
  227. package/deps/jq/sig/v1.7/jq-linux-mipsel.asc +16 -0
  228. package/deps/jq/sig/v1.7/jq-linux-mipsr6.asc +16 -0
  229. package/deps/jq/sig/v1.7/jq-linux-mipsr6el.asc +16 -0
  230. package/deps/jq/sig/v1.7/jq-linux-powerpc.asc +16 -0
  231. package/deps/jq/sig/v1.7/jq-linux-ppc64el.asc +16 -0
  232. package/deps/jq/sig/v1.7/jq-linux-riscv64.asc +16 -0
  233. package/deps/jq/sig/v1.7/jq-linux-s390x.asc +16 -0
  234. package/deps/jq/sig/v1.7/jq-macos-amd64.asc +16 -0
  235. package/deps/jq/sig/v1.7/jq-macos-arm64.asc +16 -0
  236. package/deps/jq/sig/v1.7/jq-windows-amd64.exe.asc +16 -0
  237. package/deps/jq/sig/v1.7/jq-windows-i386.exe.asc +16 -0
  238. package/deps/jq/sig/v1.7/sha256sum.txt +23 -0
  239. package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
  240. package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
  241. package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
  242. package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
  243. package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
  244. package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
  245. package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
  246. package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
  247. package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
  248. package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
  249. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
  250. package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
  251. package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
  252. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
  253. package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
  254. package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
  255. package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
  256. package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
  257. package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
  258. package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
  259. package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
  260. package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
  261. package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
  262. package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
  263. package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
  264. package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
  265. package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
  266. package/deps/jq/sig/v1.7rc1/jq-1.7rc1.tar.gz.asc +16 -0
  267. package/deps/jq/sig/v1.7rc1/jq-1.7rc1.zip.asc +16 -0
  268. package/deps/jq/sig/v1.7rc1/jq-linux-amd64.asc +16 -0
  269. package/deps/jq/sig/v1.7rc1/jq-linux-arm64.asc +16 -0
  270. package/deps/jq/sig/v1.7rc1/jq-linux-armel.asc +16 -0
  271. package/deps/jq/sig/v1.7rc1/jq-linux-armhf.asc +16 -0
  272. package/deps/jq/sig/v1.7rc1/jq-linux-i386.asc +16 -0
  273. package/deps/jq/sig/v1.7rc1/jq-linux-mips.asc +16 -0
  274. package/deps/jq/sig/v1.7rc1/jq-linux-mips64.asc +16 -0
  275. package/deps/jq/sig/v1.7rc1/jq-linux-mips64el.asc +16 -0
  276. package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6.asc +16 -0
  277. package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6el.asc +16 -0
  278. package/deps/jq/sig/v1.7rc1/jq-linux-mipsel.asc +16 -0
  279. package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6.asc +16 -0
  280. package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6el.asc +16 -0
  281. package/deps/jq/sig/v1.7rc1/jq-linux-powerpc.asc +16 -0
  282. package/deps/jq/sig/v1.7rc1/jq-linux-ppc64el.asc +16 -0
  283. package/deps/jq/sig/v1.7rc1/jq-linux-riscv64.asc +16 -0
  284. package/deps/jq/sig/v1.7rc1/jq-linux-s390x.asc +16 -0
  285. package/deps/jq/sig/v1.7rc1/jq-macos-amd64.asc +16 -0
  286. package/deps/jq/sig/v1.7rc1/jq-macos-arm64.asc +16 -0
  287. package/deps/jq/sig/v1.7rc1/jq-windows-amd64.exe.asc +16 -0
  288. package/deps/jq/sig/v1.7rc1/jq-windows-i386.exe.asc +16 -0
  289. package/deps/jq/sig/v1.7rc1/sha256sum.txt +23 -0
  290. package/deps/jq/sig/v1.7rc2/jq-1.7rc2.tar.gz.asc +16 -0
  291. package/deps/jq/sig/v1.7rc2/jq-1.7rc2.zip.asc +16 -0
  292. package/deps/jq/sig/v1.7rc2/jq-linux-amd64.asc +16 -0
  293. package/deps/jq/sig/v1.7rc2/jq-linux-arm64.asc +16 -0
  294. package/deps/jq/sig/v1.7rc2/jq-linux-armel.asc +16 -0
  295. package/deps/jq/sig/v1.7rc2/jq-linux-armhf.asc +16 -0
  296. package/deps/jq/sig/v1.7rc2/jq-linux-i386.asc +16 -0
  297. package/deps/jq/sig/v1.7rc2/jq-linux-mips.asc +16 -0
  298. package/deps/jq/sig/v1.7rc2/jq-linux-mips64.asc +16 -0
  299. package/deps/jq/sig/v1.7rc2/jq-linux-mips64el.asc +16 -0
  300. package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6.asc +16 -0
  301. package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6el.asc +16 -0
  302. package/deps/jq/sig/v1.7rc2/jq-linux-mipsel.asc +16 -0
  303. package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6.asc +16 -0
  304. package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6el.asc +16 -0
  305. package/deps/jq/sig/v1.7rc2/jq-linux-powerpc.asc +16 -0
  306. package/deps/jq/sig/v1.7rc2/jq-linux-ppc64el.asc +16 -0
  307. package/deps/jq/sig/v1.7rc2/jq-linux-riscv64.asc +16 -0
  308. package/deps/jq/sig/v1.7rc2/jq-linux-s390x.asc +16 -0
  309. package/deps/jq/sig/v1.7rc2/jq-macos-amd64.asc +16 -0
  310. package/deps/jq/sig/v1.7rc2/jq-macos-arm64.asc +16 -0
  311. package/deps/jq/sig/v1.7rc2/jq-windows-amd64.exe.asc +16 -0
  312. package/deps/jq/sig/v1.7rc2/jq-windows-i386.exe.asc +16 -0
  313. package/deps/jq/sig/v1.7rc2/sha256sum.txt +23 -0
  314. package/deps/jq/src/builtin.c +537 -343
  315. package/deps/jq/src/builtin.h +18 -0
  316. package/deps/jq/src/builtin.jq +116 -143
  317. package/deps/jq/src/bytecode.h +8 -4
  318. package/deps/jq/src/compile.c +157 -143
  319. package/deps/jq/src/compile.h +3 -4
  320. package/deps/jq/src/decNumber/ICU-license.html +45 -0
  321. package/deps/jq/src/decNumber/decBasic.c +3908 -0
  322. package/deps/jq/src/decNumber/decCommon.c +1835 -0
  323. package/deps/jq/src/decNumber/decContext.c +437 -0
  324. package/deps/jq/src/decNumber/decContext.h +254 -0
  325. package/deps/jq/src/decNumber/decDPD.h +1185 -0
  326. package/deps/jq/src/decNumber/decDouble.c +140 -0
  327. package/deps/jq/src/decNumber/decDouble.h +155 -0
  328. package/deps/jq/src/decNumber/decNumber.c +8143 -0
  329. package/deps/jq/src/decNumber/decNumber.h +182 -0
  330. package/deps/jq/src/decNumber/decNumberLocal.h +757 -0
  331. package/deps/jq/src/decNumber/decPacked.c +220 -0
  332. package/deps/jq/src/decNumber/decPacked.h +52 -0
  333. package/deps/jq/src/decNumber/decQuad.c +135 -0
  334. package/deps/jq/src/decNumber/decQuad.h +177 -0
  335. package/deps/jq/src/decNumber/decSingle.c +71 -0
  336. package/deps/jq/src/decNumber/decSingle.h +86 -0
  337. package/deps/jq/src/decNumber/decimal128.c +553 -0
  338. package/deps/jq/src/decNumber/decimal128.h +81 -0
  339. package/deps/jq/src/decNumber/decimal32.c +476 -0
  340. package/deps/jq/src/decNumber/decimal32.h +81 -0
  341. package/deps/jq/src/decNumber/decimal64.c +839 -0
  342. package/deps/jq/src/decNumber/decimal64.h +83 -0
  343. package/deps/jq/src/decNumber/decnumber.pdf +0 -0
  344. package/deps/jq/src/decNumber/example1.c +38 -0
  345. package/deps/jq/src/decNumber/example2.c +52 -0
  346. package/deps/jq/src/decNumber/example3.c +64 -0
  347. package/deps/jq/src/decNumber/example4.c +61 -0
  348. package/deps/jq/src/decNumber/example5.c +36 -0
  349. package/deps/jq/src/decNumber/example6.c +61 -0
  350. package/deps/jq/src/decNumber/example7.c +35 -0
  351. package/deps/jq/src/decNumber/example8.c +39 -0
  352. package/deps/jq/src/decNumber/readme.txt +81 -0
  353. package/deps/jq/src/exec_stack.h +5 -3
  354. package/deps/jq/src/execute.c +126 -44
  355. package/deps/jq/src/inject_errors.c +0 -2
  356. package/deps/jq/src/jq.h +10 -1
  357. package/deps/jq/src/jq_test.c +222 -11
  358. package/deps/jq/src/jv.c +807 -176
  359. package/deps/jq/src/jv.h +22 -1
  360. package/deps/jq/src/jv_alloc.c +33 -26
  361. package/deps/jq/src/jv_alloc.h +0 -11
  362. package/deps/jq/src/jv_aux.c +153 -67
  363. package/deps/jq/src/jv_dtoa.c +12 -2
  364. package/deps/jq/src/jv_dtoa_tsd.c +51 -0
  365. package/deps/jq/src/jv_dtoa_tsd.h +4 -0
  366. package/deps/jq/src/jv_parse.c +70 -15
  367. package/deps/jq/src/jv_print.c +56 -60
  368. package/deps/jq/src/jv_private.h +7 -0
  369. package/deps/jq/src/jv_thread.h +76 -0
  370. package/deps/jq/src/jv_unicode.c +18 -0
  371. package/deps/jq/src/jv_unicode.h +2 -0
  372. package/deps/jq/src/lexer.c +782 -543
  373. package/deps/jq/src/lexer.h +438 -64
  374. package/deps/jq/src/lexer.l +10 -3
  375. package/deps/jq/src/libm.h +16 -6
  376. package/deps/jq/src/linker.c +97 -40
  377. package/deps/jq/src/locfile.c +2 -1
  378. package/deps/jq/src/main.c +384 -336
  379. package/deps/jq/src/opcode_list.h +5 -2
  380. package/deps/jq/src/parser.c +2260 -1898
  381. package/deps/jq/src/parser.h +115 -98
  382. package/deps/jq/src/parser.y +124 -89
  383. package/deps/jq/src/util.c +854 -55
  384. package/deps/jq/src/util.h +6 -4
  385. package/deps/jq/tests/jq.test +762 -26
  386. package/deps/jq/tests/jq_fuzz_compile.c +27 -0
  387. package/deps/jq/tests/jq_fuzz_execute.cpp +42 -0
  388. package/deps/jq/tests/jq_fuzz_fixed.cpp +297 -0
  389. package/deps/jq/tests/jq_fuzz_load_file.c +28 -0
  390. package/deps/jq/tests/jq_fuzz_parse.c +21 -0
  391. package/deps/jq/tests/jq_fuzz_parse_extended.c +36 -0
  392. package/deps/jq/tests/jq_fuzz_parse_stream.c +21 -0
  393. package/deps/jq/tests/local.supp +14 -0
  394. package/deps/jq/tests/man.test +979 -0
  395. package/deps/jq/tests/manonig.test +76 -0
  396. package/deps/jq/tests/manonigtest +5 -0
  397. package/deps/jq/tests/mantest +1 -2
  398. package/deps/jq/tests/modules/home2/.jq/g.jq +1 -0
  399. package/deps/jq/tests/modules/shadow1.jq +2 -0
  400. package/deps/jq/tests/modules/shadow2.jq +1 -0
  401. package/deps/jq/tests/modules/test_bind_order0.jq +1 -0
  402. package/deps/jq/tests/modules/test_bind_order1.jq +1 -1
  403. package/deps/jq/tests/modules/test_bind_order2.jq +0 -1
  404. package/deps/jq/tests/no-main-program.jq +1 -0
  405. package/deps/jq/tests/onig.test +77 -2
  406. package/deps/jq/tests/setup +7 -2
  407. package/deps/jq/tests/shtest +478 -59
  408. package/deps/jq/tests/uri.test +38 -0
  409. package/deps/jq/tests/uritest +5 -0
  410. package/deps/jq/tests/yes-main-program.jq +2 -0
  411. package/lib/index.js +3 -0
  412. package/lib/jq.js +15 -1
  413. package/lib/templateAsync.js +137 -0
  414. package/package.json +7 -7
  415. package/src/binding.cc +623 -146
  416. package/src/binding.h +3 -4
  417. package/test/santiy-async.test.js +171 -0
  418. package/test/santiy.test.js +2 -2
  419. package/test/template-async.test.js +182 -0
  420. package/test/template.test.js +3 -3
  421. package/deps/jq/.travis.yml +0 -202
  422. package/deps/jq/NEWS +0 -89
  423. package/deps/jq/appveyor.yml +0 -53
  424. package/deps/jq/docs/Gemfile +0 -7
  425. package/deps/jq/docs/Gemfile.lock +0 -63
  426. package/deps/jq/docs/Rakefile +0 -24
  427. package/deps/jq/docs/Rakefile.manual +0 -49
  428. package/deps/jq/docs/Rakefile.website +0 -76
  429. package/deps/jq/docs/content/1.tutorial/default.yml +0 -327
  430. package/deps/jq/docs/content/2.download/default.yml +0 -193
  431. package/deps/jq/docs/content/index/index.yml +0 -73
  432. package/deps/jq/docs/public/css/base.scss +0 -181
  433. package/deps/jq/docs/public/jq.png +0 -0
  434. package/deps/jq/docs/site.yml +0 -9
  435. package/deps/jq/docs/templates/default.liquid +0 -34
  436. package/deps/jq/docs/templates/index.liquid +0 -73
  437. package/deps/jq/docs/templates/manual.liquid +0 -99
  438. package/deps/jq/docs/templates/shared/_footer.liquid +0 -10
  439. package/deps/jq/docs/templates/shared/_head.liquid +0 -17
  440. package/deps/jq/docs/templates/shared/_navbar.liquid +0 -27
  441. package/deps/jq/modules/oniguruma/README.ja +0 -195
  442. package/deps/jq/modules/oniguruma/cmake/dist.cmake +0 -321
  443. package/deps/jq/modules/oniguruma/contributed/libfuzzer-onig.cpp +0 -31
  444. package/deps/jq/modules/oniguruma/dist.info +0 -10
  445. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold1_key.c +0 -2250
  446. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold2_key.c +0 -203
  447. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold3_key.c +0 -113
  448. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold_data.c +0 -1225
  449. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data.c +0 -24742
  450. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data_posix.c +0 -4846
  451. package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_unfold_key.c +0 -2571
  452. /package/deps/jq/sig/{jq-release.key → jq-release-old.key} +0 -0
  453. /package/deps/jq/tests/modules/{.jq → home1/.jq} +0 -0
@@ -0,0 +1,27 @@
1
+ #include <stdint.h>
2
+ #include <stdlib.h>
3
+ #include <string.h>
4
+
5
+ #include "jq.h"
6
+
7
+ int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
8
+ // Creat null-terminated string
9
+ char *null_terminated = (char *)malloc(size + 1);
10
+ memcpy(null_terminated, (char *)data, size);
11
+ null_terminated[size] = '\0';
12
+
13
+ // Fuzzer entrypoint
14
+ jq_state *jq = NULL;
15
+ jq = jq_init();
16
+ if (jq != NULL) {
17
+ if (jq_compile(jq, null_terminated)) {
18
+ jq_dump_disassembly(jq, 2);
19
+ }
20
+ }
21
+ jq_teardown(&jq);
22
+
23
+ // Free the null-terminated string
24
+ free(null_terminated);
25
+
26
+ return 0;
27
+ }
@@ -0,0 +1,42 @@
1
+ #include <fuzzer/FuzzedDataProvider.h>
2
+ #include <string>
3
+
4
+ #include "jq.h"
5
+ #include "jv.h"
6
+
7
+ // Fuzzer inspired by /src/jq_test.c
8
+ // The goal is to have the fuzzer execute the functions:
9
+ // jq_compile -> jv_parse -> jq_next.
10
+ extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
11
+ FuzzedDataProvider fdp(data, size);
12
+ std::string prog_payload = fdp.ConsumeRandomLengthString();
13
+ std::string parse_payload1 = fdp.ConsumeRandomLengthString();
14
+ std::string parse_payload2 = fdp.ConsumeRandomLengthString();
15
+
16
+ jq_state *jq = NULL;
17
+ jq = jq_init();
18
+ if (jq != NULL) {
19
+ jq_set_attr(jq, jv_string("JQ_ORIGIN"), jv_string("/tmp/"));
20
+
21
+ if (jq_compile(jq, prog_payload.c_str())) {
22
+ // Process to jv_parse and then jv_next
23
+ jv input = jv_parse(parse_payload1.c_str());
24
+ if (jv_is_valid(input)) {
25
+ jq_start(jq, input, 0);
26
+ jv next = jv_parse(parse_payload2.c_str());
27
+ if (jv_is_valid(next)) {
28
+ jv actual = jq_next(jq);
29
+ jv_free(actual);
30
+ }
31
+ jv_free(next);
32
+ } else {
33
+ // Only free if input is invalid as otherwise jq_teardown
34
+ // frees it.
35
+ jv_free(input);
36
+ }
37
+ }
38
+ }
39
+ jq_teardown(&jq);
40
+
41
+ return 0;
42
+ }
@@ -0,0 +1,297 @@
1
+ #include <fuzzer/FuzzedDataProvider.h>
2
+ #include <string>
3
+
4
+ #include "jq.h"
5
+ #include "jv.h"
6
+
7
+
8
+ const char *jq_progs[] = {
9
+ ". / \", \"",
10
+ ".[]",
11
+ "$ENV.PAGER",
12
+ ".[0]",
13
+ ". < 0.12345678901234567890123456788",
14
+ ".[] == 1",
15
+ ".[] | (1 / .)?",
16
+ "10 / . * 3",
17
+ "[1,2,empty,3]",
18
+ "1, empty, 2",
19
+ "[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]",
20
+ ".[-2:]",
21
+ ".[-2]",
22
+ ".[2]",
23
+ "[ .[] | . * 2]",
24
+ ".[2:4]",
25
+ "(. + 2) * 5",
26
+ ".[:3]",
27
+ ".[4,2]",
28
+ "42 and \"a string\"",
29
+ "4 - .a",
30
+ ". < 5",
31
+ ".. | .a?",
32
+ "[.[] | .a?]",
33
+ ".a + 1",
34
+ "{a: 1} + {b: 2} + {c: 3} + {a: 42}",
35
+ ".a + .b",
36
+ ".a = .b",
37
+ ".a |= .b",
38
+ "add",
39
+ "all",
40
+ ".a + null",
41
+ "any",
42
+ ".[] as [$a, $b] | {a: $a, b: $b}",
43
+ ". as [$a, $b, {c: $c}] | $a + $b + $c",
44
+ ".[] as {$a, $b, c: {$d}} ?// {$a, $b, c: [{$e}]} | {$a, $b, $d, $e}",
45
+ ".[] as {$a, $b, c: {$d, $e}} ?// {$a, $b, c: [{$d, $e}]} | {$a, $b, "
46
+ "$d, $e}",
47
+ ".[] as [$a] ?// [$b] | if $a != null then error(\"err: \\($a)\") else "
48
+ "{$a,$b} end",
49
+ ". as $big | [$big, $big + 1] | map(. > "
50
+ "10000000000000000000000000000000)",
51
+ ". as $dot|fromstream($dot|tostream)|.==$dot",
52
+ ". as $i|[(.*2|. as $i| $i), $i]",
53
+ "ascii_upcase",
54
+ ".bar as $x | .foo | . + $x",
55
+ "@base64",
56
+ "@base64d",
57
+ ". == {\"b\": {\"d\": (4 + 1e-20), \"c\": 3}, \"a\":1}",
58
+ "bsearch(0)",
59
+ "bsearch(4) as $ix | if $ix < 0 then .[-(1+$ix)] = 4 else . end",
60
+ "capture(\"(?<a>[a-z]+)-(?<n>[0-9]+)\")",
61
+ "capture(\"(?<a>[a-z]+)-(?<n>[0-9]+)\")",
62
+ "combinations",
63
+ "combinations(2)",
64
+ "contains(\"bar\")",
65
+ "contains([\"baz\", \"bar\"])",
66
+ "contains([\"bazzzzz\", \"bar\"])",
67
+ "contains({foo: 12, bar: [{barp: 15}]})",
68
+ "def addvalue(f): f as $x | map(. + $x); addvalue(.[0])",
69
+ "def addvalue(f): . + [f]; map(addvalue(.[0]))",
70
+ "def while(cond; update): def _while: if cond then ., (update | "
71
+ "_while) else empty end; _while; [while(.<100; .*2)]",
72
+ "del(.[1, 2])",
73
+ "del(.foo)",
74
+ "delpaths([[\"a\",\"b\"]])",
75
+ "empty // 42",
76
+ "[.[]|endswith(\"foo\")]",
77
+ "env.PAGER",
78
+ "explode",
79
+ ". == false",
80
+ "(false, null, 1) // 42",
81
+ "(false, null, 1) | . // 42",
82
+ "flatten",
83
+ "flatten(1)",
84
+ "floor",
85
+ ".[\"foo\"]",
86
+ ".[\"foo\"]?",
87
+ ".foo",
88
+ ".foo?",
89
+ ".foo[]",
90
+ "[.foo?]",
91
+ ".foo += 1",
92
+ ".foo // 42",
93
+ ".foo, .bar",
94
+ "foreach .[] as $item (0; . + $item)",
95
+ "foreach .[] as $item (0; . + $item; [$item, . * 2])",
96
+ "foreach .[] as $item (0; . + 1; {index: ., $item})",
97
+ "fromdate",
98
+ "from_entries",
99
+ "fromstream(1|truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]]))",
100
+ "getpath([\"a\",\"b\"])",
101
+ "[getpath([\"a\",\"b\"], [\"a\",\"c\"])]",
102
+ "group_by(.foo)",
103
+ "[.[] | gsub(\", \"; \":\")]",
104
+ "gsub(\"$\"; \"a\"; \"g\")",
105
+ "gsub(\"^\"; \"a\")",
106
+ "[gsub(\"(?<a>.)\"; \"\\(.a|ascii_upcase)\", \"\\(.a|ascii_downcase)\", "
107
+ "\"c\")]",
108
+ "gsub(\"^.*?a\"; \"b\")",
109
+ "gsub(\"^.*a\"; \"b\")",
110
+ "gsub(\"a\";\"b\")",
111
+ "gsub(\"\"; \"a\"; \"g\")",
112
+ "gsub(\"\"; \"a\"; \"g\")",
113
+ "gsub(\"[^a-z]*(?<x>[a-z]*)\"; \"Z\\(.x)\")",
114
+ "gsub(\"\\b(?<x>.)\"; \"\\(.x|ascii_downcase)\")",
115
+ "gsub(\"(?<d>\\d)\"; \":\\(.d);\")",
116
+ "gsub(\"^\"; \"\"; \"g\")",
117
+ "[gsub(\"p\"; \"a\", \"b\")]",
118
+ "gsub(\"(?=u)\"; \"u\")",
119
+ "gsub(\"(.*)\"; \"\"; \"x\")",
120
+ "gsub(\"(?<x>.)[^a]*\"; \"+\\(.x)-\")",
121
+ "gsub(\"(?<x>.)(?<y>[0-9])\"; \"\\(.x|ascii_downcase)\\(.y)\")",
122
+ "@html",
123
+ "if . == 0 then \"zero\" elif . == 1 then \"one\" else \"many\" "
124
+ "end",
125
+ "implode",
126
+ "index(\", \")",
127
+ "index(1)",
128
+ "index([1,2])",
129
+ "indices(\", \")",
130
+ "indices(1)",
131
+ "indices([1,2])",
132
+ ".[] | (infinite * .) < 0",
133
+ "infinite, nan | type",
134
+ ".[] | in({\"foo\": 42})",
135
+ "inside({\"foo\": 12, \"bar\":[1,2,{\"barp\":12, \"blip\":13}]})",
136
+ "inside({\"foo\": 12, \"bar\":[1,2,{\"barp\":12, \"blip\":13}]})",
137
+ "inside(\"foobar\")",
138
+ "inside([\"foobar\", \"foobaz\", \"blarp\"])",
139
+ "inside([\"foobar\", \"foobaz\", \"blarp\"])",
140
+ "isempty(.[])",
141
+ "isempty(.[])",
142
+ "isempty(empty)",
143
+ "join(\" \")",
144
+ "join(\", \")",
145
+ "keys",
146
+ "keys",
147
+ ".[] | length",
148
+ "[limit(3;.[])]",
149
+ "[.[]|ltrimstr(\"foo\")]",
150
+ "map(., .)",
151
+ "map(.+1)",
152
+ "map([., . == 1]) | tojson",
153
+ "map(abs)",
154
+ "map(has(2))",
155
+ "map(has(\"foo\"))",
156
+ "map(in([0,1]))",
157
+ "map(select(. >= 2))",
158
+ "map(type)",
159
+ "map_values(.+1)",
160
+ "map_values(. // empty)",
161
+ "match(\"(abc)+\"; \"g\")",
162
+ "[match(\"a\"; \"gi\")]",
163
+ "[match(\".+?\\b\")]",
164
+ "[match([\"(bar)\"])]",
165
+ "match(\"foo\")",
166
+ "[match([\"foo (?<bar123>bar)? foo\", \"ig\"])]",
167
+ "match(\"foo (?<bar123>bar)? foo\"; \"ig\")",
168
+ "match([\"foo\", \"ig\"])",
169
+ "[match(\"\"; \"g\")]",
170
+ "[ match(\".\"; \"g\")] | length",
171
+ "[match(\"( )*\"; \"gn\")]",
172
+ "max_by(.foo)",
173
+ "min",
174
+ ".[] | .name",
175
+ ".[]|numbers",
176
+ "[path(..)]",
177
+ "path(.a[0].b)",
178
+ "[paths]",
179
+ "[paths(type == \"number\")]",
180
+ "pick(.[2], .[0], .[0])",
181
+ "pick(.a, .b.c, .x)",
182
+ "[range(0; 10; -1)]",
183
+ "[range(0; 10; 3)]",
184
+ "[range(0; -5; -1)]",
185
+ "[range(2; 4)]",
186
+ "range(2; 4)",
187
+ "[range(4)]",
188
+ "[range(.)]|[first, last, nth(5)]",
189
+ "recurse",
190
+ "recurse(. * .; . < 20)",
191
+ "recurse(.foo[])",
192
+ "reduce .[] as [$i,$j] (0; . + $i * $j)",
193
+ "reduce .[] as $item (0; . + $item)",
194
+ "reduce .[] as {$x,$y} (null; .x += $x | .y += [$y])",
195
+ "[repeat(.*2, error)?]",
196
+ "reverse",
197
+ "rindex(\", \")",
198
+ "rindex(1)",
199
+ "rindex([1,2])",
200
+ "[.[]|rtrimstr(\"foo\")]",
201
+ "[.[] | scan(\", \")]",
202
+ "[.[] | scan(\"b+\"; \"i\")]",
203
+ "scan(\"c\")",
204
+ ".[] | select(.id == \"second\")",
205
+ "(..|select(type==\"boolean\")) |= if . then 1 else 0 end",
206
+ "setpath([0,\"a\"]; 1)",
207
+ "setpath([\"a\",\"b\"]; 1)",
208
+ "setpath([\"a\",\"b\"]; 1)",
209
+ "@sh \"echo \\(.)\"",
210
+ "sort",
211
+ "sort_by(.foo)",
212
+ "sort_by(.foo, .bar)",
213
+ "split(\", *\"; null)",
214
+ "splits(\", *\")",
215
+ "sqrt",
216
+ "[.[]|startswith(\"foo\")]",
217
+ "strptime(\"%Y-%m-%dT%H:%M:%SZ\")",
218
+ "strptime(\"%Y-%m-%dT%H:%M:%SZ\")|mktime",
219
+ "[sub(\"(?<a>.)\"; \"\\(.a|ascii_upcase)\", \"\\(.a|ascii_downcase)\")]",
220
+ "[sub(\"(?<a>.)\"; \"\\(.a|ascii_upcase)\", \"\\(.a|ascii_downcase)\", "
221
+ "\"c\")]",
222
+ "[sub(\"a\"; \"b\", \"c\")]",
223
+ "sub(\"[^a-z]*(?<x>[a-z]+)\"; \"Z\\(.x)\"; \"g\")",
224
+ "[.[]|[[sub(\", *\";\":\")], [gsub(\", *\";\":\")], [scan(\", *\")]]]",
225
+ "[.[]|[[sub(\", +\";\":\")], [gsub(\", +\";\":\")], [scan(\", +\")]]]",
226
+ "sub(\"^(?<head>.)\"; \"Head=\\(.head) Tail=\")",
227
+ "[test(\"ā\")]",
228
+ ".[] | test(\"a b c # spaces are ignored\"; \"ix\")",
229
+ "test(\"foo\")",
230
+ "to_entries",
231
+ "[., tojson]",
232
+ "[.[]|tojson]",
233
+ "[.[]|tojson|fromjson]",
234
+ ".[] | tonumber",
235
+ "[.[] | tonumber?]",
236
+ ".[] | tostring",
237
+ "[.[]|tostring]",
238
+ "transpose",
239
+ "[true, false | not]",
240
+ "(true, false) or false",
241
+ "(true, true) and (true, false)",
242
+ "truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]])",
243
+ "[.[]|try .a]",
244
+ "unique",
245
+ "unique_by(.foo)",
246
+ "unique_by(length)",
247
+ ".user, .projects[]",
248
+ "[.user, .projects[]]",
249
+ "{(.user): .titles}",
250
+ "{user, title: .titles[]}",
251
+ "utf8bytelength",
252
+ "walk(if type == \"array\" then sort else . end)",
253
+ "walk( if type == \"object\" then with_entries( .key |= sub( \"^_+\"; "
254
+ "\"\") ) else . end )",
255
+ "[while(.<100; .*2)]",
256
+ "with_entries(.key |= \"KEY_\" + .)",
257
+ ". - [\"xml\", \"yaml\"]",
258
+ };
259
+
260
+ // Fuzzer inspired by /src/jq_test.c
261
+ // The goal is to have the fuzzer execute the functions:
262
+ // jq_compile -> jv_parse -> jq_next.
263
+ extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
264
+ FuzzedDataProvider fdp(data, size);
265
+ std::string parse_payload1 = fdp.ConsumeRandomLengthString();
266
+ std::string parse_payload2 = fdp.ConsumeRandomLengthString();
267
+
268
+ int idx = fdp.ConsumeIntegralInRange<int>(
269
+ 0, (sizeof(jq_progs) / sizeof(char *)) - 1);
270
+
271
+ jq_state *jq = NULL;
272
+ jq = jq_init();
273
+ if (jq != NULL) {
274
+ jq_set_attr(jq, jv_string("JQ_ORIGIN"), jv_string("/tmp/"));
275
+
276
+ if (jq_compile(jq, jq_progs[idx])) {
277
+ // Process to jv_parse and then jv_next
278
+ jv input = jv_parse(parse_payload1.c_str());
279
+ if (jv_is_valid(input)) {
280
+ jq_start(jq, input, 0);
281
+ jv next = jv_parse(parse_payload2.c_str());
282
+ if (jv_is_valid(next)) {
283
+ jv actual = jq_next(jq);
284
+ jv_free(actual);
285
+ }
286
+ jv_free(next);
287
+ } else {
288
+ // Only free if input is invalid as otherwise jq_teardown
289
+ // frees it.
290
+ jv_free(input);
291
+ }
292
+ }
293
+ }
294
+ jq_teardown(&jq);
295
+
296
+ return 0;
297
+ }
@@ -0,0 +1,28 @@
1
+ #include <stdint.h>
2
+ #include <stdlib.h>
3
+ #include <unistd.h>
4
+
5
+ #include "jv.h"
6
+
7
+ int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
8
+ // Create file with fuzzer data
9
+ char filename[256];
10
+ sprintf(filename, "/tmp/libfuzzer.%d", getpid());
11
+ FILE *fp = fopen(filename, "wb");
12
+ if (!fp) {
13
+ return 0;
14
+ }
15
+ fwrite(data, size, 1, fp);
16
+ fclose(fp);
17
+
18
+ // Fuzz the two version of jv_load_file
19
+ jv data1 = jv_load_file(filename, 1);
20
+ jv_free(data1);
21
+ jv data2 = jv_load_file(filename, 0);
22
+ jv_free(data2);
23
+
24
+ // Clean up fuzz file
25
+ unlink(filename);
26
+
27
+ return 0;
28
+ }
@@ -0,0 +1,21 @@
1
+ #include <stdint.h>
2
+ #include <stdlib.h>
3
+ #include <string.h>
4
+
5
+ #include "jv.h"
6
+
7
+ int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
8
+ // Creat null-terminated string
9
+ char *null_terminated = (char *)malloc(size + 1);
10
+ memcpy(null_terminated, (char *)data, size);
11
+ null_terminated[size] = '\0';
12
+
13
+ // Fuzzer entrypoint
14
+ jv res = jv_parse(null_terminated);
15
+ jv_free(res);
16
+
17
+ // Free the null-terminated string
18
+ free(null_terminated);
19
+
20
+ return 0;
21
+ }
@@ -0,0 +1,36 @@
1
+ #include <stdint.h>
2
+ #include <stdlib.h>
3
+ #include <string.h>
4
+
5
+ #include "jv.h"
6
+
7
+ int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
8
+ if (size < 8) {
9
+ return 0;
10
+ }
11
+
12
+ int fuzz_flags = *(int*)data;
13
+ data += 4;
14
+ size -= 4;
15
+ int dump_flags = *(int*)data;
16
+ data += 4;
17
+ size -= 4;
18
+
19
+ // Creat null-terminated string
20
+ char *null_terminated = (char *)malloc(size + 1);
21
+ memcpy(null_terminated, (char *)data, size);
22
+ null_terminated[size] = '\0';
23
+
24
+ // Fuzzer entrypoint
25
+ jv res = jv_parse_custom_flags(null_terminated, fuzz_flags);
26
+ if (jv_is_valid(res)) {
27
+ jv_dump(res, dump_flags);
28
+ } else {
29
+ jv_free(res);
30
+ }
31
+
32
+ // Free the null-terminated string
33
+ free(null_terminated);
34
+
35
+ return 0;
36
+ }
@@ -0,0 +1,21 @@
1
+ #include <stdint.h>
2
+ #include <stdlib.h>
3
+ #include <string.h>
4
+
5
+ #include "jv.h"
6
+
7
+ int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
8
+ // Creat null-terminated string
9
+ char *null_terminated = (char *)malloc(size + 1);
10
+ memcpy(null_terminated, (char *)data, size);
11
+ null_terminated[size] = '\0';
12
+
13
+ // Fuzzer entrypoint
14
+ jv res = jv_parse_custom_flags(null_terminated, JV_PARSE_STREAMING);
15
+ jv_free(res);
16
+
17
+ // Free the null-terminated string
18
+ free(null_terminated);
19
+
20
+ return 0;
21
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ macos valgrind 1
3
+ Memcheck:Leak
4
+ match-leak-kinds: possible
5
+ fun:calloc
6
+ fun:map_images_nolock
7
+ ...
8
+ fun:_dyld_objc_notify_register
9
+ fun:_objc_init
10
+ fun:_os_object_init
11
+ fun:libdispatch_init
12
+ fun:libSystem_initializer
13
+ ...
14
+ }