usb 2.0.0-alpha.2 → 2.1.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 (258) hide show
  1. package/.gitmodules +1 -1
  2. package/CHANGELOG.md +100 -0
  3. package/README.md +573 -0
  4. package/binding.gyp +12 -2
  5. package/dist/index.d.ts +4 -4
  6. package/dist/index.js +14 -8
  7. package/dist/index.js.map +1 -1
  8. package/dist/usb/bindings.d.ts +13 -0
  9. package/dist/usb/bindings.js +2 -1
  10. package/dist/usb/bindings.js.map +1 -1
  11. package/dist/usb/index.js +86 -2
  12. package/dist/usb/index.js.map +1 -1
  13. package/dist/usb/interface.js.map +1 -1
  14. package/dist/webusb/index.d.ts +32 -19
  15. package/dist/webusb/index.js +163 -67
  16. package/dist/webusb/index.js.map +1 -1
  17. package/dist/webusb/webusb-device.d.ts +1 -1
  18. package/dist/webusb/webusb-device.js +27 -15
  19. package/dist/webusb/webusb-device.js.map +1 -1
  20. package/libusb/.private/pre-commit.sh +7 -1
  21. package/libusb/.travis.yml +49 -0
  22. package/libusb/AUTHORS +44 -3
  23. package/libusb/Brewfile +4 -0
  24. package/libusb/ChangeLog +74 -2
  25. package/libusb/README.md +32 -0
  26. package/libusb/TODO +1 -1
  27. package/libusb/Xcode/common.xcconfig +12 -0
  28. package/libusb/Xcode/config.h +25 -0
  29. package/libusb/Xcode/libusb.xcodeproj/project.pbxproj +959 -1
  30. package/libusb/android/README +4 -2
  31. package/libusb/android/config.h +75 -0
  32. package/libusb/appveyor.yml +41 -0
  33. package/libusb/appveyor_cygwin.bat +11 -0
  34. package/libusb/appveyor_minGW.bat +19 -0
  35. package/libusb/autogen.sh +1 -1
  36. package/libusb/bootstrap.sh +3 -16
  37. package/libusb/configure.ac +108 -80
  38. package/libusb/doc/doxygen.cfg.in +1785 -739
  39. package/libusb/examples/Makefile.am +1 -1
  40. package/libusb/examples/dpfp.c +3 -1
  41. package/libusb/examples/dpfp_threaded.c +23 -10
  42. package/libusb/examples/ezusb.c +3 -3
  43. package/libusb/examples/ezusb.h +2 -2
  44. package/libusb/examples/fxload.c +31 -9
  45. package/libusb/examples/hotplugtest.c +35 -7
  46. package/libusb/examples/listdevs.c +3 -1
  47. package/libusb/examples/sam3u_benchmark.c +3 -3
  48. package/libusb/examples/testlibusb.c +277 -0
  49. package/libusb/examples/xusb.c +40 -34
  50. package/libusb/libusb/Makefile.am +49 -23
  51. package/libusb/libusb/core.c +855 -457
  52. package/libusb/libusb/descriptor.c +72 -78
  53. package/libusb/libusb/hotplug.c +122 -76
  54. package/libusb/libusb/hotplug.h +42 -25
  55. package/libusb/libusb/io.c +625 -390
  56. package/libusb/libusb/libusb-1.0.def +12 -0
  57. package/libusb/libusb/libusb.h +218 -150
  58. package/libusb/libusb/libusbi.h +346 -176
  59. package/libusb/libusb/os/darwin_usb.c +604 -319
  60. package/libusb/libusb/os/darwin_usb.h +61 -20
  61. package/libusb/libusb/os/haiku_pollfs.cpp +367 -0
  62. package/libusb/libusb/os/haiku_usb.h +113 -0
  63. package/libusb/libusb/os/haiku_usb_backend.cpp +533 -0
  64. package/libusb/libusb/os/haiku_usb_raw.cpp +267 -0
  65. package/libusb/libusb/os/haiku_usb_raw.h +188 -0
  66. package/libusb/libusb/os/linux_netlink.c +186 -146
  67. package/libusb/libusb/os/linux_udev.c +36 -14
  68. package/libusb/libusb/os/linux_usbfs.c +426 -225
  69. package/libusb/libusb/os/linux_usbfs.h +5 -3
  70. package/libusb/libusb/os/netbsd_usb.c +21 -77
  71. package/libusb/libusb/os/openbsd_usb.c +32 -115
  72. package/libusb/libusb/os/poll_posix.c +38 -5
  73. package/libusb/libusb/os/poll_posix.h +3 -0
  74. package/libusb/libusb/os/poll_windows.c +277 -626
  75. package/libusb/libusb/os/poll_windows.h +11 -44
  76. package/libusb/libusb/os/sunos_usb.c +1695 -0
  77. package/libusb/libusb/os/sunos_usb.h +80 -0
  78. package/libusb/libusb/os/threads_posix.c +24 -26
  79. package/libusb/libusb/os/threads_posix.h +73 -21
  80. package/libusb/libusb/os/threads_windows.c +71 -157
  81. package/libusb/libusb/os/threads_windows.h +68 -44
  82. package/libusb/libusb/os/wince_usb.c +276 -420
  83. package/libusb/libusb/os/wince_usb.h +23 -28
  84. package/libusb/libusb/os/windows_common.h +78 -58
  85. package/libusb/libusb/os/windows_nt_common.c +1010 -0
  86. package/libusb/libusb/os/windows_nt_common.h +110 -0
  87. package/libusb/libusb/os/windows_nt_shared_types.h +147 -0
  88. package/libusb/libusb/os/windows_usbdk.c +830 -0
  89. package/libusb/libusb/os/windows_usbdk.h +103 -0
  90. package/libusb/libusb/os/windows_winusb.c +4391 -0
  91. package/libusb/libusb/os/windows_winusb.h +783 -0
  92. package/libusb/libusb/strerror.c +41 -7
  93. package/libusb/libusb/sync.c +41 -13
  94. package/libusb/libusb/version.h +1 -1
  95. package/libusb/libusb/version_nano.h +1 -1
  96. package/libusb/libusb-1.0.pc.in +1 -1
  97. package/libusb/msvc/appveyor.bat +27 -0
  98. package/libusb/msvc/config.h +5 -4
  99. package/libusb/msvc/ddk_build.cmd +87 -43
  100. package/libusb/msvc/fxload_2010.vcxproj +24 -104
  101. package/libusb/msvc/fxload_2012.vcxproj +24 -107
  102. package/libusb/msvc/fxload_2013.vcxproj +24 -107
  103. package/libusb/msvc/fxload_2015.vcxproj +91 -0
  104. package/libusb/msvc/fxload_2017.vcxproj +114 -0
  105. package/libusb/msvc/fxload_sources +1 -1
  106. package/libusb/msvc/getopt_2010.vcxproj +16 -75
  107. package/libusb/msvc/getopt_2012.vcxproj +16 -79
  108. package/libusb/msvc/getopt_2013.vcxproj +16 -79
  109. package/libusb/msvc/getopt_2015.vcxproj +73 -0
  110. package/libusb/msvc/getopt_2017.vcxproj +98 -0
  111. package/libusb/msvc/getopt_sources +6 -2
  112. package/libusb/msvc/hotplugtest_2010.vcxproj +18 -99
  113. package/libusb/msvc/hotplugtest_2012.vcxproj +18 -102
  114. package/libusb/msvc/hotplugtest_2013.vcxproj +18 -102
  115. package/libusb/msvc/hotplugtest_2015.vcxproj +83 -0
  116. package/libusb/msvc/hotplugtest_2017.vcxproj +106 -0
  117. package/libusb/msvc/hotplugtest_sources +1 -1
  118. package/libusb/msvc/libusb_2005.sln +20 -20
  119. package/libusb/msvc/libusb_2010.sln +57 -46
  120. package/libusb/msvc/libusb_2012.sln +57 -46
  121. package/libusb/msvc/libusb_2013.sln +57 -50
  122. package/libusb/msvc/libusb_2015.sln +59 -52
  123. package/libusb/msvc/libusb_2017.sln +186 -0
  124. package/libusb/msvc/libusb_dll.dsp +2 -2
  125. package/libusb/msvc/libusb_dll_2005.vcproj +30 -2
  126. package/libusb/msvc/libusb_dll_2010.vcxproj +26 -90
  127. package/libusb/msvc/libusb_dll_2012.vcxproj +28 -96
  128. package/libusb/msvc/libusb_dll_2013.vcxproj +28 -96
  129. package/libusb/msvc/libusb_dll_2015.vcxproj +107 -0
  130. package/libusb/msvc/libusb_dll_2017.vcxproj +134 -0
  131. package/libusb/msvc/libusb_dll_wince.vcproj +9 -1
  132. package/libusb/msvc/libusb_sources +10 -5
  133. package/libusb/msvc/libusb_static.dsp +2 -2
  134. package/libusb/msvc/libusb_static_2005.vcproj +32 -4
  135. package/libusb/msvc/libusb_static_2010.vcxproj +24 -83
  136. package/libusb/msvc/libusb_static_2012.vcxproj +25 -87
  137. package/libusb/msvc/libusb_static_2013.vcxproj +25 -87
  138. package/libusb/msvc/libusb_static_2015.vcxproj +98 -0
  139. package/libusb/msvc/libusb_static_2017.vcxproj +117 -0
  140. package/libusb/msvc/libusb_static_wince.vcproj +20 -26
  141. package/libusb/msvc/libusb_wince.sln +88 -88
  142. package/libusb/msvc/listdevs_2010.vcxproj +16 -99
  143. package/libusb/msvc/listdevs_2012.vcxproj +16 -102
  144. package/libusb/msvc/listdevs_2013.vcxproj +16 -102
  145. package/libusb/msvc/listdevs_2015.vcxproj +83 -0
  146. package/libusb/msvc/listdevs_2017.vcxproj +106 -0
  147. package/libusb/msvc/listdevs_sources +2 -1
  148. package/libusb/msvc/stress_2010.vcxproj +20 -101
  149. package/libusb/msvc/stress_2012.vcxproj +20 -104
  150. package/libusb/msvc/stress_2013.vcxproj +20 -104
  151. package/libusb/msvc/stress_2015.vcxproj +87 -0
  152. package/libusb/msvc/stress_2017.vcxproj +110 -0
  153. package/libusb/msvc/stress_sources +21 -0
  154. package/libusb/msvc/testlibusb_2010.vcxproj +82 -0
  155. package/libusb/msvc/testlibusb_2012.vcxproj +83 -0
  156. package/libusb/msvc/testlibusb_2013.vcxproj +83 -0
  157. package/libusb/msvc/testlibusb_2015.vcxproj +83 -0
  158. package/libusb/msvc/testlibusb_2017.vcxproj +106 -0
  159. package/libusb/msvc/testlibusb_sources +20 -0
  160. package/libusb/msvc/xusb_2010.vcxproj +17 -98
  161. package/libusb/msvc/xusb_2012.vcxproj +17 -101
  162. package/libusb/msvc/xusb_2013.vcxproj +17 -101
  163. package/libusb/msvc/xusb_2015.vcxproj +83 -0
  164. package/libusb/msvc/xusb_2017.vcxproj +106 -0
  165. package/libusb/msvc/xusb_sources +1 -1
  166. package/libusb/tests/stress.c +2 -2
  167. package/libusb/tests/testlib.c +0 -4
  168. package/libusb/travis-autogen.sh +39 -0
  169. package/libusb.gypi +21 -2
  170. package/package.json +18 -13
  171. package/prebuilds/android-arm/node.napi.node +0 -0
  172. package/prebuilds/android-arm64/node.napi.node +0 -0
  173. package/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
  174. package/prebuilds/linux-arm/node.napi.node +0 -0
  175. package/prebuilds/linux-arm64/node.napi.node +0 -0
  176. package/prebuilds/linux-ia32/node.napi.node +0 -0
  177. package/prebuilds/linux-x64/node.napi.node +0 -0
  178. package/prebuilds/win32-ia32/node.napi.node +0 -0
  179. package/prebuilds/win32-x64/node.napi.node +0 -0
  180. package/src/device.cc +7 -7
  181. package/src/node_usb.cc +43 -1
  182. package/src/node_usb.h +1 -0
  183. package/src/uv_async_queue.h +33 -25
  184. package/test/usb.coffee +6 -0
  185. package/tsc/index.ts +13 -7
  186. package/tsc/usb/bindings.ts +19 -1
  187. package/tsc/usb/index.ts +67 -19
  188. package/tsc/usb/interface.ts +2 -2
  189. package/tsc/webusb/index.ts +197 -74
  190. package/tsc/webusb/webusb-device.ts +30 -17
  191. package/.github/workflows/prebuild.yml +0 -48
  192. package/Readme.md +0 -339
  193. package/dist/webusb/typed-event-target.d.ts +0 -11
  194. package/dist/webusb/typed-event-target.js +0 -21
  195. package/dist/webusb/typed-event-target.js.map +0 -1
  196. package/docs/assets/css/main.css +0 -2660
  197. package/docs/assets/images/icons.png +0 -0
  198. package/docs/assets/images/icons@2x.png +0 -0
  199. package/docs/assets/images/widgets.png +0 -0
  200. package/docs/assets/images/widgets@2x.png +0 -0
  201. package/docs/assets/js/main.js +0 -248
  202. package/docs/assets/js/search.js +0 -1
  203. package/docs/classes/usb_bindings.device.html +0 -1338
  204. package/docs/classes/usb_bindings.libusbexception.html +0 -234
  205. package/docs/classes/usb_bindings.transfer.html +0 -344
  206. package/docs/classes/usb_capability.capability.html +0 -297
  207. package/docs/classes/usb_device.extendeddevice.html +0 -766
  208. package/docs/classes/usb_endpoint.endpoint.html +0 -472
  209. package/docs/classes/usb_endpoint.inendpoint.html +0 -766
  210. package/docs/classes/usb_endpoint.outendpoint.html +0 -582
  211. package/docs/classes/usb_interface.interface.html +0 -648
  212. package/docs/classes/webusb.webusb-1.html +0 -615
  213. package/docs/classes/webusb_mutex.mutex.html +0 -270
  214. package/docs/classes/webusb_typed_event_target.typedeventtarget.html +0 -443
  215. package/docs/classes/webusb_webusb_device.webusbdevice.html +0 -904
  216. package/docs/index.html +0 -500
  217. package/docs/interfaces/usb.deviceevents.html +0 -242
  218. package/docs/interfaces/usb_descriptors.bosdescriptor.html +0 -293
  219. package/docs/interfaces/usb_descriptors.capabilitydescriptor.html +0 -274
  220. package/docs/interfaces/usb_descriptors.configdescriptor.html +0 -388
  221. package/docs/interfaces/usb_descriptors.devicedescriptor.html +0 -464
  222. package/docs/interfaces/usb_descriptors.endpointdescriptor.html +0 -370
  223. package/docs/interfaces/usb_descriptors.interfacedescriptor.html +0 -407
  224. package/docs/interfaces/webusb.usboptions.html +0 -226
  225. package/docs/modules/index.html +0 -304
  226. package/docs/modules/usb.html +0 -173
  227. package/docs/modules/usb_bindings.html +0 -2248
  228. package/docs/modules/usb_capability.html +0 -156
  229. package/docs/modules/usb_descriptors.html +0 -176
  230. package/docs/modules/usb_device.html +0 -156
  231. package/docs/modules/usb_endpoint.html +0 -164
  232. package/docs/modules/usb_interface.html +0 -156
  233. package/docs/modules/webusb.html +0 -165
  234. package/docs/modules/webusb_mutex.html +0 -156
  235. package/docs/modules/webusb_typed_event_target.html +0 -156
  236. package/docs/modules/webusb_webusb_device.html +0 -156
  237. package/docs/modules.html +0 -156
  238. package/libusb/INSTALL +0 -234
  239. package/libusb/README +0 -28
  240. package/libusb/libusb/os/windows_usb.c +0 -5347
  241. package/libusb/libusb/os/windows_usb.h +0 -971
  242. package/libusb/msvc/fxload_2010.vcxproj.filters +0 -25
  243. package/libusb/msvc/fxload_2012.vcxproj.filters +0 -25
  244. package/libusb/msvc/getopt_2010.vcxproj.filters +0 -26
  245. package/libusb/msvc/getopt_2012.vcxproj.filters +0 -26
  246. package/libusb/msvc/hotplugtest_2010.vcxproj.filters +0 -14
  247. package/libusb/msvc/hotplugtest_2012.vcxproj.filters +0 -14
  248. package/libusb/msvc/libusb_dll_2010.vcxproj.filters +0 -81
  249. package/libusb/msvc/libusb_dll_2012.vcxproj.filters +0 -84
  250. package/libusb/msvc/libusb_static_2010.vcxproj.filters +0 -74
  251. package/libusb/msvc/libusb_static_2012.vcxproj.filters +0 -74
  252. package/libusb/msvc/listdevs_2010.vcxproj.filters +0 -14
  253. package/libusb/msvc/listdevs_2012.vcxproj.filters +0 -14
  254. package/libusb/msvc/stress_2010.vcxproj.filters +0 -25
  255. package/libusb/msvc/stress_2012.vcxproj.filters +0 -25
  256. package/libusb/msvc/xusb_2010.vcxproj.filters +0 -14
  257. package/libusb/msvc/xusb_2012.vcxproj.filters +0 -14
  258. package/tsc/webusb/typed-event-target.ts +0 -23
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -62,33 +47,132 @@ var __values = (this && this.__values) || function(o) {
62
47
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
63
48
  };
