dsh-remote 0.8.45 → 0.8.47

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 (391) hide show
  1. package/LICENSE +21 -21
  2. package/README.en.md +361 -361
  3. package/README.md +368 -368
  4. package/cordis.patch.yml +9 -9
  5. package/lib/binding.js +172 -172
  6. package/lib/client.js +3637 -3623
  7. package/lib/credential.js +177 -177
  8. package/lib/deploy-tasks.js +142 -142
  9. package/lib/errors.js +87 -87
  10. package/lib/file-reference.js +457 -457
  11. package/lib/forwards.js +258 -258
  12. package/lib/hostkey.js +108 -108
  13. package/lib/http-transport.js +196 -196
  14. package/lib/ignore.js +156 -156
  15. package/lib/index.js +3771 -3747
  16. package/lib/openssh.js +838 -838
  17. package/lib/paths.js +225 -225
  18. package/lib/pool.js +757 -754
  19. package/lib/registry.js +95 -95
  20. package/lib/remote-fs.js +148 -143
  21. package/lib/routes-fs.js +233 -233
  22. package/lib/search.js +230 -230
  23. package/lib/sftp-surface.js +76 -76
  24. package/lib/sshconfig.js +454 -454
  25. package/lib/sync.js +275 -275
  26. package/lib/tasks.js +95 -95
  27. package/lib/telemetry.js +213 -213
  28. package/lib/update.js +472 -472
  29. package/lib/web-attach.js +850 -846
  30. package/lib/web-deploy-skill.js +205 -205
  31. package/lib/web-deploy.js +694 -694
  32. package/node_modules/asn1/Jenkinsfile +65 -0
  33. package/node_modules/asn1/LICENSE +19 -0
  34. package/node_modules/asn1/README.md +50 -0
  35. package/node_modules/asn1/lib/ber/errors.js +13 -0
  36. package/node_modules/asn1/lib/ber/index.js +27 -0
  37. package/node_modules/asn1/lib/ber/reader.js +262 -0
  38. package/node_modules/asn1/lib/ber/types.js +36 -0
  39. package/node_modules/asn1/lib/ber/writer.js +317 -0
  40. package/node_modules/asn1/lib/index.js +20 -0
  41. package/node_modules/asn1/package.json +31 -0
  42. package/node_modules/bcrypt-pbkdf/CONTRIBUTING.md +13 -0
  43. package/node_modules/bcrypt-pbkdf/LICENSE +66 -0
  44. package/node_modules/bcrypt-pbkdf/README.md +45 -0
  45. package/node_modules/bcrypt-pbkdf/index.js +556 -0
  46. package/node_modules/bcrypt-pbkdf/package.json +15 -0
  47. package/node_modules/buildcheck/.eslintrc.js +5 -0
  48. package/node_modules/buildcheck/.github/workflows/ci.yml +88 -0
  49. package/node_modules/buildcheck/.github/workflows/lint.yml +27 -0
  50. package/node_modules/buildcheck/.npmignore +3 -0
  51. package/node_modules/buildcheck/LICENSE +19 -0
  52. package/node_modules/buildcheck/README.md +106 -0
  53. package/node_modules/buildcheck/deps/Find-VisualStudio.cs +250 -0
  54. package/node_modules/buildcheck/lib/findvs.js +361 -0
  55. package/node_modules/buildcheck/lib/index.js +738 -0
  56. package/node_modules/buildcheck/package.json +36 -0
  57. package/node_modules/buildcheck/test/test.js +8 -0
  58. package/node_modules/cpu-features/.eslintrc.js +5 -0
  59. package/node_modules/cpu-features/.github/workflows/ci.yml +74 -0
  60. package/node_modules/cpu-features/.github/workflows/lint.yml +27 -0
  61. package/node_modules/cpu-features/LICENSE +19 -0
  62. package/node_modules/cpu-features/README.md +59 -0
  63. package/node_modules/cpu-features/binding.gyp +16 -0
  64. package/node_modules/cpu-features/buildcheck.js +32 -0
  65. package/node_modules/cpu-features/deps/cpu_features/.clang-format +4 -0
  66. package/node_modules/cpu-features/deps/cpu_features/.dockerignore +31 -0
  67. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/Dockerfile +5 -0
  68. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/aarch64_linux_cmake.yml +30 -0
  69. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_freebsd_cmake.yml +22 -0
  70. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_linux_bazel.yml +26 -0
  71. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_linux_cmake.yml +31 -0
  72. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_macos_cmake.yml +43 -0
  73. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_windows_cmake.yml +25 -0
  74. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/arm_linux_cmake.yml +31 -0
  75. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/clang_format.yml +24 -0
  76. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/mips_linux_cmake.yml +30 -0
  77. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/power_linux_cmake.yml +29 -0
  78. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/riscv_linux_cmake.yml +28 -0
  79. package/node_modules/cpu-features/deps/cpu_features/.github/workflows/s390x_linux_cmake.yml +27 -0
  80. package/node_modules/cpu-features/deps/cpu_features/.grenrc.yml +21 -0
  81. package/node_modules/cpu-features/deps/cpu_features/BUILD.bazel +329 -0
  82. package/node_modules/cpu-features/deps/cpu_features/CMakeLists.txt +261 -0
  83. package/node_modules/cpu-features/deps/cpu_features/CONTRIBUTING.md +23 -0
  84. package/node_modules/cpu-features/deps/cpu_features/LICENSE +230 -0
  85. package/node_modules/cpu-features/deps/cpu_features/README.md +272 -0
  86. package/node_modules/cpu-features/deps/cpu_features/WORKSPACE +19 -0
  87. package/node_modules/cpu-features/deps/cpu_features/bazel/ci/README.md +5 -0
  88. package/node_modules/cpu-features/deps/cpu_features/bazel/platforms.bzl +11 -0
  89. package/node_modules/cpu-features/deps/cpu_features/cmake/CpuFeaturesConfig.cmake.in +3 -0
  90. package/node_modules/cpu-features/deps/cpu_features/cmake/CpuFeaturesNdkCompatConfig.cmake.in +3 -0
  91. package/node_modules/cpu-features/deps/cpu_features/cmake/README.md +30 -0
  92. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/Makefile +252 -0
  93. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/README.md +40 -0
  94. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/doc/docker.dot +64 -0
  95. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/doc/docker.svg +312 -0
  96. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/doc/generate_image.sh +7 -0
  97. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/docker/amd64/Dockerfile +48 -0
  98. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/docker/toolchain/Dockerfile +34 -0
  99. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/sample/CMakeLists.txt +22 -0
  100. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/sample/main.cpp +11 -0
  101. package/node_modules/cpu-features/deps/cpu_features/cmake/ci/vagrant/freebsd/Vagrantfile +107 -0
  102. package/node_modules/cpu-features/deps/cpu_features/cmake/googletest.CMakeLists.txt.in +15 -0
  103. package/node_modules/cpu-features/deps/cpu_features/cpu_features.gyp +105 -0
  104. package/node_modules/cpu-features/deps/cpu_features/include/cpu_features_cache_info.h +54 -0
  105. package/node_modules/cpu-features/deps/cpu_features/include/cpu_features_macros.h +384 -0
  106. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_aarch64.h +259 -0
  107. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_arm.h +121 -0
  108. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_mips.h +74 -0
  109. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_ppc.h +149 -0
  110. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_riscv.h +72 -0
  111. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_s390x.h +108 -0
  112. package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_x86.h +288 -0
  113. package/node_modules/cpu-features/deps/cpu_features/include/internal/bit_utils.h +40 -0
  114. package/node_modules/cpu-features/deps/cpu_features/include/internal/cpuid_x86.h +37 -0
  115. package/node_modules/cpu-features/deps/cpu_features/include/internal/filesystem.h +39 -0
  116. package/node_modules/cpu-features/deps/cpu_features/include/internal/hwcaps.h +240 -0
  117. package/node_modules/cpu-features/deps/cpu_features/include/internal/stack_line_reader.h +49 -0
  118. package/node_modules/cpu-features/deps/cpu_features/include/internal/string_view.h +110 -0
  119. package/node_modules/cpu-features/deps/cpu_features/include/internal/windows_utils.h +70 -0
  120. package/node_modules/cpu-features/deps/cpu_features/ndk_compat/CMakeLists.txt +60 -0
  121. package/node_modules/cpu-features/deps/cpu_features/ndk_compat/README.md +4 -0
  122. package/node_modules/cpu-features/deps/cpu_features/ndk_compat/cpu-features.c +205 -0
  123. package/node_modules/cpu-features/deps/cpu_features/ndk_compat/cpu-features.h +320 -0
  124. package/node_modules/cpu-features/deps/cpu_features/ndk_compat/ndk-compat-test.c +12 -0
  125. package/node_modules/cpu-features/deps/cpu_features/patches/0001-Add-Apple-Silicon-Support.patch +456 -0
  126. package/node_modules/cpu-features/deps/cpu_features/scripts/generate_badges.d +165 -0
  127. package/node_modules/cpu-features/deps/cpu_features/scripts/make_release.sh +75 -0
  128. package/node_modules/cpu-features/deps/cpu_features/scripts/run_integration.sh +490 -0
  129. package/node_modules/cpu-features/deps/cpu_features/scripts/test_integration.sh +79 -0
  130. package/node_modules/cpu-features/deps/cpu_features/src/copy.inl +19 -0
  131. package/node_modules/cpu-features/deps/cpu_features/src/define_introspection.inl +86 -0
  132. package/node_modules/cpu-features/deps/cpu_features/src/define_introspection_and_hwcaps.inl +26 -0
  133. package/node_modules/cpu-features/deps/cpu_features/src/equals.inl +22 -0
  134. package/node_modules/cpu-features/deps/cpu_features/src/filesystem.c +62 -0
  135. package/node_modules/cpu-features/deps/cpu_features/src/hwcaps.c +169 -0
  136. package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64__base_implementation.inl +88 -0
  137. package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64_linux_or_android.c +79 -0
  138. package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.c +82 -0
  139. package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64_windows.c +138 -0
  140. package/node_modules/cpu-features/deps/cpu_features/src/impl_arm_linux_or_android.c +212 -0
  141. package/node_modules/cpu-features/deps/cpu_features/src/impl_mips_linux_or_android.c +93 -0
  142. package/node_modules/cpu-features/deps/cpu_features/src/impl_ppc_linux.c +163 -0
  143. package/node_modules/cpu-features/deps/cpu_features/src/impl_riscv_linux.c +111 -0
  144. package/node_modules/cpu-features/deps/cpu_features/src/impl_s390x_linux.c +120 -0
  145. package/node_modules/cpu-features/deps/cpu_features/src/impl_x86__base_implementation.inl +2055 -0
  146. package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_freebsd.c +68 -0
  147. package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_linux_or_android.c +58 -0
  148. package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_macos.c +57 -0
  149. package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_windows.c +58 -0
  150. package/node_modules/cpu-features/deps/cpu_features/src/stack_line_reader.c +132 -0
  151. package/node_modules/cpu-features/deps/cpu_features/src/string_view.c +192 -0
  152. package/node_modules/cpu-features/deps/cpu_features/src/utils/list_cpu_features.c +461 -0
  153. package/node_modules/cpu-features/deps/cpu_features/test/CMakeLists.txt +114 -0
  154. package/node_modules/cpu-features/deps/cpu_features/test/bit_utils_test.cc +53 -0
  155. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_aarch64_test.cc +396 -0
  156. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_arm_test.cc +384 -0
  157. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_mips_test.cc +176 -0
  158. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_ppc_test.cc +131 -0
  159. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_riscv_test.cc +180 -0
  160. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_s390x_test.cc +82 -0
  161. package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_x86_test.cc +1729 -0
  162. package/node_modules/cpu-features/deps/cpu_features/test/filesystem_for_testing.cc +103 -0
  163. package/node_modules/cpu-features/deps/cpu_features/test/filesystem_for_testing.h +61 -0
  164. package/node_modules/cpu-features/deps/cpu_features/test/hwcaps_for_testing.cc +52 -0
  165. package/node_modules/cpu-features/deps/cpu_features/test/hwcaps_for_testing.h +31 -0
  166. package/node_modules/cpu-features/deps/cpu_features/test/stack_line_reader_test.cc +132 -0
  167. package/node_modules/cpu-features/deps/cpu_features/test/string_view_test.cc +202 -0
  168. package/node_modules/cpu-features/lib/index.js +5 -0
  169. package/node_modules/cpu-features/package.json +40 -0
  170. package/node_modules/cpu-features/src/binding.cc +151 -0
  171. package/node_modules/cpu-features/test/test.js +12 -0
  172. package/node_modules/nan/.github/workflows/ci.yml +46 -0
  173. package/node_modules/nan/.pre-commit-config.yaml +8 -0
  174. package/node_modules/nan/CHANGELOG.md +605 -0
  175. package/node_modules/nan/CMakeLists.txt +138 -0
  176. package/node_modules/nan/LICENSE.md +9 -0
  177. package/node_modules/nan/README.md +457 -0
  178. package/node_modules/nan/doc/asyncworker.md +146 -0
  179. package/node_modules/nan/doc/buffers.md +54 -0
  180. package/node_modules/nan/doc/callback.md +76 -0
  181. package/node_modules/nan/doc/converters.md +41 -0
  182. package/node_modules/nan/doc/errors.md +226 -0
  183. package/node_modules/nan/doc/json.md +62 -0
  184. package/node_modules/nan/doc/maybe_types.md +583 -0
  185. package/node_modules/nan/doc/methods.md +689 -0
  186. package/node_modules/nan/doc/new.md +147 -0
  187. package/node_modules/nan/doc/node_misc.md +123 -0
  188. package/node_modules/nan/doc/object_wrappers.md +263 -0
  189. package/node_modules/nan/doc/persistent.md +296 -0
  190. package/node_modules/nan/doc/scopes.md +73 -0
  191. package/node_modules/nan/doc/script.md +58 -0
  192. package/node_modules/nan/doc/string_bytes.md +81 -0
  193. package/node_modules/nan/doc/v8_internals.md +211 -0
  194. package/node_modules/nan/doc/v8_misc.md +85 -0
  195. package/node_modules/nan/include_dirs.js +1 -0
  196. package/node_modules/nan/nan.h +3202 -0
  197. package/node_modules/nan/nan_callbacks.h +141 -0
  198. package/node_modules/nan/nan_callbacks_12_inl.h +730 -0
  199. package/node_modules/nan/nan_callbacks_pre_12_inl.h +528 -0
  200. package/node_modules/nan/nan_converters.h +72 -0
  201. package/node_modules/nan/nan_converters_43_inl.h +68 -0
  202. package/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  203. package/node_modules/nan/nan_define_own_property_helper.h +29 -0
  204. package/node_modules/nan/nan_implementation_12_inl.h +446 -0
  205. package/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  206. package/node_modules/nan/nan_json.h +166 -0
  207. package/node_modules/nan/nan_maybe_43_inl.h +360 -0
  208. package/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  209. package/node_modules/nan/nan_new.h +340 -0
  210. package/node_modules/nan/nan_object_wrap.h +156 -0
  211. package/node_modules/nan/nan_persistent_12_inl.h +132 -0
  212. package/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  213. package/node_modules/nan/nan_private.h +73 -0
  214. package/node_modules/nan/nan_scriptorigin.h +97 -0
  215. package/node_modules/nan/nan_string_bytes.h +305 -0
  216. package/node_modules/nan/nan_typedarray_contents.h +96 -0
  217. package/node_modules/nan/nan_weak.h +453 -0
  218. package/node_modules/nan/package.json +38 -0
  219. package/node_modules/nan/tools/1to2.js +412 -0
  220. package/node_modules/nan/tools/README.md +14 -0
  221. package/node_modules/nan/tools/package.json +19 -0
  222. package/node_modules/safer-buffer/LICENSE +21 -0
  223. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  224. package/node_modules/safer-buffer/Readme.md +156 -0
  225. package/node_modules/safer-buffer/dangerous.js +58 -0
  226. package/node_modules/safer-buffer/package.json +34 -0
  227. package/node_modules/safer-buffer/safer.js +77 -0
  228. package/node_modules/safer-buffer/tests.js +406 -0
  229. package/node_modules/ssh2/.eslintignore +4 -0
  230. package/node_modules/ssh2/.eslintrc.js +5 -0
  231. package/node_modules/ssh2/.github/workflows/ci.yml +110 -0
  232. package/node_modules/ssh2/.github/workflows/lint.yml +27 -0
  233. package/node_modules/ssh2/LICENSE +19 -0
  234. package/node_modules/ssh2/README.md +1529 -0
  235. package/node_modules/ssh2/SFTP.md +413 -0
  236. package/node_modules/ssh2/examples/server-chat.js +238 -0
  237. package/node_modules/ssh2/examples/sftp-server-download-only.js +134 -0
  238. package/node_modules/ssh2/install.js +27 -0
  239. package/node_modules/ssh2/lib/Channel.js +295 -0
  240. package/node_modules/ssh2/lib/agent.js +1123 -0
  241. package/node_modules/ssh2/lib/client.js +2176 -0
  242. package/node_modules/ssh2/lib/http-agents.js +84 -0
  243. package/node_modules/ssh2/lib/index.js +44 -0
  244. package/node_modules/ssh2/lib/keygen.js +582 -0
  245. package/node_modules/ssh2/lib/protocol/Protocol.js +2136 -0
  246. package/node_modules/ssh2/lib/protocol/SFTP.js +4052 -0
  247. package/node_modules/ssh2/lib/protocol/constants.js +356 -0
  248. package/node_modules/ssh2/lib/protocol/crypto/binding.gyp +23 -0
  249. package/node_modules/ssh2/lib/protocol/crypto/poly1305.js +43 -0
  250. package/node_modules/ssh2/lib/protocol/crypto/src/binding.cc +2300 -0
  251. package/node_modules/ssh2/lib/protocol/crypto.js +1602 -0
  252. package/node_modules/ssh2/lib/protocol/handlers.js +16 -0
  253. package/node_modules/ssh2/lib/protocol/handlers.misc.js +1285 -0
  254. package/node_modules/ssh2/lib/protocol/kex.js +1908 -0
  255. package/node_modules/ssh2/lib/protocol/keyParser.js +1484 -0
  256. package/node_modules/ssh2/lib/protocol/node-fs-compat.js +115 -0
  257. package/node_modules/ssh2/lib/protocol/utils.js +356 -0
  258. package/node_modules/ssh2/lib/protocol/zlib.js +255 -0
  259. package/node_modules/ssh2/lib/server.js +1380 -0
  260. package/node_modules/ssh2/lib/utils.js +336 -0
  261. package/node_modules/ssh2/package.json +49 -0
  262. package/node_modules/ssh2/test/common.js +316 -0
  263. package/node_modules/ssh2/test/fixtures/bad_rsa_private_key +26 -0
  264. package/node_modules/ssh2/test/fixtures/https_cert.pem +33 -0
  265. package/node_modules/ssh2/test/fixtures/https_key.pem +52 -0
  266. package/node_modules/ssh2/test/fixtures/id_dsa +12 -0
  267. package/node_modules/ssh2/test/fixtures/id_ecdsa +5 -0
  268. package/node_modules/ssh2/test/fixtures/id_rsa +15 -0
  269. package/node_modules/ssh2/test/fixtures/id_rsa.ppk +26 -0
  270. package/node_modules/ssh2/test/fixtures/id_rsa_enc +30 -0
  271. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa +21 -0
  272. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa.pub +1 -0
  273. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa.pub.result +7 -0
  274. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa.result +7 -0
  275. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc +22 -0
  276. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc.pub +1 -0
  277. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc.pub.result +7 -0
  278. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc.result +7 -0
  279. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc_gcm +23 -0
  280. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc_gcm.pub +1 -0
  281. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc_gcm.pub.result +7 -0
  282. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_dsa_enc_gcm.result +7 -0
  283. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa +9 -0
  284. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa.pub +1 -0
  285. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa.pub.result +7 -0
  286. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa.result +7 -0
  287. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc +10 -0
  288. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc.pub +1 -0
  289. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc.pub.result +8 -0
  290. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc.result +7 -0
  291. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc_gcm +10 -0
  292. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc_gcm.pub +1 -0
  293. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc_gcm.pub.result +8 -0
  294. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ecdsa_enc_gcm.result +7 -0
  295. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ed25519 +7 -0
  296. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ed25519.pub +1 -0
  297. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ed25519.pub.result +7 -0
  298. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_ed25519.result +7 -0
  299. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa +27 -0
  300. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa.pub +1 -0
  301. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa.pub.result +7 -0
  302. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa.result +7 -0
  303. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc +28 -0
  304. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc.pub +1 -0
  305. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc.pub.result +8 -0
  306. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc.result +7 -0
  307. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc_gcm +29 -0
  308. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc_gcm.pub +1 -0
  309. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc_gcm.pub.result +8 -0
  310. package/node_modules/ssh2/test/fixtures/keyParser/openssh_new_rsa_enc_gcm.result +7 -0
  311. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa +12 -0
  312. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa.pub +1 -0
  313. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa.pub.result +7 -0
  314. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa.result +7 -0
  315. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa_enc +15 -0
  316. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa_enc.pub +1 -0
  317. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa_enc.pub.result +8 -0
  318. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_dsa_enc.result +7 -0
  319. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa +5 -0
  320. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa.pub +1 -0
  321. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa.pub.result +7 -0
  322. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa.result +7 -0
  323. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa_enc +8 -0
  324. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa_enc.pub +1 -0
  325. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa_enc.pub.result +8 -0
  326. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_ecdsa_enc.result +7 -0
  327. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa +27 -0
  328. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa.pub +1 -0
  329. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa.pub.result +7 -0
  330. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa.result +7 -0
  331. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc +30 -0
  332. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc.pub +1 -0
  333. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc.pub.result +8 -0
  334. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc.result +7 -0
  335. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc_aes256 +54 -0
  336. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc_aes256.pub +1 -0
  337. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc_aes256.pub.result +6 -0
  338. package/node_modules/ssh2/test/fixtures/keyParser/openssh_old_rsa_enc_aes256.result +6 -0
  339. package/node_modules/ssh2/test/fixtures/keyParser/ppk_dsa_enc +17 -0
  340. package/node_modules/ssh2/test/fixtures/keyParser/ppk_dsa_enc.result +7 -0
  341. package/node_modules/ssh2/test/fixtures/keyParser/ppk_rsa +26 -0
  342. package/node_modules/ssh2/test/fixtures/keyParser/ppk_rsa.result +7 -0
  343. package/node_modules/ssh2/test/fixtures/keyParser/ppk_rsa_enc +18 -0
  344. package/node_modules/ssh2/test/fixtures/keyParser/ppk_rsa_enc.result +7 -0
  345. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa.pub +9 -0
  346. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa.pub.result +7 -0
  347. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa2.pub +10 -0
  348. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa2.pub.result +7 -0
  349. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa3.pub +11 -0
  350. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa3.pub.result +7 -0
  351. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa4.pub +11 -0
  352. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa4.pub.result +7 -0
  353. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa5.pub +8 -0
  354. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa5.pub.result +7 -0
  355. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa6.pub +13 -0
  356. package/node_modules/ssh2/test/fixtures/keyParser/rfc4716_rsa6.pub.result +7 -0
  357. package/node_modules/ssh2/test/fixtures/openssh_new_rsa +27 -0
  358. package/node_modules/ssh2/test/fixtures/ssh_host_dsa_key +12 -0
  359. package/node_modules/ssh2/test/fixtures/ssh_host_ecdsa_key +5 -0
  360. package/node_modules/ssh2/test/fixtures/ssh_host_rsa_key +15 -0
  361. package/node_modules/ssh2/test/test-exec.js +578 -0
  362. package/node_modules/ssh2/test/test-integration-openssh.js +486 -0
  363. package/node_modules/ssh2/test/test-keygen.js +60 -0
  364. package/node_modules/ssh2/test/test-misc-client-server.js +1460 -0
  365. package/node_modules/ssh2/test/test-openssh.js +261 -0
  366. package/node_modules/ssh2/test/test-protocol-crypto.js +631 -0
  367. package/node_modules/ssh2/test/test-protocol-keyparser.js +177 -0
  368. package/node_modules/ssh2/test/test-server-hostkeys.js +138 -0
  369. package/node_modules/ssh2/test/test-sftp.js +842 -0
  370. package/node_modules/ssh2/test/test-shell.js +109 -0
  371. package/node_modules/ssh2/test/test-userauth-agent-openssh.js +110 -0
  372. package/node_modules/ssh2/test/test-userauth-agent.js +171 -0
  373. package/node_modules/ssh2/test/test-userauth.js +611 -0
  374. package/node_modules/ssh2/test/test-worker-imports.js +25 -0
  375. package/node_modules/ssh2/test/test.js +20 -0
  376. package/node_modules/ssh2/util/build_pagent.bat +2 -0
  377. package/node_modules/ssh2/util/pagent.c +88 -0
  378. package/node_modules/ssh2/util/pagent.exe +0 -0
  379. package/node_modules/tweetnacl/.npmignore +4 -0
  380. package/node_modules/tweetnacl/AUTHORS.md +28 -0
  381. package/node_modules/tweetnacl/CHANGELOG.md +221 -0
  382. package/node_modules/tweetnacl/LICENSE +24 -0
  383. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
  384. package/node_modules/tweetnacl/README.md +459 -0
  385. package/node_modules/tweetnacl/nacl-fast.js +2388 -0
  386. package/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  387. package/node_modules/tweetnacl/nacl.d.ts +98 -0
  388. package/node_modules/tweetnacl/nacl.js +1175 -0
  389. package/node_modules/tweetnacl/nacl.min.js +1 -0
  390. package/node_modules/tweetnacl/package.json +58 -0
  391. package/package.json +95 -89
