karajan-code 3.4.1 → 3.5.0

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 (716) 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/src/cli/register-meta.js +37 -0
  6. package/src/cli/register-pipeline.js +1 -0
  7. package/src/commands/check.js +22 -0
  8. package/src/commands/harden.js +107 -0
  9. package/src/commands/init.js +15 -0
  10. package/src/harden/check.js +70 -0
  11. package/src/harden/config-engine.js +75 -0
  12. package/src/harden/config-templates.js +112 -0
  13. package/src/harden/guidelines-engine.js +48 -0
  14. package/src/harden/guidelines-templates.js +36 -0
  15. package/src/harden/harden-engine.js +66 -0
  16. package/src/harden/hook-commands.js +20 -0
  17. package/src/harden/hook-templates.js +69 -0
  18. package/src/harden/stack-roots.js +74 -0
  19. package/src/harden/workflow-engine.js +64 -0
  20. package/src/harden/workflow-templates.js +152 -0
  21. package/src/utils/managed-markers.js +93 -0
  22. package/node_modules/@sec-ant/readable-stream/LICENSE +0 -21
  23. package/node_modules/@sec-ant/readable-stream/README.md +0 -230
  24. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterablePrototype.d.ts +0 -1
  25. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterator.d.ts +0 -27
  26. package/node_modules/@sec-ant/readable-stream/dist/core/fromAnyIterable.d.ts +0 -6
  27. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.d.ts +0 -2
  28. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +0 -5
  29. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.d.ts +0 -2
  30. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +0 -5
  31. package/node_modules/@sec-ant/readable-stream/dist/index/index.d.ts +0 -2
  32. package/node_modules/@sec-ant/readable-stream/dist/index/index.js +0 -8
  33. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.d.ts +0 -1
  34. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +0 -3
  35. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.d.ts +0 -1
  36. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +0 -2
  37. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.d.ts +0 -2
  38. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +0 -4
  39. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.d.ts +0 -1
  40. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +0 -89
  41. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.d.ts +0 -1
  42. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +0 -34
  43. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.d.ts +0 -2
  44. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +0 -6
  45. package/node_modules/@sec-ant/readable-stream/dist/types/async-iterator.d.ts +0 -11
  46. package/node_modules/@sec-ant/readable-stream/package.json +0 -96
  47. package/node_modules/@sindresorhus/merge-streams/index.d.ts +0 -44
  48. package/node_modules/@sindresorhus/merge-streams/index.js +0 -265
  49. package/node_modules/@sindresorhus/merge-streams/license +0 -9
  50. package/node_modules/@sindresorhus/merge-streams/package.json +0 -49
  51. package/node_modules/@sindresorhus/merge-streams/readme.md +0 -53
  52. package/node_modules/base64-js/LICENSE +0 -21
  53. package/node_modules/base64-js/README.md +0 -34
  54. package/node_modules/base64-js/base64js.min.js +0 -1
  55. package/node_modules/base64-js/index.d.ts +0 -3
  56. package/node_modules/base64-js/index.js +0 -150
  57. package/node_modules/base64-js/package.json +0 -47
  58. package/node_modules/better-sqlite3/LICENSE +0 -21
  59. package/node_modules/better-sqlite3/README.md +0 -99
  60. package/node_modules/better-sqlite3/binding.gyp +0 -38
  61. package/node_modules/better-sqlite3/deps/common.gypi +0 -68
  62. package/node_modules/better-sqlite3/deps/copy.js +0 -31
  63. package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
  64. package/node_modules/better-sqlite3/deps/download.sh +0 -123
  65. package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  66. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -268879
  67. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14335
  68. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
  69. package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  70. package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  71. package/node_modules/better-sqlite3/lib/database.js +0 -90
  72. package/node_modules/better-sqlite3/lib/index.js +0 -3
  73. package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  74. package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  75. package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  76. package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  77. package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  78. package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  79. package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  80. package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  81. package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  82. package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  83. package/node_modules/better-sqlite3/lib/util.js +0 -12
  84. package/node_modules/better-sqlite3/package.json +0 -59
  85. package/node_modules/better-sqlite3/src/addon.cpp +0 -47
  86. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  87. package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  88. package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  89. package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  90. package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  91. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  92. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  93. package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  94. package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  95. package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  96. package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  97. package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  98. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  99. package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  100. package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  101. package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  102. package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  103. package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  104. package/node_modules/better-sqlite3/src/util/macros.cpp +0 -83
  105. package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  106. package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  107. package/node_modules/bindings/LICENSE.md +0 -22
  108. package/node_modules/bindings/README.md +0 -98
  109. package/node_modules/bindings/bindings.js +0 -221
  110. package/node_modules/bindings/package.json +0 -28
  111. package/node_modules/bl/.travis.yml +0 -17
  112. package/node_modules/bl/BufferList.js +0 -396
  113. package/node_modules/bl/LICENSE.md +0 -13
  114. package/node_modules/bl/README.md +0 -247
  115. package/node_modules/bl/bl.js +0 -84
  116. package/node_modules/bl/package.json +0 -37
  117. package/node_modules/bl/test/convert.js +0 -21
  118. package/node_modules/bl/test/indexOf.js +0 -492
  119. package/node_modules/bl/test/isBufferList.js +0 -32
  120. package/node_modules/bl/test/test.js +0 -869
  121. package/node_modules/buffer/AUTHORS.md +0 -70
  122. package/node_modules/buffer/LICENSE +0 -21
  123. package/node_modules/buffer/README.md +0 -410
  124. package/node_modules/buffer/index.d.ts +0 -186
  125. package/node_modules/buffer/index.js +0 -1817
  126. package/node_modules/buffer/package.json +0 -96
  127. package/node_modules/chownr/LICENSE +0 -15
  128. package/node_modules/chownr/README.md +0 -3
  129. package/node_modules/chownr/chownr.js +0 -167
  130. package/node_modules/chownr/package.json +0 -29
  131. package/node_modules/cross-spawn/LICENSE +0 -21
  132. package/node_modules/cross-spawn/README.md +0 -89
  133. package/node_modules/cross-spawn/index.js +0 -39
  134. package/node_modules/cross-spawn/lib/enoent.js +0 -59
  135. package/node_modules/cross-spawn/lib/parse.js +0 -91
  136. package/node_modules/cross-spawn/lib/util/escape.js +0 -47
  137. package/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  138. package/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  139. package/node_modules/cross-spawn/package.json +0 -73
  140. package/node_modules/decompress-response/index.d.ts +0 -22
  141. package/node_modules/decompress-response/index.js +0 -58
  142. package/node_modules/decompress-response/license +0 -9
  143. package/node_modules/decompress-response/package.json +0 -56
  144. package/node_modules/decompress-response/readme.md +0 -48
  145. package/node_modules/deep-extend/LICENSE +0 -20
  146. package/node_modules/deep-extend/README.md +0 -91
  147. package/node_modules/deep-extend/index.js +0 -1
  148. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  149. package/node_modules/deep-extend/package.json +0 -62
  150. package/node_modules/detect-libc/LICENSE +0 -201
  151. package/node_modules/detect-libc/README.md +0 -163
  152. package/node_modules/detect-libc/index.d.ts +0 -14
  153. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  154. package/node_modules/detect-libc/lib/elf.js +0 -39
  155. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  156. package/node_modules/detect-libc/lib/process.js +0 -24
  157. package/node_modules/detect-libc/package.json +0 -44
  158. package/node_modules/end-of-stream/LICENSE +0 -21
  159. package/node_modules/end-of-stream/README.md +0 -54
  160. package/node_modules/end-of-stream/index.js +0 -96
  161. package/node_modules/end-of-stream/package.json +0 -37
  162. package/node_modules/execa/index.d.ts +0 -27
  163. package/node_modules/execa/index.js +0 -28
  164. package/node_modules/execa/lib/arguments/command.js +0 -20
  165. package/node_modules/execa/lib/arguments/cwd.js +0 -39
  166. package/node_modules/execa/lib/arguments/encoding-option.js +0 -50
  167. package/node_modules/execa/lib/arguments/escape.js +0 -88
  168. package/node_modules/execa/lib/arguments/fd-options.js +0 -108
  169. package/node_modules/execa/lib/arguments/file-url.js +0 -25
  170. package/node_modules/execa/lib/arguments/options.js +0 -96
  171. package/node_modules/execa/lib/arguments/shell.js +0 -11
  172. package/node_modules/execa/lib/arguments/specific.js +0 -111
  173. package/node_modules/execa/lib/convert/add.js +0 -15
  174. package/node_modules/execa/lib/convert/concurrent.js +0 -33
  175. package/node_modules/execa/lib/convert/duplex.js +0 -69
  176. package/node_modules/execa/lib/convert/iterable.js +0 -34
  177. package/node_modules/execa/lib/convert/readable.js +0 -113
  178. package/node_modules/execa/lib/convert/shared.js +0 -46
  179. package/node_modules/execa/lib/convert/writable.js +0 -90
  180. package/node_modules/execa/lib/io/contents.js +0 -116
  181. package/node_modules/execa/lib/io/input-sync.js +0 -44
  182. package/node_modules/execa/lib/io/iterate.js +0 -110
  183. package/node_modules/execa/lib/io/max-buffer.js +0 -89
  184. package/node_modules/execa/lib/io/output-async.js +0 -80
  185. package/node_modules/execa/lib/io/output-sync.js +0 -135
  186. package/node_modules/execa/lib/io/pipeline.js +0 -48
  187. package/node_modules/execa/lib/io/strip-newline.js +0 -12
  188. package/node_modules/execa/lib/ipc/array.js +0 -4
  189. package/node_modules/execa/lib/ipc/buffer-messages.js +0 -47
  190. package/node_modules/execa/lib/ipc/forward.js +0 -56
  191. package/node_modules/execa/lib/ipc/get-each.js +0 -89
  192. package/node_modules/execa/lib/ipc/get-one.js +0 -69
  193. package/node_modules/execa/lib/ipc/graceful.js +0 -72
  194. package/node_modules/execa/lib/ipc/incoming.js +0 -79
  195. package/node_modules/execa/lib/ipc/ipc-input.js +0 -44
  196. package/node_modules/execa/lib/ipc/methods.js +0 -49
  197. package/node_modules/execa/lib/ipc/outgoing.js +0 -47
  198. package/node_modules/execa/lib/ipc/reference.js +0 -44
  199. package/node_modules/execa/lib/ipc/send.js +0 -91
  200. package/node_modules/execa/lib/ipc/strict.js +0 -113
  201. package/node_modules/execa/lib/ipc/validation.js +0 -111
  202. package/node_modules/execa/lib/methods/bind.js +0 -23
  203. package/node_modules/execa/lib/methods/command.js +0 -43
  204. package/node_modules/execa/lib/methods/create.js +0 -65
  205. package/node_modules/execa/lib/methods/main-async.js +0 -194
  206. package/node_modules/execa/lib/methods/main-sync.js +0 -163
  207. package/node_modules/execa/lib/methods/node.js +0 -51
  208. package/node_modules/execa/lib/methods/parameters.js +0 -31
  209. package/node_modules/execa/lib/methods/promise.js +0 -15
  210. package/node_modules/execa/lib/methods/script.js +0 -22
  211. package/node_modules/execa/lib/methods/template.js +0 -153
  212. package/node_modules/execa/lib/pipe/abort.js +0 -20
  213. package/node_modules/execa/lib/pipe/pipe-arguments.js +0 -91
  214. package/node_modules/execa/lib/pipe/sequence.js +0 -24
  215. package/node_modules/execa/lib/pipe/setup.js +0 -72
  216. package/node_modules/execa/lib/pipe/streaming.js +0 -51
  217. package/node_modules/execa/lib/pipe/throw.js +0 -58
  218. package/node_modules/execa/lib/resolve/all-async.js +0 -46
  219. package/node_modules/execa/lib/resolve/all-sync.js +0 -33
  220. package/node_modules/execa/lib/resolve/exit-async.js +0 -54
  221. package/node_modules/execa/lib/resolve/exit-sync.js +0 -25
  222. package/node_modules/execa/lib/resolve/stdio.js +0 -47
  223. package/node_modules/execa/lib/resolve/wait-stream.js +0 -96
  224. package/node_modules/execa/lib/resolve/wait-subprocess.js +0 -146
  225. package/node_modules/execa/lib/return/duration.js +0 -8
  226. package/node_modules/execa/lib/return/early-error.js +0 -60
  227. package/node_modules/execa/lib/return/final-error.js +0 -40
  228. package/node_modules/execa/lib/return/message.js +0 -157
  229. package/node_modules/execa/lib/return/reject.js +0 -13
  230. package/node_modules/execa/lib/return/result.js +0 -186
  231. package/node_modules/execa/lib/stdio/direction.js +0 -76
  232. package/node_modules/execa/lib/stdio/duplicate.js +0 -116
  233. package/node_modules/execa/lib/stdio/handle-async.js +0 -52
  234. package/node_modules/execa/lib/stdio/handle-sync.js +0 -57
  235. package/node_modules/execa/lib/stdio/handle.js +0 -214
  236. package/node_modules/execa/lib/stdio/input-option.js +0 -50
  237. package/node_modules/execa/lib/stdio/native.js +0 -106
  238. package/node_modules/execa/lib/stdio/stdio-option.js +0 -60
  239. package/node_modules/execa/lib/stdio/type.js +0 -173
  240. package/node_modules/execa/lib/terminate/cancel.js +0 -20
  241. package/node_modules/execa/lib/terminate/cleanup.js +0 -16
  242. package/node_modules/execa/lib/terminate/graceful.js +0 -71
  243. package/node_modules/execa/lib/terminate/kill.js +0 -93
  244. package/node_modules/execa/lib/terminate/signal.js +0 -70
  245. package/node_modules/execa/lib/terminate/timeout.js +0 -21
  246. package/node_modules/execa/lib/transform/encoding-transform.js +0 -51
  247. package/node_modules/execa/lib/transform/generator.js +0 -107
  248. package/node_modules/execa/lib/transform/normalize.js +0 -111
  249. package/node_modules/execa/lib/transform/object-mode.js +0 -41
  250. package/node_modules/execa/lib/transform/run-async.js +0 -60
  251. package/node_modules/execa/lib/transform/run-sync.js +0 -50
  252. package/node_modules/execa/lib/transform/split.js +0 -110
  253. package/node_modules/execa/lib/transform/validate.js +0 -43
  254. package/node_modules/execa/lib/utils/abort-signal.js +0 -8
  255. package/node_modules/execa/lib/utils/deferred.js +0 -7
  256. package/node_modules/execa/lib/utils/max-listeners.js +0 -14
  257. package/node_modules/execa/lib/utils/standard-stream.js +0 -6
  258. package/node_modules/execa/lib/utils/uint-array.js +0 -69
  259. package/node_modules/execa/lib/verbose/complete.js +0 -24
  260. package/node_modules/execa/lib/verbose/custom.js +0 -26
  261. package/node_modules/execa/lib/verbose/default.js +0 -54
  262. package/node_modules/execa/lib/verbose/error.js +0 -13
  263. package/node_modules/execa/lib/verbose/info.js +0 -39
  264. package/node_modules/execa/lib/verbose/ipc.js +0 -15
  265. package/node_modules/execa/lib/verbose/log.js +0 -54
  266. package/node_modules/execa/lib/verbose/output.js +0 -60
  267. package/node_modules/execa/lib/verbose/start.js +0 -15
  268. package/node_modules/execa/lib/verbose/values.js +0 -33
  269. package/node_modules/execa/license +0 -9
  270. package/node_modules/execa/package.json +0 -105
  271. package/node_modules/execa/readme.md +0 -461
  272. package/node_modules/execa/types/arguments/encoding-option.d.ts +0 -19
  273. package/node_modules/execa/types/arguments/fd-options.d.ts +0 -8
  274. package/node_modules/execa/types/arguments/options.d.ts +0 -400
  275. package/node_modules/execa/types/arguments/specific.d.ts +0 -52
  276. package/node_modules/execa/types/convert.d.ts +0 -58
  277. package/node_modules/execa/types/ipc.d.ts +0 -156
  278. package/node_modules/execa/types/methods/command.d.ts +0 -114
  279. package/node_modules/execa/types/methods/main-async.d.ts +0 -379
  280. package/node_modules/execa/types/methods/main-sync.d.ts +0 -59
  281. package/node_modules/execa/types/methods/node.d.ts +0 -62
  282. package/node_modules/execa/types/methods/script.d.ts +0 -115
  283. package/node_modules/execa/types/methods/template.d.ts +0 -18
  284. package/node_modules/execa/types/pipe.d.ts +0 -58
  285. package/node_modules/execa/types/return/final-error.d.ts +0 -51
  286. package/node_modules/execa/types/return/ignore.d.ts +0 -26
  287. package/node_modules/execa/types/return/result-all.d.ts +0 -30
  288. package/node_modules/execa/types/return/result-ipc.d.ts +0 -27
  289. package/node_modules/execa/types/return/result-stdio.d.ts +0 -17
  290. package/node_modules/execa/types/return/result-stdout.d.ts +0 -50
  291. package/node_modules/execa/types/return/result.d.ts +0 -203
  292. package/node_modules/execa/types/stdio/array.d.ts +0 -16
  293. package/node_modules/execa/types/stdio/direction.d.ts +0 -12
  294. package/node_modules/execa/types/stdio/option.d.ts +0 -40
  295. package/node_modules/execa/types/stdio/type.d.ts +0 -170
  296. package/node_modules/execa/types/subprocess/all.d.ts +0 -17
  297. package/node_modules/execa/types/subprocess/stdio.d.ts +0 -18
  298. package/node_modules/execa/types/subprocess/stdout.d.ts +0 -22
  299. package/node_modules/execa/types/subprocess/subprocess.d.ts +0 -117
  300. package/node_modules/execa/types/transform/normalize.d.ts +0 -57
  301. package/node_modules/execa/types/transform/object-mode.d.ts +0 -21
  302. package/node_modules/execa/types/utils.d.ts +0 -13
  303. package/node_modules/execa/types/verbose.d.ts +0 -98
  304. package/node_modules/expand-template/.travis.yml +0 -6
  305. package/node_modules/expand-template/LICENSE +0 -21
  306. package/node_modules/expand-template/README.md +0 -43
  307. package/node_modules/expand-template/index.js +0 -26
  308. package/node_modules/expand-template/package.json +0 -29
  309. package/node_modules/expand-template/test.js +0 -67
  310. package/node_modules/figures/index.d.ts +0 -279
  311. package/node_modules/figures/index.js +0 -292
  312. package/node_modules/figures/license +0 -9
  313. package/node_modules/figures/package.json +0 -49
  314. package/node_modules/figures/readme.md +0 -337
  315. package/node_modules/file-uri-to-path/.npmignore +0 -1
  316. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  317. package/node_modules/file-uri-to-path/History.md +0 -21
  318. package/node_modules/file-uri-to-path/LICENSE +0 -20
  319. package/node_modules/file-uri-to-path/README.md +0 -74
  320. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  321. package/node_modules/file-uri-to-path/index.js +0 -66
  322. package/node_modules/file-uri-to-path/package.json +0 -32
  323. package/node_modules/file-uri-to-path/test/test.js +0 -24
  324. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  325. package/node_modules/fs-constants/LICENSE +0 -21
  326. package/node_modules/fs-constants/README.md +0 -26
  327. package/node_modules/fs-constants/browser.js +0 -1
  328. package/node_modules/fs-constants/index.js +0 -1
  329. package/node_modules/fs-constants/package.json +0 -19
  330. package/node_modules/get-stream/license +0 -9
  331. package/node_modules/get-stream/package.json +0 -60
  332. package/node_modules/get-stream/readme.md +0 -303
  333. package/node_modules/get-stream/source/array-buffer.js +0 -84
  334. package/node_modules/get-stream/source/array.js +0 -32
  335. package/node_modules/get-stream/source/buffer.js +0 -19
  336. package/node_modules/get-stream/source/contents.js +0 -121
  337. package/node_modules/get-stream/source/exports.js +0 -5
  338. package/node_modules/get-stream/source/index.d.ts +0 -121
  339. package/node_modules/get-stream/source/index.js +0 -13
  340. package/node_modules/get-stream/source/stream.js +0 -65
  341. package/node_modules/get-stream/source/string.js +0 -41
  342. package/node_modules/get-stream/source/utils.js +0 -11
  343. package/node_modules/github-from-package/.travis.yml +0 -4
  344. package/node_modules/github-from-package/LICENSE +0 -18
  345. package/node_modules/github-from-package/example/package.json +0 -8
  346. package/node_modules/github-from-package/example/url.js +0 -3
  347. package/node_modules/github-from-package/index.js +0 -17
  348. package/node_modules/github-from-package/package.json +0 -30
  349. package/node_modules/github-from-package/readme.markdown +0 -53
  350. package/node_modules/github-from-package/test/a.json +0 -8
  351. package/node_modules/github-from-package/test/b.json +0 -5
  352. package/node_modules/github-from-package/test/c.json +0 -5
  353. package/node_modules/github-from-package/test/d.json +0 -7
  354. package/node_modules/github-from-package/test/e.json +0 -5
  355. package/node_modules/github-from-package/test/url.js +0 -19
  356. package/node_modules/human-signals/LICENSE +0 -201
  357. package/node_modules/human-signals/README.md +0 -171
  358. package/node_modules/human-signals/build/src/core.js +0 -273
  359. package/node_modules/human-signals/build/src/main.d.ts +0 -206
  360. package/node_modules/human-signals/build/src/main.js +0 -70
  361. package/node_modules/human-signals/build/src/realtime.js +0 -16
  362. package/node_modules/human-signals/build/src/signals.js +0 -34
  363. package/node_modules/human-signals/package.json +0 -66
  364. package/node_modules/ieee754/LICENSE +0 -11
  365. package/node_modules/ieee754/README.md +0 -51
  366. package/node_modules/ieee754/index.d.ts +0 -10
  367. package/node_modules/ieee754/index.js +0 -85
  368. package/node_modules/ieee754/package.json +0 -52
  369. package/node_modules/inherits/LICENSE +0 -16
  370. package/node_modules/inherits/README.md +0 -42
  371. package/node_modules/inherits/inherits.js +0 -9
  372. package/node_modules/inherits/inherits_browser.js +0 -27
  373. package/node_modules/inherits/package.json +0 -29
  374. package/node_modules/ini/LICENSE +0 -15
  375. package/node_modules/ini/README.md +0 -102
  376. package/node_modules/ini/ini.js +0 -206
  377. package/node_modules/ini/package.json +0 -33
  378. package/node_modules/is-plain-obj/index.d.ts +0 -35
  379. package/node_modules/is-plain-obj/index.js +0 -8
  380. package/node_modules/is-plain-obj/license +0 -9
  381. package/node_modules/is-plain-obj/package.json +0 -41
  382. package/node_modules/is-plain-obj/readme.md +0 -58
  383. package/node_modules/is-stream/index.d.ts +0 -90
  384. package/node_modules/is-stream/index.js +0 -37
  385. package/node_modules/is-stream/license +0 -9
  386. package/node_modules/is-stream/package.json +0 -48
  387. package/node_modules/is-stream/readme.md +0 -57
  388. package/node_modules/is-unicode-supported/index.d.ts +0 -12
  389. package/node_modules/is-unicode-supported/index.js +0 -21
  390. package/node_modules/is-unicode-supported/license +0 -9
  391. package/node_modules/is-unicode-supported/package.json +0 -47
  392. package/node_modules/is-unicode-supported/readme.md +0 -35
  393. package/node_modules/isexe/.npmignore +0 -2
  394. package/node_modules/isexe/LICENSE +0 -15
  395. package/node_modules/isexe/README.md +0 -51
  396. package/node_modules/isexe/index.js +0 -57
  397. package/node_modules/isexe/mode.js +0 -41
  398. package/node_modules/isexe/package.json +0 -31
  399. package/node_modules/isexe/test/basic.js +0 -221
  400. package/node_modules/isexe/windows.js +0 -42
  401. package/node_modules/mimic-response/index.d.ts +0 -17
  402. package/node_modules/mimic-response/index.js +0 -77
  403. package/node_modules/mimic-response/license +0 -9
  404. package/node_modules/mimic-response/package.json +0 -42
  405. package/node_modules/mimic-response/readme.md +0 -78
  406. package/node_modules/minimist/.eslintrc +0 -29
  407. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  408. package/node_modules/minimist/.nycrc +0 -14
  409. package/node_modules/minimist/CHANGELOG.md +0 -298
  410. package/node_modules/minimist/LICENSE +0 -18
  411. package/node_modules/minimist/README.md +0 -121
  412. package/node_modules/minimist/example/parse.js +0 -4
  413. package/node_modules/minimist/index.js +0 -263
  414. package/node_modules/minimist/package.json +0 -75
  415. package/node_modules/minimist/test/all_bool.js +0 -34
  416. package/node_modules/minimist/test/bool.js +0 -177
  417. package/node_modules/minimist/test/dash.js +0 -43
  418. package/node_modules/minimist/test/default_bool.js +0 -37
  419. package/node_modules/minimist/test/dotted.js +0 -24
  420. package/node_modules/minimist/test/kv_short.js +0 -32
  421. package/node_modules/minimist/test/long.js +0 -33
  422. package/node_modules/minimist/test/num.js +0 -38
  423. package/node_modules/minimist/test/parse.js +0 -209
  424. package/node_modules/minimist/test/parse_modified.js +0 -11
  425. package/node_modules/minimist/test/proto.js +0 -64
  426. package/node_modules/minimist/test/short.js +0 -69
  427. package/node_modules/minimist/test/stop_early.js +0 -17
  428. package/node_modules/minimist/test/unknown.js +0 -104
  429. package/node_modules/minimist/test/whitespace.js +0 -10
  430. package/node_modules/mkdirp-classic/LICENSE +0 -21
  431. package/node_modules/mkdirp-classic/README.md +0 -18
  432. package/node_modules/mkdirp-classic/index.js +0 -98
  433. package/node_modules/mkdirp-classic/package.json +0 -18
  434. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  435. package/node_modules/napi-build-utils/LICENSE +0 -21
  436. package/node_modules/napi-build-utils/README.md +0 -52
  437. package/node_modules/napi-build-utils/index.js +0 -214
  438. package/node_modules/napi-build-utils/index.md +0 -0
  439. package/node_modules/napi-build-utils/package.json +0 -42
  440. package/node_modules/node-abi/LICENSE +0 -21
  441. package/node_modules/node-abi/README.md +0 -54
  442. package/node_modules/node-abi/abi_registry.json +0 -446
  443. package/node_modules/node-abi/index.js +0 -179
  444. package/node_modules/node-abi/package.json +0 -45
  445. package/node_modules/npm-run-path/index.d.ts +0 -90
  446. package/node_modules/npm-run-path/index.js +0 -55
  447. package/node_modules/npm-run-path/license +0 -9
  448. package/node_modules/npm-run-path/node_modules/path-key/index.d.ts +0 -31
  449. package/node_modules/npm-run-path/node_modules/path-key/index.js +0 -12
  450. package/node_modules/npm-run-path/node_modules/path-key/license +0 -9
  451. package/node_modules/npm-run-path/node_modules/path-key/package.json +0 -41
  452. package/node_modules/npm-run-path/node_modules/path-key/readme.md +0 -57
  453. package/node_modules/npm-run-path/package.json +0 -52
  454. package/node_modules/npm-run-path/readme.md +0 -104
  455. package/node_modules/once/LICENSE +0 -15
  456. package/node_modules/once/README.md +0 -79
  457. package/node_modules/once/once.js +0 -42
  458. package/node_modules/once/package.json +0 -33
  459. package/node_modules/parse-ms/index.d.ts +0 -30
  460. package/node_modules/parse-ms/index.js +0 -45
  461. package/node_modules/parse-ms/license +0 -9
  462. package/node_modules/parse-ms/package.json +0 -47
  463. package/node_modules/parse-ms/readme.md +0 -46
  464. package/node_modules/path-key/index.d.ts +0 -40
  465. package/node_modules/path-key/index.js +0 -16
  466. package/node_modules/path-key/license +0 -9
  467. package/node_modules/path-key/package.json +0 -39
  468. package/node_modules/path-key/readme.md +0 -61
  469. package/node_modules/prebuild-install/CHANGELOG.md +0 -131
  470. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  471. package/node_modules/prebuild-install/LICENSE +0 -21
  472. package/node_modules/prebuild-install/README.md +0 -163
  473. package/node_modules/prebuild-install/asset.js +0 -44
  474. package/node_modules/prebuild-install/bin.js +0 -78
  475. package/node_modules/prebuild-install/download.js +0 -142
  476. package/node_modules/prebuild-install/error.js +0 -14
  477. package/node_modules/prebuild-install/help.txt +0 -16
  478. package/node_modules/prebuild-install/index.js +0 -1
  479. package/node_modules/prebuild-install/log.js +0 -33
  480. package/node_modules/prebuild-install/package.json +0 -67
  481. package/node_modules/prebuild-install/proxy.js +0 -35
  482. package/node_modules/prebuild-install/rc.js +0 -64
  483. package/node_modules/prebuild-install/util.js +0 -143
  484. package/node_modules/pretty-ms/index.d.ts +0 -157
  485. package/node_modules/pretty-ms/index.js +0 -149
  486. package/node_modules/pretty-ms/license +0 -9
  487. package/node_modules/pretty-ms/package.json +0 -55
  488. package/node_modules/pretty-ms/readme.md +0 -179
  489. package/node_modules/pump/.github/FUNDING.yml +0 -2
  490. package/node_modules/pump/.travis.yml +0 -5
  491. package/node_modules/pump/LICENSE +0 -21
  492. package/node_modules/pump/README.md +0 -74
  493. package/node_modules/pump/SECURITY.md +0 -5
  494. package/node_modules/pump/empty.js +0 -1
  495. package/node_modules/pump/index.js +0 -86
  496. package/node_modules/pump/package.json +0 -30
  497. package/node_modules/pump/test-browser.js +0 -66
  498. package/node_modules/pump/test-node.js +0 -53
  499. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  500. package/node_modules/rc/LICENSE.BSD +0 -26
  501. package/node_modules/rc/LICENSE.MIT +0 -24
  502. package/node_modules/rc/README.md +0 -227
  503. package/node_modules/rc/browser.js +0 -7
  504. package/node_modules/rc/cli.js +0 -4
  505. package/node_modules/rc/index.js +0 -53
  506. package/node_modules/rc/lib/utils.js +0 -104
  507. package/node_modules/rc/package.json +0 -29
  508. package/node_modules/rc/test/ini.js +0 -16
  509. package/node_modules/rc/test/nested-env-vars.js +0 -50
  510. package/node_modules/rc/test/test.js +0 -59
  511. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  512. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  513. package/node_modules/readable-stream/LICENSE +0 -47
  514. package/node_modules/readable-stream/README.md +0 -106
  515. package/node_modules/readable-stream/errors-browser.js +0 -127
  516. package/node_modules/readable-stream/errors.js +0 -116
  517. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  518. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  519. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  520. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  521. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  522. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  523. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  524. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  525. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  526. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  527. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  528. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  529. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  530. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  531. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  532. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  533. package/node_modules/readable-stream/package.json +0 -68
  534. package/node_modules/readable-stream/readable-browser.js +0 -9
  535. package/node_modules/readable-stream/readable.js +0 -16
  536. package/node_modules/safe-buffer/LICENSE +0 -21
  537. package/node_modules/safe-buffer/README.md +0 -584
  538. package/node_modules/safe-buffer/index.d.ts +0 -187
  539. package/node_modules/safe-buffer/index.js +0 -65
  540. package/node_modules/safe-buffer/package.json +0 -51
  541. package/node_modules/semver/LICENSE +0 -15
  542. package/node_modules/semver/README.md +0 -665
  543. package/node_modules/semver/bin/semver.js +0 -191
  544. package/node_modules/semver/classes/comparator.js +0 -143
  545. package/node_modules/semver/classes/index.js +0 -7
  546. package/node_modules/semver/classes/range.js +0 -557
  547. package/node_modules/semver/classes/semver.js +0 -333
  548. package/node_modules/semver/functions/clean.js +0 -8
  549. package/node_modules/semver/functions/cmp.js +0 -54
  550. package/node_modules/semver/functions/coerce.js +0 -62
  551. package/node_modules/semver/functions/compare-build.js +0 -9
  552. package/node_modules/semver/functions/compare-loose.js +0 -5
  553. package/node_modules/semver/functions/compare.js +0 -7
  554. package/node_modules/semver/functions/diff.js +0 -60
  555. package/node_modules/semver/functions/eq.js +0 -5
  556. package/node_modules/semver/functions/gt.js +0 -5
  557. package/node_modules/semver/functions/gte.js +0 -5
  558. package/node_modules/semver/functions/inc.js +0 -21
  559. package/node_modules/semver/functions/lt.js +0 -5
  560. package/node_modules/semver/functions/lte.js +0 -5
  561. package/node_modules/semver/functions/major.js +0 -5
  562. package/node_modules/semver/functions/minor.js +0 -5
  563. package/node_modules/semver/functions/neq.js +0 -5
  564. package/node_modules/semver/functions/parse.js +0 -18
  565. package/node_modules/semver/functions/patch.js +0 -5
  566. package/node_modules/semver/functions/prerelease.js +0 -8
  567. package/node_modules/semver/functions/rcompare.js +0 -5
  568. package/node_modules/semver/functions/rsort.js +0 -5
  569. package/node_modules/semver/functions/satisfies.js +0 -12
  570. package/node_modules/semver/functions/sort.js +0 -5
  571. package/node_modules/semver/functions/valid.js +0 -8
  572. package/node_modules/semver/index.js +0 -91
  573. package/node_modules/semver/internal/constants.js +0 -37
  574. package/node_modules/semver/internal/debug.js +0 -11
  575. package/node_modules/semver/internal/identifiers.js +0 -29
  576. package/node_modules/semver/internal/lrucache.js +0 -42
  577. package/node_modules/semver/internal/parse-options.js +0 -17
  578. package/node_modules/semver/internal/re.js +0 -223
  579. package/node_modules/semver/package.json +0 -78
  580. package/node_modules/semver/preload.js +0 -4
  581. package/node_modules/semver/range.bnf +0 -16
  582. package/node_modules/semver/ranges/gtr.js +0 -6
  583. package/node_modules/semver/ranges/intersects.js +0 -9
  584. package/node_modules/semver/ranges/ltr.js +0 -6
  585. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  586. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  587. package/node_modules/semver/ranges/min-version.js +0 -63
  588. package/node_modules/semver/ranges/outside.js +0 -82
  589. package/node_modules/semver/ranges/simplify.js +0 -49
  590. package/node_modules/semver/ranges/subset.js +0 -249
  591. package/node_modules/semver/ranges/to-comparators.js +0 -10
  592. package/node_modules/semver/ranges/valid.js +0 -13
  593. package/node_modules/shebang-command/index.js +0 -19
  594. package/node_modules/shebang-command/license +0 -9
  595. package/node_modules/shebang-command/package.json +0 -34
  596. package/node_modules/shebang-command/readme.md +0 -34
  597. package/node_modules/shebang-regex/index.d.ts +0 -22
  598. package/node_modules/shebang-regex/index.js +0 -2
  599. package/node_modules/shebang-regex/license +0 -9
  600. package/node_modules/shebang-regex/package.json +0 -35
  601. package/node_modules/shebang-regex/readme.md +0 -33
  602. package/node_modules/signal-exit/LICENSE.txt +0 -16
  603. package/node_modules/signal-exit/README.md +0 -74
  604. package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
  605. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
  606. package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  607. package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
  608. package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
  609. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
  610. package/node_modules/signal-exit/dist/cjs/index.js +0 -279
  611. package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
  612. package/node_modules/signal-exit/dist/cjs/package.json +0 -3
  613. package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
  614. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
  615. package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  616. package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
  617. package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
  618. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
  619. package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  620. package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
  621. package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
  622. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
  623. package/node_modules/signal-exit/dist/mjs/index.js +0 -275
  624. package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
  625. package/node_modules/signal-exit/dist/mjs/package.json +0 -3
  626. package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
  627. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
  628. package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  629. package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
  630. package/node_modules/signal-exit/package.json +0 -106
  631. package/node_modules/simple-concat/.travis.yml +0 -3
  632. package/node_modules/simple-concat/LICENSE +0 -20
  633. package/node_modules/simple-concat/README.md +0 -44
  634. package/node_modules/simple-concat/index.js +0 -15
  635. package/node_modules/simple-concat/package.json +0 -47
  636. package/node_modules/simple-concat/test/basic.js +0 -41
  637. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  638. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  639. package/node_modules/simple-get/LICENSE +0 -20
  640. package/node_modules/simple-get/README.md +0 -333
  641. package/node_modules/simple-get/index.js +0 -108
  642. package/node_modules/simple-get/package.json +0 -67
  643. package/node_modules/sqlite-vec/README.md +0 -1
  644. package/node_modules/sqlite-vec/package.json +0 -1
  645. package/node_modules/sqlite-vec-linux-x64/README.md +0 -1
  646. package/node_modules/sqlite-vec-linux-x64/package.json +0 -1
  647. package/node_modules/string_decoder/LICENSE +0 -48
  648. package/node_modules/string_decoder/README.md +0 -47
  649. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  650. package/node_modules/string_decoder/package.json +0 -34
  651. package/node_modules/strip-final-newline/index.d.ts +0 -18
  652. package/node_modules/strip-final-newline/index.js +0 -26
  653. package/node_modules/strip-final-newline/license +0 -9
  654. package/node_modules/strip-final-newline/package.json +0 -49
  655. package/node_modules/strip-final-newline/readme.md +0 -34
  656. package/node_modules/strip-json-comments/index.js +0 -70
  657. package/node_modules/strip-json-comments/license +0 -21
  658. package/node_modules/strip-json-comments/package.json +0 -42
  659. package/node_modules/strip-json-comments/readme.md +0 -64
  660. package/node_modules/tar-fs/.travis.yml +0 -6
  661. package/node_modules/tar-fs/LICENSE +0 -21
  662. package/node_modules/tar-fs/README.md +0 -165
  663. package/node_modules/tar-fs/index.js +0 -363
  664. package/node_modules/tar-fs/package.json +0 -41
  665. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  666. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  667. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  668. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  669. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  670. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  671. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  672. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  673. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  674. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  675. package/node_modules/tar-fs/test/index.js +0 -346
  676. package/node_modules/tar-stream/LICENSE +0 -21
  677. package/node_modules/tar-stream/README.md +0 -168
  678. package/node_modules/tar-stream/extract.js +0 -257
  679. package/node_modules/tar-stream/headers.js +0 -295
  680. package/node_modules/tar-stream/index.js +0 -2
  681. package/node_modules/tar-stream/pack.js +0 -255
  682. package/node_modules/tar-stream/package.json +0 -58
  683. package/node_modules/tar-stream/sandbox.js +0 -11
  684. package/node_modules/tunnel-agent/LICENSE +0 -55
  685. package/node_modules/tunnel-agent/README.md +0 -4
  686. package/node_modules/tunnel-agent/index.js +0 -244
  687. package/node_modules/tunnel-agent/package.json +0 -22
  688. package/node_modules/unicorn-magic/default.d.ts +0 -13
  689. package/node_modules/unicorn-magic/default.js +0 -14
  690. package/node_modules/unicorn-magic/license +0 -9
  691. package/node_modules/unicorn-magic/node.d.ts +0 -125
  692. package/node_modules/unicorn-magic/node.js +0 -49
  693. package/node_modules/unicorn-magic/package.json +0 -62
  694. package/node_modules/unicorn-magic/readme.md +0 -25
  695. package/node_modules/util-deprecate/History.md +0 -16
  696. package/node_modules/util-deprecate/LICENSE +0 -24
  697. package/node_modules/util-deprecate/README.md +0 -53
  698. package/node_modules/util-deprecate/browser.js +0 -67
  699. package/node_modules/util-deprecate/node.js +0 -6
  700. package/node_modules/util-deprecate/package.json +0 -27
  701. package/node_modules/which/LICENSE +0 -15
  702. package/node_modules/which/README.md +0 -54
  703. package/node_modules/which/bin/node-which +0 -52
  704. package/node_modules/which/package.json +0 -43
  705. package/node_modules/which/which.js +0 -125
  706. package/node_modules/wrappy/LICENSE +0 -15
  707. package/node_modules/wrappy/README.md +0 -36
  708. package/node_modules/wrappy/package.json +0 -29
  709. package/node_modules/wrappy/wrappy.js +0 -33
  710. package/node_modules/yoctocolors/base.d.ts +0 -47
  711. package/node_modules/yoctocolors/base.js +0 -94
  712. package/node_modules/yoctocolors/index.d.ts +0 -2
  713. package/node_modules/yoctocolors/index.js +0 -2
  714. package/node_modules/yoctocolors/license +0 -9
  715. package/node_modules/yoctocolors/package.json +0 -69
  716. package/node_modules/yoctocolors/readme.md +0 -138
