karajan-code 3.4.1 → 3.4.2

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 (699) hide show
  1. package/README.md +1 -1
  2. package/node_modules/@karajan/core/package.json +12 -1
  3. package/package.json +4 -2
  4. package/scripts/verify-pack.mjs +108 -0
  5. package/node_modules/@sec-ant/readable-stream/LICENSE +0 -21
  6. package/node_modules/@sec-ant/readable-stream/README.md +0 -230
  7. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterablePrototype.d.ts +0 -1
  8. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterator.d.ts +0 -27
  9. package/node_modules/@sec-ant/readable-stream/dist/core/fromAnyIterable.d.ts +0 -6
  10. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.d.ts +0 -2
  11. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +0 -5
  12. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.d.ts +0 -2
  13. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +0 -5
  14. package/node_modules/@sec-ant/readable-stream/dist/index/index.d.ts +0 -2
  15. package/node_modules/@sec-ant/readable-stream/dist/index/index.js +0 -8
  16. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.d.ts +0 -1
  17. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +0 -3
  18. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.d.ts +0 -1
  19. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +0 -2
  20. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.d.ts +0 -2
  21. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +0 -4
  22. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.d.ts +0 -1
  23. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +0 -89
  24. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.d.ts +0 -1
  25. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +0 -34
  26. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.d.ts +0 -2
  27. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +0 -6
  28. package/node_modules/@sec-ant/readable-stream/dist/types/async-iterator.d.ts +0 -11
  29. package/node_modules/@sec-ant/readable-stream/package.json +0 -96
  30. package/node_modules/@sindresorhus/merge-streams/index.d.ts +0 -44
  31. package/node_modules/@sindresorhus/merge-streams/index.js +0 -265
  32. package/node_modules/@sindresorhus/merge-streams/license +0 -9
  33. package/node_modules/@sindresorhus/merge-streams/package.json +0 -49
  34. package/node_modules/@sindresorhus/merge-streams/readme.md +0 -53
  35. package/node_modules/base64-js/LICENSE +0 -21
  36. package/node_modules/base64-js/README.md +0 -34
  37. package/node_modules/base64-js/base64js.min.js +0 -1
  38. package/node_modules/base64-js/index.d.ts +0 -3
  39. package/node_modules/base64-js/index.js +0 -150
  40. package/node_modules/base64-js/package.json +0 -47
  41. package/node_modules/better-sqlite3/LICENSE +0 -21
  42. package/node_modules/better-sqlite3/README.md +0 -99
  43. package/node_modules/better-sqlite3/binding.gyp +0 -38
  44. package/node_modules/better-sqlite3/deps/common.gypi +0 -68
  45. package/node_modules/better-sqlite3/deps/copy.js +0 -31
  46. package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
  47. package/node_modules/better-sqlite3/deps/download.sh +0 -123
  48. package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  49. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -268879
  50. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14335
  51. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
  52. package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  53. package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  54. package/node_modules/better-sqlite3/lib/database.js +0 -90
  55. package/node_modules/better-sqlite3/lib/index.js +0 -3
  56. package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  57. package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  58. package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  59. package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  60. package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  61. package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  62. package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  63. package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  64. package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  65. package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  66. package/node_modules/better-sqlite3/lib/util.js +0 -12
  67. package/node_modules/better-sqlite3/package.json +0 -59
  68. package/node_modules/better-sqlite3/src/addon.cpp +0 -47
  69. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  70. package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  71. package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  72. package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  73. package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  74. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  75. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  76. package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  77. package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  78. package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  79. package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  80. package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  81. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  82. package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  83. package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  84. package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  85. package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  86. package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  87. package/node_modules/better-sqlite3/src/util/macros.cpp +0 -83
  88. package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  89. package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  90. package/node_modules/bindings/LICENSE.md +0 -22
  91. package/node_modules/bindings/README.md +0 -98
  92. package/node_modules/bindings/bindings.js +0 -221
  93. package/node_modules/bindings/package.json +0 -28
  94. package/node_modules/bl/.travis.yml +0 -17
  95. package/node_modules/bl/BufferList.js +0 -396
  96. package/node_modules/bl/LICENSE.md +0 -13
  97. package/node_modules/bl/README.md +0 -247
  98. package/node_modules/bl/bl.js +0 -84
  99. package/node_modules/bl/package.json +0 -37
  100. package/node_modules/bl/test/convert.js +0 -21
  101. package/node_modules/bl/test/indexOf.js +0 -492
  102. package/node_modules/bl/test/isBufferList.js +0 -32
  103. package/node_modules/bl/test/test.js +0 -869
  104. package/node_modules/buffer/AUTHORS.md +0 -70
  105. package/node_modules/buffer/LICENSE +0 -21
  106. package/node_modules/buffer/README.md +0 -410
  107. package/node_modules/buffer/index.d.ts +0 -186
  108. package/node_modules/buffer/index.js +0 -1817
  109. package/node_modules/buffer/package.json +0 -96
  110. package/node_modules/chownr/LICENSE +0 -15
  111. package/node_modules/chownr/README.md +0 -3
  112. package/node_modules/chownr/chownr.js +0 -167
  113. package/node_modules/chownr/package.json +0 -29
  114. package/node_modules/cross-spawn/LICENSE +0 -21
  115. package/node_modules/cross-spawn/README.md +0 -89
  116. package/node_modules/cross-spawn/index.js +0 -39
  117. package/node_modules/cross-spawn/lib/enoent.js +0 -59
  118. package/node_modules/cross-spawn/lib/parse.js +0 -91
  119. package/node_modules/cross-spawn/lib/util/escape.js +0 -47
  120. package/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  121. package/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  122. package/node_modules/cross-spawn/package.json +0 -73
  123. package/node_modules/decompress-response/index.d.ts +0 -22
  124. package/node_modules/decompress-response/index.js +0 -58
  125. package/node_modules/decompress-response/license +0 -9
  126. package/node_modules/decompress-response/package.json +0 -56
  127. package/node_modules/decompress-response/readme.md +0 -48
  128. package/node_modules/deep-extend/LICENSE +0 -20
  129. package/node_modules/deep-extend/README.md +0 -91
  130. package/node_modules/deep-extend/index.js +0 -1
  131. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  132. package/node_modules/deep-extend/package.json +0 -62
  133. package/node_modules/detect-libc/LICENSE +0 -201
  134. package/node_modules/detect-libc/README.md +0 -163
  135. package/node_modules/detect-libc/index.d.ts +0 -14
  136. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  137. package/node_modules/detect-libc/lib/elf.js +0 -39
  138. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  139. package/node_modules/detect-libc/lib/process.js +0 -24
  140. package/node_modules/detect-libc/package.json +0 -44
  141. package/node_modules/end-of-stream/LICENSE +0 -21
  142. package/node_modules/end-of-stream/README.md +0 -54
  143. package/node_modules/end-of-stream/index.js +0 -96
  144. package/node_modules/end-of-stream/package.json +0 -37
  145. package/node_modules/execa/index.d.ts +0 -27
  146. package/node_modules/execa/index.js +0 -28
  147. package/node_modules/execa/lib/arguments/command.js +0 -20
  148. package/node_modules/execa/lib/arguments/cwd.js +0 -39
  149. package/node_modules/execa/lib/arguments/encoding-option.js +0 -50
  150. package/node_modules/execa/lib/arguments/escape.js +0 -88
  151. package/node_modules/execa/lib/arguments/fd-options.js +0 -108
  152. package/node_modules/execa/lib/arguments/file-url.js +0 -25
  153. package/node_modules/execa/lib/arguments/options.js +0 -96
  154. package/node_modules/execa/lib/arguments/shell.js +0 -11
  155. package/node_modules/execa/lib/arguments/specific.js +0 -111
  156. package/node_modules/execa/lib/convert/add.js +0 -15
  157. package/node_modules/execa/lib/convert/concurrent.js +0 -33
  158. package/node_modules/execa/lib/convert/duplex.js +0 -69
  159. package/node_modules/execa/lib/convert/iterable.js +0 -34
  160. package/node_modules/execa/lib/convert/readable.js +0 -113
  161. package/node_modules/execa/lib/convert/shared.js +0 -46
  162. package/node_modules/execa/lib/convert/writable.js +0 -90
  163. package/node_modules/execa/lib/io/contents.js +0 -116
  164. package/node_modules/execa/lib/io/input-sync.js +0 -44
  165. package/node_modules/execa/lib/io/iterate.js +0 -110
  166. package/node_modules/execa/lib/io/max-buffer.js +0 -89
  167. package/node_modules/execa/lib/io/output-async.js +0 -80
  168. package/node_modules/execa/lib/io/output-sync.js +0 -135
  169. package/node_modules/execa/lib/io/pipeline.js +0 -48
  170. package/node_modules/execa/lib/io/strip-newline.js +0 -12
  171. package/node_modules/execa/lib/ipc/array.js +0 -4
  172. package/node_modules/execa/lib/ipc/buffer-messages.js +0 -47
  173. package/node_modules/execa/lib/ipc/forward.js +0 -56
  174. package/node_modules/execa/lib/ipc/get-each.js +0 -89
  175. package/node_modules/execa/lib/ipc/get-one.js +0 -69
  176. package/node_modules/execa/lib/ipc/graceful.js +0 -72
  177. package/node_modules/execa/lib/ipc/incoming.js +0 -79
  178. package/node_modules/execa/lib/ipc/ipc-input.js +0 -44
  179. package/node_modules/execa/lib/ipc/methods.js +0 -49
  180. package/node_modules/execa/lib/ipc/outgoing.js +0 -47
  181. package/node_modules/execa/lib/ipc/reference.js +0 -44
  182. package/node_modules/execa/lib/ipc/send.js +0 -91
  183. package/node_modules/execa/lib/ipc/strict.js +0 -113
  184. package/node_modules/execa/lib/ipc/validation.js +0 -111
  185. package/node_modules/execa/lib/methods/bind.js +0 -23
  186. package/node_modules/execa/lib/methods/command.js +0 -43
  187. package/node_modules/execa/lib/methods/create.js +0 -65
  188. package/node_modules/execa/lib/methods/main-async.js +0 -194
  189. package/node_modules/execa/lib/methods/main-sync.js +0 -163
  190. package/node_modules/execa/lib/methods/node.js +0 -51
  191. package/node_modules/execa/lib/methods/parameters.js +0 -31
  192. package/node_modules/execa/lib/methods/promise.js +0 -15
  193. package/node_modules/execa/lib/methods/script.js +0 -22
  194. package/node_modules/execa/lib/methods/template.js +0 -153
  195. package/node_modules/execa/lib/pipe/abort.js +0 -20
  196. package/node_modules/execa/lib/pipe/pipe-arguments.js +0 -91
  197. package/node_modules/execa/lib/pipe/sequence.js +0 -24
  198. package/node_modules/execa/lib/pipe/setup.js +0 -72
  199. package/node_modules/execa/lib/pipe/streaming.js +0 -51
  200. package/node_modules/execa/lib/pipe/throw.js +0 -58
  201. package/node_modules/execa/lib/resolve/all-async.js +0 -46
  202. package/node_modules/execa/lib/resolve/all-sync.js +0 -33
  203. package/node_modules/execa/lib/resolve/exit-async.js +0 -54
  204. package/node_modules/execa/lib/resolve/exit-sync.js +0 -25
  205. package/node_modules/execa/lib/resolve/stdio.js +0 -47
  206. package/node_modules/execa/lib/resolve/wait-stream.js +0 -96
  207. package/node_modules/execa/lib/resolve/wait-subprocess.js +0 -146
  208. package/node_modules/execa/lib/return/duration.js +0 -8
  209. package/node_modules/execa/lib/return/early-error.js +0 -60
  210. package/node_modules/execa/lib/return/final-error.js +0 -40
  211. package/node_modules/execa/lib/return/message.js +0 -157
  212. package/node_modules/execa/lib/return/reject.js +0 -13
  213. package/node_modules/execa/lib/return/result.js +0 -186
  214. package/node_modules/execa/lib/stdio/direction.js +0 -76
  215. package/node_modules/execa/lib/stdio/duplicate.js +0 -116
  216. package/node_modules/execa/lib/stdio/handle-async.js +0 -52
  217. package/node_modules/execa/lib/stdio/handle-sync.js +0 -57
  218. package/node_modules/execa/lib/stdio/handle.js +0 -214
  219. package/node_modules/execa/lib/stdio/input-option.js +0 -50
  220. package/node_modules/execa/lib/stdio/native.js +0 -106
  221. package/node_modules/execa/lib/stdio/stdio-option.js +0 -60
  222. package/node_modules/execa/lib/stdio/type.js +0 -173
  223. package/node_modules/execa/lib/terminate/cancel.js +0 -20
  224. package/node_modules/execa/lib/terminate/cleanup.js +0 -16
  225. package/node_modules/execa/lib/terminate/graceful.js +0 -71
  226. package/node_modules/execa/lib/terminate/kill.js +0 -93
  227. package/node_modules/execa/lib/terminate/signal.js +0 -70
  228. package/node_modules/execa/lib/terminate/timeout.js +0 -21
  229. package/node_modules/execa/lib/transform/encoding-transform.js +0 -51
  230. package/node_modules/execa/lib/transform/generator.js +0 -107
  231. package/node_modules/execa/lib/transform/normalize.js +0 -111
  232. package/node_modules/execa/lib/transform/object-mode.js +0 -41
  233. package/node_modules/execa/lib/transform/run-async.js +0 -60
  234. package/node_modules/execa/lib/transform/run-sync.js +0 -50
  235. package/node_modules/execa/lib/transform/split.js +0 -110
  236. package/node_modules/execa/lib/transform/validate.js +0 -43
  237. package/node_modules/execa/lib/utils/abort-signal.js +0 -8
  238. package/node_modules/execa/lib/utils/deferred.js +0 -7
  239. package/node_modules/execa/lib/utils/max-listeners.js +0 -14
  240. package/node_modules/execa/lib/utils/standard-stream.js +0 -6
  241. package/node_modules/execa/lib/utils/uint-array.js +0 -69
  242. package/node_modules/execa/lib/verbose/complete.js +0 -24
  243. package/node_modules/execa/lib/verbose/custom.js +0 -26
  244. package/node_modules/execa/lib/verbose/default.js +0 -54
  245. package/node_modules/execa/lib/verbose/error.js +0 -13
  246. package/node_modules/execa/lib/verbose/info.js +0 -39
  247. package/node_modules/execa/lib/verbose/ipc.js +0 -15
  248. package/node_modules/execa/lib/verbose/log.js +0 -54
  249. package/node_modules/execa/lib/verbose/output.js +0 -60
  250. package/node_modules/execa/lib/verbose/start.js +0 -15
  251. package/node_modules/execa/lib/verbose/values.js +0 -33
  252. package/node_modules/execa/license +0 -9
  253. package/node_modules/execa/package.json +0 -105
  254. package/node_modules/execa/readme.md +0 -461
  255. package/node_modules/execa/types/arguments/encoding-option.d.ts +0 -19
  256. package/node_modules/execa/types/arguments/fd-options.d.ts +0 -8
  257. package/node_modules/execa/types/arguments/options.d.ts +0 -400
  258. package/node_modules/execa/types/arguments/specific.d.ts +0 -52
  259. package/node_modules/execa/types/convert.d.ts +0 -58
  260. package/node_modules/execa/types/ipc.d.ts +0 -156
  261. package/node_modules/execa/types/methods/command.d.ts +0 -114
  262. package/node_modules/execa/types/methods/main-async.d.ts +0 -379
  263. package/node_modules/execa/types/methods/main-sync.d.ts +0 -59
  264. package/node_modules/execa/types/methods/node.d.ts +0 -62
  265. package/node_modules/execa/types/methods/script.d.ts +0 -115
  266. package/node_modules/execa/types/methods/template.d.ts +0 -18
  267. package/node_modules/execa/types/pipe.d.ts +0 -58
  268. package/node_modules/execa/types/return/final-error.d.ts +0 -51
  269. package/node_modules/execa/types/return/ignore.d.ts +0 -26
  270. package/node_modules/execa/types/return/result-all.d.ts +0 -30
  271. package/node_modules/execa/types/return/result-ipc.d.ts +0 -27
  272. package/node_modules/execa/types/return/result-stdio.d.ts +0 -17
  273. package/node_modules/execa/types/return/result-stdout.d.ts +0 -50
  274. package/node_modules/execa/types/return/result.d.ts +0 -203
  275. package/node_modules/execa/types/stdio/array.d.ts +0 -16
  276. package/node_modules/execa/types/stdio/direction.d.ts +0 -12
  277. package/node_modules/execa/types/stdio/option.d.ts +0 -40
  278. package/node_modules/execa/types/stdio/type.d.ts +0 -170
  279. package/node_modules/execa/types/subprocess/all.d.ts +0 -17
  280. package/node_modules/execa/types/subprocess/stdio.d.ts +0 -18
  281. package/node_modules/execa/types/subprocess/stdout.d.ts +0 -22
  282. package/node_modules/execa/types/subprocess/subprocess.d.ts +0 -117
  283. package/node_modules/execa/types/transform/normalize.d.ts +0 -57
  284. package/node_modules/execa/types/transform/object-mode.d.ts +0 -21
  285. package/node_modules/execa/types/utils.d.ts +0 -13
  286. package/node_modules/execa/types/verbose.d.ts +0 -98
  287. package/node_modules/expand-template/.travis.yml +0 -6
  288. package/node_modules/expand-template/LICENSE +0 -21
  289. package/node_modules/expand-template/README.md +0 -43
  290. package/node_modules/expand-template/index.js +0 -26
  291. package/node_modules/expand-template/package.json +0 -29
  292. package/node_modules/expand-template/test.js +0 -67
  293. package/node_modules/figures/index.d.ts +0 -279
  294. package/node_modules/figures/index.js +0 -292
  295. package/node_modules/figures/license +0 -9
  296. package/node_modules/figures/package.json +0 -49
  297. package/node_modules/figures/readme.md +0 -337
  298. package/node_modules/file-uri-to-path/.npmignore +0 -1
  299. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  300. package/node_modules/file-uri-to-path/History.md +0 -21
  301. package/node_modules/file-uri-to-path/LICENSE +0 -20
  302. package/node_modules/file-uri-to-path/README.md +0 -74
  303. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  304. package/node_modules/file-uri-to-path/index.js +0 -66
  305. package/node_modules/file-uri-to-path/package.json +0 -32
  306. package/node_modules/file-uri-to-path/test/test.js +0 -24
  307. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  308. package/node_modules/fs-constants/LICENSE +0 -21
  309. package/node_modules/fs-constants/README.md +0 -26
  310. package/node_modules/fs-constants/browser.js +0 -1
  311. package/node_modules/fs-constants/index.js +0 -1
  312. package/node_modules/fs-constants/package.json +0 -19
  313. package/node_modules/get-stream/license +0 -9
  314. package/node_modules/get-stream/package.json +0 -60
  315. package/node_modules/get-stream/readme.md +0 -303
  316. package/node_modules/get-stream/source/array-buffer.js +0 -84
  317. package/node_modules/get-stream/source/array.js +0 -32
  318. package/node_modules/get-stream/source/buffer.js +0 -19
  319. package/node_modules/get-stream/source/contents.js +0 -121
  320. package/node_modules/get-stream/source/exports.js +0 -5
  321. package/node_modules/get-stream/source/index.d.ts +0 -121
  322. package/node_modules/get-stream/source/index.js +0 -13
  323. package/node_modules/get-stream/source/stream.js +0 -65
  324. package/node_modules/get-stream/source/string.js +0 -41
  325. package/node_modules/get-stream/source/utils.js +0 -11
  326. package/node_modules/github-from-package/.travis.yml +0 -4
  327. package/node_modules/github-from-package/LICENSE +0 -18
  328. package/node_modules/github-from-package/example/package.json +0 -8
  329. package/node_modules/github-from-package/example/url.js +0 -3
  330. package/node_modules/github-from-package/index.js +0 -17
  331. package/node_modules/github-from-package/package.json +0 -30
  332. package/node_modules/github-from-package/readme.markdown +0 -53
  333. package/node_modules/github-from-package/test/a.json +0 -8
  334. package/node_modules/github-from-package/test/b.json +0 -5
  335. package/node_modules/github-from-package/test/c.json +0 -5
  336. package/node_modules/github-from-package/test/d.json +0 -7
  337. package/node_modules/github-from-package/test/e.json +0 -5
  338. package/node_modules/github-from-package/test/url.js +0 -19
  339. package/node_modules/human-signals/LICENSE +0 -201
  340. package/node_modules/human-signals/README.md +0 -171
  341. package/node_modules/human-signals/build/src/core.js +0 -273
  342. package/node_modules/human-signals/build/src/main.d.ts +0 -206
  343. package/node_modules/human-signals/build/src/main.js +0 -70
  344. package/node_modules/human-signals/build/src/realtime.js +0 -16
  345. package/node_modules/human-signals/build/src/signals.js +0 -34
  346. package/node_modules/human-signals/package.json +0 -66
  347. package/node_modules/ieee754/LICENSE +0 -11
  348. package/node_modules/ieee754/README.md +0 -51
  349. package/node_modules/ieee754/index.d.ts +0 -10
  350. package/node_modules/ieee754/index.js +0 -85
  351. package/node_modules/ieee754/package.json +0 -52
  352. package/node_modules/inherits/LICENSE +0 -16
  353. package/node_modules/inherits/README.md +0 -42
  354. package/node_modules/inherits/inherits.js +0 -9
  355. package/node_modules/inherits/inherits_browser.js +0 -27
  356. package/node_modules/inherits/package.json +0 -29
  357. package/node_modules/ini/LICENSE +0 -15
  358. package/node_modules/ini/README.md +0 -102
  359. package/node_modules/ini/ini.js +0 -206
  360. package/node_modules/ini/package.json +0 -33
  361. package/node_modules/is-plain-obj/index.d.ts +0 -35
  362. package/node_modules/is-plain-obj/index.js +0 -8
  363. package/node_modules/is-plain-obj/license +0 -9
  364. package/node_modules/is-plain-obj/package.json +0 -41
  365. package/node_modules/is-plain-obj/readme.md +0 -58
  366. package/node_modules/is-stream/index.d.ts +0 -90
  367. package/node_modules/is-stream/index.js +0 -37
  368. package/node_modules/is-stream/license +0 -9
  369. package/node_modules/is-stream/package.json +0 -48
  370. package/node_modules/is-stream/readme.md +0 -57
  371. package/node_modules/is-unicode-supported/index.d.ts +0 -12
  372. package/node_modules/is-unicode-supported/index.js +0 -21
  373. package/node_modules/is-unicode-supported/license +0 -9
  374. package/node_modules/is-unicode-supported/package.json +0 -47
  375. package/node_modules/is-unicode-supported/readme.md +0 -35
  376. package/node_modules/isexe/.npmignore +0 -2
  377. package/node_modules/isexe/LICENSE +0 -15
  378. package/node_modules/isexe/README.md +0 -51
  379. package/node_modules/isexe/index.js +0 -57
  380. package/node_modules/isexe/mode.js +0 -41
  381. package/node_modules/isexe/package.json +0 -31
  382. package/node_modules/isexe/test/basic.js +0 -221
  383. package/node_modules/isexe/windows.js +0 -42
  384. package/node_modules/mimic-response/index.d.ts +0 -17
  385. package/node_modules/mimic-response/index.js +0 -77
  386. package/node_modules/mimic-response/license +0 -9
  387. package/node_modules/mimic-response/package.json +0 -42
  388. package/node_modules/mimic-response/readme.md +0 -78
  389. package/node_modules/minimist/.eslintrc +0 -29
  390. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  391. package/node_modules/minimist/.nycrc +0 -14
  392. package/node_modules/minimist/CHANGELOG.md +0 -298
  393. package/node_modules/minimist/LICENSE +0 -18
  394. package/node_modules/minimist/README.md +0 -121
  395. package/node_modules/minimist/example/parse.js +0 -4
  396. package/node_modules/minimist/index.js +0 -263
  397. package/node_modules/minimist/package.json +0 -75
  398. package/node_modules/minimist/test/all_bool.js +0 -34
  399. package/node_modules/minimist/test/bool.js +0 -177
  400. package/node_modules/minimist/test/dash.js +0 -43
  401. package/node_modules/minimist/test/default_bool.js +0 -37
  402. package/node_modules/minimist/test/dotted.js +0 -24
  403. package/node_modules/minimist/test/kv_short.js +0 -32
  404. package/node_modules/minimist/test/long.js +0 -33
  405. package/node_modules/minimist/test/num.js +0 -38
  406. package/node_modules/minimist/test/parse.js +0 -209
  407. package/node_modules/minimist/test/parse_modified.js +0 -11
  408. package/node_modules/minimist/test/proto.js +0 -64
  409. package/node_modules/minimist/test/short.js +0 -69
  410. package/node_modules/minimist/test/stop_early.js +0 -17
  411. package/node_modules/minimist/test/unknown.js +0 -104
  412. package/node_modules/minimist/test/whitespace.js +0 -10
  413. package/node_modules/mkdirp-classic/LICENSE +0 -21
  414. package/node_modules/mkdirp-classic/README.md +0 -18
  415. package/node_modules/mkdirp-classic/index.js +0 -98
  416. package/node_modules/mkdirp-classic/package.json +0 -18
  417. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  418. package/node_modules/napi-build-utils/LICENSE +0 -21
  419. package/node_modules/napi-build-utils/README.md +0 -52
  420. package/node_modules/napi-build-utils/index.js +0 -214
  421. package/node_modules/napi-build-utils/index.md +0 -0
  422. package/node_modules/napi-build-utils/package.json +0 -42
  423. package/node_modules/node-abi/LICENSE +0 -21
  424. package/node_modules/node-abi/README.md +0 -54
  425. package/node_modules/node-abi/abi_registry.json +0 -446
  426. package/node_modules/node-abi/index.js +0 -179
  427. package/node_modules/node-abi/package.json +0 -45
  428. package/node_modules/npm-run-path/index.d.ts +0 -90
  429. package/node_modules/npm-run-path/index.js +0 -55
  430. package/node_modules/npm-run-path/license +0 -9
  431. package/node_modules/npm-run-path/node_modules/path-key/index.d.ts +0 -31
  432. package/node_modules/npm-run-path/node_modules/path-key/index.js +0 -12
  433. package/node_modules/npm-run-path/node_modules/path-key/license +0 -9
  434. package/node_modules/npm-run-path/node_modules/path-key/package.json +0 -41
  435. package/node_modules/npm-run-path/node_modules/path-key/readme.md +0 -57
  436. package/node_modules/npm-run-path/package.json +0 -52
  437. package/node_modules/npm-run-path/readme.md +0 -104
  438. package/node_modules/once/LICENSE +0 -15
  439. package/node_modules/once/README.md +0 -79
  440. package/node_modules/once/once.js +0 -42
  441. package/node_modules/once/package.json +0 -33
  442. package/node_modules/parse-ms/index.d.ts +0 -30
  443. package/node_modules/parse-ms/index.js +0 -45
  444. package/node_modules/parse-ms/license +0 -9
  445. package/node_modules/parse-ms/package.json +0 -47
  446. package/node_modules/parse-ms/readme.md +0 -46
  447. package/node_modules/path-key/index.d.ts +0 -40
  448. package/node_modules/path-key/index.js +0 -16
  449. package/node_modules/path-key/license +0 -9
  450. package/node_modules/path-key/package.json +0 -39
  451. package/node_modules/path-key/readme.md +0 -61
  452. package/node_modules/prebuild-install/CHANGELOG.md +0 -131
  453. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  454. package/node_modules/prebuild-install/LICENSE +0 -21
  455. package/node_modules/prebuild-install/README.md +0 -163
  456. package/node_modules/prebuild-install/asset.js +0 -44
  457. package/node_modules/prebuild-install/bin.js +0 -78
  458. package/node_modules/prebuild-install/download.js +0 -142
  459. package/node_modules/prebuild-install/error.js +0 -14
  460. package/node_modules/prebuild-install/help.txt +0 -16
  461. package/node_modules/prebuild-install/index.js +0 -1
  462. package/node_modules/prebuild-install/log.js +0 -33
  463. package/node_modules/prebuild-install/package.json +0 -67
  464. package/node_modules/prebuild-install/proxy.js +0 -35
  465. package/node_modules/prebuild-install/rc.js +0 -64
  466. package/node_modules/prebuild-install/util.js +0 -143
  467. package/node_modules/pretty-ms/index.d.ts +0 -157
  468. package/node_modules/pretty-ms/index.js +0 -149
  469. package/node_modules/pretty-ms/license +0 -9
  470. package/node_modules/pretty-ms/package.json +0 -55
  471. package/node_modules/pretty-ms/readme.md +0 -179
  472. package/node_modules/pump/.github/FUNDING.yml +0 -2
  473. package/node_modules/pump/.travis.yml +0 -5
  474. package/node_modules/pump/LICENSE +0 -21
  475. package/node_modules/pump/README.md +0 -74
  476. package/node_modules/pump/SECURITY.md +0 -5
  477. package/node_modules/pump/empty.js +0 -1
  478. package/node_modules/pump/index.js +0 -86
  479. package/node_modules/pump/package.json +0 -30
  480. package/node_modules/pump/test-browser.js +0 -66
  481. package/node_modules/pump/test-node.js +0 -53
  482. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  483. package/node_modules/rc/LICENSE.BSD +0 -26
  484. package/node_modules/rc/LICENSE.MIT +0 -24
  485. package/node_modules/rc/README.md +0 -227
  486. package/node_modules/rc/browser.js +0 -7
  487. package/node_modules/rc/cli.js +0 -4
  488. package/node_modules/rc/index.js +0 -53
  489. package/node_modules/rc/lib/utils.js +0 -104
  490. package/node_modules/rc/package.json +0 -29
  491. package/node_modules/rc/test/ini.js +0 -16
  492. package/node_modules/rc/test/nested-env-vars.js +0 -50
  493. package/node_modules/rc/test/test.js +0 -59
  494. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  495. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  496. package/node_modules/readable-stream/LICENSE +0 -47
  497. package/node_modules/readable-stream/README.md +0 -106
  498. package/node_modules/readable-stream/errors-browser.js +0 -127
  499. package/node_modules/readable-stream/errors.js +0 -116
  500. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  501. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  502. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  503. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  504. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  505. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  506. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  507. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  508. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  509. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  510. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  511. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  512. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  513. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  514. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  515. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  516. package/node_modules/readable-stream/package.json +0 -68
  517. package/node_modules/readable-stream/readable-browser.js +0 -9
  518. package/node_modules/readable-stream/readable.js +0 -16
  519. package/node_modules/safe-buffer/LICENSE +0 -21
  520. package/node_modules/safe-buffer/README.md +0 -584
  521. package/node_modules/safe-buffer/index.d.ts +0 -187
  522. package/node_modules/safe-buffer/index.js +0 -65
  523. package/node_modules/safe-buffer/package.json +0 -51
  524. package/node_modules/semver/LICENSE +0 -15
  525. package/node_modules/semver/README.md +0 -665
  526. package/node_modules/semver/bin/semver.js +0 -191
  527. package/node_modules/semver/classes/comparator.js +0 -143
  528. package/node_modules/semver/classes/index.js +0 -7
  529. package/node_modules/semver/classes/range.js +0 -557
  530. package/node_modules/semver/classes/semver.js +0 -333
  531. package/node_modules/semver/functions/clean.js +0 -8
  532. package/node_modules/semver/functions/cmp.js +0 -54
  533. package/node_modules/semver/functions/coerce.js +0 -62
  534. package/node_modules/semver/functions/compare-build.js +0 -9
  535. package/node_modules/semver/functions/compare-loose.js +0 -5
  536. package/node_modules/semver/functions/compare.js +0 -7
  537. package/node_modules/semver/functions/diff.js +0 -60
  538. package/node_modules/semver/functions/eq.js +0 -5
  539. package/node_modules/semver/functions/gt.js +0 -5
  540. package/node_modules/semver/functions/gte.js +0 -5
  541. package/node_modules/semver/functions/inc.js +0 -21
  542. package/node_modules/semver/functions/lt.js +0 -5
  543. package/node_modules/semver/functions/lte.js +0 -5
  544. package/node_modules/semver/functions/major.js +0 -5
  545. package/node_modules/semver/functions/minor.js +0 -5
  546. package/node_modules/semver/functions/neq.js +0 -5
  547. package/node_modules/semver/functions/parse.js +0 -18
  548. package/node_modules/semver/functions/patch.js +0 -5
  549. package/node_modules/semver/functions/prerelease.js +0 -8
  550. package/node_modules/semver/functions/rcompare.js +0 -5
  551. package/node_modules/semver/functions/rsort.js +0 -5
  552. package/node_modules/semver/functions/satisfies.js +0 -12
  553. package/node_modules/semver/functions/sort.js +0 -5
  554. package/node_modules/semver/functions/valid.js +0 -8
  555. package/node_modules/semver/index.js +0 -91
  556. package/node_modules/semver/internal/constants.js +0 -37
  557. package/node_modules/semver/internal/debug.js +0 -11
  558. package/node_modules/semver/internal/identifiers.js +0 -29
  559. package/node_modules/semver/internal/lrucache.js +0 -42
  560. package/node_modules/semver/internal/parse-options.js +0 -17
  561. package/node_modules/semver/internal/re.js +0 -223
  562. package/node_modules/semver/package.json +0 -78
  563. package/node_modules/semver/preload.js +0 -4
  564. package/node_modules/semver/range.bnf +0 -16
  565. package/node_modules/semver/ranges/gtr.js +0 -6
  566. package/node_modules/semver/ranges/intersects.js +0 -9
  567. package/node_modules/semver/ranges/ltr.js +0 -6
  568. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  569. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  570. package/node_modules/semver/ranges/min-version.js +0 -63
  571. package/node_modules/semver/ranges/outside.js +0 -82
  572. package/node_modules/semver/ranges/simplify.js +0 -49
  573. package/node_modules/semver/ranges/subset.js +0 -249
  574. package/node_modules/semver/ranges/to-comparators.js +0 -10
  575. package/node_modules/semver/ranges/valid.js +0 -13
  576. package/node_modules/shebang-command/index.js +0 -19
  577. package/node_modules/shebang-command/license +0 -9
  578. package/node_modules/shebang-command/package.json +0 -34
  579. package/node_modules/shebang-command/readme.md +0 -34
  580. package/node_modules/shebang-regex/index.d.ts +0 -22
  581. package/node_modules/shebang-regex/index.js +0 -2
  582. package/node_modules/shebang-regex/license +0 -9
  583. package/node_modules/shebang-regex/package.json +0 -35
  584. package/node_modules/shebang-regex/readme.md +0 -33
  585. package/node_modules/signal-exit/LICENSE.txt +0 -16
  586. package/node_modules/signal-exit/README.md +0 -74
  587. package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
  588. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
  589. package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  590. package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
  591. package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
  592. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
  593. package/node_modules/signal-exit/dist/cjs/index.js +0 -279
  594. package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
  595. package/node_modules/signal-exit/dist/cjs/package.json +0 -3
  596. package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
  597. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
  598. package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  599. package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
  600. package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
  601. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
  602. package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  603. package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
  604. package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
  605. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
  606. package/node_modules/signal-exit/dist/mjs/index.js +0 -275
  607. package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
  608. package/node_modules/signal-exit/dist/mjs/package.json +0 -3
  609. package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
  610. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
  611. package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  612. package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
  613. package/node_modules/signal-exit/package.json +0 -106
  614. package/node_modules/simple-concat/.travis.yml +0 -3
  615. package/node_modules/simple-concat/LICENSE +0 -20
  616. package/node_modules/simple-concat/README.md +0 -44
  617. package/node_modules/simple-concat/index.js +0 -15
  618. package/node_modules/simple-concat/package.json +0 -47
  619. package/node_modules/simple-concat/test/basic.js +0 -41
  620. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  621. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  622. package/node_modules/simple-get/LICENSE +0 -20
  623. package/node_modules/simple-get/README.md +0 -333
  624. package/node_modules/simple-get/index.js +0 -108
  625. package/node_modules/simple-get/package.json +0 -67
  626. package/node_modules/sqlite-vec/README.md +0 -1
  627. package/node_modules/sqlite-vec/package.json +0 -1
  628. package/node_modules/sqlite-vec-linux-x64/README.md +0 -1
  629. package/node_modules/sqlite-vec-linux-x64/package.json +0 -1
  630. package/node_modules/string_decoder/LICENSE +0 -48
  631. package/node_modules/string_decoder/README.md +0 -47
  632. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  633. package/node_modules/string_decoder/package.json +0 -34
  634. package/node_modules/strip-final-newline/index.d.ts +0 -18
  635. package/node_modules/strip-final-newline/index.js +0 -26
  636. package/node_modules/strip-final-newline/license +0 -9
  637. package/node_modules/strip-final-newline/package.json +0 -49
  638. package/node_modules/strip-final-newline/readme.md +0 -34
  639. package/node_modules/strip-json-comments/index.js +0 -70
  640. package/node_modules/strip-json-comments/license +0 -21
  641. package/node_modules/strip-json-comments/package.json +0 -42
  642. package/node_modules/strip-json-comments/readme.md +0 -64
  643. package/node_modules/tar-fs/.travis.yml +0 -6
  644. package/node_modules/tar-fs/LICENSE +0 -21
  645. package/node_modules/tar-fs/README.md +0 -165
  646. package/node_modules/tar-fs/index.js +0 -363
  647. package/node_modules/tar-fs/package.json +0 -41
  648. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  649. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  650. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  651. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  652. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  653. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  654. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  655. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  656. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  657. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  658. package/node_modules/tar-fs/test/index.js +0 -346
  659. package/node_modules/tar-stream/LICENSE +0 -21
  660. package/node_modules/tar-stream/README.md +0 -168
  661. package/node_modules/tar-stream/extract.js +0 -257
  662. package/node_modules/tar-stream/headers.js +0 -295
  663. package/node_modules/tar-stream/index.js +0 -2
  664. package/node_modules/tar-stream/pack.js +0 -255
  665. package/node_modules/tar-stream/package.json +0 -58
  666. package/node_modules/tar-stream/sandbox.js +0 -11
  667. package/node_modules/tunnel-agent/LICENSE +0 -55
  668. package/node_modules/tunnel-agent/README.md +0 -4
  669. package/node_modules/tunnel-agent/index.js +0 -244
  670. package/node_modules/tunnel-agent/package.json +0 -22
  671. package/node_modules/unicorn-magic/default.d.ts +0 -13
  672. package/node_modules/unicorn-magic/default.js +0 -14
  673. package/node_modules/unicorn-magic/license +0 -9
  674. package/node_modules/unicorn-magic/node.d.ts +0 -125
  675. package/node_modules/unicorn-magic/node.js +0 -49
  676. package/node_modules/unicorn-magic/package.json +0 -62
  677. package/node_modules/unicorn-magic/readme.md +0 -25
  678. package/node_modules/util-deprecate/History.md +0 -16
  679. package/node_modules/util-deprecate/LICENSE +0 -24
  680. package/node_modules/util-deprecate/README.md +0 -53
  681. package/node_modules/util-deprecate/browser.js +0 -67
  682. package/node_modules/util-deprecate/node.js +0 -6
  683. package/node_modules/util-deprecate/package.json +0 -27
  684. package/node_modules/which/LICENSE +0 -15
  685. package/node_modules/which/README.md +0 -54
  686. package/node_modules/which/bin/node-which +0 -52
  687. package/node_modules/which/package.json +0 -43
  688. package/node_modules/which/which.js +0 -125
  689. package/node_modules/wrappy/LICENSE +0 -15
  690. package/node_modules/wrappy/README.md +0 -36
  691. package/node_modules/wrappy/package.json +0 -29
  692. package/node_modules/wrappy/wrappy.js +0 -33
  693. package/node_modules/yoctocolors/base.d.ts +0 -47
  694. package/node_modules/yoctocolors/base.js +0 -94
  695. package/node_modules/yoctocolors/index.d.ts +0 -2
  696. package/node_modules/yoctocolors/index.js +0 -2
  697. package/node_modules/yoctocolors/license +0 -9
  698. package/node_modules/yoctocolors/package.json +0 -69
  699. package/node_modules/yoctocolors/readme.md +0 -138
