usb 2.1.3 → 2.3.1

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 (292) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +19 -2
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.js +3 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/usb/bindings.d.ts +4 -0
  7. package/dist/usb/device.js +5 -0
  8. package/dist/usb/device.js.map +1 -1
  9. package/dist/usb/index.js +7 -16
  10. package/dist/usb/index.js.map +1 -1
  11. package/dist/webusb/webusb-device.d.ts +0 -1
  12. package/dist/webusb/webusb-device.js +149 -243
  13. package/dist/webusb/webusb-device.js.map +1 -1
  14. package/libusb/.gitattributes +2 -6
  15. package/libusb/.private/appveyor_build.sh +22 -0
  16. package/libusb/.private/bm.sh +1 -1
  17. package/libusb/.private/ci-build.sh +67 -0
  18. package/libusb/.private/ci-container-build.sh +70 -0
  19. package/libusb/.private/post-rewrite.sh +5 -1
  20. package/libusb/.private/pre-commit.sh +5 -1
  21. package/libusb/.private/wbs.txt +4 -19
  22. package/libusb/.travis.yml +32 -23
  23. package/libusb/AUTHORS +86 -3
  24. package/libusb/ChangeLog +54 -3
  25. package/libusb/INSTALL_WIN.txt +22 -44
  26. package/libusb/Makefile.am +32 -10
  27. package/libusb/{README.md → README} +2 -2
  28. package/libusb/README.git +3 -3
  29. package/libusb/Xcode/common.xcconfig +23 -19
  30. package/libusb/Xcode/config.h +25 -13
  31. package/libusb/Xcode/libusb.xcodeproj/project.pbxproj +511 -109
  32. package/libusb/android/README +90 -54
  33. package/libusb/android/config.h +23 -43
  34. package/libusb/android/examples/unrooted_android.c +300 -0
  35. package/libusb/android/examples/unrooted_android.h +36 -0
  36. package/libusb/android/jni/Android.mk +1 -1
  37. package/libusb/android/jni/Application.mk +16 -0
  38. package/libusb/android/jni/examples.mk +63 -29
  39. package/libusb/android/jni/libusb.mk +14 -8
  40. package/libusb/android/jni/tests.mk +13 -24
  41. package/libusb/appveyor.yml +73 -30
  42. package/libusb/autogen.sh +5 -3
  43. package/libusb/bootstrap.sh +6 -2
  44. package/libusb/configure.ac +314 -227
  45. package/libusb/doc/Makefile.in +22 -0
  46. package/libusb/doc/doxygen.cfg.in +460 -223
  47. package/libusb/examples/Makefile.am +6 -13
  48. package/libusb/examples/dpfp.c +276 -73
  49. package/libusb/examples/ezusb.c +18 -8
  50. package/libusb/examples/ezusb.h +6 -17
  51. package/libusb/examples/fxload.c +4 -5
  52. package/libusb/examples/hotplugtest.c +1 -1
  53. package/libusb/examples/sam3u_benchmark.c +59 -24
  54. package/libusb/examples/testlibusb.c +138 -104
  55. package/libusb/examples/xusb.c +26 -22
  56. package/libusb/libusb/Makefile.am +57 -70
  57. package/libusb/libusb/Makefile.am.extra +26 -0
  58. package/libusb/libusb/core.c +432 -423
  59. package/libusb/libusb/descriptor.c +365 -419
  60. package/libusb/libusb/hotplug.c +200 -104
  61. package/libusb/libusb/io.c +522 -535
  62. package/libusb/libusb/libusb-1.0.def +7 -3
  63. package/libusb/libusb/libusb-1.0.rc +1 -9
  64. package/libusb/libusb/libusb.h +302 -226
  65. package/libusb/libusb/libusbi.h +607 -316
  66. package/libusb/libusb/os/darwin_usb.c +703 -329
  67. package/libusb/libusb/os/darwin_usb.h +39 -15
  68. package/libusb/libusb/os/events_posix.c +300 -0
  69. package/libusb/libusb/os/events_posix.h +59 -0
  70. package/libusb/libusb/os/events_windows.c +214 -0
  71. package/libusb/{msvc/missing.h → libusb/os/events_windows.h} +25 -11
  72. package/libusb/libusb/os/haiku_pollfs.cpp +14 -9
  73. package/libusb/libusb/os/haiku_usb.h +12 -12
  74. package/libusb/libusb/os/haiku_usb_backend.cpp +36 -37
  75. package/libusb/libusb/os/haiku_usb_raw.cpp +80 -116
  76. package/libusb/libusb/os/linux_netlink.c +55 -63
  77. package/libusb/libusb/os/linux_udev.c +61 -69
  78. package/libusb/libusb/os/linux_usbfs.c +926 -1015
  79. package/libusb/libusb/os/linux_usbfs.h +74 -57
  80. package/libusb/libusb/os/netbsd_usb.c +103 -168
  81. package/libusb/libusb/os/null_usb.c +111 -0
  82. package/libusb/libusb/os/openbsd_usb.c +71 -120
  83. package/libusb/libusb/os/sunos_usb.c +289 -375
  84. package/libusb/libusb/os/sunos_usb.h +0 -1
  85. package/libusb/libusb/os/threads_posix.c +81 -32
  86. package/libusb/libusb/os/threads_posix.h +19 -23
  87. package/libusb/libusb/os/threads_windows.c +9 -95
  88. package/libusb/libusb/os/threads_windows.h +33 -31
  89. package/libusb/libusb/os/windows_common.c +915 -0
  90. package/libusb/libusb/os/windows_common.h +330 -42
  91. package/libusb/libusb/os/windows_usbdk.c +161 -267
  92. package/libusb/libusb/os/windows_usbdk.h +5 -2
  93. package/libusb/libusb/os/windows_winusb.c +1355 -1192
  94. package/libusb/libusb/os/windows_winusb.h +167 -167
  95. package/libusb/libusb/strerror.c +20 -30
  96. package/libusb/libusb/sync.c +20 -21
  97. package/libusb/libusb/version.h +1 -1
  98. package/libusb/libusb/version_nano.h +1 -1
  99. package/libusb/msvc/.gitattributes +3 -0
  100. package/libusb/msvc/config.h +27 -20
  101. package/libusb/msvc/{hotplugtest_2012.vcxproj → dpfp_2013.vcxproj} +14 -10
  102. package/libusb/msvc/dpfp_2013.vcxproj.filters +26 -0
  103. package/libusb/msvc/{hotplugtest_2010.vcxproj → dpfp_2015.vcxproj} +14 -9
  104. package/libusb/msvc/dpfp_2015.vcxproj.filters +26 -0
  105. package/libusb/msvc/dpfp_2017.vcxproj +106 -0
  106. package/libusb/msvc/dpfp_2017.vcxproj.filters +26 -0
  107. package/libusb/msvc/dpfp_2019.vcxproj +106 -0
  108. package/libusb/msvc/dpfp_2019.vcxproj.filters +26 -0
  109. package/libusb/msvc/dpfp_threaded_2013.vcxproj +87 -0
  110. package/libusb/msvc/dpfp_threaded_2013.vcxproj.filters +26 -0
  111. package/libusb/msvc/dpfp_threaded_2015.vcxproj +87 -0
  112. package/libusb/msvc/dpfp_threaded_2015.vcxproj.filters +26 -0
  113. package/libusb/msvc/dpfp_threaded_2017.vcxproj +106 -0
  114. package/libusb/msvc/dpfp_threaded_2017.vcxproj.filters +26 -0
  115. package/libusb/msvc/{fxload_2012.vcxproj → dpfp_threaded_2019.vcxproj} +32 -17
  116. package/libusb/msvc/dpfp_threaded_2019.vcxproj.filters +26 -0
  117. package/libusb/msvc/fxload_2013.vcxproj +6 -3
  118. package/libusb/msvc/fxload_2013.vcxproj.filters +35 -0
  119. package/libusb/msvc/fxload_2015.vcxproj +6 -3
  120. package/libusb/msvc/fxload_2015.vcxproj.filters +35 -0
  121. package/libusb/msvc/fxload_2017.vcxproj +6 -7
  122. package/libusb/msvc/fxload_2017.vcxproj.filters +35 -0
  123. package/libusb/msvc/{fxload_2010.vcxproj → fxload_2019.vcxproj} +29 -6
  124. package/libusb/msvc/fxload_2019.vcxproj.filters +35 -0
  125. package/libusb/{examples → msvc}/getopt/getopt.c +0 -0
  126. package/libusb/{examples → msvc}/getopt/getopt.h +0 -0
  127. package/libusb/{examples → msvc}/getopt/getopt1.c +0 -0
  128. package/libusb/msvc/getopt_2013.vcxproj +4 -5
  129. package/libusb/msvc/getopt_2013.vcxproj.filters +26 -0
  130. package/libusb/msvc/getopt_2015.vcxproj +4 -4
  131. package/libusb/msvc/getopt_2015.vcxproj.filters +26 -0
  132. package/libusb/msvc/getopt_2017.vcxproj +4 -10
  133. package/libusb/msvc/getopt_2017.vcxproj.filters +26 -0
  134. package/libusb/msvc/{getopt_2010.vcxproj → getopt_2019.vcxproj} +25 -5
  135. package/libusb/msvc/getopt_2019.vcxproj.filters +26 -0
  136. package/libusb/msvc/hotplugtest_2013.vcxproj +6 -3
  137. package/libusb/msvc/hotplugtest_2013.vcxproj.filters +23 -0
  138. package/libusb/msvc/hotplugtest_2015.vcxproj +6 -3
  139. package/libusb/msvc/hotplugtest_2015.vcxproj.filters +23 -0
  140. package/libusb/msvc/hotplugtest_2017.vcxproj +6 -7
  141. package/libusb/msvc/hotplugtest_2017.vcxproj.filters +23 -0
  142. package/libusb/msvc/hotplugtest_2019.vcxproj +105 -0
  143. package/libusb/msvc/hotplugtest_2019.vcxproj.filters +23 -0
  144. package/libusb/msvc/libusb_2013.sln +50 -20
  145. package/libusb/msvc/libusb_2015.sln +51 -21
  146. package/libusb/msvc/libusb_2017.sln +90 -36
  147. package/libusb/msvc/libusb_2019.sln +240 -0
  148. package/libusb/msvc/libusb_dll_2013.vcxproj +6 -9
  149. package/libusb/msvc/libusb_dll_2013.vcxproj.filters +94 -0
  150. package/libusb/msvc/libusb_dll_2015.vcxproj +6 -8
  151. package/libusb/msvc/libusb_dll_2015.vcxproj.filters +94 -0
  152. package/libusb/msvc/libusb_dll_2017.vcxproj +6 -16
  153. package/libusb/msvc/libusb_dll_2017.vcxproj.filters +94 -0
  154. package/libusb/msvc/{libusb_dll_2010.vcxproj → libusb_dll_2019.vcxproj} +27 -9
  155. package/libusb/msvc/libusb_dll_2019.vcxproj.filters +94 -0
  156. package/libusb/msvc/libusb_static_2013.vcxproj +5 -9
  157. package/libusb/msvc/libusb_static_2013.vcxproj.filters +80 -0
  158. package/libusb/msvc/libusb_static_2015.vcxproj +5 -8
  159. package/libusb/msvc/libusb_static_2015.vcxproj.filters +80 -0
  160. package/libusb/msvc/libusb_static_2017.vcxproj +5 -8
  161. package/libusb/msvc/libusb_static_2017.vcxproj.filters +80 -0
  162. package/libusb/msvc/{libusb_static_2010.vcxproj → libusb_static_2019.vcxproj} +26 -9
  163. package/libusb/msvc/libusb_static_2019.vcxproj.filters +80 -0
  164. package/libusb/msvc/listdevs_2013.vcxproj +6 -3
  165. package/libusb/msvc/listdevs_2013.vcxproj.filters +23 -0
  166. package/libusb/msvc/listdevs_2015.vcxproj +6 -3
  167. package/libusb/msvc/listdevs_2015.vcxproj.filters +23 -0
  168. package/libusb/msvc/listdevs_2017.vcxproj +6 -7
  169. package/libusb/msvc/listdevs_2017.vcxproj.filters +23 -0
  170. package/libusb/msvc/listdevs_2019.vcxproj +105 -0
  171. package/libusb/msvc/listdevs_2019.vcxproj.filters +23 -0
  172. package/libusb/msvc/{listdevs_2010.vcxproj → sam3u_benchmark_2013.vcxproj} +13 -8
  173. package/libusb/msvc/sam3u_benchmark_2013.vcxproj.filters +26 -0
  174. package/libusb/msvc/{listdevs_2012.vcxproj → sam3u_benchmark_2015.vcxproj} +13 -9
  175. package/libusb/msvc/sam3u_benchmark_2015.vcxproj.filters +26 -0
  176. package/libusb/msvc/sam3u_benchmark_2017.vcxproj +106 -0
  177. package/libusb/msvc/sam3u_benchmark_2017.vcxproj.filters +26 -0
  178. package/libusb/msvc/sam3u_benchmark_2019.vcxproj +106 -0
  179. package/libusb/msvc/sam3u_benchmark_2019.vcxproj.filters +26 -0
  180. package/libusb/msvc/stress_2013.vcxproj +4 -2
  181. package/libusb/msvc/stress_2013.vcxproj.filters +32 -0
  182. package/libusb/msvc/stress_2015.vcxproj +4 -2
  183. package/libusb/msvc/stress_2015.vcxproj.filters +32 -0
  184. package/libusb/msvc/stress_2017.vcxproj +4 -6
  185. package/libusb/msvc/stress_2017.vcxproj.filters +32 -0
  186. package/libusb/msvc/{stress_2010.vcxproj → stress_2019.vcxproj} +26 -4
  187. package/libusb/msvc/stress_2019.vcxproj.filters +32 -0
  188. package/libusb/msvc/testlibusb_2013.vcxproj +6 -3
  189. package/libusb/msvc/testlibusb_2013.vcxproj.filters +23 -0
  190. package/libusb/msvc/testlibusb_2015.vcxproj +6 -3
  191. package/libusb/msvc/testlibusb_2015.vcxproj.filters +23 -0
  192. package/libusb/msvc/testlibusb_2017.vcxproj +6 -7
  193. package/libusb/msvc/testlibusb_2017.vcxproj.filters +23 -0
  194. package/libusb/msvc/{testlibusb_2010.vcxproj → testlibusb_2019.vcxproj} +28 -5
  195. package/libusb/msvc/testlibusb_2019.vcxproj.filters +23 -0
  196. package/libusb/msvc/xusb_2013.vcxproj +6 -3
  197. package/libusb/msvc/xusb_2013.vcxproj.filters +23 -0
  198. package/libusb/msvc/xusb_2015.vcxproj +6 -3
  199. package/libusb/msvc/xusb_2015.vcxproj.filters +23 -0
  200. package/libusb/msvc/xusb_2017.vcxproj +6 -7
  201. package/libusb/msvc/xusb_2017.vcxproj.filters +23 -0
  202. package/libusb/msvc/{xusb_2010.vcxproj → xusb_2019.vcxproj} +28 -5
  203. package/libusb/msvc/xusb_2019.vcxproj.filters +23 -0
  204. package/libusb/tests/Makefile.am +13 -1
  205. package/libusb/tests/libusb_testlib.h +12 -43
  206. package/libusb/tests/stress.c +59 -50
  207. package/libusb/tests/testlib.c +78 -171
  208. package/libusb/tests/umockdev.c +1175 -0
  209. package/libusb.gypi +10 -11
  210. package/package.json +1 -1
  211. package/prebuilds/android-arm/node.napi.armv7.node +0 -0
  212. package/prebuilds/android-arm64/node.napi.armv8.node +0 -0
  213. package/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
  214. package/prebuilds/linux-arm/node.napi.armv6.node +0 -0
  215. package/prebuilds/linux-arm/node.napi.armv7.node +0 -0
  216. package/prebuilds/linux-arm64/node.napi.armv8.node +0 -0
  217. package/prebuilds/linux-ia32/node.napi.node +0 -0
  218. package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  219. package/prebuilds/linux-x64/node.napi.musl.node +0 -0
  220. package/prebuilds/win32-ia32/node.napi.node +0 -0
  221. package/prebuilds/win32-x64/node.napi.node +0 -0
  222. package/src/device.cc +12 -7
  223. package/src/node_usb.cc +10 -0
  224. package/test/usb.coffee +6 -0
  225. package/tsc/index.ts +2 -0
  226. package/tsc/usb/bindings.ts +5 -0
  227. package/tsc/usb/device.ts +6 -0
  228. package/tsc/usb/index.ts +5 -8
  229. package/tsc/webusb/webusb-device.ts +67 -124
  230. package/dist/webusb/mutex.d.ts +0 -22
  231. package/dist/webusb/mutex.js +0 -89
  232. package/dist/webusb/mutex.js.map +0 -1
  233. package/libusb/.private/bd.cmd +0 -89
  234. package/libusb/.private/bwince.cmd +0 -57
  235. package/libusb/.private/wbs_wince.txt +0 -42
  236. package/libusb/Brewfile +0 -4
  237. package/libusb/appveyor_cygwin.bat +0 -11
  238. package/libusb/appveyor_minGW.bat +0 -19
  239. package/libusb/doc/Makefile.am +0 -9
  240. package/libusb/examples/dpfp_threaded.c +0 -557
  241. package/libusb/libusb/hotplug.h +0 -99
  242. package/libusb/libusb/os/poll_posix.c +0 -84
  243. package/libusb/libusb/os/poll_posix.h +0 -14
  244. package/libusb/libusb/os/poll_windows.c +0 -447
  245. package/libusb/libusb/os/poll_windows.h +0 -98
  246. package/libusb/libusb/os/wince_usb.c +0 -888
  247. package/libusb/libusb/os/wince_usb.h +0 -126
  248. package/libusb/libusb/os/windows_nt_common.c +0 -1010
  249. package/libusb/libusb/os/windows_nt_common.h +0 -110
  250. package/libusb/libusb/os/windows_nt_shared_types.h +0 -147
  251. package/libusb/msvc/appveyor.bat +0 -27
  252. package/libusb/msvc/ddk_build.cmd +0 -219
  253. package/libusb/msvc/errno.h +0 -102
  254. package/libusb/msvc/fxload_sources +0 -23
  255. package/libusb/msvc/getopt_2005.vcproj +0 -288
  256. package/libusb/msvc/getopt_2012.vcxproj +0 -73
  257. package/libusb/msvc/getopt_sources +0 -24
  258. package/libusb/msvc/hotplugtest_sources +0 -20
  259. package/libusb/msvc/inttypes.h +0 -295
  260. package/libusb/msvc/libusb.dsw +0 -71
  261. package/libusb/msvc/libusb_2005.sln +0 -95
  262. package/libusb/msvc/libusb_2010.sln +0 -105
  263. package/libusb/msvc/libusb_2012.sln +0 -105
  264. package/libusb/msvc/libusb_dll.dsp +0 -194
  265. package/libusb/msvc/libusb_dll_2005.vcproj +0 -464
  266. package/libusb/msvc/libusb_dll_2012.vcxproj +0 -107
  267. package/libusb/msvc/libusb_dll_wince.vcproj +0 -1251
  268. package/libusb/msvc/libusb_sources +0 -43
  269. package/libusb/msvc/libusb_static.dsp +0 -174
  270. package/libusb/msvc/libusb_static_2005.vcproj +0 -390
  271. package/libusb/msvc/libusb_static_2012.vcxproj +0 -98
  272. package/libusb/msvc/libusb_static_wince.vcproj +0 -1179
  273. package/libusb/msvc/libusb_wince.sln +0 -246
  274. package/libusb/msvc/listdevs.dsp +0 -103
  275. package/libusb/msvc/listdevs_2005.vcproj +0 -360
  276. package/libusb/msvc/listdevs_sources +0 -20
  277. package/libusb/msvc/listdevs_wince.vcproj +0 -1120
  278. package/libusb/msvc/missing.c +0 -80
  279. package/libusb/msvc/stdint.h +0 -256
  280. package/libusb/msvc/stress_2005.vcproj +0 -390
  281. package/libusb/msvc/stress_2012.vcxproj +0 -87
  282. package/libusb/msvc/stress_sources +0 -21
  283. package/libusb/msvc/stress_wince.vcproj +0 -1128
  284. package/libusb/msvc/testlibusb_2012.vcxproj +0 -83
  285. package/libusb/msvc/testlibusb_sources +0 -20
  286. package/libusb/msvc/xusb.dsp +0 -102
  287. package/libusb/msvc/xusb_2005.vcproj +0 -344
  288. package/libusb/msvc/xusb_2012.vcxproj +0 -83
  289. package/libusb/msvc/xusb_sources +0 -20
  290. package/libusb/msvc/xusb_wince.vcproj +0 -1120
  291. package/libusb/travis-autogen.sh +0 -39
  292. package/tsc/webusb/mutex.ts +0 -38
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.1] - 2022-04-11
4
+
5
+ ### Changed
6
+ - Removed device access mutex from WebUSB API - [`501`](https://github.com/node-usb/node-usb/pull/501) ([Rob Moran](https://github.com/thegecko))
7
+
8
+ ## [2.3.0] - 2022-04-11
9
+
10
+ ### Changed
11
+ - Changed libusb dependency to upstream v1.0.26 - [`505`](https://github.com/node-usb/node-usb/pull/505) ([Rob Moran](https://github.com/thegecko))
12
+ - Cleaned up Windows device polling method - [`496`](https://github.com/node-usb/node-usb/pull/496) ([Alba Mendez](https://github.com/mildsunrise))
13
+
14
+ ## [2.2.0] - 2022-03-25
15
+
16
+ ### Added
17
+ - Added `useUsbDkBackend()` method for switching libusb backend on Windows - [`489`](https://github.com/node-usb/node-usb/pull/489) ([Rob Moran](https://github.com/thegecko))
18
+
19
+ ### Changed
20
+ - Changed libusb dependency to upstream v1.0.25 - [`490`](https://github.com/node-usb/node-usb/pull/490) ([Rob Moran](https://github.com/thegecko))
21
+
22
+ ### Fixed
23
+ - Shortcut getStringDescriptor() to return undefined when passed index 0 - [`487`](https://github.com/node-usb/node-usb/pull/487) ([Rob Moran](https://github.com/thegecko))
24
+ - Fixed race issue with garbage collected devices - [`492`](https://github.com/node-usb/node-usb/pull/492) ([Alba Mendez](https://github.com/mildsunrise))
25
+
3
26
  ## [2.1.3] - 2022-03-18
4
27
 
5
28
  ### Fixed
package/README.md CHANGED
@@ -12,7 +12,21 @@ This is a refactoring / rewrite of Christopher Klein's [node-usb](https://github
12
12
 
13
13
  [Node.js >= v10.16.0](https://nodejs.org), which includes `npm`.
14
14
 
15
- On Windows, use [Zadig](http://zadig.akeo.ie/) to install the WinUSB driver for your USB device. Otherwise you will get `LIBUSB_ERROR_NOT_SUPPORTED` when attempting to open devices.
15
+ ## Windows
16
+
17
+ On Windows, if you get `LIBUSB_ERROR_NOT_SUPPORTED` when attempting to open your device, it's possible your device doesn't have a WinUSB driver for libusb to use.
18
+
19
+ You can install one using [Zadig](http://zadig.akeo.ie/) or another approach is to use the [UsbDK Backend](https://github.com/daynix/UsbDk) of libusb by immediately calling `usb.useUsbDkBackend()`.
20
+
21
+ Note that you cannot use multiple drivers on Windows as they get exclusive access to the device. So if you want to switch between drivers (e.g. using a printer with this software or the system), you will need to uninstall/install drivers as required.
22
+
23
+ ## Linux
24
+
25
+ On Linux, you'll need libudev to build libusb if a prebuild is not available. On Ubuntu/Debian:
26
+
27
+ ```bash
28
+ sudo apt-get install build-essential libudev-dev
29
+ ```
16
30
 
17
31
  # Installation
18
32
 
@@ -30,7 +44,7 @@ With `yarn`:
30
44
  yarn add usb
31
45
  ```
32
46
 
33
- __Note:__ the library is now written in `TypeScript`, so a separate types file is not longer required to be installed.
47
+ __Note:__ the library is now written in `TypeScript`, so a separate types file is not longer required to be installed (e.g. don't install `@types/usb`).
34
48
 
35
49
  # License
36
50
  [MIT](LICENSE.md)
@@ -283,6 +297,9 @@ Constant properties from libusb
283
297
  #### usb.setDebugLevel(level : int)
284
298
  Set the libusb debug level (between 0 and 4)
285
299
 
300
+ #### usb.useUsbDkBackend()
301
+ On Windows, use the USBDK backend of libusb instead of WinUSB
302
+
286
303
  ### Device
287
304
  Represents a USB device.
288
305
 
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { WebUSBDevice } from './webusb/webusb-device';
3
3
  import * as usb from './usb';
4
4
  declare const webusb: WebUSB;
5
5
  declare const getDeviceList: typeof usb.getDeviceList;
6
+ declare const useUsbDkBackend: typeof usb.useUsbDkBackend;
6
7
  /**
7
8
  * Convenience method to get the first device with the specified VID and PID, or `undefined` if no such device is present.
8
9
  * @param vid
@@ -14,4 +15,4 @@ declare const findByIds: (vid: number, pid: number) => usb.Device | undefined;
14
15
  * @param serialNumber
15
16
  */
16
17
  declare const findBySerialNumber: (serialNumber: string) => Promise<usb.Device | undefined>;
17
- export { usb, getDeviceList, findByIds, findBySerialNumber, getWebUsb, webusb, WebUSB, WebUSBDevice };
18
+ export { usb, useUsbDkBackend, getDeviceList, findByIds, findBySerialNumber, getWebUsb, webusb, WebUSB, WebUSBDevice };
package/dist/index.js CHANGED
@@ -47,7 +47,7 @@ var __values = (this && this.__values) || function(o) {
47
47
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.WebUSBDevice = exports.WebUSB = exports.webusb = exports.getWebUsb = exports.findBySerialNumber = exports.findByIds = exports.getDeviceList = exports.usb = void 0;
50
+ exports.WebUSBDevice = exports.WebUSB = exports.webusb = exports.getWebUsb = exports.findBySerialNumber = exports.findByIds = exports.getDeviceList = exports.useUsbDkBackend = exports.usb = void 0;
51
51
  var util_1 = require("util");
52
52
  var webusb_1 = require("./webusb");
53
53
  Object.defineProperty(exports, "WebUSB", { enumerable: true, get: function () { return webusb_1.WebUSB; } });
@@ -60,6 +60,8 @@ var webusb = new webusb_1.WebUSB();
60
60
  exports.webusb = webusb;
61
61
  var getDeviceList = usb.getDeviceList;
62
62
  exports.getDeviceList = getDeviceList;
63
+ var useUsbDkBackend = usb.useUsbDkBackend;
64
+ exports.useUsbDkBackend = useUsbDkBackend;
63
65
  /**
64
66
  * Convenience method to get the first device with the specified VID and PID, or `undefined` if no such device is present.
65
67
  * @param vid
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../tsc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAiC;AACjC,mCAA6C;AAmEzC,uFAnEK,eAAM,OAmEL;AANN,0FA7Da,kBAAS,OA6Db;AA5Db,wDAAsD;AAqElD,6FArEK,4BAAY,OAqEL;AApEhB,2BAA6B;AAqDzB,kBAAG;AAnDP,IAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AA4DxB,wBAAM;AA3DV,IAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAqDpC,sCAAa;AAnDjB;;;;GAIG;AACH,IAAM,SAAS,GAAG,UAAC,GAAW,EAAE,GAAW;IACvC,IAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,GAAG,EAAjF,CAAiF,CAAC,CAAC;AACnH,CAAC,CAAC;AA4CE,8BAAS;AA1Cb;;;GAGG;AACH,IAAM,kBAAkB,GAAG,UAAO,YAAoB;;;;;;gBAC5C,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,GAAG,UAAC,MAAkB,IAAc,OAAA,CAAC,CAAC,MAAM,CAAC,UAAU,EAAnB,CAAmB,CAAC;;;;gBAE/C,YAAA,SAAA,OAAO,CAAA;;;;gBAAjB,MAAM;;;;gBAET,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBACjB,MAAM,CAAC,IAAI,EAAE,CAAC;iBACjB;gBAEK,mBAAmB,GAAG,gBAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,qBAAM,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAA;;gBAAzE,MAAM,GAAG,SAAgE;gBAE/E,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,YAAY,EAAE;oBAC9C,sBAAO,MAAM,EAAC;iBACjB;;;;;;gBAID,IAAI;oBACA,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;wBAChB,MAAM,CAAC,KAAK,EAAE,CAAC;qBAClB;iBACJ;gBAAC,WAAM;oBACJ,mEAAmE;iBACtE;;;;;;;;;;;;;;;;qBAIT,sBAAO,SAAS,EAAC;;;KACpB,CAAC;AASE,gDAAkB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../tsc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAiC;AACjC,mCAA6C;AAqEzC,uFArEK,eAAM,OAqEL;AANN,0FA/Da,kBAAS,OA+Db;AA9Db,wDAAsD;AAuElD,6FAvEK,4BAAY,OAuEL;AAtEhB,2BAA6B;AAsDzB,kBAAG;AApDP,IAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AA8DxB,wBAAM;AA7DV,IAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAuDpC,sCAAa;AAtDjB,IAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AAqDxC,0CAAe;AAnDnB;;;;GAIG;AACH,IAAM,SAAS,GAAG,UAAC,GAAW,EAAE,GAAW;IACvC,IAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,GAAG,EAAjF,CAAiF,CAAC,CAAC;AACnH,CAAC,CAAC;AA6CE,8BAAS;AA3Cb;;;GAGG;AACH,IAAM,kBAAkB,GAAG,UAAO,YAAoB;;;;;;gBAC5C,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,GAAG,UAAC,MAAkB,IAAc,OAAA,CAAC,CAAC,MAAM,CAAC,UAAU,EAAnB,CAAmB,CAAC;;;;gBAE/C,YAAA,SAAA,OAAO,CAAA;;;;gBAAjB,MAAM;;;;gBAET,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBACjB,MAAM,CAAC,IAAI,EAAE,CAAC;iBACjB;gBAEK,mBAAmB,GAAG,gBAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,qBAAM,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAA;;gBAAzE,MAAM,GAAG,SAAgE;gBAE/E,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,YAAY,EAAE;oBAC9C,sBAAO,MAAM,EAAC;iBACjB;;;;;;gBAID,IAAI;oBACA,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;wBAChB,MAAM,CAAC,KAAK,EAAE,CAAC;qBAClB;iBACJ;gBAAC,WAAM;oBACJ,mEAAmE;iBACtE;;;;;;;;;;;;;;;;qBAIT,sBAAO,SAAS,EAAC;;;KACpB,CAAC;AAUE,gDAAkB"}
@@ -13,6 +13,10 @@ export declare class LibUSBException extends Error {
13
13
  * @param level libusb debug level (between 0 and 4)
14
14
  */
15
15
  export declare function setDebugLevel(level: number): void;
16
+ /**
17
+ * Use USBDK Backend (Windows only)
18
+ */
19
+ export declare function useUsbDkBackend(): void;
16
20
  export declare function _enableHotplugEvents(): void;
17
21
  export declare function _disableHotplugEvents(): void;
18
22
  export declare function _getLibusbCapability(capability: number): number;
@@ -205,6 +205,11 @@ var ExtendedDevice = /** @class */ (function () {
205
205
  * @param callback
206
206
  */
207
207
  ExtendedDevice.prototype.getStringDescriptor = function (desc_index, callback) {
208
+ // Index 0 indicates null
209
+ if (desc_index === 0) {
210
+ callback();
211
+ return;
212
+ }
208
213
  var langid = 0x0409;
209
214
  var length = 255;
210
215
  this.controlTransfer(usb.LIBUSB_ENDPOINT_IN, usb.LIBUSB_REQUEST_GET_DESCRIPTOR, ((usb.LIBUSB_DT_STRING << 8) | desc_index), langid, length, function (error, buffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../tsc/usb/device.ts"],"names":[],"mappings":";;;AAAA,gCAAkC;AAClC,yCAAwC;AACxC,2CAA0C;AAG1C,IAAM,QAAQ,GAAG,UAAC,GAAoC,IAAwB,OAAA,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,UAAU,EAAlC,CAAkC,CAAC;AACjH,IAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;IAAA;QAMY,aAAQ,GAAG,eAAe,CAAC;IAsTvC,CAAC;IAlTG,sBAAW,mCAAO;QAHlB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;QAC5C,CAAC;aACD,UAAmB,KAAa;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC;;;OAHA;IAQD,sBAAW,4CAAgB;QAH3B;;WAEG;aACH;YACI,IAAI;gBACA,OAAQ,IAA8B,CAAC,qBAAqB,EAAE,CAAC;aAClE;YAAC,OAAO,CAAC,EAAE;gBACR,0BAA0B;gBAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,sBAAsB,EAAE;oBACxC,OAAO,SAAS,CAAC;iBACpB;gBACD,MAAM,CAAC,CAAC;aACX;QACL,CAAC;;;OAAA;IAKD,sBAAW,gDAAoB;QAH/B;;WAEG;aACH;YACI,IAAI;gBACA,OAAQ,IAA8B,CAAC,yBAAyB,EAAE,CAAC;aACtE;YAAC,OAAO,CAAC,EAAE;gBACR,0BAA0B;gBAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,sBAAsB,EAAE;oBACxC,OAAO,EAAE,CAAC;iBACb;gBACD,MAAM,CAAC,CAAC;aACX;QACL,CAAC;;;OAAA;IAKD,sBAAW,kCAAM;QAHjB;;WAEG;aACH;YACI,OAAQ,IAA8B,CAAC,WAAW,EAAE,CAAC;QACzD,CAAC;;;OAAA;IAED;;;OAGG;IACI,6BAAI,GAAX,UAA8B,aAAoB;QAApB,8BAAA,EAAA,oBAAoB;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,aAAa,KAAK,KAAK,EAAE;YACzB,OAAO;SACV;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,qBAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;;OAIG;IACI,8BAAK,GAAZ;QACI,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACI,yCAAgB,GAAvB,UAA0C,OAAe,EAAE,QAA2D;QAAtH,iBAaC;QAZG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAA,KAAK;YAClC,IAAI,CAAC,KAAK,EAAE;gBACR,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,IAAM,GAAG,GAAG,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1B,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,qBAAS,CAAC,KAAI,EAAE,CAAC,CAAC,CAAC;iBAC/C;aACJ;YACD,IAAI,QAAQ,EAAE;gBACV,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;aAC9B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,wCAAe,GAAtB,UAAyC,aAAqB,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAc,EAAE,cAA+B,EAC7I,QAAgG;QADpG,iBAgDC;QA9CG,IAAM,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACxD,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,cAAwB,CAAC,CAAC,CAAE,cAAyB,CAAC,MAAM,CAAC;QAEpF,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,EAAE;gBACxB,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;aACxF;SACJ;aAAM;YACH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC3B,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAC;aACpF;SACJ;QAED,8BAA8B;QAC9B,2EAA2E;QAC3E,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAClE,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,EAAE;YACP,GAAG,CAAC,GAAG,CAAC,cAAwB,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC;SACpE;QAED,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,OAAO,EACrF,UAAC,KAAK,EAAE,GAAG,EAAE,MAAM;YACf,IAAI,QAAQ,EAAE;gBACV,IAAI,IAAI,EAAE;oBACN,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,yBAAyB,GAAG,MAAM,CAAC,CAAC,CAAC;iBAChH;qBAAM;oBACH,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;iBACtC;aACJ;QACL,CAAC,CACJ,CAAC;QAEF,IAAI;YACA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,QAAQ,EAAE;gBACV,OAAO,CAAC,QAAQ,CAAC,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAjC,CAAiC,CAAC,CAAC;aAC7D;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,kCAAS,GAAhB,UAAmC,IAAY;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SAC1E;QAED,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,EAAE;gBAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC7B;SACJ;QAED,MAAM,IAAI,KAAK,CAAC,sCAAoC,IAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,4CAAmB,GAA1B,UAA6C,UAAkB,EAAE,QAA+D;QAC5H,IAAM,MAAM,GAAG,MAAM,CAAC;QACtB,IAAM,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,eAAe,CAChB,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,6BAA6B,EACjC,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,EAC1C,MAAM,EACN,MAAM,EACN,UAAC,KAAK,EAAE,MAAM;YACV,IAAI,KAAK,EAAE;gBACP,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC,CACJ,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,yCAAgB,GAAvB,UAA0C,QAA2E;QAArH,iBA0EC;QAzEG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,oBAAoB;YACpB,OAAO,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,EAAE;YACtC,uCAAuC;YACvC,OAAO,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,eAAe,CAChB,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,6BAA6B,EACjC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,EACxB,CAAC,EACD,GAAG,CAAC,kBAAkB,EACtB,UAAC,KAAK,EAAE,MAAM;YACV,IAAI,KAAK,EAAE;gBACP,8BAA8B;gBAC9B,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,qBAAqB;oBAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACrF,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACrC;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACnB,OAAO,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aACzC;YAED,IAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAI,CAAC,eAAe,CAChB,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,6BAA6B,EACjC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,EACxB,CAAC,EACD,WAAW,EACX,UAAC,KAAK,EAAE,MAAM;gBACV,IAAI,KAAK,EAAE;oBACP,8BAA8B;oBAC9B,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,qBAAqB;wBAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACrF,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;iBACrC;gBAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACnB,OAAO,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;iBACzC;gBAED,IAAM,UAAU,GAAkB;oBAC9B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5B,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACpC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBACpC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACnC,YAAY,EAAE,EAAE;iBACnB,CAAC;gBAEF,IAAI,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC;gBAC/B,OAAO,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE;oBAChC,IAAM,UAAU,GAAG;wBACf,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;wBAChC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;wBACxC,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC3C,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;qBACxE,CAAC;oBAEF,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACzC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;iBAC3B;gBAED,mBAAmB;gBACnB,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;gBACjC,QAAQ,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CACJ,CAAC;QACN,CAAC,CACJ,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,wCAAe,GAAtB,UAAyC,QAAuF;QAAhI,iBAaC;QAZG,IAAM,YAAY,GAAiB,EAAE,CAAC;QAEtC,IAAI,CAAC,gBAAgB,CAAC,UAAC,KAAK,EAAE,UAAU;YACpC,IAAI,KAAK;gBAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAE7C,IAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,YAAY,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9C;YAED,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IACL,qBAAC;AAAD,CAAC,AA5TD,IA4TC;AA5TY,wCAAc"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../tsc/usb/device.ts"],"names":[],"mappings":"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"}
package/dist/usb/index.js CHANGED
@@ -26,7 +26,7 @@ Object.getOwnPropertyNames(device_1.ExtendedDevice.prototype).forEach(function (
26
26
  var pollTimeout = 500;
27
27
  var hotplugSupported = usb._getLibusbCapability(usb.LIBUSB_CAP_HAS_HOTPLUG) > 0;
28
28
  var pollingHotplug = false;
29
- var pollDevices = [];
29
+ var pollDevices = new Set();
30
30
  var pollHotplug = function (start) {
31
31
  var e_1, _a, e_2, _b;
32
32
  if (start === void 0) { start = false; }
@@ -36,19 +36,15 @@ var pollHotplug = function (start) {
36
36
  else if (!pollingHotplug) {
37
37
  return;
38
38
  }
39
- var devices = usb.getDeviceList();
39
+ // Collect current devices
40
+ var devices = new Set(usb.getDeviceList());
40
41
  if (!start) {
41
- var _loop_1 = function (device) {
42
- var found = pollDevices.find(function (item) { return item.deviceAddress === device.deviceAddress; });
43
- if (!found) {
44
- usb.emit('attach', device);
45
- }
46
- };
47
42
  try {
48
43
  // Find attached devices
49
44
  for (var devices_1 = __values(devices), devices_1_1 = devices_1.next(); !devices_1_1.done; devices_1_1 = devices_1.next()) {
50
45
  var device = devices_1_1.value;
51
- _loop_1(device);
46
+ if (!pollDevices.has(device))
47
+ usb.emit('attach', device);
52
48
  }
53
49
  }
54
50
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -58,17 +54,12 @@ var pollHotplug = function (start) {
58
54
  }
59
55
  finally { if (e_1) throw e_1.error; }
60
56
  }
61
- var _loop_2 = function (device) {
62
- var found = devices.find(function (item) { return item.deviceAddress === device.deviceAddress; });
63
- if (!found) {
64
- usb.emit('detach', device);
65
- }
66
- };
67
57
  try {
68
58
  // Find detached devices
69
59
  for (var pollDevices_1 = __values(pollDevices), pollDevices_1_1 = pollDevices_1.next(); !pollDevices_1_1.done; pollDevices_1_1 = pollDevices_1.next()) {
70
60
  var device = pollDevices_1_1.value;
71
- _loop_2(device);
61
+ if (!devices.has(device))
62
+ usb.emit('detach', device);
72
63
  }
73
64
  }
74
65
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/usb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/usb/index.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,6 @@ export declare class WebUSBDevice implements USBDevice {
21
21
  productName?: string | undefined;
22
22
  serialNumber?: string | undefined;
23
23
  configurations: USBConfiguration[];
24
- private deviceMutex;
25
24
  private constructor();
26
25
  get configuration(): USBConfiguration | undefined;
27
26
  get opened(): boolean;