@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
package/src/binding.h CHANGED
@@ -1,13 +1,12 @@
1
1
  #ifndef SRC_BINDING_H_
2
2
  #define SRC_BINDING_H_
3
3
 
4
- #include <nan.h>
4
+ #include <napi.h>
5
5
 
6
- extern "C"
7
- {
6
+ extern "C" {
8
7
  #include "jq.h"
9
8
  }
10
9
 
11
10
  #include <string>
12
11
 
13
- #endif // SRC_BINDING_H_
12
+ #endif
@@ -0,0 +1,171 @@
1
+ const jq = require('../lib');
2
+
3
+ describe('jq - async', () => {
4
+ it('should break', async () => {
5
+ const json = { foo2: 'bar' };
6
+ const input = 'foo';
7
+ const result = await jq.execAsync(json, input);
8
+
9
+ expect(result).toBe(null);
10
+ }),
11
+ it('should break for invalid input', async () => {
12
+ const json = { foo2: 'bar' };
13
+ const input = 123;
14
+ const result = await jq.execAsync(json, input);
15
+
16
+ expect(result).toBe(null);
17
+ }),
18
+ it('should break for invalid input', async () => {
19
+ const json = { foo2: 'bar' };
20
+ const input = undefined;
21
+ const result = await jq.execAsync(json, input);
22
+
23
+ expect(result).toBe(null);
24
+ }),
25
+ it('should break for invalid input', async () => {
26
+ const json = { foo2: 'bar' };
27
+ const input = null;
28
+ const result = await jq.execAsync(json, input);
29
+
30
+ expect(result).toBe(null);
31
+ }),
32
+ it('string should work', async () => {
33
+ const json = { foo: 'bar' };
34
+ const input = '.foo';
35
+ const result = await jq.execAsync(json, input);
36
+
37
+ expect(result).toBe('bar');
38
+ });
39
+
40
+ it('number should work', async ()=> {
41
+ const json = { foo: 1 };
42
+ const input = '.foo';
43
+ const result = await jq.execAsync(json, input);
44
+
45
+ expect(result).toBe(1);
46
+ });
47
+
48
+ it ('should return null', async () => {
49
+ const json = { foo: 'bar' };
50
+ const input = '.bar';
51
+ const result = await jq.execAsync(json, input);
52
+
53
+ expect(result).toBe(null);
54
+ });
55
+
56
+ it ('should return array with object', async () => {
57
+ const json = { foo: ['bar'] };
58
+ const input = '.foo';
59
+ const result = await jq.execAsync(json, input);
60
+
61
+ expect(result[0]).toBe('bar');
62
+ });
63
+
64
+ it ('should return an item of an array', async () => {
65
+ const json = { foo: ['bar'] };
66
+ const input = '.foo[0]';
67
+ const result = await jq.execAsync(json, input);
68
+
69
+ expect(result).toBe('bar');
70
+ })
71
+
72
+ it ('should return array with objects', async () => {
73
+ const json = { foo: [{ bar: 'bar' }] };
74
+ const input = '.foo';
75
+ const result = await jq.execAsync(json, input);
76
+
77
+ expect(result[0].bar).toBe('bar');
78
+ });
79
+
80
+ it ('should return boolean', async () => {
81
+ const json = { foo: true };
82
+ const input = '.foo';
83
+ const result = await jq.execAsync(json, input);
84
+
85
+ expect(result).toBe(true);
86
+ });
87
+ it ('should return object', async () => {
88
+ const json = { foo: {prop1: "1"} };
89
+ const input = '.foo';
90
+ const result = await jq.execAsync(json, input);
91
+
92
+ expect(result.prop1).toBe("1");
93
+ })
94
+
95
+ it ('should return recursed obj', async () => {
96
+ const json = { foo: {obj: { obj2: { num: 1, string: "str"} }} };
97
+ const input = '.foo';
98
+ const result = await jq.execAsync(json, input);
99
+
100
+ expect(result.obj.obj2.num).toBe(1);
101
+ expect(result.obj.obj2.string).toBe("str");
102
+ }),
103
+
104
+ it ('should return recursed obj', async () => {
105
+ const json = { foo: { obj: { obj2: { num: 1, string: "str", bool: true} }} };
106
+ const input = '.foo';
107
+ const result = await jq.execAsync(json, input);
108
+
109
+ expect(result.obj.obj2.num).toBe(1);
110
+ expect(result.obj.obj2.string).toBe("str");
111
+ expect(result.obj.obj2.bool).toBe(true);
112
+ })
113
+
114
+ it ('should return null on invalid json', async () => {
115
+ const json = "foo";
116
+ const input = '.foo';
117
+ const result = await jq.execAsync(json, input);
118
+
119
+ expect(result).toBe(null);
120
+ })
121
+
122
+ it('should excape \'\' to ""', async () => {
123
+ const json = { foo: 'com' };
124
+ const input = "'https://url.' + .foo";
125
+ const result = await jq.execAsync(json, input);
126
+
127
+ expect(result).toBe('https://url.com');
128
+ })
129
+
130
+ it('should not escape \' in the middle of the string', async () => {
131
+ const json = { foo: 'com' };
132
+ const input = "\"https://'url.\" + 'test.' + .foo";
133
+ const result = await jq.execAsync(json, input);
134
+
135
+ expect(result).toBe("https://'url.test.com");
136
+ });
137
+
138
+ it ('should run a jq function succesfully', async () => {
139
+ const json = { foo: 'bar' };
140
+ const input = '.foo | gsub("bar";"foo")';
141
+ const result = await jq.execAsync(json, input);
142
+
143
+ expect(result).toBe('foo');
144
+ })
145
+
146
+ it ('Testing multiple the \'\' in the same expression', async () => {
147
+ const json = { foo: 'bar' };
148
+ const input = "'https://some.random.url' + .foo + '-1' + '.' + .foo + '.' + 'longgggg' + .foo + ')test(' + .foo + 'testadsftets'";
149
+ const result = await jq.execAsync(json, input);
150
+
151
+ expect(result).toBe('https://some.random.urlbar-1.bar.longggggbar)test(bartestadsftets');
152
+ })
153
+
154
+ it('test disable env', async () => {
155
+ expect(await jq.execAsync({}, 'env', {enableEnv: false})).toEqual({});
156
+ expect(await jq.execAsync({}, 'env', {enableEnv: true})).not.toEqual({});
157
+ expect(await jq.execAsync({}, 'env', {})).toEqual({});
158
+ expect(await jq.execAsync({}, 'env')).toEqual({});
159
+ })
160
+
161
+ it('test throw on error', async () => {
162
+ await expect(jq.execAsync({}, 'foo', {throwOnError: true})).rejects.toThrow("jq: compile error: foo/0 is not defined at <top-level>, line 1:");
163
+ await expect(jq.execAsync({}, '1/0', {throwOnError: true})).rejects.toThrow("number (1) and number (0) cannot be divided because the divisor is zero");
164
+ await expect(jq.execAsync({}, '{', {throwOnError: true})).rejects.toThrow("jq: compile error: syntax error, unexpected end of file (Unix shell quoting issues?) at <top-level>, line 1:");
165
+ await expect(jq.execAsync({}, '{(0):1}', {throwOnError: true})).rejects.toThrow("jq: compile error: Cannot use number (0) as object key at <top-level>, line 1:");
166
+ await expect(jq.execAsync({}, 'if true then 1 else 0', {throwOnError: true})).rejects.toThrow("jq: compile error: Possibly unterminated 'if' statement at <top-level>, line 1:");
167
+ await expect(jq.execAsync({}, 'null | map(.+1)', {throwOnError: true})).rejects.toThrow("jq: error: Cannot iterate over null (null)");
168
+ await expect(jq.execAsync({foo: "bar"}, '.foo + 1', {throwOnError: true})).rejects.toThrow("jq: error: string (\"bar\") and number (1) cannot be added");
169
+ })
170
+ })
171
+
@@ -160,8 +160,8 @@ describe('jq', () => {
160
160
 
161
161
  it('test throw on error', () => {
162
162
  expect(() => { jq.exec({}, 'foo', {throwOnError: true}) }).toThrow("jq: compile error: foo/0 is not defined at <top-level>, line 1:");
163
- expect(() => { jq.exec({}, '1/0', {throwOnError: true}) }).toThrow("jq: compile error: Division by zero? at <top-level>, line 1:");
164
- expect(() => { jq.exec({}, '{', {throwOnError: true}) }).toThrow("jq: compile error: syntax error, unexpected $end (Unix shell quoting issues?) at <top-level>, line 1:");
163
+ expect(() => { jq.exec({}, '1/0', {throwOnError: true}) }).toThrow("number (1) and number (0) cannot be divided because the divisor is zero");
164
+ expect(() => { jq.exec({}, '{', {throwOnError: true}) }).toThrow("jq: compile error: syntax error, unexpected end of file (Unix shell quoting issues?) at <top-level>, line 1:");
165
165
  expect(() => { jq.exec({}, '{(0):1}', {throwOnError: true}) }).toThrow("jq: compile error: Cannot use number (0) as object key at <top-level>, line 1:");
166
166
  expect(() => { jq.exec({}, 'if true then 1 else 0', {throwOnError: true}) }).toThrow("jq: compile error: Possibly unterminated 'if' statement at <top-level>, line 1:");
167
167
  expect(() => { jq.exec({}, 'null | map(.+1)', {throwOnError: true}) }).toThrow("jq: error: Cannot iterate over null (null)");
@@ -0,0 +1,182 @@
1
+ const jq = require('../lib');
2
+
3
+ describe('template', () => {
4
+ it('should break', async () => {
5
+ const json = { foo2: 'bar' };
6
+ const input = '{{.foo}}';
7
+ const result = await jq.renderRecursivelyAsync(json, input);
8
+
9
+ expect(result).toBe(null);
10
+ });
11
+ it('non template should work', async () => {
12
+ const json = { foo2: 'bar' };
13
+ const render = async (input) => await jq.renderRecursivelyAsync(json, input);
14
+
15
+ expect(await render(123)).toBe(123);
16
+ expect(await render(undefined)).toBe(undefined);
17
+ expect(await render(null)).toBe(null);
18
+ expect(await render(true)).toBe(true);
19
+ expect(await render(false)).toBe(false);
20
+ });
21
+ it('different types should work', async () => {
22
+ const input = '{{.foo}}';
23
+ const render = async (json) => await jq.renderRecursivelyAsync(json, input);
24
+
25
+ expect(await render({ foo: 'bar' })).toBe('bar');
26
+ expect(await render({ foo: 1 })).toBe(1);
27
+ expect(await render({ foo: true })).toBe(true);
28
+ expect(await render({ foo: null })).toBe(null);
29
+ expect(await render({ foo: undefined })).toBe(null);
30
+ expect(await render({ foo: ['bar'] })).toEqual(['bar']);
31
+ expect(await render({ foo: [{ bar: 'bar' }] })).toEqual([{ bar: 'bar' }]);
32
+ expect(await render({ foo: {prop1: "1"} })).toEqual({prop1: "1"});
33
+ expect(await render({ foo: {obj: { obj2: { num: 1, string: "str"} }} })).toEqual({obj: { obj2: { num: 1, string: "str"} }});
34
+ expect(await render({ foo: { obj: { obj2: { num: 1, string: "str", bool: true} }} })).toEqual({ obj: { obj2: { num: 1, string: "str", bool: true} }});
35
+ });
36
+ it ('should return undefined', async () => {
37
+ const json = { foo: 'bar' };
38
+ const input = '{{empty}}';
39
+ const result = await jq.renderRecursivelyAsync(json, input);
40
+
41
+ expect(result).toBe(undefined);
42
+ });
43
+ it ('should return null on invalid json', async () => {
44
+ const json = "foo";
45
+ const input = '{{.foo}}';
46
+ const result = await jq.renderRecursivelyAsync(json, input);
47
+ console.log('!!!!!',result);
48
+ expect(result).toBe(null);
49
+ });
50
+ it('should excape \'\' to ""', async () => {
51
+ const json = { foo: 'com' };
52
+ const input = "{{'https://url.' + .foo}}";
53
+ const result = await jq.renderRecursivelyAsync(json, input);
54
+
55
+ expect(result).toBe('https://url.com');
56
+ });
57
+ it('should not escape \' in the middle of the string', async () => {
58
+ const json = { foo: 'com' };
59
+ const input = "{{\"https://'url.\" + 'test.' + .foo}}";
60
+ const result = await jq.renderRecursivelyAsync(json, input);
61
+
62
+ expect(result).toBe("https://'url.test.com");
63
+ });
64
+ it ('should run a jq function succesfully', async () => {
65
+ const json = { foo: 'bar' };
66
+ const input = '{{.foo | gsub("bar";"foo")}}';
67
+ const result = await jq.renderRecursivelyAsync(json, input);
68
+
69
+ expect(result).toBe('foo');
70
+ });
71
+ it ('Testing multiple the \'\' in the same expression', async () => {
72
+ const json = { foo: 'bar' };
73
+ const input = "{{'https://some.random.url' + .foo + '-1' + '.' + .foo + '.' + 'longgggg' + .foo + ')test(' + .foo + 'testadsftets'}}";
74
+ const result = await jq.renderRecursivelyAsync(json, input);
75
+
76
+ expect(result).toBe('https://some.random.urlbar-1.bar.longggggbar)test(bartestadsftets');
77
+ });
78
+ it ('Testing multiple the \'\' in the same expression', async () => {
79
+ const json = { foo: 'bar' };
80
+ const input = "{{'https://some.random.url' + .foo + '-1' + '.' + .foo + '.' + 'longgggg' + .foo + ')test(' + .foo + 'testadsftets'}}";
81
+ const result = await jq.renderRecursivelyAsync(json, input);
82
+
83
+ expect(result).toBe('https://some.random.urlbar-1.bar.longggggbar)test(bartestadsftets');
84
+ });
85
+ it('should break for invalid template', async () => {
86
+ const json = { foo: 'bar' };
87
+ const render = async (input) => async () => await jq.renderRecursivelyAsync(json, input);
88
+
89
+ expect(await render('prefix{{.foo}postfix')).rejects.toThrow('Found opening double braces in index 6 without closing double braces');
90
+ expect(await render('prefix{.foo}}postfix')).rejects.toThrow('Found closing double braces in index 11 without opening double braces');
91
+ expect(await render('prefix{{ .foo {{ }}postfix')).rejects.toThrow('Found double braces in index 14 inside other one in index 6');
92
+ expect(await render('prefix{{ .foo }} }}postfix')).rejects.toThrow('Found closing double braces in index 17 without opening double braces');
93
+ expect(await render('prefix{{ .foo }} }}postfix')).rejects.toThrow('Found closing double braces in index 17 without opening double braces');
94
+ expect(await render('prefix{{ "{{" + .foo }} }}postfix')).rejects.toThrow('Found closing double braces in index 24 without opening double braces');
95
+ expect(await render('prefix{{ \'{{\' + .foo }} }}postfix')).rejects.toThrow('Found closing double braces in index 24 without opening double braces');
96
+ expect(await render({'{{1}}': 'bar'})).rejects.toThrow('Evaluated object key should be undefined, null or string. Original key: {{1}}, evaluated to: 1');
97
+ expect(await render({'{{true}}': 'bar'})).rejects.toThrow('Evaluated object key should be undefined, null or string. Original key: {{true}}, evaluated to: true');
98
+ expect(await render({'{{ {} }}': 'bar'})).rejects.toThrow('Evaluated object key should be undefined, null or string. Original key: {{ {} }}, evaluated to: {}');
99
+ });
100
+ it('should concat string and other types', async () => {
101
+ const input = 'https://some.random.url?q={{.foo}}';
102
+ const render = async (json) => await jq.renderRecursivelyAsync(json, input);
103
+
104
+ expect(await render({ foo: 'bar' })).toBe('https://some.random.url?q=bar');
105
+ expect(await render({ foo: 1 })).toBe('https://some.random.url?q=1');
106
+ expect(await render({ foo: false })).toBe('https://some.random.url?q=false');
107
+ expect(await render({ foo: null })).toBe('https://some.random.url?q=null');
108
+ expect(await render({ foo: undefined })).toBe('https://some.random.url?q=null');
109
+ expect(await render({ foo: [1] })).toBe('https://some.random.url?q=[1]');
110
+ expect(await render({ foo: {bar: 'bar'} })).toBe('https://some.random.url?q={\"bar\":\"bar\"}');
111
+ });
112
+ it('testing multiple template blocks', async () => {
113
+ const json = {str: 'bar', num: 1, bool: true, 'null': null, arr: ['foo'], obj: {bar: 'bar'}};
114
+ const input = 'https://some.random.url?str={{.str}}&num={{.num}}&bool={{.bool}}&null={{.null}}&arr={{.arr}}&obj={{.obj}}';
115
+ const result = await jq.renderRecursivelyAsync(json, input);
116
+
117
+ expect(result).toBe("https://some.random.url?str=bar&num=1&bool=true&null=null&arr=[\"foo\"]&obj={\"bar\":\"bar\"}");
118
+ });
119
+ it('testing conditional key', async () => {
120
+ const json = {};
121
+ const render = async (input) => await jq.renderRecursivelyAsync(json, input);
122
+
123
+ expect(await render({'{{empty}}': 'bar'})).toEqual({});
124
+ expect(await render({'{{null}}': 'bar'})).toEqual({});
125
+ expect(await render({'{{""}}': 'bar'})).toEqual({});
126
+ expect(await render({'{{\'\'}}': 'bar'})).toEqual({});
127
+ });
128
+ it('testing spread key', async () => {
129
+ const json = { foo: "bar" };
130
+ const render = async (input) => await jq.renderRecursivelyAsync(json, input);
131
+
132
+ expect(await render({ "{{spreadValue()}}": { foo: "bar" } })).toEqual({foo: "bar"});
133
+ expect(await render({ " {{ spreadValue( ) }} ": { foo: "bar" } })).toEqual({foo: "bar"});
134
+ expect(await render({ "{{spreadValue()}}": "{{ . }}" })).toEqual({ foo: "bar" });
135
+ });
136
+ it('recursive templates should work', async () => {
137
+ const json = { foo: 'bar', bar: 'foo' };
138
+ const render = async (input) => await jq.renderRecursivelyAsync(json, input);
139
+
140
+ expect(await render({'{{.foo}}': '{{.bar}}{{.foo}}'})).toEqual({bar: 'foobar'});
141
+ expect(await render({'{{.foo}}': {foo: '{{.foo}}'}})).toEqual({bar: {foo: 'bar'}});
142
+ expect(await render([1, true, null, undefined, '{{.foo}}', 'https://{{.bar}}.com'])).toEqual([1, true, null, undefined, 'bar', 'https://foo.com']);
143
+ expect(await render([['{{.bar}}{{.foo}}'], 1, '{{.bar | ascii_upcase}}'])).toEqual([['foobar'], 1, 'FOO']);
144
+ expect(await render([{'{{.bar}}': [false, '/foo/{{.foo + .bar}}']}])).toEqual([{foo: [false, '/foo/barfoo']}]);
145
+ expect(await render({foo: [{bar: '{{1}}'}, '{{empty}}']})).toEqual({foo: [{bar: 1}, undefined]});
146
+ });
147
+ it('should accept quotes outside of template', async () => {
148
+ const json = { foo: 'bar', bar: 'foo' };
149
+ const render = async (input) => await jq.renderRecursivelyAsync(json, input);
150
+
151
+ expect(await render('"{{.foo}}"')).toEqual('"bar"');
152
+ expect(await render('\'{{.foo}}\'')).toEqual('\'bar\'');
153
+ });
154
+ it('should accept escaped quotes inside jq template', async () => {
155
+ const json = { foo: 'bar', bar: 'foo' };
156
+ const render = async (input) => await jq.renderRecursivelyAsync(json, input);
157
+
158
+ expect(await render('{{"\\"foo\\""}}')).toEqual('"foo"');
159
+ });
160
+ it('test disable env', async () => {
161
+ expect(await jq.renderRecursivelyAsync({}, '{{env}}', {enableEnv: false})).toEqual({});
162
+ expect(await jq.renderRecursivelyAsync({}, '{{env}}', {enableEnv: true})).not.toEqual({});
163
+ expect(await jq.renderRecursivelyAsync({}, '{{env}}', {})).toEqual({});
164
+ expect(await jq.renderRecursivelyAsync({}, '{{env}}')).toEqual({});
165
+ })
166
+ it('test throw on error', async () => {
167
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{foo}}', {throwOnError: true}) }).rejects.toThrow("jq: compile error: foo/0 is not defined at <top-level>, line 1:");
168
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{1/0}}', {throwOnError: true}) }).rejects.toThrow("number (1) and number (0) cannot be divided because the divisor is zero");
169
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{{}}', {throwOnError: true}) }).rejects.toThrow("jq: compile error: syntax error, unexpected end of file (Unix shell quoting issues?) at <top-level>, line 1:");
170
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{ {(0):1} }}', {throwOnError: true}) }).rejects.toThrow("jq: compile error: Cannot use number (0) as object key at <top-level>, line 1:");
171
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{if true then 1 else 0}}', {throwOnError: true}) }).rejects.toThrow("jq: compile error: Possibly unterminated 'if' statement at <top-level>, line 1:");
172
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{null | map(.+1)}}', {throwOnError: true}) }).rejects.toThrow("jq: error: Cannot iterate over null (null)");
173
+ expect(async () => { await jq.renderRecursivelyAsync({foo: "bar"}, '{{.foo + 1}}', {throwOnError: true}) }).rejects.toThrow("jq: error: string (\"bar\") and number (1) cannot be added");
174
+ expect(async () => { await jq.renderRecursivelyAsync({}, '{{foo}}/{{bar}}', {throwOnError: true}) }).rejects.toThrow("jq: compile error: foo/0 is not defined at <top-level>, line 1:");
175
+ expect(async () => { await jq.renderRecursivelyAsync({}, '/{{foo}}/', {throwOnError: true}) }).rejects.toThrow("jq: compile error: foo/0 is not defined at <top-level>, line 1:");
176
+ expect(async () => { await jq.renderRecursivelyAsync({}, { "{{ spreadValue() }}": "str" }, { throwOnError: true }) })
177
+ .rejects.toThrow('Evaluated value should be an object if the key is {{ spreadValue() }}. Original value: str, evaluated to: "str"');
178
+ expect(async () => { await jq.renderRecursivelyAsync({}, { "{{ spreadValue() }}": "{{ \"str\" }}" }, { throwOnError: true }) })
179
+ .rejects.toThrow('Evaluated value should be an object if the key is {{ spreadValue() }}. Original value: {{ \"str\" }}, evaluated to: "str"');
180
+ })
181
+ })
182
+
@@ -44,7 +44,7 @@ describe('template', () => {
44
44
  const json = "foo";
45
45
  const input = '{{.foo}}';
46
46
  const result = jq.renderRecursively(json, input);
47
-
47
+ console.log('!!!!!',result);
48
48
  expect(result).toBe(null);
49
49
  });
