@port-labs/jq-node-bindings 0.0.14 → 0.0.15-dev2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/binding.gyp +42 -20
- package/configure +1 -1
- package/deps/jq/.gitattributes +12 -0
- package/deps/jq/AUTHORS +149 -43
- package/deps/jq/COPYING +75 -1
- package/deps/jq/ChangeLog +2 -2
- package/deps/jq/Makefile.am +106 -65
- package/deps/jq/NEWS.md +391 -0
- package/deps/jq/README.md +54 -52
- package/deps/jq/SECURITY.md +7 -0
- package/deps/jq/compile-ios.sh +106 -102
- package/deps/jq/configure.ac +72 -59
- package/deps/jq/docs/Pipfile +14 -0
- package/deps/jq/docs/Pipfile.lock +415 -0
- package/deps/jq/docs/README.md +15 -14
- package/deps/jq/docs/build_manpage.py +251 -0
- package/deps/jq/docs/build_mantests.py +21 -0
- package/deps/jq/docs/build_website.py +95 -0
- package/deps/jq/docs/content/download/default.yml +249 -0
- package/deps/jq/docs/content/index.yml +83 -0
- package/deps/jq/docs/content/{3.manual/v1.6 → manual/dev}/manual.yml +992 -452
- package/deps/jq/docs/content/{3.manual → manual}/v1.3/manual.yml +105 -116
- package/deps/jq/docs/content/{3.manual → manual}/v1.4/manual.yml +122 -129
- package/deps/jq/docs/content/{3.manual → manual}/v1.5/manual.yml +313 -262
- package/deps/jq/docs/content/{3.manual → manual/v1.6}/manual.yml +407 -332
- package/deps/jq/docs/content/manual/v1.7/manual.yml +3697 -0
- package/deps/jq/docs/content/tutorial/default.yml +337 -0
- package/deps/jq/docs/manual_schema.yml +60 -0
- package/deps/jq/docs/public/css/style.css +99 -0
- package/deps/jq/docs/public/icon.png +0 -0
- package/deps/jq/docs/public/icon.svg +1 -0
- package/deps/jq/docs/public/jq.svg +1 -0
- package/deps/jq/docs/public/js/manual-search.js +31 -49
- package/deps/jq/docs/templates/default.html.j2 +31 -0
- package/deps/jq/docs/templates/index.html.j2 +58 -0
- package/deps/jq/docs/templates/manual.html.j2 +120 -0
- package/deps/jq/docs/templates/shared/_footer.html.j2 +14 -0
- package/deps/jq/docs/templates/shared/_head.html.j2 +23 -0
- package/deps/jq/docs/templates/shared/_navbar.html.j2 +40 -0
- package/deps/jq/docs/validate_manual_schema.py +19 -0
- package/deps/jq/jq.1.prebuilt +1102 -294
- package/deps/jq/jq.spec +2 -3
- package/deps/jq/libjq.pc.in +11 -0
- package/deps/jq/m4/ax_pthread.m4 +522 -0
- package/deps/jq/modules/oniguruma/.travis.yml +17 -0
- package/deps/jq/modules/oniguruma/CMakeLists.txt +206 -41
- package/deps/jq/modules/oniguruma/COPYING +23 -25
- package/deps/jq/modules/oniguruma/HISTORY +368 -23
- package/deps/jq/modules/oniguruma/Makefile.am +61 -7
- package/deps/jq/modules/oniguruma/README +34 -20
- package/deps/jq/modules/oniguruma/README.md +106 -33
- package/deps/jq/modules/oniguruma/README_japanese +183 -0
- package/deps/jq/modules/oniguruma/autogen.sh +9 -0
- package/deps/jq/modules/oniguruma/cmake/Config.cmake.in +4 -0
- package/deps/jq/modules/oniguruma/configure.ac +66 -55
- package/deps/jq/modules/oniguruma/doc/API +485 -42
- package/deps/jq/modules/oniguruma/doc/API.ja +732 -293
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.API +397 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.API.ja +393 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN +95 -0
- package/deps/jq/modules/oniguruma/doc/CALLOUTS.BUILTIN.ja +93 -0
- package/deps/jq/modules/oniguruma/doc/FAQ +3 -3
- package/deps/jq/modules/oniguruma/doc/FAQ.ja +8 -8
- package/deps/jq/modules/oniguruma/doc/RE +223 -63
- package/deps/jq/modules/oniguruma/doc/RE.ja +420 -265
- package/deps/jq/modules/oniguruma/doc/SYNTAX.md +1091 -0
- package/deps/jq/modules/oniguruma/doc/UNICODE_PROPERTIES +840 -697
- package/deps/jq/modules/oniguruma/harnesses/ascii_compatible.dict +113 -0
- package/deps/jq/modules/oniguruma/harnesses/base.c +749 -0
- package/deps/jq/modules/oniguruma/harnesses/deluxe.c +206 -0
- package/deps/jq/modules/oniguruma/harnesses/dict_conv.py +72 -0
- package/deps/jq/modules/oniguruma/harnesses/fuzzer.options +2 -0
- package/deps/jq/modules/oniguruma/harnesses/libfuzzer-onig.cpp +45 -0
- package/deps/jq/modules/oniguruma/harnesses/regset.c +392 -0
- package/deps/jq/modules/oniguruma/index.html +16 -5
- package/deps/jq/modules/oniguruma/index_ja.html +16 -5
- package/deps/jq/modules/oniguruma/make_win.bat +5 -0
- package/deps/jq/modules/oniguruma/make_win32.bat +5 -3
- package/deps/jq/modules/oniguruma/make_win64.bat +5 -3
- package/deps/jq/modules/oniguruma/onig-config.cmake.in +80 -0
- package/deps/jq/modules/oniguruma/onig-config.in +1 -1
- package/deps/jq/modules/oniguruma/oniguruma.pc.cmake.in +1 -1
- package/deps/jq/modules/oniguruma/oniguruma.pc.in +0 -1
- package/deps/jq/modules/oniguruma/sample/CMakeLists.txt +9 -2
- package/deps/jq/modules/oniguruma/sample/Makefile.am +24 -5
- package/deps/jq/modules/oniguruma/sample/bug_fix.c +13 -51
- package/deps/jq/modules/oniguruma/sample/callback_each_match.c +168 -0
- package/deps/jq/modules/oniguruma/sample/callout.c +268 -0
- package/deps/jq/modules/oniguruma/sample/count.c +125 -0
- package/deps/jq/modules/oniguruma/sample/crnl.c +6 -4
- package/deps/jq/modules/oniguruma/sample/echo.c +136 -0
- package/deps/jq/modules/oniguruma/sample/encode.c +53 -146
- package/deps/jq/modules/oniguruma/sample/listcap.c +18 -10
- package/deps/jq/modules/oniguruma/sample/names.c +10 -6
- package/deps/jq/modules/oniguruma/sample/posix.c +13 -2
- package/deps/jq/modules/oniguruma/sample/regset.c +95 -0
- package/deps/jq/modules/oniguruma/sample/scan.c +20 -6
- package/deps/jq/modules/oniguruma/sample/simple.c +8 -4
- package/deps/jq/modules/oniguruma/sample/sql.c +13 -8
- package/deps/jq/modules/oniguruma/sample/syntax.c +11 -10
- package/deps/jq/modules/oniguruma/sample/user_property.c +12 -7
- package/deps/jq/modules/oniguruma/src/Makefile.am +41 -15
- package/deps/jq/modules/oniguruma/src/Makefile.windows +196 -183
- package/deps/jq/modules/oniguruma/src/ascii.c +64 -7
- package/deps/jq/modules/oniguruma/src/big5.c +25 -15
- package/deps/jq/modules/oniguruma/src/config.h.cmake.in +7 -22
- package/deps/jq/modules/oniguruma/src/config.h.win32 +56 -84
- package/deps/jq/modules/oniguruma/src/config.h.win64 +56 -84
- package/deps/jq/modules/oniguruma/src/config.h.windows.in +62 -0
- package/deps/jq/modules/oniguruma/src/cp1251.c +14 -8
- package/deps/jq/modules/oniguruma/src/euc_jp.c +28 -30
- package/deps/jq/modules/oniguruma/src/euc_jp_prop.c +25 -32
- package/deps/jq/modules/oniguruma/src/euc_jp_prop.gperf +1 -2
- package/deps/jq/modules/oniguruma/src/euc_kr.c +27 -15
- package/deps/jq/modules/oniguruma/src/euc_tw.c +40 -17
- package/deps/jq/modules/oniguruma/src/gb18030.c +177 -119
- package/deps/jq/modules/oniguruma/src/gperf_fold_key_conv.py +12 -8
- package/deps/jq/modules/oniguruma/src/gperf_unfold_key_conv.py +8 -6
- package/deps/jq/modules/oniguruma/src/iso8859_1.c +92 -91
- package/deps/jq/modules/oniguruma/src/iso8859_10.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_11.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_13.c +13 -33
- package/deps/jq/modules/oniguruma/src/iso8859_14.c +13 -30
- package/deps/jq/modules/oniguruma/src/iso8859_15.c +13 -34
- package/deps/jq/modules/oniguruma/src/iso8859_16.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_2.c +13 -29
- package/deps/jq/modules/oniguruma/src/iso8859_3.c +13 -33
- package/deps/jq/modules/oniguruma/src/iso8859_4.c +13 -32
- package/deps/jq/modules/oniguruma/src/iso8859_5.c +16 -23
- package/deps/jq/modules/oniguruma/src/iso8859_6.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_7.c +14 -29
- package/deps/jq/modules/oniguruma/src/iso8859_8.c +4 -2
- package/deps/jq/modules/oniguruma/src/iso8859_9.c +13 -33
- package/deps/jq/modules/oniguruma/src/koi8.c +14 -27
- package/deps/jq/modules/oniguruma/src/koi8_r.c +12 -19
- package/deps/jq/modules/oniguruma/src/make_property.sh +21 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb.sh +7 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_egcb_data.py +267 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_fold.sh +25 -11
- package/deps/jq/modules/oniguruma/src/make_unicode_fold_data.py +206 -26
- package/deps/jq/modules/oniguruma/src/make_unicode_property.sh +19 -10
- package/deps/jq/modules/oniguruma/src/make_unicode_property_data.py +474 -375
- package/deps/jq/modules/oniguruma/src/make_unicode_wb.sh +7 -0
- package/deps/jq/modules/oniguruma/src/make_unicode_wb_data.py +267 -0
- package/deps/jq/modules/oniguruma/src/mktable.c +28 -24
- package/deps/jq/modules/oniguruma/src/onig_init.c +2 -2
- package/deps/jq/modules/oniguruma/src/oniggnu.h +7 -5
- package/deps/jq/modules/oniguruma/src/onigposix.h +40 -16
- package/deps/jq/modules/oniguruma/src/oniguruma.h +357 -107
- package/deps/jq/modules/oniguruma/src/regcomp.c +6214 -3933
- package/deps/jq/modules/oniguruma/src/regenc.c +197 -120
- package/deps/jq/modules/oniguruma/src/regenc.h +106 -63
- package/deps/jq/modules/oniguruma/src/regerror.c +112 -91
- package/deps/jq/modules/oniguruma/src/regexec.c +4876 -2010
- package/deps/jq/modules/oniguruma/src/regext.c +8 -8
- package/deps/jq/modules/oniguruma/src/reggnu.c +13 -17
- package/deps/jq/modules/oniguruma/src/regint.h +757 -491
- package/deps/jq/modules/oniguruma/src/regparse.c +7204 -3240
- package/deps/jq/modules/oniguruma/src/regparse.h +361 -218
- package/deps/jq/modules/oniguruma/src/regposerr.c +49 -9
- package/deps/jq/modules/oniguruma/src/regposix.c +106 -24
- package/deps/jq/modules/oniguruma/src/regsyntax.c +66 -13
- package/deps/jq/modules/oniguruma/src/regtrav.c +1 -1
- package/deps/jq/modules/oniguruma/src/regversion.c +6 -4
- package/deps/jq/modules/oniguruma/src/sjis.c +23 -52
- package/deps/jq/modules/oniguruma/src/sjis_prop.c +25 -32
- package/deps/jq/modules/oniguruma/src/sjis_prop.gperf +1 -2
- package/deps/jq/modules/oniguruma/src/st.c +248 -249
- package/deps/jq/modules/oniguruma/src/st.h +4 -5
- package/deps/jq/modules/oniguruma/src/unicode.c +869 -294
- package/deps/jq/modules/oniguruma/src/unicode_egcb_data.c +1419 -0
- package/deps/jq/modules/oniguruma/src/unicode_fold1_key.c +1829 -1300
- package/deps/jq/modules/oniguruma/src/unicode_fold2_key.c +32 -9
- package/deps/jq/modules/oniguruma/src/unicode_fold3_key.c +32 -9
- package/deps/jq/modules/oniguruma/src/unicode_fold_data.c +1210 -984
- package/deps/jq/modules/oniguruma/src/unicode_property_data.c +22480 -15198
- package/deps/jq/modules/oniguruma/src/unicode_property_data_posix.c +1463 -591
- package/deps/jq/modules/oniguruma/src/unicode_unfold_key.c +1958 -1418
- package/deps/jq/modules/oniguruma/src/unicode_wb_data.c +1106 -0
- package/deps/jq/modules/oniguruma/src/utf16_be.c +90 -49
- package/deps/jq/modules/oniguruma/src/utf16_le.c +80 -49
- package/deps/jq/modules/oniguruma/src/utf32_be.c +14 -42
- package/deps/jq/modules/oniguruma/src/utf32_le.c +13 -40
- package/deps/jq/modules/oniguruma/src/utf8.c +33 -78
- package/deps/jq/modules/oniguruma/test/CMakeLists.txt +55 -0
- package/deps/jq/modules/oniguruma/test/Makefile.am +65 -10
- package/deps/jq/modules/oniguruma/test/test.sh +17 -0
- package/deps/jq/modules/oniguruma/test/test_back.c +1450 -0
- package/deps/jq/modules/oniguruma/test/test_options.c +228 -0
- package/deps/jq/modules/oniguruma/test/test_regset.c +466 -0
- package/deps/jq/modules/oniguruma/test/test_syntax.c +365 -0
- package/deps/jq/modules/oniguruma/test/test_utf8.c +1761 -0
- package/deps/jq/modules/oniguruma/test/testc.c +128 -88
- package/deps/jq/modules/oniguruma/test/testp.c +613 -0
- package/deps/jq/modules/oniguruma/test/testu.c +75 -28
- package/deps/jq/modules/oniguruma/tis-ci/stub.c +3 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_back.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_regset.config +20 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_syntax.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/test_utf8.config +25 -0
- package/deps/jq/modules/oniguruma/tis-ci/testc.config +26 -0
- package/deps/jq/modules/oniguruma/tis-ci/testu.config +24 -0
- package/deps/jq/modules/oniguruma/tis.config +1336 -0
- package/deps/jq/modules/oniguruma/windows/CMakeLists.txt +8 -0
- package/deps/jq/modules/oniguruma/windows/testc.c +865 -869
- package/deps/jq/scripts/update-website +6 -5
- package/deps/jq/scripts/version +10 -7
- package/deps/jq/sig/jq-release-new.key +29 -0
- package/deps/jq/sig/v1.4/sha256sum.txt +1 -0
- package/deps/jq/sig/v1.5/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.5rc1/sha256sum.txt +1 -0
- package/deps/jq/sig/v1.5rc2/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.6/sha256sum.txt +2 -0
- package/deps/jq/sig/v1.7/jq-1.7.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7/jq-1.7.zip.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7/sha256sum.txt +23 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-1.7.1.zip.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-linux64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-osx-amd64.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-win64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7.1/sha256sum.txt +26 -0
- package/deps/jq/sig/v1.7rc1/jq-1.7rc1.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-1.7rc1.zip.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc1/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc1/sha256sum.txt +23 -0
- package/deps/jq/sig/v1.7rc2/jq-1.7rc2.tar.gz.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-1.7rc2.zip.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-armel.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-armhf.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-i386.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mips64r6el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsel.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-mipsr6el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-powerpc.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-ppc64el.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-riscv64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-linux-s390x.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-macos-amd64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-macos-arm64.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-windows-amd64.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc2/jq-windows-i386.exe.asc +16 -0
- package/deps/jq/sig/v1.7rc2/sha256sum.txt +23 -0
- package/deps/jq/src/builtin.c +537 -343
- package/deps/jq/src/builtin.h +18 -0
- package/deps/jq/src/builtin.jq +116 -143
- package/deps/jq/src/bytecode.h +8 -4
- package/deps/jq/src/compile.c +157 -143
- package/deps/jq/src/compile.h +3 -4
- package/deps/jq/src/decNumber/ICU-license.html +45 -0
- package/deps/jq/src/decNumber/decBasic.c +3908 -0
- package/deps/jq/src/decNumber/decCommon.c +1835 -0
- package/deps/jq/src/decNumber/decContext.c +437 -0
- package/deps/jq/src/decNumber/decContext.h +254 -0
- package/deps/jq/src/decNumber/decDPD.h +1185 -0
- package/deps/jq/src/decNumber/decDouble.c +140 -0
- package/deps/jq/src/decNumber/decDouble.h +155 -0
- package/deps/jq/src/decNumber/decNumber.c +8143 -0
- package/deps/jq/src/decNumber/decNumber.h +182 -0
- package/deps/jq/src/decNumber/decNumberLocal.h +757 -0
- package/deps/jq/src/decNumber/decPacked.c +220 -0
- package/deps/jq/src/decNumber/decPacked.h +52 -0
- package/deps/jq/src/decNumber/decQuad.c +135 -0
- package/deps/jq/src/decNumber/decQuad.h +177 -0
- package/deps/jq/src/decNumber/decSingle.c +71 -0
- package/deps/jq/src/decNumber/decSingle.h +86 -0
- package/deps/jq/src/decNumber/decimal128.c +553 -0
- package/deps/jq/src/decNumber/decimal128.h +81 -0
- package/deps/jq/src/decNumber/decimal32.c +476 -0
- package/deps/jq/src/decNumber/decimal32.h +81 -0
- package/deps/jq/src/decNumber/decimal64.c +839 -0
- package/deps/jq/src/decNumber/decimal64.h +83 -0
- package/deps/jq/src/decNumber/decnumber.pdf +0 -0
- package/deps/jq/src/decNumber/example1.c +38 -0
- package/deps/jq/src/decNumber/example2.c +52 -0
- package/deps/jq/src/decNumber/example3.c +64 -0
- package/deps/jq/src/decNumber/example4.c +61 -0
- package/deps/jq/src/decNumber/example5.c +36 -0
- package/deps/jq/src/decNumber/example6.c +61 -0
- package/deps/jq/src/decNumber/example7.c +35 -0
- package/deps/jq/src/decNumber/example8.c +39 -0
- package/deps/jq/src/decNumber/readme.txt +81 -0
- package/deps/jq/src/exec_stack.h +5 -3
- package/deps/jq/src/execute.c +126 -44
- package/deps/jq/src/inject_errors.c +0 -2
- package/deps/jq/src/jq.h +10 -1
- package/deps/jq/src/jq_test.c +222 -11
- package/deps/jq/src/jv.c +807 -176
- package/deps/jq/src/jv.h +22 -1
- package/deps/jq/src/jv_alloc.c +33 -26
- package/deps/jq/src/jv_alloc.h +0 -11
- package/deps/jq/src/jv_aux.c +153 -67
- package/deps/jq/src/jv_dtoa.c +12 -2
- package/deps/jq/src/jv_dtoa_tsd.c +51 -0
- package/deps/jq/src/jv_dtoa_tsd.h +4 -0
- package/deps/jq/src/jv_parse.c +70 -15
- package/deps/jq/src/jv_print.c +56 -60
- package/deps/jq/src/jv_private.h +7 -0
- package/deps/jq/src/jv_thread.h +76 -0
- package/deps/jq/src/jv_unicode.c +18 -0
- package/deps/jq/src/jv_unicode.h +2 -0
- package/deps/jq/src/lexer.c +782 -543
- package/deps/jq/src/lexer.h +438 -64
- package/deps/jq/src/lexer.l +10 -3
- package/deps/jq/src/libm.h +16 -6
- package/deps/jq/src/linker.c +97 -40
- package/deps/jq/src/locfile.c +2 -1
- package/deps/jq/src/main.c +384 -336
- package/deps/jq/src/opcode_list.h +5 -2
- package/deps/jq/src/parser.c +2260 -1898
- package/deps/jq/src/parser.h +115 -98
- package/deps/jq/src/parser.y +124 -89
- package/deps/jq/src/util.c +854 -55
- package/deps/jq/src/util.h +6 -4
- package/deps/jq/tests/jq.test +762 -26
- package/deps/jq/tests/jq_fuzz_compile.c +27 -0
- package/deps/jq/tests/jq_fuzz_execute.cpp +42 -0
- package/deps/jq/tests/jq_fuzz_fixed.cpp +297 -0
- package/deps/jq/tests/jq_fuzz_load_file.c +28 -0
- package/deps/jq/tests/jq_fuzz_parse.c +21 -0
- package/deps/jq/tests/jq_fuzz_parse_extended.c +36 -0
- package/deps/jq/tests/jq_fuzz_parse_stream.c +21 -0
- package/deps/jq/tests/local.supp +14 -0
- package/deps/jq/tests/man.test +979 -0
- package/deps/jq/tests/manonig.test +76 -0
- package/deps/jq/tests/manonigtest +5 -0
- package/deps/jq/tests/mantest +1 -2
- package/deps/jq/tests/modules/home2/.jq/g.jq +1 -0
- package/deps/jq/tests/modules/shadow1.jq +2 -0
- package/deps/jq/tests/modules/shadow2.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order0.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order1.jq +1 -1
- package/deps/jq/tests/modules/test_bind_order2.jq +0 -1
- package/deps/jq/tests/no-main-program.jq +1 -0
- package/deps/jq/tests/onig.test +77 -2
- package/deps/jq/tests/setup +7 -2
- package/deps/jq/tests/shtest +478 -59
- package/deps/jq/tests/uri.test +38 -0
- package/deps/jq/tests/uritest +5 -0
- package/deps/jq/tests/yes-main-program.jq +2 -0
- package/index.d.ts +2 -0
- package/lib/index.js +3 -0
- package/lib/jq.js +15 -1
- package/lib/templateAsync.js +137 -0
- package/package.json +3 -3
- package/src/binding.cc +623 -146
- package/src/binding.h +3 -4
- package/test/santiy-async.test.js +171 -0
- package/test/santiy.test.js +2 -2
- package/test/template-async.test.js +182 -0
- package/test/template.test.js +3 -3
- package/deps/jq/.travis.yml +0 -202
- package/deps/jq/NEWS +0 -89
- package/deps/jq/appveyor.yml +0 -53
- package/deps/jq/docs/Gemfile +0 -7
- package/deps/jq/docs/Gemfile.lock +0 -63
- package/deps/jq/docs/Rakefile +0 -24
- package/deps/jq/docs/Rakefile.manual +0 -49
- package/deps/jq/docs/Rakefile.website +0 -76
- package/deps/jq/docs/content/1.tutorial/default.yml +0 -327
- package/deps/jq/docs/content/2.download/default.yml +0 -193
- package/deps/jq/docs/content/index/index.yml +0 -73
- package/deps/jq/docs/public/css/base.scss +0 -181
- package/deps/jq/docs/public/jq.png +0 -0
- package/deps/jq/docs/site.yml +0 -9
- package/deps/jq/docs/templates/default.liquid +0 -34
- package/deps/jq/docs/templates/index.liquid +0 -73
- package/deps/jq/docs/templates/manual.liquid +0 -99
- package/deps/jq/docs/templates/shared/_footer.liquid +0 -10
- package/deps/jq/docs/templates/shared/_head.liquid +0 -17
- package/deps/jq/docs/templates/shared/_navbar.liquid +0 -27
- package/deps/jq/modules/oniguruma/README.ja +0 -195
- package/deps/jq/modules/oniguruma/cmake/dist.cmake +0 -321
- package/deps/jq/modules/oniguruma/contributed/libfuzzer-onig.cpp +0 -31
- package/deps/jq/modules/oniguruma/dist.info +0 -10
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold1_key.c +0 -2250
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold2_key.c +0 -203
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold3_key.c +0 -113
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_fold_data.c +0 -1225
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data.c +0 -24742
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_property_data_posix.c +0 -4846
- package/deps/jq/modules/oniguruma/src/unicode-7.0/unicode_unfold_key.c +0 -2571
- /package/deps/jq/sig/{jq-release.key → jq-release-old.key} +0 -0
- /package/deps/jq/tests/modules/{.jq → home1/.jq} +0 -0
package/deps/jq/src/execute.c
CHANGED
|
@@ -49,6 +49,8 @@ struct jq_state {
|
|
|
49
49
|
void *input_cb_data;
|
|
50
50
|
jq_msg_cb debug_cb;
|
|
51
51
|
void *debug_cb_data;
|
|
52
|
+
jq_msg_cb stderr_cb;
|
|
53
|
+
void *stderr_cb_data;
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
struct closure {
|
|
@@ -292,7 +294,7 @@ uint16_t* stack_restore(jq_state *jq){
|
|
|
292
294
|
assert(path_len >= 0);
|
|
293
295
|
jq->path = jv_array_slice(jq->path, 0, path_len);
|
|
294
296
|
} else {
|
|
295
|
-
|
|
297
|
+
fork->path_len = 0;
|
|
296
298
|
}
|
|
297
299
|
jv_free(jq->value_at_path);
|
|
298
300
|
jq->value_at_path = fork->value_at_path;
|
|
@@ -313,7 +315,9 @@ static void jq_reset(jq_state *jq) {
|
|
|
313
315
|
|
|
314
316
|
jq->halted = 0;
|
|
315
317
|
jv_free(jq->exit_code);
|
|
318
|
+
jq->exit_code = jv_invalid();
|
|
316
319
|
jv_free(jq->error_message);
|
|
320
|
+
jq->error_message = jv_invalid();
|
|
317
321
|
if (jv_get_kind(jq->path) != JV_KIND_INVALID)
|
|
318
322
|
jv_free(jq->path);
|
|
319
323
|
jq->path = jv_null();
|
|
@@ -337,8 +341,6 @@ static void set_error(jq_state *jq, jv value) {
|
|
|
337
341
|
#define ON_BACKTRACK(op) ((op)+NUM_OPCODES)
|
|
338
342
|
|
|
339
343
|
jv jq_next(jq_state *jq) {
|
|
340
|
-
jv cfunc_input[MAX_CFUNCTION_ARGS];
|
|
341
|
-
|
|
342
344
|
jv_nomem_handler(jq->nomem_handler, jq->nomem_handler_data);
|
|
343
345
|
|
|
344
346
|
uint16_t* pc = stack_restore(jq);
|
|
@@ -346,6 +348,7 @@ jv jq_next(jq_state *jq) {
|
|
|
346
348
|
|
|
347
349
|
int raising;
|
|
348
350
|
int backtracking = !jq->initial_execution;
|
|
351
|
+
|
|
349
352
|
jq->initial_execution = 0;
|
|
350
353
|
assert(jv_get_kind(jq->error) == JV_KIND_NULL);
|
|
351
354
|
while (1) {
|
|
@@ -402,6 +405,12 @@ jv jq_next(jq_state *jq) {
|
|
|
402
405
|
|
|
403
406
|
case TOP: break;
|
|
404
407
|
|
|
408
|
+
case ERRORK: {
|
|
409
|
+
jv v = jv_array_get(jv_copy(frame_current(jq)->bc->constants), *pc++);
|
|
410
|
+
set_error(jq, jv_invalid_with_msg(v));
|
|
411
|
+
goto do_backtrack;
|
|
412
|
+
}
|
|
413
|
+
|
|
405
414
|
case LOADK: {
|
|
406
415
|
jv v = jv_array_get(jv_copy(frame_current(jq)->bc->constants), *pc++);
|
|
407
416
|
assert(jv_is_valid(v));
|
|
@@ -509,21 +518,25 @@ jv jq_next(jq_state *jq) {
|
|
|
509
518
|
uint16_t v = *pc++;
|
|
510
519
|
jv* var = frame_local_var(jq, v, level);
|
|
511
520
|
jv max = stack_pop(jq);
|
|
512
|
-
if (raising)
|
|
521
|
+
if (raising) {
|
|
522
|
+
jv_free(max);
|
|
523
|
+
goto do_backtrack;
|
|
524
|
+
}
|
|
513
525
|
if (jv_get_kind(*var) != JV_KIND_NUMBER ||
|
|
514
526
|
jv_get_kind(max) != JV_KIND_NUMBER) {
|
|
515
527
|
set_error(jq, jv_invalid_with_msg(jv_string_fmt("Range bounds must be numeric")));
|
|
516
528
|
jv_free(max);
|
|
517
529
|
goto do_backtrack;
|
|
518
|
-
} else if (jv_number_value(
|
|
530
|
+
} else if (jv_number_value(*var) >= jv_number_value(max)) {
|
|
519
531
|
/* finished iterating */
|
|
532
|
+
jv_free(max);
|
|
520
533
|
goto do_backtrack;
|
|
521
534
|
} else {
|
|
522
|
-
jv curr =
|
|
535
|
+
jv curr = *var;
|
|
523
536
|
*var = jv_number(jv_number_value(*var) + 1);
|
|
524
537
|
|
|
525
538
|
struct stack_pos spos = stack_get_pos(jq);
|
|
526
|
-
stack_push(jq,
|
|
539
|
+
stack_push(jq, max);
|
|
527
540
|
stack_save(jq, pc - 3, spos);
|
|
528
541
|
|
|
529
542
|
stack_push(jq, curr);
|
|
@@ -538,8 +551,8 @@ jv jq_next(jq_state *jq) {
|
|
|
538
551
|
jv* var = frame_local_var(jq, v, level);
|
|
539
552
|
if (jq->debug_trace_enabled) {
|
|
540
553
|
printf("V%d = ", v);
|
|
541
|
-
jv_dump(jv_copy(*var),
|
|
542
|
-
printf("
|
|
554
|
+
jv_dump(jv_copy(*var), JV_PRINT_REFCOUNT);
|
|
555
|
+
printf("\n");
|
|
543
556
|
}
|
|
544
557
|
jv_free(stack_pop(jq));
|
|
545
558
|
stack_push(jq, jv_copy(*var));
|
|
@@ -553,17 +566,22 @@ jv jq_next(jq_state *jq) {
|
|
|
553
566
|
jv* var = frame_local_var(jq, v, level);
|
|
554
567
|
if (jq->debug_trace_enabled) {
|
|
555
568
|
printf("V%d = ", v);
|
|
556
|
-
jv_dump(jv_copy(*var),
|
|
557
|
-
printf("
|
|
569
|
+
jv_dump(jv_copy(*var), JV_PRINT_REFCOUNT);
|
|
570
|
+
printf("\n");
|
|
558
571
|
}
|
|
559
572
|
jv_free(stack_popn(jq));
|
|
573
|
+
|
|
574
|
+
// This `stack_push()` invalidates the `var` reference, so
|
|
560
575
|
stack_push(jq, *var);
|
|
576
|
+
// we have to re-resolve `var` before we can set it to null
|
|
577
|
+
var = frame_local_var(jq, v, level);
|
|
561
578
|
*var = jv_null();
|
|
562
579
|
break;
|
|
563
580
|
}
|
|
564
581
|
|
|
565
582
|
case STOREVN:
|
|
566
583
|
stack_save(jq, pc - 1, stack_get_pos(jq));
|
|
584
|
+
JQ_FALLTHROUGH;
|
|
567
585
|
case STOREV: {
|
|
568
586
|
uint16_t level = *pc++;
|
|
569
587
|
uint16_t v = *pc++;
|
|
@@ -723,7 +741,7 @@ jv jq_next(jq_state *jq) {
|
|
|
723
741
|
}
|
|
724
742
|
stack_push(jq, container);
|
|
725
743
|
stack_push(jq, jv_number(-1));
|
|
726
|
-
|
|
744
|
+
JQ_FALLTHROUGH;
|
|
727
745
|
}
|
|
728
746
|
case ON_BACKTRACK(EACH):
|
|
729
747
|
case ON_BACKTRACK(EACH_OPT): {
|
|
@@ -763,8 +781,10 @@ jv jq_next(jq_state *jq) {
|
|
|
763
781
|
}
|
|
764
782
|
|
|
765
783
|
if (!keep_going || raising) {
|
|
766
|
-
if (keep_going)
|
|
784
|
+
if (keep_going) {
|
|
785
|
+
jv_free(key);
|
|
767
786
|
jv_free(value);
|
|
787
|
+
}
|
|
768
788
|
jv_free(container);
|
|
769
789
|
goto do_backtrack;
|
|
770
790
|
} else if (is_last) {
|
|
@@ -798,7 +818,59 @@ jv jq_next(jq_state *jq) {
|
|
|
798
818
|
break;
|
|
799
819
|
}
|
|
800
820
|
|
|
801
|
-
case
|
|
821
|
+
case TRY_BEGIN:
|
|
822
|
+
stack_save(jq, pc - 1, stack_get_pos(jq));
|
|
823
|
+
pc++; // skip handler offset this time
|
|
824
|
+
break;
|
|
825
|
+
|
|
826
|
+
case TRY_END:
|
|
827
|
+
stack_save(jq, pc - 1, stack_get_pos(jq));
|
|
828
|
+
break;
|
|
829
|
+
|
|
830
|
+
case ON_BACKTRACK(TRY_BEGIN): {
|
|
831
|
+
if (!raising) {
|
|
832
|
+
/*
|
|
833
|
+
* `try EXP ...` -- EXP backtracked (e.g., EXP was `empty`), so we
|
|
834
|
+
* backtrack more:
|
|
835
|
+
*/
|
|
836
|
+
jv_free(stack_pop(jq));
|
|
837
|
+
goto do_backtrack;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
/*
|
|
841
|
+
* Else `(try EXP ... ) | EXP2` raised an error.
|
|
842
|
+
*
|
|
843
|
+
* If the error was wrapped in another error, then that means EXP2 raised
|
|
844
|
+
* the error. We unwrap it and re-raise it as it wasn't raised by EXP.
|
|
845
|
+
*
|
|
846
|
+
* See commentary in gen_try().
|
|
847
|
+
*/
|
|
848
|
+
jv e = jv_invalid_get_msg(jv_copy(jq->error));
|
|
849
|
+
if (!jv_is_valid(e) && jv_invalid_has_msg(jv_copy(e))) {
|
|
850
|
+
set_error(jq, e);
|
|
851
|
+
goto do_backtrack;
|
|
852
|
+
}
|
|
853
|
+
jv_free(e);
|
|
854
|
+
|
|
855
|
+
/*
|
|
856
|
+
* Else we caught an error containing a non-error value, so we jump to
|
|
857
|
+
* the handler.
|
|
858
|
+
*
|
|
859
|
+
* See commentary in gen_try().
|
|
860
|
+
*/
|
|
861
|
+
uint16_t offset = *pc++;
|
|
862
|
+
jv_free(stack_pop(jq)); // free the input
|
|
863
|
+
stack_push(jq, jv_invalid_get_msg(jq->error)); // push the error's message
|
|
864
|
+
jq->error = jv_null();
|
|
865
|
+
pc += offset;
|
|
866
|
+
break;
|
|
867
|
+
}
|
|
868
|
+
case ON_BACKTRACK(TRY_END):
|
|
869
|
+
// Wrap the error so the matching TRY_BEGIN doesn't catch it
|
|
870
|
+
if (raising)
|
|
871
|
+
set_error(jq, jv_invalid_with_msg(jv_copy(jq->error)));
|
|
872
|
+
goto do_backtrack;
|
|
873
|
+
|
|
802
874
|
case DESTRUCTURE_ALT:
|
|
803
875
|
case FORK: {
|
|
804
876
|
stack_save(jq, pc - 1, stack_get_pos(jq));
|
|
@@ -806,7 +878,6 @@ jv jq_next(jq_state *jq) {
|
|
|
806
878
|
break;
|
|
807
879
|
}
|
|
808
880
|
|
|
809
|
-
case ON_BACKTRACK(FORK_OPT):
|
|
810
881
|
case ON_BACKTRACK(DESTRUCTURE_ALT): {
|
|
811
882
|
if (jv_is_valid(jq->error)) {
|
|
812
883
|
// `try EXP ...` backtracked here (no value, `empty`), so we backtrack more
|
|
@@ -836,39 +907,27 @@ jv jq_next(jq_state *jq) {
|
|
|
836
907
|
|
|
837
908
|
case CALL_BUILTIN: {
|
|
838
909
|
int nargs = *pc++;
|
|
839
|
-
jv top = stack_pop(jq);
|
|
840
|
-
jv* in = cfunc_input;
|
|
841
|
-
in[0] = top;
|
|
842
|
-
for (int i = 1; i < nargs; i++) {
|
|
843
|
-
in[i] = stack_pop(jq);
|
|
844
|
-
}
|
|
845
910
|
struct cfunction* function = &frame_current(jq)->bc->globals->cfunctions[*pc++];
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
911
|
+
jv in[MAX_CFUNCTION_ARGS];
|
|
912
|
+
for (int i = 0; i < nargs; ++i)
|
|
913
|
+
in[i] = stack_pop(jq);
|
|
914
|
+
|
|
915
|
+
jv top;
|
|
851
916
|
switch (function->nargs) {
|
|
852
|
-
case 1: top =
|
|
853
|
-
case 2: top =
|
|
854
|
-
case 3: top =
|
|
855
|
-
case 4: top =
|
|
856
|
-
|
|
857
|
-
// FIXME: a) up to 7 arguments (input + 6), b) should assert
|
|
858
|
-
// because the compiler should not generate this error.
|
|
859
|
-
default: return jv_invalid_with_msg(jv_string("Function takes too many arguments"));
|
|
917
|
+
case 1: top = function->fptr.a1(jq, in[0]); break;
|
|
918
|
+
case 2: top = function->fptr.a2(jq, in[0], in[1]); break;
|
|
919
|
+
case 3: top = function->fptr.a3(jq, in[0], in[1], in[2]); break;
|
|
920
|
+
case 4: top = function->fptr.a4(jq, in[0], in[1], in[2], in[3]); break;
|
|
921
|
+
default: assert(0 && "Invalid number of arguments");
|
|
860
922
|
}
|
|
861
923
|
|
|
862
|
-
if (jv_is_valid(top)) {
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
set_error(jq, top);
|
|
866
|
-
goto do_backtrack;
|
|
867
|
-
} else {
|
|
868
|
-
// C-coded function returns invalid w/o msg? -> backtrack, as if
|
|
869
|
-
// it had returned `empty`
|
|
924
|
+
if (!jv_is_valid(top)) {
|
|
925
|
+
if (jv_invalid_has_msg(jv_copy(top)))
|
|
926
|
+
set_error(jq, top);
|
|
870
927
|
goto do_backtrack;
|
|
871
928
|
}
|
|
929
|
+
|
|
930
|
+
stack_push(jq, top);
|
|
872
931
|
break;
|
|
873
932
|
}
|
|
874
933
|
|
|
@@ -1004,12 +1063,24 @@ jq_state *jq_init(void) {
|
|
|
1004
1063
|
jq->exit_code = jv_invalid();
|
|
1005
1064
|
jq->error_message = jv_invalid();
|
|
1006
1065
|
|
|
1066
|
+
jq->input_cb = NULL;
|
|
1067
|
+
jq->input_cb_data = NULL;
|
|
1068
|
+
|
|
1069
|
+
jq->debug_cb = NULL;
|
|
1070
|
+
jq->debug_cb_data = NULL;
|
|
1071
|
+
|
|
1072
|
+
jq->stderr_cb = NULL;
|
|
1073
|
+
jq->stderr_cb_data = NULL;
|
|
1074
|
+
|
|
1007
1075
|
jq->err_cb = default_err_cb;
|
|
1008
1076
|
jq->err_cb_data = stderr;
|
|
1009
1077
|
|
|
1010
1078
|
jq->attrs = jv_object();
|
|
1011
1079
|
jq->path = jv_null();
|
|
1012
1080
|
jq->value_at_path = jv_null();
|
|
1081
|
+
|
|
1082
|
+
jq->nomem_handler = NULL;
|
|
1083
|
+
jq->nomem_handler_data = NULL;
|
|
1013
1084
|
return jq;
|
|
1014
1085
|
}
|
|
1015
1086
|
|
|
@@ -1166,7 +1237,7 @@ int jq_compile_args(jq_state *jq, const char* str, jv args) {
|
|
|
1166
1237
|
if (nerrors == 0) {
|
|
1167
1238
|
nerrors = builtins_bind(jq, &program);
|
|
1168
1239
|
if (nerrors == 0) {
|
|
1169
|
-
nerrors = block_compile(program, &jq->bc, locations,
|
|
1240
|
+
nerrors = block_compile(program, &jq->bc, locations, args2obj(args));
|
|
1170
1241
|
}
|
|
1171
1242
|
} else
|
|
1172
1243
|
jv_free(args);
|
|
@@ -1191,7 +1262,8 @@ jv jq_get_prog_origin(jq_state *jq) {
|
|
|
1191
1262
|
}
|
|
1192
1263
|
|
|
1193
1264
|
jv jq_get_lib_dirs(jq_state *jq) {
|
|
1194
|
-
|
|
1265
|
+
jv lib_dirs = jq_get_attr(jq, jv_string("JQ_LIBRARY_PATH"));
|
|
1266
|
+
return jv_is_valid(lib_dirs) ? lib_dirs : jv_array();
|
|
1195
1267
|
}
|
|
1196
1268
|
|
|
1197
1269
|
void jq_set_attrs(jq_state *jq, jv attrs) {
|
|
@@ -1232,6 +1304,16 @@ void jq_get_debug_cb(jq_state *jq, jq_msg_cb *cb, void **data) {
|
|
|
1232
1304
|
*data = jq->debug_cb_data;
|
|
1233
1305
|
}
|
|
1234
1306
|
|
|
1307
|
+
void jq_set_stderr_cb(jq_state *jq, jq_msg_cb cb, void *data) {
|
|
1308
|
+
jq->stderr_cb = cb;
|
|
1309
|
+
jq->stderr_cb_data = data;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
void jq_get_stderr_cb(jq_state *jq, jq_msg_cb *cb, void **data) {
|
|
1313
|
+
*cb = jq->stderr_cb;
|
|
1314
|
+
*data = jq->stderr_cb_data;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1235
1317
|
void
|
|
1236
1318
|
jq_halt(jq_state *jq, jv exit_code, jv error_message)
|
|
1237
1319
|
{
|
package/deps/jq/src/jq.h
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
#include <stdio.h>
|
|
5
5
|
#include "jv.h"
|
|
6
6
|
|
|
7
|
+
#ifdef __cplusplus
|
|
8
|
+
extern "C" {
|
|
9
|
+
#endif
|
|
10
|
+
|
|
7
11
|
enum {
|
|
8
12
|
JQ_DEBUG_TRACE = 1,
|
|
9
13
|
JQ_DEBUG_TRACE_DETAIL = 2,
|
|
@@ -34,9 +38,10 @@ jv jq_get_error_message(jq_state *);
|
|
|
34
38
|
typedef jv (*jq_input_cb)(jq_state *, void *);
|
|
35
39
|
void jq_set_input_cb(jq_state *, jq_input_cb, void *);
|
|
36
40
|
void jq_get_input_cb(jq_state *, jq_input_cb *, void **);
|
|
37
|
-
|
|
38
41
|
void jq_set_debug_cb(jq_state *, jq_msg_cb, void *);
|
|
39
42
|
void jq_get_debug_cb(jq_state *, jq_msg_cb *, void **);
|
|
43
|
+
void jq_set_stderr_cb(jq_state *, jq_msg_cb, void *);
|
|
44
|
+
void jq_get_stderr_cb(jq_state *, jq_msg_cb *, void **);
|
|
40
45
|
|
|
41
46
|
void jq_set_attrs(jq_state *, jv);
|
|
42
47
|
jv jq_get_attrs(jq_state *);
|
|
@@ -68,4 +73,8 @@ jv jq_util_input_get_current_line(jq_state*);
|
|
|
68
73
|
|
|
69
74
|
int jq_set_colors(const char *);
|
|
70
75
|
|
|
76
|
+
#ifdef __cplusplus
|
|
77
|
+
}
|
|
78
|
+
#endif
|
|
79
|
+
|
|
71
80
|
#endif /* !JQ_H */
|
package/deps/jq/src/jq_test.c
CHANGED
|
@@ -2,24 +2,46 @@
|
|
|
2
2
|
#include <stdio.h>
|
|
3
3
|
#include <string.h>
|
|
4
4
|
#include <stdlib.h>
|
|
5
|
+
#ifdef HAVE_PTHREAD
|
|
6
|
+
#include <pthread.h>
|
|
7
|
+
#endif
|
|
5
8
|
#include "jv.h"
|
|
6
9
|
#include "jq.h"
|
|
7
10
|
|
|
8
11
|
static void jv_test();
|
|
9
|
-
static void run_jq_tests(jv, int, FILE
|
|
10
|
-
|
|
12
|
+
static void run_jq_tests(jv, int, FILE *, int, int);
|
|
13
|
+
static void run_jq_start_state_tests();
|
|
14
|
+
#ifdef HAVE_PTHREAD
|
|
15
|
+
static void run_jq_pthread_tests();
|
|
16
|
+
#endif
|
|
11
17
|
|
|
12
18
|
int jq_testsuite(jv libdirs, int verbose, int argc, char* argv[]) {
|
|
13
19
|
FILE *testdata = stdin;
|
|
20
|
+
int skip = -1;
|
|
21
|
+
int take = -1;
|
|
14
22
|
jv_test();
|
|
15
23
|
if (argc > 0) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
for(int i = 0; i < argc; i++) {
|
|
25
|
+
if (!strcmp(argv[i], "--skip")) {
|
|
26
|
+
skip = atoi(argv[i+1]);
|
|
27
|
+
i++;
|
|
28
|
+
} else if (!strcmp(argv[i], "--take")) {
|
|
29
|
+
take = atoi(argv[i+1]);
|
|
30
|
+
i++;
|
|
31
|
+
} else {
|
|
32
|
+
testdata = fopen(argv[i], "r");
|
|
33
|
+
if (!testdata) {
|
|
34
|
+
perror("fopen");
|
|
35
|
+
exit(1);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
20
38
|
}
|
|
21
39
|
}
|
|
22
|
-
run_jq_tests(libdirs, verbose, testdata);
|
|
40
|
+
run_jq_tests(libdirs, verbose, testdata, skip, take);
|
|
41
|
+
run_jq_start_state_tests();
|
|
42
|
+
#ifdef HAVE_PTHREAD
|
|
43
|
+
run_jq_pthread_tests();
|
|
44
|
+
#endif
|
|
23
45
|
return 0;
|
|
24
46
|
}
|
|
25
47
|
|
|
@@ -53,8 +75,8 @@ static void test_err_cb(void *data, jv e) {
|
|
|
53
75
|
jv_free(e);
|
|
54
76
|
}
|
|
55
77
|
|
|
56
|
-
static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata) {
|
|
57
|
-
char prog[4096];
|
|
78
|
+
static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata, int skip, int take) {
|
|
79
|
+
char prog[4096] = {0};
|
|
58
80
|
char buf[4096];
|
|
59
81
|
struct err_data err_msg;
|
|
60
82
|
int tests = 0, passed = 0, invalid = 0;
|
|
@@ -63,6 +85,9 @@ static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata) {
|
|
|
63
85
|
int check_msg = 0;
|
|
64
86
|
jq_state *jq = NULL;
|
|
65
87
|
|
|
88
|
+
int tests_to_skip = skip > 0 ? skip : 0;
|
|
89
|
+
int tests_to_take = take;
|
|
90
|
+
|
|
66
91
|
jq = jq_init();
|
|
67
92
|
assert(jq);
|
|
68
93
|
if (jv_get_kind(lib_dirs) == JV_KIND_NULL)
|
|
@@ -80,9 +105,36 @@ static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata) {
|
|
|
80
105
|
continue;
|
|
81
106
|
}
|
|
82
107
|
if (prog[strlen(prog)-1] == '\n') prog[strlen(prog)-1] = 0;
|
|
83
|
-
|
|
108
|
+
|
|
109
|
+
if (skip > 0) {
|
|
110
|
+
skip--;
|
|
111
|
+
|
|
112
|
+
// skip past test data
|
|
113
|
+
while (fgets(buf, sizeof(buf), testdata)) {
|
|
114
|
+
lineno++;
|
|
115
|
+
if (buf[0] == '\n' || (buf[0] == '\r' && buf[1] == '\n'))
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
must_fail = 0;
|
|
120
|
+
check_msg = 0;
|
|
121
|
+
|
|
122
|
+
continue;
|
|
123
|
+
} else if (skip == 0) {
|
|
124
|
+
printf("Skipped %d tests\n", tests_to_skip);
|
|
125
|
+
skip = -1;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (take > 0) {
|
|
129
|
+
take--;
|
|
130
|
+
} else if (take == 0) {
|
|
131
|
+
printf("Hit the number of tests limit (%d), breaking\n", tests_to_take);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
|
|
84
135
|
int pass = 1;
|
|
85
136
|
tests++;
|
|
137
|
+
printf("Test #%d: '%s' at line number %u\n", tests + tests_to_skip, prog, lineno);
|
|
86
138
|
int compiled = jq_compile(jq, prog);
|
|
87
139
|
|
|
88
140
|
if (must_fail) {
|
|
@@ -145,6 +197,7 @@ static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata) {
|
|
|
145
197
|
}
|
|
146
198
|
jv actual = jq_next(jq);
|
|
147
199
|
if (!jv_is_valid(actual)) {
|
|
200
|
+
jv_free(expected);
|
|
148
201
|
jv_free(actual);
|
|
149
202
|
printf("*** Insufficient results for test at line number %u: %s\n", lineno, prog);
|
|
150
203
|
pass = 0;
|
|
@@ -157,11 +210,13 @@ static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata) {
|
|
|
157
210
|
printf(" for test at line number %u: %s\n", lineno, prog);
|
|
158
211
|
pass = 0;
|
|
159
212
|
}
|
|
213
|
+
#ifdef USE_DECNUM
|
|
160
214
|
jv as_string = jv_dump_string(jv_copy(expected), rand() & ~(JV_PRINT_COLOR|JV_PRINT_REFCOUNT));
|
|
161
215
|
jv reparsed = jv_parse_sized(jv_string_value(as_string), jv_string_length_bytes(jv_copy(as_string)));
|
|
162
216
|
assert(jv_equal(jv_copy(expected), jv_copy(reparsed)));
|
|
163
217
|
jv_free(as_string);
|
|
164
218
|
jv_free(reparsed);
|
|
219
|
+
#endif
|
|
165
220
|
jv_free(expected);
|
|
166
221
|
jv_free(actual);
|
|
167
222
|
}
|
|
@@ -179,11 +234,167 @@ static void run_jq_tests(jv lib_dirs, int verbose, FILE *testdata) {
|
|
|
179
234
|
passed+=pass;
|
|
180
235
|
}
|
|
181
236
|
jq_teardown(&jq);
|
|
182
|
-
|
|
237
|
+
|
|
238
|
+
int total_skipped = tests_to_skip;
|
|
239
|
+
|
|
240
|
+
if (skip > 0) {
|
|
241
|
+
total_skipped = tests_to_skip - skip;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
printf("%d of %d tests passed (%d malformed, %d skipped)\n",
|
|
245
|
+
passed, tests, invalid, total_skipped);
|
|
246
|
+
|
|
247
|
+
if (skip > 0) {
|
|
248
|
+
printf("WARN: skipped past the end of file, exiting with status 2\n");
|
|
249
|
+
exit(2);
|
|
250
|
+
}
|
|
251
|
+
|
|
183
252
|
if (passed != tests) exit(1);
|
|
184
253
|
}
|
|
185
254
|
|
|
186
255
|
|
|
256
|
+
static int test_start_state(jq_state *jq, char *prog) {
|
|
257
|
+
int pass = 1;
|
|
258
|
+
jv message = jq_get_error_message(jq);
|
|
259
|
+
if (jv_is_valid(message)) {
|
|
260
|
+
printf("*** Expected error_message to be invalid after jq_start: %s\n", prog);
|
|
261
|
+
pass = 0;
|
|
262
|
+
}
|
|
263
|
+
jv_free(message);
|
|
264
|
+
|
|
265
|
+
jv exit_code = jq_get_exit_code(jq);
|
|
266
|
+
if (jv_is_valid(exit_code)) {
|
|
267
|
+
printf("*** Expected exit_code to be invalid after jq_start: %s\n", prog);
|
|
268
|
+
pass = 0;
|
|
269
|
+
}
|
|
270
|
+
jv_free(exit_code);
|
|
271
|
+
|
|
272
|
+
if (jq_halted(jq)) {
|
|
273
|
+
printf("*** Expected jq to not be halted after jq_start: %s\n", prog);
|
|
274
|
+
pass = 0;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return pass;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Test jq_state is reset after subsequent calls to jq_start.
|
|
281
|
+
static void test_jq_start_resets_state(char *prog, const char *input) {
|
|
282
|
+
printf("Test jq_state: %s\n", prog);
|
|
283
|
+
jq_state *jq = jq_init();
|
|
284
|
+
assert(jq);
|
|
285
|
+
|
|
286
|
+
int compiled = jq_compile(jq, prog);
|
|
287
|
+
assert(compiled);
|
|
288
|
+
|
|
289
|
+
// First call to jq_start. Run until completion.
|
|
290
|
+
jv parsed_input = jv_parse(input);
|
|
291
|
+
assert(jv_is_valid(parsed_input));
|
|
292
|
+
jq_start(jq, parsed_input, 0);
|
|
293
|
+
assert(test_start_state(jq, prog));
|
|
294
|
+
while (1) {
|
|
295
|
+
jv result = jq_next(jq);
|
|
296
|
+
int valid = jv_is_valid(result);
|
|
297
|
+
jv_free(result);
|
|
298
|
+
if (!valid) { break; }
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// Second call to jq_start.
|
|
302
|
+
jv parsed_input2 = jv_parse(input);
|
|
303
|
+
assert(jv_is_valid(parsed_input2));
|
|
304
|
+
jq_start(jq, parsed_input2, 0);
|
|
305
|
+
assert(test_start_state(jq, prog));
|
|
306
|
+
|
|
307
|
+
jq_teardown(&jq);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
static void run_jq_start_state_tests() {
|
|
311
|
+
test_jq_start_resets_state(".[]", "[1,2,3]");
|
|
312
|
+
test_jq_start_resets_state(".[] | if .%2 == 0 then halt_error else . end", "[1,2,3]");
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
/// pthread regression test
|
|
317
|
+
#ifdef HAVE_PTHREAD
|
|
318
|
+
#define NUMBER_OF_THREADS 3
|
|
319
|
+
struct test_pthread_data {
|
|
320
|
+
int result;
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
static int test_pthread_jq_parse(jq_state *jq, struct jv_parser *parser)
|
|
324
|
+
{
|
|
325
|
+
int rv = 0;
|
|
326
|
+
jv value;
|
|
327
|
+
|
|
328
|
+
value = jv_parser_next(parser);
|
|
329
|
+
while (jv_is_valid(value)) {
|
|
330
|
+
jq_start(jq, value, 0);
|
|
331
|
+
jv result = jq_next(jq);
|
|
332
|
+
|
|
333
|
+
while (jv_is_valid(result)) {
|
|
334
|
+
jv_free(result);
|
|
335
|
+
result = jq_next(jq);
|
|
336
|
+
}
|
|
337
|
+
jv_free(result);
|
|
338
|
+
value = jv_parser_next(parser);
|
|
339
|
+
}
|
|
340
|
+
jv_free(value);
|
|
341
|
+
return rv;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
static void *test_pthread_run(void *ptr) {
|
|
345
|
+
int rv;
|
|
346
|
+
jq_state *jq;
|
|
347
|
+
const char *prg = ".data";
|
|
348
|
+
const char *buf = "{ \"data\": 1 }";
|
|
349
|
+
struct test_pthread_data *data = ptr;
|
|
350
|
+
|
|
351
|
+
jq = jq_init();
|
|
352
|
+
if (jq_compile(jq, prg) == 0) {
|
|
353
|
+
jq_teardown(&jq);
|
|
354
|
+
return NULL;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
struct jv_parser *parser = jv_parser_new(0);
|
|
358
|
+
jv_parser_set_buf(parser, buf, strlen(buf), 0);
|
|
359
|
+
rv = test_pthread_jq_parse(jq, parser);
|
|
360
|
+
|
|
361
|
+
data->result = rv;
|
|
362
|
+
|
|
363
|
+
jv_parser_free(parser);
|
|
364
|
+
jq_teardown(&jq);
|
|
365
|
+
return NULL;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
static void run_jq_pthread_tests() {
|
|
369
|
+
pthread_t threads[NUMBER_OF_THREADS];
|
|
370
|
+
struct test_pthread_data data[NUMBER_OF_THREADS];
|
|
371
|
+
int createerror;
|
|
372
|
+
int a;
|
|
373
|
+
|
|
374
|
+
memset(&threads, 0, sizeof(threads));
|
|
375
|
+
memset(&data, 0, sizeof(data));
|
|
376
|
+
|
|
377
|
+
// Create all threads
|
|
378
|
+
for (a = 0; a < NUMBER_OF_THREADS; ++a) {
|
|
379
|
+
createerror = pthread_create(&threads[a], NULL, test_pthread_run, &data[a]);
|
|
380
|
+
assert(createerror == 0);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// wait for all threads
|
|
384
|
+
for(a = 0; a < NUMBER_OF_THREADS; ++a) {
|
|
385
|
+
if (threads[a] != 0) {
|
|
386
|
+
pthread_join(threads[a], NULL);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// check results
|
|
391
|
+
for(a = 0; a < NUMBER_OF_THREADS; ++a) {
|
|
392
|
+
assert(data[a].result == 0);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
#endif // HAVE_PTHREAD
|
|
396
|
+
|
|
397
|
+
|
|
187
398
|
static void jv_test() {
|
|
188
399
|
/// JSON parser regression tests
|
|
189
400
|
{
|