64
49
  Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.WebUSB = void 0;
50
+ exports.WebUSB = exports.getWebUsb = void 0;
66
51
  var usb = require("../usb");
52
+ var events_1 = require("events");
67
53
  var webusb_device_1 = require("./webusb-device");
68
- var typed_event_target_1 = require("./typed-event-target");
69
- var WebUSB = /** @class */ (function (_super) {
70
- __extends(WebUSB, _super);
54
+ /**
55
+ * Convenience method to get the WebUSB interface available
56
+ */
57
+ var getWebUsb = function () {
58
+ if (navigator && navigator.usb) {
59
+ return navigator.usb;
60
+ }
61
+ return new WebUSB();
62
+ };
63
+ exports.getWebUsb = getWebUsb;
64
+ var WebUSB = /** @class */ (function () {
71
65
  function WebUSB(options) {
66
+ var _this = this;
72
67
  if (options === void 0) { options = {}; }
73
- var _this = _super.call(this) || this;
74
- _this.options = options;
75
- _this.allowedDevices = [];
76
- return _this;
68
+ this.options = options;
69
+ this.emitter = new events_1.EventEmitter();
70
+ this.knownDevices = new Map();
71
+ this.allowedDevices = options.allowedDevices || [];
72
+ var deviceConnectCallback = function (device) { return __awaiter(_this, void 0, void 0, function () {
73
+ var webDevice, deviceId, event_1;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0: return [4 /*yield*/, webusb_device_1.WebUSBDevice.createInstance(device)];
77
+ case 1:
78
+ webDevice = _a.sent();
79
+ // When connected, emit an event if it is an allowed device
80
+ if (webDevice && this.isAllowedDevice(webDevice)) {
81
+ deviceId = this.getDeviceId(device);
82
+ if (deviceId) {
83
+ this.knownDevices.set(deviceId, webDevice);
84
+ }
85
+ event_1 = {
86
+ type: 'connect',
87
+ device: webDevice
88
+ };
89
+ this.emitter.emit('connect', event_1);
90
+ }
91
+ return [2 /*return*/];
92
+ }
93
+ });
94
+ }); };
95
+ var deviceDisconnectCallback = function (device) { return __awaiter(_this, void 0, void 0, function () {
96
+ var deviceId, webDevice, event_2;
97
+ return __generator(this, function (_a) {
98
+ deviceId = this.getDeviceId(device);
99
+ // When disconnected, emit an event if the device was a known allowed device
100
+ if (deviceId !== undefined && this.knownDevices.has(deviceId)) {
101
+ webDevice = this.knownDevices.get(deviceId);
102
+ if (webDevice && this.isAllowedDevice(webDevice)) {
103
+ event_2 = {
104
+ type: 'disconnect',
105
+ device: webDevice
106
+ };
107
+ this.emitter.emit('disconnect', event_2);
108
+ }
109
+ }
110
+ return [2 /*return*/];
111
+ });
112
+ }); };
113
+ this.emitter.on('newListener', function (event) {
114
+ var listenerCount = _this.emitter.listenerCount(event);
115
+ if (listenerCount !== 0) {
116
+ return;
117
+ }
118
+ if (event === 'connect') {
119
+ usb.addListener('attach', deviceConnectCallback);
120
+ }
121
+ else if (event === 'disconnect') {
122
+ usb.addListener('detach', deviceDisconnectCallback);
123
+ }
124
+ });
125
+ this.emitter.on('removeListener', function (event) {
126
+ var listenerCount = _this.emitter.listenerCount(event);
127
+ if (listenerCount !== 0) {
128
+ return;
129
+ }
130
+ if (event === 'connect') {
131
+ usb.removeListener('attach', deviceConnectCallback);
132
+ }
133
+ else if (event === 'disconnect') {
134
+ usb.removeListener('detach', deviceDisconnectCallback);
135
+ }
136
+ });
77
137
  }
78
138
  Object.defineProperty(WebUSB.prototype, "onconnect", {
79
- set: function (listener) {
80
- this.addEventListener('connect', listener);
139
+ set: function (fn) {
140
+ if (this._onconnect) {
141
+ this.removeEventListener('connect', this._onconnect);
142
+ this._onconnect = undefined;
143
+ }
144
+ if (fn) {
145
+ this._onconnect = fn;
146
+ this.addEventListener('connect', this._onconnect);
147
+ }
81
148
  },
82
149
  enumerable: false,
83
150
  configurable: true
84
151
  });
85
152
  Object.defineProperty(WebUSB.prototype, "ondisconnect", {
86
- set: function (listener) {
87
- this.addEventListener('disconnect', listener);
153
+ set: function (fn) {
154
+ if (this._ondisconnect) {
155
+ this.removeEventListener('disconnect', this._ondisconnect);
156
+ this._ondisconnect = undefined;
157
+ }
158
+ if (fn) {
159
+ this._ondisconnect = fn;
160
+ this.addEventListener('disconnect', this._ondisconnect);
161
+ }
88
162
  },
89
163
  enumerable: false,
90
164
  configurable: true
91
165
  });
166
+ WebUSB.prototype.addEventListener = function (type, listener) {
167
+ this.emitter.addListener(type, listener);
168
+ };
169
+ WebUSB.prototype.removeEventListener = function (type, callback) {
170
+ this.emitter.removeListener(type, callback);
171
+ };
172
+ WebUSB.prototype.dispatchEvent = function (_event) {
173
+ // Don't dispatch from here
174
+ return false;
175
+ };
92
176
  /**
93
177
  * Requests a single Web USB device
94
178
  * @param options The options to use when scanning
@@ -151,7 +235,7 @@ var WebUSB = /** @class */ (function (_super) {
151
235
  if (!device) {
152
236
  throw new Error('selected device not found');
153
237
  }
154
- if (!this.replaceAllowedDevice(device)) {
238
+ if (!this.isAllowedDevice(device)) {
155
239
  this.allowedDevices.push({
156
240
  vendorId: device.vendorId,
157
241
  productId: device.productId,
@@ -178,39 +262,32 @@ var WebUSB = /** @class */ (function (_super) {
178
262
  return __generator(this, function (_a) {
179
263
  switch (_a.label) {
180
264
  case 0:
181
- preFilters = this.allowedDevices.map(function (device) { return ({
182
- vendorId: device.vendorId || undefined,
183
- productId: device.productId || undefined,
184
- serialNumber: device.serialNumber || undefined
185
- }); });
265
+ if (!this.options.allowAllDevices) {
266
+ // Create pre-filters
267
+ preFilters = this.allowedDevices.map(function (device) { return ({
268
+ vendorId: device.vendorId || undefined,
269
+ productId: device.productId || undefined,
270
+ serialNumber: device.serialNumber || undefined
271
+ }); });
272
+ }
186
273
  return [4 /*yield*/, this.loadDevices(preFilters)];
187
274
  case 1:
188
275
  devices = _a.sent();
189
- devices = devices.filter(function (device) {
190
- for (var i in _this.allowedDevices) {
191
- if (_this.isSameDevice(device, _this.allowedDevices[i])) {
192
- return true;
193
- }
194
- }
195
- return false;
196
- });
197
- return [2 /*return*/, devices];
276
+ return [2 /*return*/, devices.filter(function (device) { return _this.isAllowedDevice(device); })];
198
277
  }
199
278
  });
200
279
  });
201
280
  };
202
281
  WebUSB.prototype.loadDevices = function (preFilters) {
203
282
  return __awaiter(this, void 0, void 0, function () {
204
- var devices, webDevices, devices_1, devices_1_1, device, webDevice, e_1_1;
283
+ var devices, webDevices, devices_1, devices_1_1, device, webDevice, deviceId, e_1_1;
205
284
  var e_1, _a;
206
285
  return __generator(this, function (_b) {
207
286
  switch (_b.label) {
208
287
  case 0:
209
288
  devices = usb.getDeviceList();
210
- if (preFilters) {
211
- // Pre-filter devices
212
- devices = this.preFilterDevices(devices, preFilters);
213
- }
289
+ // Pre-filter devices
290
+ devices = this.preFilterDevices(devices, preFilters);
214
291
  webDevices = [];
215
292
  _b.label = 1;
216
293
  case 1:
@@ -220,10 +297,19 @@ var WebUSB = /** @class */ (function (_super) {
220
297
  case 2:
221
298
  if (!!devices_1_1.done) return [3 /*break*/, 5];
222
299
  device = devices_1_1.value;
300
+ if (this.options.deviceTimeout) {
301
+ device.timeout = this.options.deviceTimeout;
302
+ }
223
303
  return [4 /*yield*/, webusb_device_1.WebUSBDevice.createInstance(device)];
224
304
  case 3:
225
305
  webDevice = _b.sent();
226
- webDevices.push(webDevice);
306
+ if (webDevice) {
307
+ webDevices.push(webDevice);
308
+ deviceId = this.getDeviceId(device);
309
+ if (deviceId) {
310
+ this.knownDevices.set(deviceId, webDevice);
311
+ }
312
+ }
227
313
  _b.label = 4;
228
314
  case 4:
229
315
  devices_1_1 = devices_1.next();
@@ -245,6 +331,9 @@ var WebUSB = /** @class */ (function (_super) {
245
331
  });
246
332
  };
247
333
  WebUSB.prototype.preFilterDevices = function (devices, preFilters) {
334
+ if (!preFilters || !preFilters.length) {
335
+ return devices;
336
+ }
248
337
  // Just pre-filter on vid/pid
249
338
  return devices.filter(function (device) { return preFilters.some(function (filter) {
250
339
  // Vendor
@@ -257,25 +346,10 @@ var WebUSB = /** @class */ (function (_super) {
257
346
  return true;
258
347
  }); });
259
348
  };
260
- WebUSB.prototype.isSameDevice = function (device1, device2) {
261
- return (device1.productId === device2.productId
262
- && device1.vendorId === device2.vendorId
263
- && device1.serialNumber === device2.serialNumber);
264
- };
265
- WebUSB.prototype.replaceAllowedDevice = function (device) {
266
- for (var i in this.allowedDevices) {
267
- if (this.isSameDevice(device, this.allowedDevices[i])) {
268
- this.allowedDevices[i] = {
269
- vendorId: device.vendorId,
270
- productId: device.productId,
271
- serialNumber: device.serialNumber
272
- };
273
- return true;
274
- }
275
- }
276
- return false;
277
- };
278
349
  WebUSB.prototype.filterDevice = function (options, device) {
350
+ if (!options.filters || !options.filters.length) {
351
+ return true;
352
+ }
279
353
  return options.filters.some(function (filter) {
280
354
  // Vendor
281
355
  if (filter.vendorId && filter.vendorId !== device.vendorId)
@@ -320,7 +394,29 @@ var WebUSB = /** @class */ (function (_super) {
320
394
  return true;
321
395
  });
322
396
  };
397
+ WebUSB.prototype.getDeviceId = function (device) {
398
+ if (device.busNumber === undefined || device.deviceAddress === undefined) {
399
+ return undefined;
400
+ }
401
+ return device.busNumber + "." + device.deviceAddress;
402
+ };
403
+ WebUSB.prototype.isAllowedDevice = function (device) {
404
+ if (this.options.allowAllDevices) {
405
+ return true;
406
+ }
407
+ var isSameDevice = function (device1, device2) {
408
+ return (device1.productId === device2.productId
409
+ && device1.vendorId === device2.vendorId
410
+ && device1.serialNumber === device2.serialNumber);
411
+ };
412
+ for (var i in this.allowedDevices) {
413
+ if (isSameDevice(device, this.allowedDevices[i])) {
414
+ return true;
415
+ }
416
+ }
417
+ return false;
418
+ };
323
419
  return WebUSB;
324
- }(typed_event_target_1.TypedEventTarget));
420
+ }());
325
421
  exports.WebUSB = WebUSB;
326
422
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/webusb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/webusb/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import * as usb from '../usb';
5
5
  */
6
6
  export declare class WebUSBDevice implements USBDevice {
7
7
  private device;
8
- static createInstance(device: usb.Device): Promise<WebUSBDevice>;
8
+ static createInstance(device: usb.Device): Promise<WebUSBDevice | undefined>;
9
9
  readonly usbVersionMajor: number;
10
10
  readonly usbVersionMinor: number;
11
11
  readonly usbVersionSubminor: number;
@@ -79,15 +79,20 @@ var WebUSBDevice = /** @class */ (function () {
79
79
  }
80
80
  WebUSBDevice.createInstance = function (device) {
81
81
  return __awaiter(this, void 0, void 0, function () {
82
- var instance;
83
- return __generator(this, function (_a) {
84
- switch (_a.label) {
82
+ var instance, _a;
83
+ return __generator(this, function (_b) {
84
+ switch (_b.label) {
85
85
  case 0:
86
+ _b.trys.push([0, 2, , 3]);
86
87
  instance = new WebUSBDevice(device);
87
88
  return [4 /*yield*/, instance.initialize()];
88
89
  case 1:
89
- _a.sent();
90
+ _b.sent();
90
91
  return [2 /*return*/, instance];
92
+ case 2:
93
+ _a = _b.sent();
94
+ return [2 /*return*/, undefined];
95
+ case 3: return [2 /*return*/];
91
96
  }
92
97
  });
93
98
  });
@@ -592,15 +597,17 @@ var WebUSBDevice = /** @class */ (function () {
592
597
  };
593
598
  WebUSBDevice.prototype.initialize = function () {
594
599
  return __awaiter(this, void 0, void 0, function () {
595
- var _a, _b, _c, _d;
600
+ var _a, _b, _c, _d, error_11;
596
601
  return __generator(this, function (_e) {
597
602
  switch (_e.label) {
598
603
  case 0:
599
- _e.trys.push([0, , 6, 7]);
604
+ _e.trys.push([0, 6, 7, 8]);
600
605
  return [4 /*yield*/, this.deviceMutex.lock()];
601
606
  case 1:
602
607
  _e.sent();
603
- this.device.open();
608
+ if (!this.opened) {
609
+ this.device.open();
610
+ }
604
611
  _a = this;
605
612
  return [4 /*yield*/, this.getStringDescriptor(this.device.deviceDescriptor.iManufacturer)];
606
613
  case 2:
@@ -617,12 +624,17 @@ var WebUSBDevice = /** @class */ (function () {
617
624
  return [4 /*yield*/, this.getConfigurations()];
618
625
  case 5:
619
626
  _d.configurations = _e.sent();
620
- return [3 /*break*/, 7];
627
+ return [3 /*break*/, 8];
621
628
  case 6:
622
- this.device.close();
629
+ error_11 = _e.sent();
630
+ throw new Error("initialize error: " + error_11);
631
+ case 7:
632
+ if (this.opened) {
633
+ this.device.close();
634
+ }
623
635
  this.deviceMutex.unlock();
624
636
  return [7 /*endfinally*/];
625
- case 7: return [2 /*return*/];
637
+ case 8: return [2 /*return*/];
626
638
  }
627
639
  });
628
640
  });
@@ -637,7 +649,7 @@ var WebUSBDevice = /** @class */ (function () {
637
649
  };
638
650
  WebUSBDevice.prototype.getStringDescriptor = function (index) {
639
651
  return __awaiter(this, void 0, void 0, function () {
640
- var getStringDescriptor, buffer, error_11;
652
+ var getStringDescriptor, buffer, error_12;
641
653
  return __generator(this, function (_a) {
642
654
  switch (_a.label) {
643
655
  case 0:
@@ -648,7 +660,7 @@ var WebUSBDevice = /** @class */ (function () {
648
660
  buffer = _a.sent();
649
661
  return [2 /*return*/, buffer ? buffer.toString() : ''];
650
662
  case 2:
651
- error_11 = _a.sent();
663
+ error_12 = _a.sent();
652
664
  return [2 /*return*/, ''];
653
665
  case 3: return [2 /*return*/];
654
666
  }
@@ -843,7 +855,7 @@ var WebUSBDevice = /** @class */ (function () {
843
855
  };
844
856
  WebUSBDevice.prototype._releaseInterface = function (interfaceNumber) {
845
857
  return __awaiter(this, void 0, void 0, function () {
846
- var iface, iface_3, release, error_12;
858
+ var iface, iface_3, release, error_13;
847
859
  return __generator(this, function (_a) {
848
860
  switch (_a.label) {
849
861
  case 0:
@@ -870,8 +882,8 @@ var WebUSBDevice = /** @class */ (function () {
870
882
  _a.sent();
871
883
  return [3 /*break*/, 4];
872
884
  case 3:
873
- error_12 = _a.sent();
874
- throw new Error("releaseInterface error: " + error_12);
885
+ error_13 = _a.sent();
886
+ throw new Error("releaseInterface error: " + error_13);
875
887
  case 4: return [2 /*return*/];
876
888
  }
877
889
  });
@@ -1 +1 @@
1
- {"version":3,"file":"webusb-device.js","sourceRoot":"","sources":["../../tsc/webusb/webusb-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webusb-device.js","sourceRoot":"","sources":["../../tsc/webusb/webusb-device.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,13 @@
26
26
  BRANCH_OFFSET=10000
27
27
  ################################################################################
28
28
 
29
- type -P git &>/dev/null || { echo "git command not found. Aborting." >&2; exit 1; }
29
+ if [ "$BASH_VERSION" = '' ]; then
30
+ TYPE_CMD="type git >/dev/null 2>&1"
31
+ else
32
+ TYPE_CMD="type -P git &>/dev/null"
33
+ fi
34
+
35
+ eval $TYPE_CMD || { echo "git command not found. Aborting." >&2; exit 1; }
30
36
 
31
37
  NANO=`git log --oneline | wc -l`
32
38
  NANO=`expr $NANO + $BRANCH_OFFSET`
@@ -0,0 +1,49 @@
1
+ language: c
2
+
3
+ matrix:
4
+ include:
5
+ - os: linux
6
+ dist: trusty
7
+ sudo: required
8
+ compiler: gcc
9
+ - os: linux
10
+ dist: trusty
11
+ sudo: required
12
+ compiler: clang
13
+ - os: osx
14
+ osx_image: xcode8
15
+ compiler: gcc
16
+ - os: osx
17
+ osx_image: xcode8
18
+ compiler: clang
19
+ - os: osx
20
+ osx_image: xcode7.1
21
+ compiler: gcc
22
+ - os: osx
23
+ osx_image: xcode7.1
24
+ compiler: clang
25
+ - os: osx
26
+ osx_image: beta-xcode6.2
27
+ compiler: gcc
28
+ - os: osx
29
+ osx_image: beta-xcode6.2
30
+ compiler: clang
31
+
32
+ addons:
33
+ homebrew:
34
+ update: true
35
+ brewfile: true
36
+ apt:
37
+ packages:
38
+ - autoconf
39
+ - automake
40
+ - libtool
41
+ - m4
42
+ - libudev-dev
43
+ sources:
44
+ - ubuntu-toolchain-r-test
45
+
46
+ script:
47
+ - ./autogen.sh && make clean && make
48
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./travis-autogen.sh --disable-udev && make clean && make ; fi
49
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd Xcode && xcodebuild -project libusb.xcodeproj ; fi