50
50
  it('should excape \'\' to ""', () => {
@@ -165,8 +165,8 @@ describe('template', () => {
165
165
  })
166
166
  it('test throw on error', () => {
167
167
  expect(() => { jq.renderRecursively({}, '{{foo}}', {throwOnError: true}) }).toThrow("jq: compile error: foo/0 is not defined at <top-level>, line 1:");
168
- expect(() => { jq.renderRecursively({}, '{{1/0}}', {throwOnError: true}) }).toThrow("jq: compile error: Division by zero? at <top-level>, line 1:");
169
- expect(() => { jq.renderRecursively({}, '{{{}}', {throwOnError: true}) }).toThrow("jq: compile error: syntax error, unexpected $end (Unix shell quoting issues?) at <top-level>, line 1:");
168
+ expect(() => { jq.renderRecursively({}, '{{1/0}}', {throwOnError: true}) }).toThrow("number (1) and number (0) cannot be divided because the divisor is zero");
169
+ expect(() => { jq.renderRecursively({}, '{{{}}', {throwOnError: true}) }).toThrow("jq: compile error: syntax error, unexpected end of file (Unix shell quoting issues?) at <top-level>, line 1:");
170
170
  expect(() => { jq.renderRecursively({}, '{{ {(0):1} }}', {throwOnError: true}) }).toThrow("jq: compile error: Cannot use number (0) as object key at <top-level>, line 1:");
171
171
  expect(() => { jq.renderRecursively({}, '{{if true then 1 else 0}}', {throwOnError: true}) }).toThrow("jq: compile error: Possibly unterminated 'if' statement at <top-level>, line 1:");
172
172
  expect(() => { jq.renderRecursively({}, '{{null | map(.+1)}}', {throwOnError: true}) }).toThrow("jq: error: Cannot iterate over null (null)");
@@ -1,202 +0,0 @@
1
- sudo: false
2
-
3
- language: c
4
-
5
- stages:
6
- - name: test
7
-
8
- - name: build
9
- # Don't run build stage for pull requests to save time and resources.
10
- if: type != pull_request
11
-
12
-
13
- jobs:
14
- include:
15
- # Build with gcc and run tests on Ubuntu.
16
- - &test-ubuntu
17
- stage: test
18
- os: linux
19
- compiler: gcc
20
-
21
- addons:
22
- apt:
23
- packages:
24
- - valgrind
25
- - bison
26
- - automake
27
-
28
- before_install:
29
- - uname -s
30
- - rvm install ruby-1.9.3-p551
31
- - rvm use 1.9.3
32
- - rm src/{lexer,parser}.{c,h}
33
- - sed -i.bak '/^AM_INIT_AUTOMAKE(\[-Wno-portability 1\.14\])$/s/14/11/' modules/oniguruma/configure.ac
34
-
35
- install:
36
- - bundle install --gemfile=docs/Gemfile
37
- - wget http://ftp.debian.org/debian/pool/main/b/bison/bison_3.0.2.dfsg-2_amd64.deb
38
- - ar p bison_3.0.2.dfsg-2_amd64.deb data.tar.xz | tar xJ
39
- - if [ -n "$COVERAGE" ]; then pip install --user cpp-coveralls; fi
40
-
41
- before_script:
42
- # If this is OS X we'll get bison from brew, else we'll get bison
43
- # from the .deb unpacked above in the install section.
44
- - PATH=/usr/local/opt/bison/bin:$PWD/usr/bin:$PATH
45
- - echo SHELL=$SHELL
46
- - echo PATH=$PATH
47
- - which bison
48
- - bison --version
49
- - autoreconf -if
50
- - ./configure --with-oniguruma=builtin YACC="$(which bison) -y" $COVERAGE
51
-
52
- script:
53
- # When using the bison from Debian we need to tell that bison where
54
- # to find its data. Yay non-relocatable code. Not.
55
- - echo PATH=$PATH
56
- - which bison
57
- - make BISON_PKGDATADIR=$PWD/usr/share/bison src/parser.c || make src/parser.c
58
- # Make dist!
59
- #
60
- # Make it first to fail the build early, before we test with
61
- # valgrind.
62
- - make dist
63
- # Build and test the dist (without valgrind)
64
- - |
65
- (
66
- tar xvf jq-`scripts/version`.tar.gz &&
67
- cd jq-`scripts/version` &&
68
- pwd &&
69
- ./configure --disable-valgrind --with-oniguruma=builtin YACC="$(which bison) -y" $COVERAGE &&
70
- make BISON_PKGDATADIR=$PWD/usr/share/bison src/parser.c || make src/parser.c &&
71
- make -j4 &&
72
- make check -j4 || true
73
- )
74
- # Build and test the HEAD
75
- - make -j4
76
- - make check -j4
77
-
78
- after_failure:
79
- - cat test-suite.log
80
- - cat tests/*.log
81
-
82
-
83
- # Build with clang and run tests on Ubuntu.
84
- - <<: *test-ubuntu
85
- compiler: clang
86
-
87
-
88
- # Build with gcc and run tests with gcov on Ubuntu.
89
- - <<: *test-ubuntu
90
- env: COVERAGE="--disable-valgrind --enable-gcov"
91
-
92
- after_script:
93
- - rm -rf src/.libs # don't care about coverage for libjq
94
- - coveralls --gcov-options '\-lp'
95
- -e src/lexer.c -e src/parser.c -e src/jv_dtoa.c
96
-
97
-
98
- # Build with gcc and run tests on macOS.
99
- - &test-osx
100
- <<: *test-ubuntu
101
- os: osx
102
-
103
- before_install:
104
- - uname -s
105
- - brew update
106
- - brew install flex bison
107
- - rvm install ruby-1.9.3-p551
108
- - rvm use 1.9.3
109
- - gem install bundler
110
- - rm src/{lexer,parser}.{c,h}
111
- - sed -i.bak '/^AM_INIT_AUTOMAKE(\[-Wno-portability 1\.14\])$/s/14/11/' modules/oniguruma/configure.ac
112
-
113
- install:
114
- - bundle install --gemfile=docs/Gemfile
115
- - if [ -n "$COVERAGE" ]; then pip install --user cpp-coveralls; fi
116
-
117
-
118
- # Build with clang and run tests on macOS.
119
- - <<: *test-osx
120
- compiler: clang
121
-
122
-
123
- # Build with gcc and run tests on Alpine Linux v3.7 (inside chroot).
124
- # Note: Alpine uses musl libc.
125
- - &test-alpine
126
- stage: test
127
- os: linux
128
- language: minimal
129
- compiler: gcc
130
- sudo: true
131
-
132
- before_install:
133
- - "wget 'https://raw.githubusercontent.com/alpinelinux/alpine-chroot-install/v0.7.0/alpine-chroot-install' \
134
- && echo '090d323d887ef3a2fd4e752428553f22a52b87bb alpine-chroot-install' | sha1sum -c || travis_terminate 1"
135
- - alpine() { /alpine/enter-chroot -u "$USER" "$@"; }
136
-
137
- install:
138
- - sudo sh alpine-chroot-install -b v3.7 -a "$ARCH"
139
- -p 'build-base automake autoconf bison libtool oniguruma-dev'
140
-
141
- before_script:
142
- - autoreconf -if
143
-
144
- script:
145
- - alpine ./configure --disable-docs
146
- - alpine make
147
- - alpine make check
148
-
149
-
150
- # Build release binary statically linked with musl libc on Alpine Linux
151
- # (inside chroot). If building a tagged commit, then deploy release
152
- # tarball to GitHub Releases.
153
- - &build-alpine
154
- <<: *test-alpine
155
- stage: build
156
- env: ARCH=x86_64
157
-
158
- script:
159
- - alpine ./configure --disable-docs --enable-all-static
160
- CFLAGS='-Os -static -no-pie' CXXFLAGS='-Os -static -no-pie'
161
- - alpine make
162
- - alpine strip jq
163
-
164
- - jq -V
165
- - ls -lah jq
166
- - file jq
167
- # Ensure that the built executable is really statically linked.
168
- - file jq | grep -Fw 'statically linked'
169
-
170
- before_deploy:
171
- - PKGNAME="jq-$TRAVIS_TAG-$ARCH-linux"
172
- - mkdir $PKGNAME && mv jq $PKGNAME/
173
- - tar -czf $PKGNAME.tar.gz $PKGNAME/
174
- - sha256sum $PKGNAME.tar.gz > $PKGNAME.tar.gz.sha256
175
-
176
- deploy:
177
- provider: releases
178
- api_key:
179
- secure: # TODO: put encrypted GitHub token here!
180
- file: jq-$TRAVIS_TAG-*.tar.gz*
181
- file_glob: true
182
- skip_cleanup: true
183
- on:
184
- tags: true
185
-
186
- # Build binaries for other architectures using QEMU user-mode emulation.
187
- - <<: *build-alpine
188
- env: ARCH=x86
189
-
190
- - <<: *build-alpine
191
- env: ARCH=aarch64
192
-
193
- - <<: *build-alpine
194
- env: ARCH=armhf
195
-
196
- - <<: *build-alpine
197
- env: ARCH=ppc64le
198
-
199
-
200
- notifications:
201
- email: false
202
-