@@ -1,409 +0,0 @@
1
- class CustomTable {
2
- public:
3
-
4
- explicit CustomTable(
5
- v8::Isolate* isolate,
6
- Database* db,
7
- const char* name,
8
- v8::Local<v8::Function> factory
9
- ) :
10
- addon(db->GetAddon()),
11
- isolate(isolate),
12
- db(db),
13
- name(name),
14
- factory(isolate, factory) {}
15
-
16
- static void Destructor(void* self) {
17
- delete static_cast<CustomTable*>(self);
18
- }
19
-
20
- static sqlite3_module MODULE;
21
- static sqlite3_module EPONYMOUS_MODULE;
22
-
23
- private:
24
-
25
- // This nested class is instantiated on each CREATE VIRTUAL TABLE statement.
26
- class VTab { friend class CustomTable;
27
- explicit VTab(
28
- CustomTable* parent,
29
- v8::Local<v8::Function> generator,
30
- std::vector<std::string> parameter_names,
31
- bool safe_ints
32
- ) :
33
- parent(parent),
34
- parameter_count(parameter_names.size()),
35
- safe_ints(safe_ints),
36
- generator(parent->isolate, generator),
37
- parameter_names(parameter_names) {
38
- ((void)base);
39
- }
40
-
41
- static inline CustomTable::VTab* Upcast(sqlite3_vtab* vtab) {
42
- return reinterpret_cast<VTab*>(vtab);
43
- }
44
-
45
- inline sqlite3_vtab* Downcast() {
46
- return reinterpret_cast<sqlite3_vtab*>(this);
47
- }
48
-
49
- sqlite3_vtab base;
50
- CustomTable * const parent;
51
- const int parameter_count;
52
- const bool safe_ints;
53
- const v8::Global<v8::Function> generator;
54
- const std::vector<std::string> parameter_names;
55
- };
56
-
57
- // This nested class is instantiated each time a virtual table is scanned.
58
- class Cursor { friend class CustomTable;
59
- static inline CustomTable::Cursor* Upcast(sqlite3_vtab_cursor* cursor) {
60
- return reinterpret_cast<Cursor*>(cursor);
61
- }
62
-
63
- inline sqlite3_vtab_cursor* Downcast() {
64
- return reinterpret_cast<sqlite3_vtab_cursor*>(this);
65
- }
66
-
67
- inline CustomTable::VTab* GetVTab() {
68
- return VTab::Upcast(base.pVtab);
69
- }
70
-
71
- sqlite3_vtab_cursor base;
72
- v8::Global<v8::Object> iterator;
73
- v8::Global<v8::Function> next;
74
- v8::Global<v8::Array> row;
75
- bool done;
76
- sqlite_int64 rowid;
77
- };
78
-
79
- // This nested class is used by Data::ResultValueFromJS to report errors.
80
- class TempDataConverter : DataConverter { friend class CustomTable;
81
- explicit TempDataConverter(CustomTable* parent) :
82
- parent(parent),
83
- status(SQLITE_OK) {}
84
-
85
- void PropagateJSError(sqlite3_context* invocation) {
86
- status = SQLITE_ERROR;
87
- parent->PropagateJSError();
88
- }
89
-
90
- std::string GetDataErrorPrefix() {
91
- return std::string("Virtual table module \"") + parent->name + "\" yielded";
92
- }
93
-
94
- CustomTable * const parent;
95
- int status;
96
- };
97
-
98
- // Although this function does nothing, we cannot use xConnect directly,
99
- // because that would cause SQLite to register an eponymous virtual table.
100
- static int xCreate(sqlite3* db_handle, void* _self, int argc, const char* const * argv, sqlite3_vtab** output, char** errOutput) {
101
- return xConnect(db_handle, _self, argc, argv, output, errOutput);
102
- }
103
-
104
- // This method uses the factory function to instantiate a new virtual table.
105
- static int xConnect(sqlite3* db_handle, void* _self, int argc, const char* const * argv, sqlite3_vtab** output, char** errOutput) {
106
- CustomTable* self = static_cast<CustomTable*>(_self);
107
- v8::Isolate* isolate = self->isolate;
108
- v8::HandleScope scope(isolate);
109
- UseContext;
110
-
111
- v8::Local<v8::Value>* args = ALLOC_ARRAY<v8::Local<v8::Value>>(argc);
112
- for (int i = 0; i < argc; ++i) {
113
- args[i] = StringFromUtf8(isolate, argv[i], -1);
114
- }
115
-
116
- // Run the factory function to receive a new virtual table definition.
117
- v8::MaybeLocal<v8::Value> maybeReturnValue = self->factory.Get(isolate)->Call(ctx, v8::Undefined(isolate), argc, args);
118
- delete[] args;
119
-
120
- if (maybeReturnValue.IsEmpty()) {
121
- self->PropagateJSError();
122
- return SQLITE_ERROR;
123
- }
124
-
125
- // Extract each part of the virtual table definition.
126
- v8::Local<v8::Array> returnValue = maybeReturnValue.ToLocalChecked().As<v8::Array>();
127
- v8::Local<v8::String> sqlString = returnValue->Get(ctx, 0).ToLocalChecked().As<v8::String>();
128
- v8::Local<v8::Function> generator = returnValue->Get(ctx, 1).ToLocalChecked().As<v8::Function>();
129
- v8::Local<v8::Array> parameterNames = returnValue->Get(ctx, 2).ToLocalChecked().As<v8::Array>();
130
- int safe_ints = returnValue->Get(ctx, 3).ToLocalChecked().As<v8::Int32>()->Value();
131
- bool direct_only = returnValue->Get(ctx, 4).ToLocalChecked().As<v8::Boolean>()->Value();
132
-
133
- v8::String::Utf8Value sql(isolate, sqlString);
134
- safe_ints = safe_ints < 2 ? safe_ints : static_cast<int>(self->db->GetState()->safe_ints);
135
-
136
- // Copy the parameter names into a std::vector.
137
- std::vector<std::string> parameter_names;
138
- for (int i = 0, len = parameterNames->Length(); i < len; ++i) {
139
- v8::Local<v8::String> parameterName = parameterNames->Get(ctx, i).ToLocalChecked().As<v8::String>();
140
- v8::String::Utf8Value parameter_name(isolate, parameterName);
141
- parameter_names.emplace_back(*parameter_name);
142
- }
143
-
144
- // Pass our SQL table definition to SQLite (this should never fail).
145
- if (sqlite3_declare_vtab(db_handle, *sql) != SQLITE_OK) {
146
- *errOutput = sqlite3_mprintf("failed to declare virtual table \"%s\"", argv[2]);
147
- return SQLITE_ERROR;
148
- }
149
- if (direct_only && sqlite3_vtab_config(db_handle, SQLITE_VTAB_DIRECTONLY) != SQLITE_OK) {
150
- *errOutput = sqlite3_mprintf("failed to configure virtual table \"%s\"", argv[2]);
151
- return SQLITE_ERROR;
152
- }
153
-
154
- // Return the successfully created virtual table.
155
- *output = (new VTab(self, generator, parameter_names, safe_ints))->Downcast();
156
- return SQLITE_OK;
157
- }
158
-
159
- static int xDisconnect(sqlite3_vtab* vtab) {
160
- delete VTab::Upcast(vtab);
161
- return SQLITE_OK;
162
- }
163
-
164
- static int xOpen(sqlite3_vtab* vtab, sqlite3_vtab_cursor** output) {
165
- *output = (new Cursor())->Downcast();
166
- return SQLITE_OK;
167
- }
168
-
169
- static int xClose(sqlite3_vtab_cursor* cursor) {
170
- delete Cursor::Upcast(cursor);
171
- return SQLITE_OK;
172
- }
173
-
174
- // This method uses a fresh cursor to start a new scan of a virtual table.
175
- // The args and idxNum are provided by xBestIndex (idxStr is unused).
176
- // idxNum is a bitmap that provides the proper indices of the received args.
177
- static int xFilter(sqlite3_vtab_cursor* _cursor, int idxNum, const char* idxStr, int argc, sqlite3_value** argv) {
178
- Cursor* cursor = Cursor::Upcast(_cursor);
179
- VTab* vtab = cursor->GetVTab();
180
- CustomTable* self = vtab->parent;
181
- Addon* addon = self->addon;
182
- v8::Isolate* isolate = self->isolate;
183
- v8::HandleScope scope(isolate);
184
- UseContext;
185
-
186
- // Convert the SQLite arguments into JavaScript arguments. Note that
187
- // the values in argv may be in the wrong order, so we fix that here.
188
- v8::Local<v8::Value> args_fast[4];
189
- v8::Local<v8::Value>* args = NULL;
190
- int parameter_count = vtab->parameter_count;
191
- if (parameter_count != 0) {
192
- args = parameter_count <= 4 ? args_fast : ALLOC_ARRAY<v8::Local<v8::Value>>(parameter_count);
193
- int argn = 0;
194
- bool safe_ints = vtab->safe_ints;
195
- for (int i = 0; i < parameter_count; ++i) {
196
- if (idxNum & 1 << i) {
197
- args[i] = Data::GetValueJS(isolate, argv[argn++], safe_ints);
198
- // If any arguments are NULL, the result set is necessarily
199
- // empty, so don't bother to run the generator function.
200
- if (args[i]->IsNull()) {
201
- if (args != args_fast) delete[] args;
202
- cursor->done = true;
203
- return SQLITE_OK;
204
- }
205
- } else {
206
- args[i] = v8::Undefined(isolate);
207
- }
208
- }
209
- }
210
-
211
- // Invoke the generator function to create a new iterator.
212
- v8::MaybeLocal<v8::Value> maybeIterator = vtab->generator.Get(isolate)->Call(ctx, v8::Undefined(isolate), parameter_count, args);
213
- if (args != args_fast) delete[] args;
214
-
215
- if (maybeIterator.IsEmpty()) {
216
- self->PropagateJSError();
217
- return SQLITE_ERROR;
218
- }
219
-
220
- // Store the iterator and its next() method; we'll be using it a lot.
221
- v8::Local<v8::Object> iterator = maybeIterator.ToLocalChecked().As<v8::Object>();
222
- v8::Local<v8::Function> next = iterator->Get(ctx, addon->cs.next.Get(isolate)).ToLocalChecked().As<v8::Function>();
223
- cursor->iterator.Reset(isolate, iterator);
224
- cursor->next.Reset(isolate, next);
225
- cursor->rowid = 0;
226
-
227
- // Advance the iterator/cursor to the first row.
228
- return xNext(cursor->Downcast());
229
- }
230
-
231
- // This method advances a virtual table's cursor to the next row.
232
- // SQLite will call this method repeatedly, driving the generator function.
233
- static int xNext(sqlite3_vtab_cursor* _cursor) {
234
- Cursor* cursor = Cursor::Upcast(_cursor);
235
- CustomTable* self = cursor->GetVTab()->parent;
236
- Addon* addon = self->addon;
237
- v8::Isolate* isolate = self->isolate;
238
- v8::HandleScope scope(isolate);
239
- UseContext;
240
-
241
- v8::Local<v8::Object> iterator = cursor->iterator.Get(isolate);
242
- v8::Local<v8::Function> next = cursor->next.Get(isolate);
243
-
244
- v8::MaybeLocal<v8::Value> maybeRecord = next->Call(ctx, iterator, 0, NULL);
245
- if (maybeRecord.IsEmpty()) {
246
- self->PropagateJSError();
247
- return SQLITE_ERROR;
248
- }
249
-
250
- v8::Local<v8::Object> record = maybeRecord.ToLocalChecked().As<v8::Object>();
251
- bool done = record->Get(ctx, addon->cs.done.Get(isolate)).ToLocalChecked().As<v8::Boolean>()->Value();
252
- if (!done) {
253
- cursor->row.Reset(isolate, record->Get(ctx, addon->cs.value.Get(isolate)).ToLocalChecked().As<v8::Array>());
254
- }
255
- cursor->done = done;
256
- cursor->rowid += 1;
257
-
258
- return SQLITE_OK;
259
- }
260
-
261
- // If this method returns 1, SQLite will stop scanning the virtual table.
262
- static int xEof(sqlite3_vtab_cursor* cursor) {
263
- return Cursor::Upcast(cursor)->done;
264
- }
265
-
266
- // This method extracts some column from the cursor's current row.
267
- static int xColumn(sqlite3_vtab_cursor* _cursor, sqlite3_context* invocation, int column) {
268
- Cursor* cursor = Cursor::Upcast(_cursor);
269
- CustomTable* self = cursor->GetVTab()->parent;
270
- TempDataConverter temp_data_converter(self);
271
- v8::Isolate* isolate = self->isolate;
272
- v8::HandleScope scope(isolate);
273
-
274
- v8::Local<v8::Array> row = cursor->row.Get(isolate);
275
- v8::MaybeLocal<v8::Value> maybeColumnValue = row->Get(OnlyContext, column);
276
- if (maybeColumnValue.IsEmpty()) {
277
- temp_data_converter.PropagateJSError(NULL);
278
- } else {
279
- Data::ResultValueFromJS(isolate, invocation, maybeColumnValue.ToLocalChecked(), &temp_data_converter);
280
- }
281
- return temp_data_converter.status;
282
- }
283
-
284
- // This method outputs the rowid of the cursor's current row.
285
- static int xRowid(sqlite3_vtab_cursor* cursor, sqlite_int64* output) {
286
- *output = Cursor::Upcast(cursor)->rowid;
287
- return SQLITE_OK;
288
- }
289
-
290
- // This method tells SQLite how to *plan* queries on our virtual table.
291
- // It gets invoked (typically multiple times) during db.prepare().
292
- static int xBestIndex(sqlite3_vtab* vtab, sqlite3_index_info* output) {
293
- int parameter_count = VTab::Upcast(vtab)->parameter_count;
294
- int argument_count = 0;
295
- std::vector<std::pair<int, int>> forwarded;
296
-
297
- for (int i = 0, len = output->nConstraint; i < len; ++i) {
298
- auto item = output->aConstraint[i];
299
-
300
- // The SQLITE_INDEX_CONSTRAINT_LIMIT and SQLITE_INDEX_CONSTRAINT_OFFSET
301
- // operators have no left-hand operand, and so for those operators the
302
- // corresponding item.iColumn is meaningless.
303
- // We don't care those constraints.
304
- if (item.op == SQLITE_INDEX_CONSTRAINT_LIMIT || item.op == SQLITE_INDEX_CONSTRAINT_OFFSET) {
305
- continue;
306
- }
307
- // We only care about constraints on parameters, not regular columns.
308
- if (item.iColumn >= 0 && item.iColumn < parameter_count) {
309
- if (item.op != SQLITE_INDEX_CONSTRAINT_EQ) {
310
- sqlite3_free(vtab->zErrMsg);
311
- vtab->zErrMsg = sqlite3_mprintf(
312
- "virtual table parameter \"%s\" can only be constrained by the '=' operator",
313
- VTab::Upcast(vtab)->parameter_names.at(item.iColumn).c_str());
314
- return SQLITE_ERROR;
315
- }
316
- if (!item.usable) {
317
- // Don't allow SQLite to make plans that ignore arguments.
318
- // Otherwise, a user could pass arguments, but then they
319
- // could appear undefined in the generator function.
320
- return SQLITE_CONSTRAINT;
321
- }
322
- forwarded.emplace_back(item.iColumn, i);
323
- }
324
- }
325
-
326
- // Tell SQLite to forward arguments to xFilter.
327
- std::sort(forwarded.begin(), forwarded.end());
328
- for (std::pair<int, int> pair : forwarded) {
329
- int bit = 1 << pair.first;
330
- if (!(output->idxNum & bit)) {
331
- output->idxNum |= bit;
332
- output->aConstraintUsage[pair.second].argvIndex = ++argument_count;
333
- output->aConstraintUsage[pair.second].omit = 1;
334
- }
335
- }
336
-
337
- // Use a very high estimated cost so SQLite is not tempted to invoke the
338
- // generator function within a loop, if it can be avoided.
339
- output->estimatedCost = output->estimatedRows = 1000000000 / (argument_count + 1);
340
- return SQLITE_OK;
341
- }
342
-
343
- void PropagateJSError() {
344
- assert(db->GetState()->was_js_error == false);
345
- db->GetState()->was_js_error = true;
346
- }
347
-
348
- Addon* const addon;
349
- v8::Isolate* const isolate;
350
- Database* const db;
351
- const std::string name;
352
- const v8::Global<v8::Function> factory;
353
- };
354
-
355
- sqlite3_module CustomTable::MODULE = {
356
- 0, /* iVersion */
357
- xCreate, /* xCreate */
358
- xConnect, /* xConnect */
359
- xBestIndex, /* xBestIndex */
360
- xDisconnect, /* xDisconnect */
361
- xDisconnect, /* xDestroy */
362
- xOpen, /* xOpen */
363
- xClose, /* xClose */
364
- xFilter, /* xFilter */
365
- xNext, /* xNext */
366
- xEof, /* xEof */
367
- xColumn, /* xColumn */
368
- xRowid, /* xRowid */
369
- NULL, /* xUpdate */
370
- NULL, /* xBegin */
371
- NULL, /* xSync */
372
- NULL, /* xCommit */
373
- NULL, /* xRollback */
374
- NULL, /* xFindMethod */
375
- NULL, /* xRename */
376
- NULL, /* xSavepoint */
377
- NULL, /* xRelease */
378
- NULL, /* xRollbackTo */
379
- NULL, /* xShadowName */
380
- NULL /* xIntegrity */
381
- };
382
-
383
- sqlite3_module CustomTable::EPONYMOUS_MODULE = {
384
- 0, /* iVersion */
385
- NULL, /* xCreate */
386
- xConnect, /* xConnect */
387
- xBestIndex, /* xBestIndex */
388
- xDisconnect, /* xDisconnect */
389
- xDisconnect, /* xDestroy */
390
- xOpen, /* xOpen */
391
- xClose, /* xClose */
392
- xFilter, /* xFilter */
393
- xNext, /* xNext */
394
- xEof, /* xEof */
395
- xColumn, /* xColumn */
396
- xRowid, /* xRowid */
397
- NULL, /* xUpdate */
398
- NULL, /* xBegin */
399
- NULL, /* xSync */
400
- NULL, /* xCommit */
401
- NULL, /* xRollback */
402
- NULL, /* xFindMethod */
403
- NULL, /* xRename */
404
- NULL, /* xSavepoint */
405
- NULL, /* xRelease */
406
- NULL, /* xRollbackTo */
407
- NULL, /* xShadowName */
408
- NULL /* xIntegrity */
409
- };
@@ -1,17 +0,0 @@
1
- class DataConverter {
2
- public:
3
-
4
- void ThrowDataConversionError(sqlite3_context* invocation, bool isBigInt) {
5
- if (isBigInt) {
6
- ThrowRangeError((GetDataErrorPrefix() + " a bigint that was too big").c_str());
7
- } else {
8
- ThrowTypeError((GetDataErrorPrefix() + " an invalid value").c_str());
9
- }
10
- PropagateJSError(invocation);
11
- }
12
-
13
- protected:
14
-
15
- virtual void PropagateJSError(sqlite3_context* invocation) = 0;
16
- virtual std::string GetDataErrorPrefix() = 0;
17
- };
@@ -1,194 +0,0 @@
1
- #define JS_VALUE_TO_SQLITE(to, value, isolate, ...) \
2
- if (value->IsNumber()) { \
3
- return sqlite3_##to##_double( \
4
- __VA_ARGS__, \
5
- value.As<v8::Number>()->Value() \
6
- ); \
7
- } else if (value->IsBigInt()) { \
8
- bool lossless; \
9
- int64_t v = value.As<v8::BigInt>()->Int64Value(&lossless); \
10
- if (lossless) { \
11
- return sqlite3_##to##_int64(__VA_ARGS__, v); \
12
- } \
13
- } else if (value->IsString()) { \
14
- v8::String::Utf8Value utf8(isolate, value.As<v8::String>()); \
15
- return sqlite3_##to##_text( \
16
- __VA_ARGS__, \
17
- *utf8, \
18
- utf8.length(), \
19
- SQLITE_TRANSIENT \
20
- ); \
21
- } else if (node::Buffer::HasInstance(value)) { \
22
- const char* data = node::Buffer::Data(value); \
23
- return sqlite3_##to##_blob( \
24
- __VA_ARGS__, \
25
- data ? data : "", \
26
- node::Buffer::Length(value), \
27
- SQLITE_TRANSIENT \
28
- ); \
29
- } else if (value->IsNull() || value->IsUndefined()) { \
30
- return sqlite3_##to##_null(__VA_ARGS__); \
31
- }
32
-
33
- #define SQLITE_VALUE_TO_JS(from, isolate, safe_ints, ...) \
34
- switch (sqlite3_##from##_type(__VA_ARGS__)) { \
35
- case SQLITE_INTEGER: \
36
- if (safe_ints) { \
37
- return v8::BigInt::New( \
38
- isolate, \
39
- sqlite3_##from##_int64(__VA_ARGS__) \
40
- ); \
41
- } \
42
- case SQLITE_FLOAT: \
43
- return v8::Number::New( \
44
- isolate, \
45
- sqlite3_##from##_double(__VA_ARGS__) \
46
- ); \
47
- case SQLITE_TEXT: \
48
- return StringFromUtf8( \
49
- isolate, \
50
- reinterpret_cast<const char*>(sqlite3_##from##_text(__VA_ARGS__)), \
51
- sqlite3_##from##_bytes(__VA_ARGS__) \
52
- ); \
53
- case SQLITE_BLOB: \
54
- return node::Buffer::Copy( \
55
- isolate, \
56
- static_cast<const char*>(sqlite3_##from##_blob(__VA_ARGS__)), \
57
- sqlite3_##from##_bytes(__VA_ARGS__) \
58
- ).ToLocalChecked(); \
59
- default: \
60
- assert(sqlite3_##from##_type(__VA_ARGS__) == SQLITE_NULL); \
61
- return v8::Null(isolate); \
62
- } \
63
- assert(false);
64
-
65
- namespace Data {
66
-
67
- static const char FLAT = 0;
68
- static const char PLUCK = 1;
69
- static const char EXPAND = 2;
70
- static const char RAW = 3;
71
-
72
- v8::Local<v8::Value> GetValueJS(v8::Isolate* isolate, sqlite3_stmt* handle, int column, bool safe_ints) {
73
- SQLITE_VALUE_TO_JS(column, isolate, safe_ints, handle, column);
74
- }
75
-
76
- v8::Local<v8::Value> GetValueJS(v8::Isolate* isolate, sqlite3_value* value, bool safe_ints) {
77
- SQLITE_VALUE_TO_JS(value, isolate, safe_ints, value);
78
- }
79
-
80
- v8::Local<v8::Value> GetExpandedRowJS(v8::Isolate* isolate, v8::Local<v8::Context> ctx, sqlite3_stmt* handle, bool safe_ints) {
81
- v8::Local<v8::Object> row = v8::Object::New(isolate);
82
- int column_count = sqlite3_column_count(handle);
83
- for (int i = 0; i < column_count; ++i) {
84
- const char* table_raw = sqlite3_column_table_name(handle, i);
85
- v8::Local<v8::String> table = InternalizedFromUtf8(isolate, table_raw == NULL ? "$" : table_raw, -1);
86
- v8::Local<v8::String> column = InternalizedFromUtf8(isolate, sqlite3_column_name(handle, i), -1);
87
- v8::Local<v8::Value> value = Data::GetValueJS(isolate, handle, i, safe_ints);
88
- if (row->HasOwnProperty(ctx, table).FromJust()) {
89
- row->Get(ctx, table).ToLocalChecked().As<v8::Object>()->Set(ctx, column, value).FromJust();
90
- } else {
91
- v8::Local<v8::Object> nested = v8::Object::New(isolate);
92
- row->Set(ctx, table, nested).FromJust();
93
- nested->Set(ctx, column, value).FromJust();
94
- }
95
- }
96
- return row;
97
- }
98
-
99
- #if !defined(NODE_MODULE_VERSION) || NODE_MODULE_VERSION < 127
100
-
101
- v8::Local<v8::Value> GetFlatRowJS(v8::Isolate* isolate, v8::Local<v8::Context> ctx, sqlite3_stmt* handle, bool safe_ints) {
102
- v8::Local<v8::Object> row = v8::Object::New(isolate);
103
- int column_count = sqlite3_column_count(handle);
104
- for (int i = 0; i < column_count; ++i) {
105
- row->Set(ctx,
106
- InternalizedFromUtf8(isolate, sqlite3_column_name(handle, i), -1),
107
- Data::GetValueJS(isolate, handle, i, safe_ints)
108
- ).FromJust();
109
- }
110
- return row;
111
- }
112
-
113
- v8::Local<v8::Value> GetRawRowJS(v8::Isolate* isolate, v8::Local<v8::Context> ctx, sqlite3_stmt* handle, bool safe_ints) {
114
- v8::Local<v8::Array> row = v8::Array::New(isolate);
115
- int column_count = sqlite3_column_count(handle);
116
- for (int i = 0; i < column_count; ++i) {
117
- row->Set(ctx, i, Data::GetValueJS(isolate, handle, i, safe_ints)).FromJust();
118
- }
119
- return row;
120
- }
121
-
122
- v8::Local<v8::Value> GetRowJS(v8::Isolate* isolate, v8::Local<v8::Context> ctx, sqlite3_stmt* handle, bool safe_ints, char mode) {
123
- if (mode == FLAT) return GetFlatRowJS(isolate, ctx, handle, safe_ints);
124
- if (mode == PLUCK) return GetValueJS(isolate, handle, 0, safe_ints);
125
- if (mode == EXPAND) return GetExpandedRowJS(isolate, ctx, handle, safe_ints);
126
- if (mode == RAW) return GetRawRowJS(isolate, ctx, handle, safe_ints);
127
- assert(false);
128
- return v8::Local<v8::Value>();
129
- }
130
-
131
- #else
132
-
133
- v8::Local<v8::Value> GetFlatRowJS(v8::Isolate* isolate, sqlite3_stmt* handle, bool safe_ints) {
134
- int column_count = sqlite3_column_count(handle);
135
- v8::LocalVector<v8::Name> keys(isolate);
136
- v8::LocalVector<v8::Value> values(isolate);
137
- keys.reserve(column_count);
138
- values.reserve(column_count);
139
- for (int i = 0; i < column_count; ++i) {
140
- keys.emplace_back(
141
- InternalizedFromUtf8(isolate, sqlite3_column_name(handle, i), -1).As<v8::Name>()
142
- );
143
- values.emplace_back(
144
- Data::GetValueJS(isolate, handle, i, safe_ints)
145
- );
146
- }
147
- return v8::Object::New(
148
- isolate,
149
- GET_PROTOTYPE(v8::Object::New(isolate)),
150
- keys.data(),
151
- values.data(),
152
- column_count
153
- );
154
- }
155
-
156
- v8::Local<v8::Value> GetRawRowJS(v8::Isolate* isolate, sqlite3_stmt* handle, bool safe_ints) {
157
- int column_count = sqlite3_column_count(handle);
158
- v8::LocalVector<v8::Value> row(isolate);
159
- row.reserve(column_count);
160
- for (int i = 0; i < column_count; ++i) {
161
- row.emplace_back(Data::GetValueJS(isolate, handle, i, safe_ints));
162
- }
163
- return v8::Array::New(isolate, row.data(), row.size());
164
- }
165
-
166
- v8::Local<v8::Value> GetRowJS(v8::Isolate* isolate, v8::Local<v8::Context> ctx, sqlite3_stmt* handle, bool safe_ints, char mode) {
167
- if (mode == FLAT) return GetFlatRowJS(isolate, handle, safe_ints);
168
- if (mode == PLUCK) return GetValueJS(isolate, handle, 0, safe_ints);
169
- if (mode == EXPAND) return GetExpandedRowJS(isolate, ctx, handle, safe_ints);
170
- if (mode == RAW) return GetRawRowJS(isolate, handle, safe_ints);
171
- assert(false);
172
- return v8::Local<v8::Value>();
173
- }
174
-
175
- #endif
176
-
177
- void GetArgumentsJS(v8::Isolate* isolate, v8::Local<v8::Value>* out, sqlite3_value** values, int argument_count, bool safe_ints) {
178
- assert(argument_count > 0);
179
- for (int i = 0; i < argument_count; ++i) {
180
- out[i] = Data::GetValueJS(isolate, values[i], safe_ints);
181
- }
182
- }
183
-
184
- int BindValueFromJS(v8::Isolate* isolate, sqlite3_stmt* handle, int index, v8::Local<v8::Value> value) {
185
- JS_VALUE_TO_SQLITE(bind, value, isolate, handle, index);
186
- return value->IsBigInt() ? SQLITE_TOOBIG : -1;
187
- }
188
-
189
- void ResultValueFromJS(v8::Isolate* isolate, sqlite3_context* invocation, v8::Local<v8::Value> value, DataConverter* converter) {
190
- JS_VALUE_TO_SQLITE(result, value, isolate, invocation);
191
- converter->ThrowDataConversionError(invocation, value->IsBigInt());
192
- }
193
-
194
- }