@@ -1,383 +0,0 @@
1
- Statement::Statement(
2
- Database* db,
3
- sqlite3_stmt* handle,
4
- sqlite3_uint64 id,
5
- bool returns_data
6
- ) :
7
- node::ObjectWrap(),
8
- db(db),
9
- handle(handle),
10
- extras(new Extras(id)),
11
- alive(true),
12
- locked(false),
13
- bound(false),
14
- has_bind_map(false),
15
- safe_ints(db->GetState()->safe_ints),
16
- mode(Data::FLAT),
17
- returns_data(returns_data) {
18
- assert(db != NULL);
19
- assert(handle != NULL);
20
- assert(db->GetState()->open);
21
- assert(!db->GetState()->busy);
22
- db->AddStatement(this);
23
- }
24
-
25
- Statement::~Statement() {
26
- if (alive) db->RemoveStatement(this);
27
- CloseHandles();
28
- delete extras;
29
- }
30
-
31
- // Whenever this is used, db->RemoveStatement must be invoked beforehand.
32
- void Statement::CloseHandles() {
33
- if (alive) {
34
- alive = false;
35
- sqlite3_finalize(handle);
36
- }
37
- }
38
-
39
- // Returns the Statement's bind map (creates it upon first execution).
40
- BindMap* Statement::GetBindMap(v8::Isolate* isolate) {
41
- if (has_bind_map) return &extras->bind_map;
42
- BindMap* bind_map = &extras->bind_map;
43
- int param_count = sqlite3_bind_parameter_count(handle);
44
- for (int i = 1; i <= param_count; ++i) {
45
- const char* name = sqlite3_bind_parameter_name(handle, i);
46
- if (name != NULL) bind_map->Add(isolate, name + 1, i);
47
- }
48
- has_bind_map = true;
49
- return bind_map;
50
- }
51
-
52
- Statement::Extras::Extras(sqlite3_uint64 id)
53
- : bind_map(0), id(id) {}
54
-
55
- INIT(Statement::Init) {
56
- v8::Local<v8::FunctionTemplate> t = NewConstructorTemplate(isolate, data, JS_new, "Statement");
57
- SetPrototypeMethod(isolate, data, t, "run", JS_run);
58
- SetPrototypeMethod(isolate, data, t, "get", JS_get);
59
- SetPrototypeMethod(isolate, data, t, "all", JS_all);
60
- SetPrototypeMethod(isolate, data, t, "iterate", JS_iterate);
61
- SetPrototypeMethod(isolate, data, t, "bind", JS_bind);
62
- SetPrototypeMethod(isolate, data, t, "pluck", JS_pluck);
63
- SetPrototypeMethod(isolate, data, t, "expand", JS_expand);
64
- SetPrototypeMethod(isolate, data, t, "raw", JS_raw);
65
- SetPrototypeMethod(isolate, data, t, "safeIntegers", JS_safeIntegers);
66
- SetPrototypeMethod(isolate, data, t, "columns", JS_columns);
67
- SetPrototypeGetter(isolate, data, t, "busy", JS_busy);
68
- return t->GetFunction(OnlyContext).ToLocalChecked();
69
- }
70
-
71
- NODE_METHOD(Statement::JS_new) {
72
- UseAddon;
73
- if (!addon->privileged_info) {
74
- return ThrowTypeError("Statements can only be constructed by the db.prepare() method");
75
- }
76
- assert(info.IsConstructCall());
77
- Database* db = Unwrap<Database>(addon->privileged_info->This());
78
- REQUIRE_DATABASE_OPEN(db->GetState());
79
- REQUIRE_DATABASE_NOT_BUSY(db->GetState());
80
-
81
- v8::Local<v8::String> source = (*addon->privileged_info)[0].As<v8::String>();
82
- v8::Local<v8::Object> database = (*addon->privileged_info)[1].As<v8::Object>();
83
- bool pragmaMode = (*addon->privileged_info)[2].As<v8::Boolean>()->Value();
84
- int flags = SQLITE_PREPARE_PERSISTENT;
85
-
86
- if (pragmaMode) {
87
- REQUIRE_DATABASE_NO_ITERATORS_UNLESS_UNSAFE(db->GetState());
88
- flags = 0;
89
- }
90
-
91
- UseIsolate;
92
- v8::String::Utf8Value utf8(isolate, source);
93
- sqlite3_stmt* handle;
94
- const char* tail;
95
-
96
- if (sqlite3_prepare_v3(db->GetHandle(), *utf8, utf8.length() + 1, flags, &handle, &tail) != SQLITE_OK) {
97
- return db->ThrowDatabaseError();
98
- }
99
- if (handle == NULL) {
100
- return ThrowRangeError("The supplied SQL string contains no statements");
101
- }
102
- // https://github.com/WiseLibs/better-sqlite3/issues/975#issuecomment-1520934678
103
- for (char c; (c = *tail); ) {
104
- if (IS_SKIPPED(c)) {
105
- ++tail;
106
- continue;
107
- }
108
- if (c == '/' && tail[1] == '*') {
109
- tail += 2;
110
- for (char c; (c = *tail); ++tail) {
111
- if (c == '*' && tail[1] == '/') {
112
- tail += 2;
113
- break;
114
- }
115
- }
116
- } else if (c == '-' && tail[1] == '-') {
117
- tail += 2;
118
- for (char c; (c = *tail); ++tail) {
119
- if (c == '\n') {
120
- ++tail;
121
- break;
122
- }
123
- }
124
- } else {
125
- sqlite3_finalize(handle);
126
- return ThrowRangeError("The supplied SQL string contains more than one statement");
127
- }
128
- }
129
-
130
- UseContext;
131
- bool returns_data = sqlite3_column_count(handle) >= 1 || pragmaMode;
132
- Statement* stmt = new Statement(db, handle, addon->NextId(), returns_data);
133
- stmt->Wrap(info.This());
134
- SetFrozen(isolate, ctx, info.This(), addon->cs.reader, v8::Boolean::New(isolate, returns_data));
135
- SetFrozen(isolate, ctx, info.This(), addon->cs.readonly, v8::Boolean::New(isolate, sqlite3_stmt_readonly(handle) != 0));
136
- SetFrozen(isolate, ctx, info.This(), addon->cs.source, source);
137
- SetFrozen(isolate, ctx, info.This(), addon->cs.database, database);
138
-
139
- info.GetReturnValue().Set(info.This());
140
- }
141
-
142
- NODE_METHOD(Statement::JS_run) {
143
- STATEMENT_START(ALLOW_ANY_STATEMENT, DOES_MUTATE);
144
- sqlite3* db_handle = db->GetHandle();
145
- int total_changes_before = sqlite3_total_changes(db_handle);
146
-
147
- sqlite3_step(handle);
148
- if (sqlite3_reset(handle) == SQLITE_OK) {
149
- int changes = sqlite3_total_changes(db_handle) == total_changes_before ? 0 : sqlite3_changes(db_handle);
150
- sqlite3_int64 id = sqlite3_last_insert_rowid(db_handle);
151
- Addon* addon = db->GetAddon();
152
- UseContext;
153
- v8::Local<v8::Object> result = v8::Object::New(isolate);
154
- result->Set(ctx, addon->cs.changes.Get(isolate), v8::Int32::New(isolate, changes)).FromJust();
155
- result->Set(ctx, addon->cs.lastInsertRowid.Get(isolate),
156
- stmt->safe_ints
157
- ? v8::BigInt::New(isolate, id).As<v8::Value>()
158
- : v8::Number::New(isolate, (double)id).As<v8::Value>()
159
- ).FromJust();
160
- STATEMENT_RETURN(result);
161
- }
162
- STATEMENT_THROW();
163
- }
164
-
165
- NODE_METHOD(Statement::JS_get) {
166
- STATEMENT_START(REQUIRE_STATEMENT_RETURNS_DATA, DOES_NOT_MUTATE);
167
- int status = sqlite3_step(handle);
168
- if (status == SQLITE_ROW) {
169
- v8::Local<v8::Value> result = Data::GetRowJS(isolate, OnlyContext, handle, stmt->safe_ints, stmt->mode);
170
- sqlite3_reset(handle);
171
- STATEMENT_RETURN(result);
172
- } else if (status == SQLITE_DONE) {
173
- sqlite3_reset(handle);
174
- STATEMENT_RETURN(v8::Undefined(isolate));
175
- }
176
- sqlite3_reset(handle);
177
- STATEMENT_THROW();
178
- }
179
-
180
- NODE_METHOD(Statement::JS_all) {
181
- STATEMENT_START(REQUIRE_STATEMENT_RETURNS_DATA, DOES_NOT_MUTATE);
182
- UseContext;
183
- const bool safe_ints = stmt->safe_ints;
184
- const char mode = stmt->mode;
185
-
186
- #if !defined(NODE_MODULE_VERSION) || NODE_MODULE_VERSION < 127
187
- bool js_error = false;
188
- uint32_t row_count = 0;
189
- v8::Local<v8::Array> result = v8::Array::New(isolate, 0);
190
-
191
- while (sqlite3_step(handle) == SQLITE_ROW) {
192
- if (row_count == 0xffffffff) { ThrowRangeError("Array overflow (too many rows returned)"); js_error = true; break; }
193
- result->Set(ctx, row_count++, Data::GetRowJS(isolate, ctx, handle, safe_ints, mode)).FromJust();
194
- }
195
-
196
- if (sqlite3_reset(handle) == SQLITE_OK && !js_error) {
197
- STATEMENT_RETURN(result);
198
- }
199
- if (js_error) db->GetState()->was_js_error = true;
200
- STATEMENT_THROW();
201
- #else
202
- v8::LocalVector<v8::Value> rows(isolate);
203
- rows.reserve(8);
204
-
205
- if (mode == Data::FLAT) {
206
- RowBuilder rowBuilder(isolate, handle, safe_ints);
207
- while (sqlite3_step(handle) == SQLITE_ROW) {
208
- rows.emplace_back(rowBuilder.GetRowJS());
209
- }
210
- } else {
211
- while (sqlite3_step(handle) == SQLITE_ROW) {
212
- rows.emplace_back(Data::GetRowJS(isolate, ctx, handle, safe_ints, mode));
213
- }
214
- }
215
-
216
- if (sqlite3_reset(handle) == SQLITE_OK) {
217
- if (rows.size() > 0xffffffff) {
218
- ThrowRangeError("Array overflow (too many rows returned)");
219
- db->GetState()->was_js_error = true;
220
- } else {
221
- STATEMENT_RETURN(v8::Array::New(isolate, rows.data(), rows.size()));
222
- }
223
- }
224
- STATEMENT_THROW();
225
- #endif
226
- }
227
-
228
- NODE_METHOD(Statement::JS_iterate) {
229
- UseAddon;
230
- UseIsolate;
231
- v8::Local<v8::Function> c = addon->StatementIterator.Get(isolate);
232
- addon->privileged_info = &info;
233
- v8::MaybeLocal<v8::Object> maybeIterator = c->NewInstance(OnlyContext, 0, NULL);
234
- addon->privileged_info = NULL;
235
- if (!maybeIterator.IsEmpty()) info.GetReturnValue().Set(maybeIterator.ToLocalChecked());
236
- }
237
-
238
- NODE_METHOD(Statement::JS_bind) {
239
- Statement* stmt = Unwrap<Statement>(info.This());
240
- if (stmt->bound) return ThrowTypeError("The bind() method can only be invoked once per statement object");
241
- REQUIRE_DATABASE_OPEN(stmt->db->GetState());
242
- REQUIRE_DATABASE_NOT_BUSY(stmt->db->GetState());
243
- REQUIRE_STATEMENT_NOT_LOCKED(stmt);
244
- STATEMENT_BIND(stmt->handle);
245
- stmt->bound = true;
246
- info.GetReturnValue().Set(info.This());
247
- }
248
-
249
- NODE_METHOD(Statement::JS_pluck) {
250
- Statement* stmt = Unwrap<Statement>(info.This());
251
- if (!stmt->returns_data) return ThrowTypeError("The pluck() method is only for statements that return data");
252
- REQUIRE_DATABASE_NOT_BUSY(stmt->db->GetState());
253
- REQUIRE_STATEMENT_NOT_LOCKED(stmt);
254
- bool use = true;
255
- if (info.Length() != 0) { REQUIRE_ARGUMENT_BOOLEAN(first, use); }
256
- stmt->mode = use ? Data::PLUCK : stmt->mode == Data::PLUCK ? Data::FLAT : stmt->mode;
257
- info.GetReturnValue().Set(info.This());
258
- }
259
-
260
- NODE_METHOD(Statement::JS_expand) {
261
- Statement* stmt = Unwrap<Statement>(info.This());
262
- if (!stmt->returns_data) return ThrowTypeError("The expand() method is only for statements that return data");
263
- REQUIRE_DATABASE_NOT_BUSY(stmt->db->GetState());
264
- REQUIRE_STATEMENT_NOT_LOCKED(stmt);
265
- bool use = true;
266
- if (info.Length() != 0) { REQUIRE_ARGUMENT_BOOLEAN(first, use); }
267
- stmt->mode = use ? Data::EXPAND : stmt->mode == Data::EXPAND ? Data::FLAT : stmt->mode;
268
- info.GetReturnValue().Set(info.This());
269
- }
270
-
271
- NODE_METHOD(Statement::JS_raw) {
272
- Statement* stmt = Unwrap<Statement>(info.This());
273
- if (!stmt->returns_data) return ThrowTypeError("The raw() method is only for statements that return data");
274
- REQUIRE_DATABASE_NOT_BUSY(stmt->db->GetState());
275
- REQUIRE_STATEMENT_NOT_LOCKED(stmt);
276
- bool use = true;
277
- if (info.Length() != 0) { REQUIRE_ARGUMENT_BOOLEAN(first, use); }
278
- stmt->mode = use ? Data::RAW : stmt->mode == Data::RAW ? Data::FLAT : stmt->mode;
279
- info.GetReturnValue().Set(info.This());
280
- }
281
-
282
- NODE_METHOD(Statement::JS_safeIntegers) {
283
- Statement* stmt = Unwrap<Statement>(info.This());
284
- REQUIRE_DATABASE_NOT_BUSY(stmt->db->GetState());
285
- REQUIRE_STATEMENT_NOT_LOCKED(stmt);
286
- if (info.Length() == 0) stmt->safe_ints = true;
287
- else { REQUIRE_ARGUMENT_BOOLEAN(first, stmt->safe_ints); }
288
- info.GetReturnValue().Set(info.This());
289
- }
290
-
291
- NODE_METHOD(Statement::JS_columns) {
292
- Statement* stmt = Unwrap<Statement>(info.This());
293
- if (!stmt->returns_data) return ThrowTypeError("The columns() method is only for statements that return data");
294
- REQUIRE_DATABASE_OPEN(stmt->db->GetState());
295
- REQUIRE_DATABASE_NOT_BUSY(stmt->db->GetState());
296
- Addon* addon = stmt->db->GetAddon();
297
- UseIsolate;
298
-
299
- #if !defined(NODE_MODULE_VERSION) || NODE_MODULE_VERSION < 127
300
- UseContext;
301
- int column_count = sqlite3_column_count(stmt->handle);
302
- v8::Local<v8::Array> columns = v8::Array::New(isolate);
303
-
304
- v8::Local<v8::String> name = addon->cs.name.Get(isolate);
305
- v8::Local<v8::String> columnName = addon->cs.column.Get(isolate);
306
- v8::Local<v8::String> tableName = addon->cs.table.Get(isolate);
307
- v8::Local<v8::String> databaseName = addon->cs.database.Get(isolate);
308
- v8::Local<v8::String> typeName = addon->cs.type.Get(isolate);
309
-
310
- for (int i = 0; i < column_count; ++i) {
311
- v8::Local<v8::Object> column = v8::Object::New(isolate);
312
-
313
- column->Set(ctx, name,
314
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_name(stmt->handle, i), -1)
315
- ).FromJust();
316
- column->Set(ctx, columnName,
317
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_origin_name(stmt->handle, i), -1)
318
- ).FromJust();
319
- column->Set(ctx, tableName,
320
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_table_name(stmt->handle, i), -1)
321
- ).FromJust();
322
- column->Set(ctx, databaseName,
323
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_database_name(stmt->handle, i), -1)
324
- ).FromJust();
325
- column->Set(ctx, typeName,
326
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_decltype(stmt->handle, i), -1)
327
- ).FromJust();
328
-
329
- columns->Set(ctx, i, column).FromJust();
330
- }
331
-
332
- info.GetReturnValue().Set(columns);
333
- #else
334
- v8::LocalVector<v8::Name> keys(isolate);
335
- keys.reserve(5);
336
- keys.emplace_back(addon->cs.name.Get(isolate).As<v8::Name>());
337
- keys.emplace_back(addon->cs.column.Get(isolate).As<v8::Name>());
338
- keys.emplace_back(addon->cs.table.Get(isolate).As<v8::Name>());
339
- keys.emplace_back(addon->cs.database.Get(isolate).As<v8::Name>());
340
- keys.emplace_back(addon->cs.type.Get(isolate).As<v8::Name>());
341
-
342
- int column_count = sqlite3_column_count(stmt->handle);
343
- v8::LocalVector<v8::Value> columns(isolate);
344
- columns.reserve(column_count);
345
-
346
- for (int i = 0; i < column_count; ++i) {
347
- v8::LocalVector<v8::Value> values(isolate);
348
- keys.reserve(5);
349
- values.emplace_back(
350
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_name(stmt->handle, i), -1)
351
- );
352
- values.emplace_back(
353
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_origin_name(stmt->handle, i), -1)
354
- );
355
- values.emplace_back(
356
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_table_name(stmt->handle, i), -1)
357
- );
358
- values.emplace_back(
359
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_database_name(stmt->handle, i), -1)
360
- );
361
- values.emplace_back(
362
- InternalizedFromUtf8OrNull(isolate, sqlite3_column_decltype(stmt->handle, i), -1)
363
- );
364
- columns.emplace_back(
365
- v8::Object::New(isolate,
366
- GET_PROTOTYPE(v8::Object::New(isolate)),
367
- keys.data(),
368
- values.data(),
369
- keys.size()
370
- )
371
- );
372
- }
373
-
374
- info.GetReturnValue().Set(
375
- v8::Array::New(isolate, columns.data(), columns.size())
376
- );
377
- #endif
378
- }
379
-
380
- NODE_GETTER(Statement::JS_busy) {
381
- Statement* stmt = Unwrap<Statement>(PROPERTY_HOLDER(info));
382
- info.GetReturnValue().Set(stmt->alive && stmt->locked);
383
- }
@@ -1,58 +0,0 @@
1
- class Statement : public node::ObjectWrap { friend class StatementIterator;
2
- public:
3
-
4
- ~Statement();
5
-
6
- // Whenever this is used, db->RemoveStatement must be invoked beforehand.
7
- void CloseHandles();
8
-
9
- // Used to support ordered containers.
10
- static inline bool Compare(Statement const * const a, Statement const * const b) {
11
- return a->extras->id < b->extras->id;
12
- }
13
-
14
- // Returns the Statement's bind map (creates it upon first execution).
15
- BindMap* GetBindMap(v8::Isolate* isolate);
16
-
17
- static INIT(Init);
18
-
19
- private:
20
-
21
- // A class for holding values that are less often used.
22
- class Extras { friend class Statement;
23
- explicit Extras(sqlite3_uint64 id);
24
- BindMap bind_map;
25
- const sqlite3_uint64 id;
26
- };
27
-
28
- explicit Statement(
29
- Database* db,
30
- sqlite3_stmt* handle,
31
- sqlite3_uint64 id,
32
- bool returns_data
33
- );
34
-
35
- static NODE_METHOD(JS_new);
36
- static NODE_METHOD(JS_run);
37
- static NODE_METHOD(JS_get);
38
- static NODE_METHOD(JS_all);
39
- static NODE_METHOD(JS_iterate);
40
- static NODE_METHOD(JS_bind);
41
- static NODE_METHOD(JS_pluck);
42
- static NODE_METHOD(JS_expand);
43
- static NODE_METHOD(JS_raw);
44
- static NODE_METHOD(JS_safeIntegers);
45
- static NODE_METHOD(JS_columns);
46
- static NODE_GETTER(JS_busy);
47
-
48
- Database* const db;
49
- sqlite3_stmt* const handle;
50
- Extras* const extras;
51
- bool alive;
52
- bool locked;
53
- bool bound;
54
- bool has_bind_map;
55
- bool safe_ints;
56
- char mode;
57
- const bool returns_data;
58
- };
@@ -1,73 +0,0 @@
1
- class BindMap {
2
- public:
3
-
4
- // This nested class represents a single mapping between a parameter name
5
- // and its associated parameter index in a prepared statement.
6
- class Pair { friend class BindMap;
7
- public:
8
-
9
- inline int GetIndex() {
10
- return index;
11
- }
12
-
13
- inline v8::Local<v8::String> GetName(v8::Isolate* isolate) {
14
- return name.Get(isolate);
15
- }
16
-
17
- private:
18
-
19
- explicit Pair(v8::Isolate* isolate, const char* name, int index)
20
- : name(isolate, InternalizedFromUtf8(isolate, name, -1)), index(index) {}
21
-
22
- explicit Pair(v8::Isolate* isolate, Pair* pair)
23
- : name(isolate, pair->name), index(pair->index) {}
24
-
25
- const v8::Global<v8::String> name;
26
- const int index;
27
- };
28
-
29
- explicit BindMap(char _) {
30
- assert(_ == 0);
31
- pairs = NULL;
32
- capacity = 0;
33
- length = 0;
34
- }
35
-
36
- ~BindMap() {
37
- while (length) pairs[--length].~Pair();
38
- FREE_ARRAY<Pair>(pairs);
39
- }
40
-
41
- inline Pair* GetPairs() {
42
- return pairs;
43
- }
44
-
45
- inline int GetSize() {
46
- return length;
47
- }
48
-
49
- // Adds a pair to the bind map, expanding the capacity if necessary.
50
- void Add(v8::Isolate* isolate, const char* name, int index) {
51
- assert(name != NULL);
52
- if (capacity == length) Grow(isolate);
53
- new (pairs + length++) Pair(isolate, name, index);
54
- }
55
-
56
- private:
57
-
58
- void Grow(v8::Isolate* isolate) {
59
- assert(capacity == length);
60
- capacity = (capacity << 1) | 2;
61
- Pair* new_pairs = ALLOC_ARRAY<Pair>(capacity);
62
- for (int i = 0; i < length; ++i) {
63
- new (new_pairs + i) Pair(isolate, pairs + i);
64
- pairs[i].~Pair();
65
- }
66
- FREE_ARRAY<Pair>(pairs);
67
- pairs = new_pairs;
68
- }
69
-
70
- Pair* pairs;
71
- int capacity;
72
- int length;
73
- };
@@ -1,193 +0,0 @@
1
- class Binder {
2
- public:
3
-
4
- explicit Binder(sqlite3_stmt* _handle) {
5
- handle = _handle;
6
- param_count = sqlite3_bind_parameter_count(_handle);
7
- anon_index = 0;
8
- success = true;
9
- }
10
-
11
- bool Bind(NODE_ARGUMENTS info, int argc, Statement* stmt) {
12
- assert(anon_index == 0);
13
- Result result = BindArgs(info, argc, stmt);
14
- if (success && result.count != param_count) {
15
- if (result.count < param_count) {
16
- if (!result.bound_object && stmt->GetBindMap(OnlyIsolate)->GetSize()) {
17
- Fail(ThrowTypeError, "Missing named parameters");
18
- } else {
19
- Fail(ThrowRangeError, "Too few parameter values were provided");
20
- }
21
- } else {
22
- Fail(ThrowRangeError, "Too many parameter values were provided");
23
- }
24
- }
25
- return success;
26
- }
27
-
28
- private:
29
-
30
- struct Result {
31
- int count;
32
- bool bound_object;
33
- };
34
-
35
- static bool IsPlainObject(v8::Isolate* isolate, v8::Local<v8::Object> obj) {
36
- v8::Local<v8::Value> proto = GET_PROTOTYPE(obj);
37
- v8::Local<v8::Context> ctx = obj->GetCreationContext().ToLocalChecked();
38
- ctx->Enter();
39
- v8::Local<v8::Value> baseProto = GET_PROTOTYPE(v8::Object::New(isolate));
40
- ctx->Exit();
41
- return proto->StrictEquals(baseProto) || proto->StrictEquals(v8::Null(isolate));
42
- }
43
-
44
- void Fail(void (*Throw)(const char* _), const char* message) {
45
- assert(success == true);
46
- assert((Throw == NULL) == (message == NULL));
47
- assert(Throw == ThrowError || Throw == ThrowTypeError || Throw == ThrowRangeError || Throw == NULL);
48
- if (Throw) Throw(message);
49
- success = false;
50
- }
51
-
52
- int NextAnonIndex() {
53
- while (sqlite3_bind_parameter_name(handle, ++anon_index) != NULL) {}
54
- return anon_index;
55
- }
56
-
57
- // Binds the value at the given index or throws an appropriate error.
58
- void BindValue(v8::Isolate* isolate, v8::Local<v8::Value> value, int index) {
59
- int status = Data::BindValueFromJS(isolate, handle, index, value);
60
- if (status != SQLITE_OK) {
61
- switch (status) {
62
- case -1:
63
- return Fail(ThrowTypeError, "SQLite3 can only bind numbers, strings, bigints, buffers, and null");
64
- case SQLITE_TOOBIG:
65
- return Fail(ThrowRangeError, "The bound string, buffer, or bigint is too big");
66
- case SQLITE_RANGE:
67
- return Fail(ThrowRangeError, "Too many parameter values were provided");
68
- case SQLITE_NOMEM:
69
- return Fail(ThrowError, "Out of memory");
70
- default:
71
- return Fail(ThrowError, "An unexpected error occured while trying to bind parameters");
72
- }
73
- assert(false);
74
- }
75
- }
76
-
77
- // Binds each value in the array or throws an appropriate error.
78
- // The number of successfully bound parameters is returned.
79
- int BindArray(v8::Isolate* isolate, v8::Local<v8::Array> arr) {
80
- UseContext;
81
- uint32_t length = arr->Length();
82
- if (length > INT_MAX) {
83
- Fail(ThrowRangeError, "Too many parameter values were provided");
84
- return 0;
85
- }
86
- int len = static_cast<int>(length);
87
- for (int i = 0; i < len; ++i) {
88
- v8::MaybeLocal<v8::Value> maybeValue = arr->Get(ctx, i);
89
- if (maybeValue.IsEmpty()) {
90
- Fail(NULL, NULL);
91
- return i;
92
- }
93
- BindValue(isolate, maybeValue.ToLocalChecked(), NextAnonIndex());
94
- if (!success) {
95
- return i;
96
- }
97
- }
98
- return len;
99
- }
100
-
101
- // Binds all named parameters using the values found in the given object.
102
- // The number of successfully bound parameters is returned.
103
- // If a named parameter is missing from the object, an error is thrown.
104
- // This should only be invoked once per instance.
105
- int BindObject(v8::Isolate* isolate, v8::Local<v8::Object> obj, Statement* stmt) {
106
- UseContext;
107
- BindMap* bind_map = stmt->GetBindMap(isolate);
108
- BindMap::Pair* pairs = bind_map->GetPairs();
109
- int len = bind_map->GetSize();
110
-
111
- for (int i = 0; i < len; ++i) {
112
- v8::Local<v8::String> key = pairs[i].GetName(isolate);
113
-
114
- // Check if the named parameter was provided.
115
- v8::Maybe<bool> has_property = obj->HasOwnProperty(ctx, key);
116
- if (has_property.IsNothing()) {
117
- Fail(NULL, NULL);
118
- return i;
119
- }
120
- if (!has_property.FromJust()) {
121
- v8::String::Utf8Value param_name(isolate, key);
122
- Fail(ThrowRangeError, (std::string("Missing named parameter \"") + *param_name + "\"").c_str());
123
- return i;
124
- }
125
-
126
- // Get the current property value.
127
- v8::MaybeLocal<v8::Value> maybeValue = obj->Get(ctx, key);
128
- if (maybeValue.IsEmpty()) {
129
- Fail(NULL, NULL);
130
- return i;
131
- }
132
-
133
- BindValue(isolate, maybeValue.ToLocalChecked(), pairs[i].GetIndex());
134
- if (!success) {
135
- return i;
136
- }
137
- }
138
-
139
- return len;
140
- }
141
-
142
- // Binds all parameters using the values found in the arguments object.
143
- // Anonymous parameter values can be directly in the arguments object or in an Array.
144
- // Named parameter values can be provided in a plain Object argument.
145
- // Only one plain Object argument may be provided.
146
- // If an error occurs, an appropriate error is thrown.
147
- // The return value is a struct indicating how many parameters were successfully bound
148
- // and whether or not it tried to bind an object.
149
- Result BindArgs(NODE_ARGUMENTS info, int argc, Statement* stmt) {
150
- UseIsolate;
151
- int count = 0;
152
- bool bound_object = false;
153
-
154
- for (int i = 0; i < argc; ++i) {
155
- v8::Local<v8::Value> arg = info[i];
156
-
157
- if (arg->IsArray()) {
158
- count += BindArray(isolate, arg.As<v8::Array>());
159
- if (!success) break;
160
- continue;
161
- }
162
-
163
- if (arg->IsObject() && !node::Buffer::HasInstance(arg)) {
164
- v8::Local<v8::Object> obj = arg.As<v8::Object>();
165
- if (IsPlainObject(isolate, obj)) {
166
- if (bound_object) {
167
- Fail(ThrowTypeError, "You cannot specify named parameters in two different objects");
168
- break;
169
- }
170
- bound_object = true;
171
-
172
- count += BindObject(isolate, obj, stmt);
173
- if (!success) break;
174
- continue;
175
- } else if (stmt->GetBindMap(isolate)->GetSize()) {
176
- Fail(ThrowTypeError, "Named parameters can only be passed within plain objects");
177
- break;
178
- }
179
- }
180
-
181
- BindValue(isolate, arg, NextAnonIndex());
182
- if (!success) break;
183
- count += 1;
184
- }
185
-
186
- return { count, bound_object };
187
- }
188
-
189
- sqlite3_stmt* handle;
190
- int param_count;
191
- int anon_index; // This value should only be used by NextAnonIndex()
192
- bool success; // This value should only be set by Fail()
193
- };