@@ -0,0 +1,528 @@
1
+ /*********************************************************************
2
+ * NAN - Native Abstractions for Node.js
3
+ *
4
+ * Copyright (c) 2018 NAN contributors
5
+ *
6
+ * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7
+ ********************************************************************/
8
+
9
+ #ifndef NAN_CALLBACKS_PRE_12_INL_H_
10
+ #define NAN_CALLBACKS_PRE_12_INL_H_
11
+
12
+ namespace imp {
13
+ template<typename T> class ReturnValueImp;
14
+ } // end of namespace imp
15
+
16
+ template<typename T>
17
+ class ReturnValue {
18
+ v8::Isolate *isolate_;
19
+ v8::Persistent<T> *value_;
20
+ friend class imp::ReturnValueImp<T>;
21
+
22
+ public:
23
+ template <class S>
24
+ explicit inline ReturnValue(v8::Isolate *isolate, v8::Persistent<S> *p) :
25
+ isolate_(isolate), value_(p) {}
26
+ template <class S>
27
+ explicit inline ReturnValue(const ReturnValue<S>& that)
28
+ : isolate_(that.isolate_), value_(that.value_) {
29
+ TYPE_CHECK(T, S);
30
+ }
31
+
32
+ // Handle setters
33
+ template <typename S> inline void Set(const v8::Local<S> &handle) {
34
+ TYPE_CHECK(T, S);
35
+ value_->Dispose();
36
+ *value_ = v8::Persistent<T>::New(handle);
37
+ }
38
+
39
+ template <typename S> inline void Set(const Global<S> &handle) {
40
+ TYPE_CHECK(T, S);
41
+ value_->Dispose();
42
+ *value_ = v8::Persistent<T>::New(handle.persistent);
43
+ const_cast<Global<S> &>(handle).Reset();
44
+ }
45
+
46
+ // Fast primitive setters
47
+ inline void Set(bool value) {
48
+ v8::HandleScope scope;
49
+
50
+ TYPE_CHECK(T, v8::Boolean);
51
+ value_->Dispose();
52
+ *value_ = v8::Persistent<T>::New(v8::Boolean::New(value));
53
+ }
54
+
55
+ inline void Set(double i) {
56
+ v8::HandleScope scope;
57
+
58
+ TYPE_CHECK(T, v8::Number);
59
+ value_->Dispose();
60
+ *value_ = v8::Persistent<T>::New(v8::Number::New(i));
61
+ }
62
+
63
+ inline void Set(int32_t i) {
64
+ v8::HandleScope scope;
65
+
66
+ TYPE_CHECK(T, v8::Integer);
67
+ value_->Dispose();
68
+ *value_ = v8::Persistent<T>::New(v8::Int32::New(i));
69
+ }
70
+
71
+ inline void Set(uint32_t i) {
72
+ v8::HandleScope scope;
73
+
74
+ TYPE_CHECK(T, v8::Integer);
75
+ value_->Dispose();
76
+ *value_ = v8::Persistent<T>::New(v8::Uint32::NewFromUnsigned(i));
77
+ }
78
+
79
+ // Fast JS primitive setters
80
+ inline void SetNull() {
81
+ v8::HandleScope scope;
82
+
83
+ TYPE_CHECK(T, v8::Primitive);
84
+ value_->Dispose();
85
+ *value_ = v8::Persistent<T>::New(v8::Null());
86
+ }
87
+
88
+ inline void SetUndefined() {
89
+ v8::HandleScope scope;
90
+
91
+ TYPE_CHECK(T, v8::Primitive);
92
+ value_->Dispose();
93
+ *value_ = v8::Persistent<T>::New(v8::Undefined());
94
+ }
95
+
96
+ inline void SetEmptyString() {
97
+ v8::HandleScope scope;
98
+
99
+ TYPE_CHECK(T, v8::String);
100
+ value_->Dispose();
101
+ *value_ = v8::Persistent<T>::New(v8::String::Empty());
102
+ }
103
+
104
+ // Convenience getter for isolate
105
+ inline v8::Isolate *GetIsolate() const {
106
+ return isolate_;
107
+ }
108
+
109
+ // Pointer setter: Uncompilable to prevent inadvertent misuse.
110
+ template<typename S>
111
+ inline void Set(S *whatever) { TYPE_CHECK(S*, v8::Primitive); }
112
+ };
113
+
114
+ template<typename T>
115
+ class FunctionCallbackInfo {
116
+ const v8::Arguments &args_;
117
+ v8::Local<v8::Value> data_;
118
+ ReturnValue<T> return_value_;
119
+ v8::Persistent<T> retval_;
120
+
121
+ public:
122
+ explicit inline FunctionCallbackInfo(
123
+ const v8::Arguments &args
124
+ , v8::Local<v8::Value> data) :
125
+ args_(args)
126
+ , data_(data)
127
+ , return_value_(args.GetIsolate(), &retval_)
128
+ , retval_(v8::Persistent<T>::New(v8::Undefined())) {}
129
+
130
+ inline ~FunctionCallbackInfo() {
131
+ retval_.Dispose();
132
+ retval_.Clear();
133
+ }
134
+
135
+ inline ReturnValue<T> GetReturnValue() const {
136
+ return ReturnValue<T>(return_value_);
137
+ }
138
+
139
+ NAN_DEPRECATED inline v8::Local<v8::Function> Callee() const {
140
+ return args_.Callee();
141
+ }
142
+ inline v8::Local<v8::Value> Data() const { return data_; }
143
+ inline v8::Local<v8::Object> Holder() const {
144
+ return args_.Holder();
145
+ }
146
+ inline bool IsConstructCall() const { return args_.IsConstructCall(); }
147
+ inline int Length() const { return args_.Length(); }
148
+ inline v8::Local<v8::Value> operator[](int i) const { return args_[i]; }
149
+ inline v8::Local<v8::Object> This() const { return args_.This(); }
150
+ inline v8::Isolate *GetIsolate() const { return args_.GetIsolate(); }
151
+
152
+
153
+ protected:
154
+ static const int kHolderIndex = 0;
155
+ static const int kIsolateIndex = 1;
156
+ static const int kReturnValueDefaultValueIndex = 2;
157
+ static const int kReturnValueIndex = 3;
158
+ static const int kDataIndex = 4;
159
+ static const int kCalleeIndex = 5;
160
+ static const int kContextSaveIndex = 6;
161
+ static const int kArgsLength = 7;
162
+
163
+ private:
164
+ NAN_DISALLOW_ASSIGN_COPY_MOVE(FunctionCallbackInfo)
165
+ };
166
+
167
+ template<typename T>
168
+ class PropertyCallbackInfoBase {
169
+ const v8::AccessorInfo &info_;
170
+ const v8::Local<v8::Value> data_;
171
+
172
+ public:
173
+ explicit inline PropertyCallbackInfoBase(
174
+ const v8::AccessorInfo &info
175
+ , const v8::Local<v8::Value> data) :
176
+ info_(info)
177
+ , data_(data) {}
178
+
179
+ inline v8::Isolate* GetIsolate() const { return info_.GetIsolate(); }
180
+ inline v8::Local<v8::Value> Data() const { return data_; }
181
+ inline v8::Local<v8::Object> This() const { return info_.This(); }
182
+ inline v8::Local<v8::Object> Holder() const { return info_.Holder(); }
183
+
184
+ protected:
185
+ static const int kHolderIndex = 0;
186
+ static const int kIsolateIndex = 1;
187
+ static const int kReturnValueDefaultValueIndex = 2;
188
+ static const int kReturnValueIndex = 3;
189
+ static const int kDataIndex = 4;
190
+ static const int kThisIndex = 5;
191
+ static const int kArgsLength = 6;
192
+
193
+ private:
194
+ NAN_DISALLOW_ASSIGN_COPY_MOVE(PropertyCallbackInfoBase)
195
+ };
196
+
197
+ template<typename T>
198
+ class PropertyCallbackInfo : public PropertyCallbackInfoBase<T> {
199
+ ReturnValue<T> return_value_;
200
+ v8::Persistent<T> retval_;
201
+
202
+ public:
203
+ explicit inline PropertyCallbackInfo(
204
+ const v8::AccessorInfo &info
205
+ , const v8::Local<v8::Value> data) :
206
+ PropertyCallbackInfoBase<T>(info, data)
207
+ , return_value_(info.GetIsolate(), &retval_)
208
+ , retval_(v8::Persistent<T>::New(v8::Undefined())) {}
209
+
210
+ inline ~PropertyCallbackInfo() {
211
+ retval_.Dispose();
212
+ retval_.Clear();
213
+ }
214
+
215
+ inline ReturnValue<T> GetReturnValue() const { return return_value_; }
216
+ };
217
+
218
+ template<>
219
+ class PropertyCallbackInfo<v8::Array> :
220
+ public PropertyCallbackInfoBase<v8::Array> {
221
+ ReturnValue<v8::Array> return_value_;
222
+ v8::Persistent<v8::Array> retval_;
223
+
224
+ public:
225
+ explicit inline PropertyCallbackInfo(
226
+ const v8::AccessorInfo &info
227
+ , const v8::Local<v8::Value> data) :
228
+ PropertyCallbackInfoBase<v8::Array>(info, data)
229
+ , return_value_(info.GetIsolate(), &retval_)
230
+ , retval_(v8::Persistent<v8::Array>::New(v8::Local<v8::Array>())) {}
231
+
232
+ inline ~PropertyCallbackInfo() {
233
+ retval_.Dispose();
234
+ retval_.Clear();
235
+ }
236
+
237
+ inline ReturnValue<v8::Array> GetReturnValue() const {
238
+ return return_value_;
239
+ }
240
+ };
241
+
242
+ template<>
243
+ class PropertyCallbackInfo<v8::Boolean> :
244
+ public PropertyCallbackInfoBase<v8::Boolean> {
245
+ ReturnValue<v8::Boolean> return_value_;
246
+ v8::Persistent<v8::Boolean> retval_;
247
+
248
+ public:
249
+ explicit inline PropertyCallbackInfo(
250
+ const v8::AccessorInfo &info
251
+ , const v8::Local<v8::Value> data) :
252
+ PropertyCallbackInfoBase<v8::Boolean>(info, data)
253
+ , return_value_(info.GetIsolate(), &retval_)
254
+ , retval_(v8::Persistent<v8::Boolean>::New(v8::Local<v8::Boolean>())) {}
255
+
256
+ inline ~PropertyCallbackInfo() {
257
+ retval_.Dispose();
258
+ retval_.Clear();
259
+ }
260
+
261
+ inline ReturnValue<v8::Boolean> GetReturnValue() const {
262
+ return return_value_;
263
+ }
264
+ };
265
+
266
+ template<>
267
+ class PropertyCallbackInfo<v8::Integer> :
268
+ public PropertyCallbackInfoBase<v8::Integer> {
269
+ ReturnValue<v8::Integer> return_value_;
270
+ v8::Persistent<v8::Integer> retval_;
271
+
272
+ public:
273
+ explicit inline PropertyCallbackInfo(
274
+ const v8::AccessorInfo &info
275
+ , const v8::Local<v8::Value> data) :
276
+ PropertyCallbackInfoBase<v8::Integer>(info, data)
277
+ , return_value_(info.GetIsolate(), &retval_)
278
+ , retval_(v8::Persistent<v8::Integer>::New(v8::Local<v8::Integer>())) {}
279
+
280
+ inline ~PropertyCallbackInfo() {
281
+ retval_.Dispose();
282
+ retval_.Clear();
283
+ }
284
+
285
+ inline ReturnValue<v8::Integer> GetReturnValue() const {
286
+ return return_value_;
287
+ }
288
+ };
289
+
290
+ inline void* GetExternalValue(v8::Local<v8::External> ext) {
291
+ return ext->Value();
292
+ }
293
+
294
+ namespace imp {
295
+ template<typename T>
296
+ class ReturnValueImp : public ReturnValue<T> {
297
+ public:
298
+ explicit ReturnValueImp(ReturnValue<T> that) :
299
+ ReturnValue<T>(that) {}
300
+ inline v8::Handle<T> Value() {
301
+ return *ReturnValue<T>::value_;
302
+ }
303
+ };
304
+
305
+ static
306
+ v8::Handle<v8::Value> FunctionCallbackWrapper(const v8::Arguments &args) {
307
+ v8::Local<v8::Object> obj = args.Data().As<v8::Object>();
308
+ FunctionCallback callback = reinterpret_cast<FunctionCallback>(
309
+ reinterpret_cast<intptr_t>(
310
+ obj->GetInternalField(kFunctionIndex).As<v8::External>()->Value()));
311
+ FunctionCallbackInfo<v8::Value>
312
+ cbinfo(args, obj->GetInternalField(kDataIndex));
313
+ callback(cbinfo);
314
+ return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
315
+ }
316
+
317
+ typedef v8::Handle<v8::Value> (*NativeFunction)(const v8::Arguments &);
318
+
319
+ static
320
+ v8::Handle<v8::Value> GetterCallbackWrapper(
321
+ v8::Local<v8::String> property, const v8::AccessorInfo &info) {
322
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
323
+ PropertyCallbackInfo<v8::Value>
324
+ cbinfo(info, obj->GetInternalField(kDataIndex));
325
+ GetterCallback callback = reinterpret_cast<GetterCallback>(
326
+ reinterpret_cast<intptr_t>(
327
+ obj->GetInternalField(kGetterIndex).As<v8::External>()->Value()));
328
+ callback(property, cbinfo);
329
+ return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
330
+ }
331
+
332
+ typedef v8::Handle<v8::Value> (*NativeGetter)
333
+ (v8::Local<v8::String>, const v8::AccessorInfo &);
334
+
335
+ static
336
+ void SetterCallbackWrapper(
337
+ v8::Local<v8::String> property
338
+ , v8::Local<v8::Value> value
339
+ , const v8::AccessorInfo &info) {
340
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
341
+ PropertyCallbackInfo<void>
342
+ cbinfo(info, obj->GetInternalField(kDataIndex));
343
+ SetterCallback callback = reinterpret_cast<SetterCallback>(
344
+ reinterpret_cast<intptr_t>(
345
+ obj->GetInternalField(kSetterIndex).As<v8::External>()->Value()));
346
+ callback(property, value, cbinfo);
347
+ }
348
+
349
+ typedef void (*NativeSetter)
350
+ (v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo &);
351
+
352
+ static
353
+ v8::Handle<v8::Value> PropertyGetterCallbackWrapper(
354
+ v8::Local<v8::String> property, const v8::AccessorInfo &info) {
355
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
356
+ PropertyCallbackInfo<v8::Value>
357
+ cbinfo(info, obj->GetInternalField(kDataIndex));
358
+ PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
359
+ reinterpret_cast<intptr_t>(
360
+ obj->GetInternalField(kPropertyGetterIndex)
361
+ .As<v8::External>()->Value()));
362
+ callback(property, cbinfo);
363
+ return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
364
+ }
365
+
366
+ typedef v8::Handle<v8::Value> (*NativePropertyGetter)
367
+ (v8::Local<v8::String>, const v8::AccessorInfo &);
368
+
369
+ static
370
+ v8::Handle<v8::Value> PropertySetterCallbackWrapper(
371
+ v8::Local<v8::String> property
372
+ , v8::Local<v8::Value> value
373
+ , const v8::AccessorInfo &info) {
374
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
375
+ PropertyCallbackInfo<v8::Value>
376
+ cbinfo(info, obj->GetInternalField(kDataIndex));
377
+ PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
378
+ reinterpret_cast<intptr_t>(
379
+ obj->GetInternalField(kPropertySetterIndex)
380
+ .As<v8::External>()->Value()));
381
+ callback(property, value, cbinfo);
382
+ return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
383
+ }
384
+
385
+ typedef v8::Handle<v8::Value> (*NativePropertySetter)
386
+ (v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo &);
387
+
388
+ static
389
+ v8::Handle<v8::Array> PropertyEnumeratorCallbackWrapper(
390
+ const v8::AccessorInfo &info) {
391
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
392
+ PropertyCallbackInfo<v8::Array>
393
+ cbinfo(info, obj->GetInternalField(kDataIndex));
394
+ PropertyEnumeratorCallback callback =
395
+ reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
396
+ obj->GetInternalField(kPropertyEnumeratorIndex)
397
+ .As<v8::External>()->Value()));
398
+ callback(cbinfo);
399
+ return ReturnValueImp<v8::Array>(cbinfo.GetReturnValue()).Value();
400
+ }
401
+
402
+ typedef v8::Handle<v8::Array> (*NativePropertyEnumerator)
403
+ (const v8::AccessorInfo &);
404
+
405
+ static
406
+ v8::Handle<v8::Boolean> PropertyDeleterCallbackWrapper(
407
+ v8::Local<v8::String> property
408
+ , const v8::AccessorInfo &info) {
409
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
410
+ PropertyCallbackInfo<v8::Boolean>
411
+ cbinfo(info, obj->GetInternalField(kDataIndex));
412
+ PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
413
+ reinterpret_cast<intptr_t>(
414
+ obj->GetInternalField(kPropertyDeleterIndex)
415
+ .As<v8::External>()->Value()));
416
+ callback(property, cbinfo);
417
+ return ReturnValueImp<v8::Boolean>(cbinfo.GetReturnValue()).Value();
418
+ }
419
+
420
+ typedef v8::Handle<v8::Boolean> (NativePropertyDeleter)
421
+ (v8::Local<v8::String>, const v8::AccessorInfo &);
422
+
423
+ static
424
+ v8::Handle<v8::Integer> PropertyQueryCallbackWrapper(
425
+ v8::Local<v8::String> property, const v8::AccessorInfo &info) {
426
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
427
+ PropertyCallbackInfo<v8::Integer>
428
+ cbinfo(info, obj->GetInternalField(kDataIndex));
429
+ PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
430
+ reinterpret_cast<intptr_t>(
431
+ obj->GetInternalField(kPropertyQueryIndex)
432
+ .As<v8::External>()->Value()));
433
+ callback(property, cbinfo);
434
+ return ReturnValueImp<v8::Integer>(cbinfo.GetReturnValue()).Value();
435
+ }
436
+
437
+ typedef v8::Handle<v8::Integer> (*NativePropertyQuery)
438
+ (v8::Local<v8::String>, const v8::AccessorInfo &);
439
+
440
+ static
441
+ v8::Handle<v8::Value> IndexGetterCallbackWrapper(
442
+ uint32_t index, const v8::AccessorInfo &info) {
443
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
444
+ PropertyCallbackInfo<v8::Value>
445
+ cbinfo(info, obj->GetInternalField(kDataIndex));
446
+ IndexGetterCallback callback = reinterpret_cast<IndexGetterCallback>(
447
+ reinterpret_cast<intptr_t>(
448
+ obj->GetInternalField(kIndexPropertyGetterIndex)
449
+ .As<v8::External>()->Value()));
450
+ callback(index, cbinfo);
451
+ return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
452
+ }
453
+
454
+ typedef v8::Handle<v8::Value> (*NativeIndexGetter)
455
+ (uint32_t, const v8::AccessorInfo &);
456
+
457
+ static
458
+ v8::Handle<v8::Value> IndexSetterCallbackWrapper(
459
+ uint32_t index
460
+ , v8::Local<v8::Value> value
461
+ , const v8::AccessorInfo &info) {
462
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
463
+ PropertyCallbackInfo<v8::Value>
464
+ cbinfo(info, obj->GetInternalField(kDataIndex));
465
+ IndexSetterCallback callback = reinterpret_cast<IndexSetterCallback>(
466
+ reinterpret_cast<intptr_t>(
467
+ obj->GetInternalField(kIndexPropertySetterIndex)
468
+ .As<v8::External>()->Value()));
469
+ callback(index, value, cbinfo);
470
+ return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
471
+ }
472
+
473
+ typedef v8::Handle<v8::Value> (*NativeIndexSetter)
474
+ (uint32_t, v8::Local<v8::Value>, const v8::AccessorInfo &);
475
+
476
+ static
477
+ v8::Handle<v8::Array> IndexEnumeratorCallbackWrapper(
478
+ const v8::AccessorInfo &info) {
479
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
480
+ PropertyCallbackInfo<v8::Array>
481
+ cbinfo(info, obj->GetInternalField(kDataIndex));
482
+ IndexEnumeratorCallback callback = reinterpret_cast<IndexEnumeratorCallback>(
483
+ reinterpret_cast<intptr_t>(
484
+ obj->GetInternalField(kIndexPropertyEnumeratorIndex)
485
+ .As<v8::External>()->Value()));
486
+ callback(cbinfo);
487
+ return ReturnValueImp<v8::Array>(cbinfo.GetReturnValue()).Value();
488
+ }
489
+
490
+ typedef v8::Handle<v8::Array> (*NativeIndexEnumerator)
491
+ (const v8::AccessorInfo &);
492
+
493
+ static
494
+ v8::Handle<v8::Boolean> IndexDeleterCallbackWrapper(
495
+ uint32_t index, const v8::AccessorInfo &info) {
496
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
497
+ PropertyCallbackInfo<v8::Boolean>
498
+ cbinfo(info, obj->GetInternalField(kDataIndex));
499
+ IndexDeleterCallback callback = reinterpret_cast<IndexDeleterCallback>(
500
+ reinterpret_cast<intptr_t>(
501
+ obj->GetInternalField(kIndexPropertyDeleterIndex)
502
+ .As<v8::External>()->Value()));
503
+ callback(index, cbinfo);
504
+ return ReturnValueImp<v8::Boolean>(cbinfo.GetReturnValue()).Value();
505
+ }
506
+
507
+ typedef v8::Handle<v8::Boolean> (*NativeIndexDeleter)
508
+ (uint32_t, const v8::AccessorInfo &);
509
+
510
+ static
511
+ v8::Handle<v8::Integer> IndexQueryCallbackWrapper(
512
+ uint32_t index, const v8::AccessorInfo &info) {
513
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
514
+ PropertyCallbackInfo<v8::Integer>
515
+ cbinfo(info, obj->GetInternalField(kDataIndex));
516
+ IndexQueryCallback callback = reinterpret_cast<IndexQueryCallback>(
517
+ reinterpret_cast<intptr_t>(
518
+ obj->GetInternalField(kIndexPropertyQueryIndex)
519
+ .As<v8::External>()->Value()));
520
+ callback(index, cbinfo);
521
+ return ReturnValueImp<v8::Integer>(cbinfo.GetReturnValue()).Value();
522
+ }
523
+
524
+ typedef v8::Handle<v8::Integer> (*NativeIndexQuery)
525
+ (uint32_t, const v8::AccessorInfo &);
526
+ } // end of namespace imp
527
+
528
+ #endif // NAN_CALLBACKS_PRE_12_INL_H_
@@ -0,0 +1,72 @@
1
+ /*********************************************************************
2
+ * NAN - Native Abstractions for Node.js
3
+ *
4
+ * Copyright (c) 2018 NAN contributors
5
+ *
6
+ * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7
+ ********************************************************************/
8
+
9
+ #ifndef NAN_CONVERTERS_H_
10
+ #define NAN_CONVERTERS_H_
11
+
12
+ namespace imp {
13
+ template<typename T> struct ToFactoryBase {
14
+ typedef MaybeLocal<T> return_t;
15
+ };
16
+ template<typename T> struct ValueFactoryBase { typedef Maybe<T> return_t; };
17
+
18
+ template<typename T> struct ToFactory;
19
+
20
+ template<>
21
+ struct ToFactory<v8::Function> : ToFactoryBase<v8::Function> {
22
+ static inline return_t convert(v8::Local<v8::Value> val) {
23
+ if (val.IsEmpty() || !val->IsFunction()) return MaybeLocal<v8::Function>();
24
+ return MaybeLocal<v8::Function>(val.As<v8::Function>());
25
+ }
26
+ };
27
+
28
+ #define X(TYPE) \
29
+ template<> \
30
+ struct ToFactory<v8::TYPE> : ToFactoryBase<v8::TYPE> { \
31
+ static inline return_t convert(v8::Local<v8::Value> val); \
32
+ };
33
+
34
+ X(Boolean)
35
+ X(Number)
36
+ X(String)
37
+ X(Object)
38
+ X(Integer)
39
+ X(Uint32)
40
+ X(Int32)
41
+
42
+ #undef X
43
+
44
+ #define X(TYPE) \
45
+ template<> \
46
+ struct ToFactory<TYPE> : ValueFactoryBase<TYPE> { \
47
+ static inline return_t convert(v8::Local<v8::Value> val); \
48
+ };
49
+
50
+ X(bool)
51
+ X(double)
52
+ X(int64_t)
53
+ X(uint32_t)
54
+ X(int32_t)
55
+
56
+ #undef X
57
+ } // end of namespace imp
58
+
59
+ template<typename T>
60
+ inline
61
+ typename imp::ToFactory<T>::return_t To(v8::Local<v8::Value> val) {
62
+ return imp::ToFactory<T>::convert(val);
63
+ }
64
+
65
+ #if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
66
+ (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
67
+ # include "nan_converters_43_inl.h"
68
+ #else
69
+ # include "nan_converters_pre_43_inl.h"
70
+ #endif
71
+
72
+ #endif // NAN_CONVERTERS_H_
@@ -0,0 +1,68 @@
1
+ /*********************************************************************
2
+ * NAN - Native Abstractions for Node.js
3
+ *
4
+ * Copyright (c) 2018 NAN contributors
5
+ *
6
+ * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7
+ ********************************************************************/
8
+
9
+ #ifndef NAN_CONVERTERS_43_INL_H_
10
+ #define NAN_CONVERTERS_43_INL_H_
11
+
12
+ #define X(TYPE) \
13
+ imp::ToFactory<v8::TYPE>::return_t \
14
+ imp::ToFactory<v8::TYPE>::convert(v8::Local<v8::Value> val) { \
15
+ v8::Isolate *isolate = v8::Isolate::GetCurrent(); \
16
+ v8::EscapableHandleScope scope(isolate); \
17
+ return scope.Escape( \
18
+ val->To ## TYPE(isolate->GetCurrentContext()) \
19
+ .FromMaybe(v8::Local<v8::TYPE>())); \
20
+ }
21
+
22
+ X(Number)
23
+ X(String)
24
+ X(Object)
25
+ X(Integer)
26
+ X(Uint32)
27
+ X(Int32)
28
+ // V8 <= 7.0
29
+ #if V8_MAJOR_VERSION < 7 || (V8_MAJOR_VERSION == 7 && V8_MINOR_VERSION == 0)
30
+ X(Boolean)
31
+ #else
32
+ imp::ToFactory<v8::Boolean>::return_t \
33
+ imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value> val) { \
34
+ v8::Isolate *isolate = v8::Isolate::GetCurrent(); \
35
+ v8::EscapableHandleScope scope(isolate); \
36
+ return scope.Escape(val->ToBoolean(isolate)); \
37
+ }
38
+ #endif
39
+
40
+ #undef X
41
+
42
+ #define X(TYPE, NAME) \
43
+ imp::ToFactory<TYPE>::return_t \
44
+ imp::ToFactory<TYPE>::convert(v8::Local<v8::Value> val) { \
45
+ v8::Isolate *isolate = v8::Isolate::GetCurrent(); \
46
+ v8::HandleScope scope(isolate); \
47
+ return val->NAME ## Value(isolate->GetCurrentContext()); \
48
+ }
49
+
50
+ X(double, Number)
51
+ X(int64_t, Integer)
52
+ X(uint32_t, Uint32)
53
+ X(int32_t, Int32)
54
+ // V8 <= 7.0
55
+ #if V8_MAJOR_VERSION < 7 || (V8_MAJOR_VERSION == 7 && V8_MINOR_VERSION == 0)
56
+ X(bool, Boolean)
57
+ #else
58
+ imp::ToFactory<bool>::return_t \
59
+ imp::ToFactory<bool>::convert(v8::Local<v8::Value> val) { \
60
+ v8::Isolate *isolate = v8::Isolate::GetCurrent(); \
61
+ v8::HandleScope scope(isolate); \
62
+ return Just<bool>(val->BooleanValue(isolate)); \
63
+ }
64
+ #endif
65
+
66
+ #undef X
67
+
68
+ #endif // NAN_CONVERTERS_43_INL_H_