usb 2.0.0-alpha.1 → 2.0.3

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 (262) hide show
  1. package/.gitattributes +1 -0
  2. package/.gitmodules +1 -1
  3. package/CHANGELOG.md +91 -0
  4. package/README.md +570 -0
  5. package/binding.gyp +2 -2
  6. package/dist/index.d.ts +16 -5
  7. package/dist/index.js +135 -5
  8. package/dist/index.js.map +1 -1
  9. package/dist/usb/bindings.d.ts +13 -0
  10. package/dist/usb/bindings.js +2 -1
  11. package/dist/usb/bindings.js.map +1 -1
  12. package/dist/usb/index.d.ts +0 -2
  13. package/dist/usb/index.js +75 -112
  14. package/dist/usb/index.js.map +1 -1
  15. package/dist/usb/interface.js.map +1 -1
  16. package/dist/webusb/index.d.ts +28 -19
  17. package/dist/webusb/index.js +152 -66
  18. package/dist/webusb/index.js.map +1 -1
  19. package/dist/webusb/webusb-device.d.ts +1 -1
  20. package/dist/webusb/webusb-device.js +15 -6
  21. package/dist/webusb/webusb-device.js.map +1 -1
  22. package/libusb/.private/pre-commit.sh +7 -1
  23. package/libusb/.travis.yml +49 -0
  24. package/libusb/AUTHORS +44 -3
  25. package/libusb/Brewfile +4 -0
  26. package/libusb/ChangeLog +74 -2
  27. package/libusb/README.md +32 -0
  28. package/libusb/TODO +1 -1
  29. package/libusb/Xcode/common.xcconfig +12 -0
  30. package/libusb/Xcode/config.h +0 -3
  31. package/libusb/Xcode/libusb.xcodeproj/project.pbxproj +959 -1
  32. package/libusb/android/README +4 -2
  33. package/libusb/android/config.h +0 -6
  34. package/libusb/appveyor.yml +41 -0
  35. package/libusb/appveyor_cygwin.bat +11 -0
  36. package/libusb/appveyor_minGW.bat +19 -0
  37. package/libusb/autogen.sh +1 -1
  38. package/libusb/bootstrap.sh +3 -16
  39. package/libusb/configure.ac +108 -80
  40. package/libusb/doc/doxygen.cfg.in +1785 -739
  41. package/libusb/examples/Makefile.am +1 -1
  42. package/libusb/examples/dpfp.c +3 -1
  43. package/libusb/examples/dpfp_threaded.c +23 -10
  44. package/libusb/examples/ezusb.c +3 -3
  45. package/libusb/examples/ezusb.h +2 -2
  46. package/libusb/examples/fxload.c +31 -9
  47. package/libusb/examples/hotplugtest.c +35 -7
  48. package/libusb/examples/listdevs.c +3 -1
  49. package/libusb/examples/sam3u_benchmark.c +3 -3
  50. package/libusb/examples/testlibusb.c +277 -0
  51. package/libusb/examples/xusb.c +40 -34
  52. package/libusb/libusb/Makefile.am +49 -23
  53. package/libusb/libusb/core.c +855 -457
  54. package/libusb/libusb/descriptor.c +72 -78
  55. package/libusb/libusb/hotplug.c +122 -76
  56. package/libusb/libusb/hotplug.h +42 -25
  57. package/libusb/libusb/io.c +625 -390
  58. package/libusb/libusb/libusb-1.0.def +12 -0
  59. package/libusb/libusb/libusb.h +218 -150
  60. package/libusb/libusb/libusbi.h +346 -176
  61. package/libusb/libusb/os/darwin_usb.c +604 -319
  62. package/libusb/libusb/os/darwin_usb.h +61 -20
  63. package/libusb/libusb/os/haiku_pollfs.cpp +367 -0
  64. package/libusb/libusb/os/haiku_usb.h +113 -0
  65. package/libusb/libusb/os/haiku_usb_backend.cpp +533 -0
  66. package/libusb/libusb/os/haiku_usb_raw.cpp +267 -0
  67. package/libusb/libusb/os/haiku_usb_raw.h +188 -0
  68. package/libusb/libusb/os/linux_netlink.c +186 -146
  69. package/libusb/libusb/os/linux_udev.c +36 -14
  70. package/libusb/libusb/os/linux_usbfs.c +426 -225
  71. package/libusb/libusb/os/linux_usbfs.h +5 -3
  72. package/libusb/libusb/os/netbsd_usb.c +21 -77
  73. package/libusb/libusb/os/openbsd_usb.c +32 -115
  74. package/libusb/libusb/os/poll_posix.c +38 -5
  75. package/libusb/libusb/os/poll_posix.h +3 -0
  76. package/libusb/libusb/os/poll_windows.c +277 -626
  77. package/libusb/libusb/os/poll_windows.h +11 -44
  78. package/libusb/libusb/os/sunos_usb.c +1695 -0
  79. package/libusb/libusb/os/sunos_usb.h +80 -0
  80. package/libusb/libusb/os/threads_posix.c +24 -26
  81. package/libusb/libusb/os/threads_posix.h +73 -21
  82. package/libusb/libusb/os/threads_windows.c +71 -157
  83. package/libusb/libusb/os/threads_windows.h +68 -44
  84. package/libusb/libusb/os/wince_usb.c +276 -420
  85. package/libusb/libusb/os/wince_usb.h +23 -28
  86. package/libusb/libusb/os/windows_common.h +78 -58
  87. package/libusb/libusb/os/windows_nt_common.c +1010 -0
  88. package/libusb/libusb/os/windows_nt_common.h +110 -0
  89. package/libusb/libusb/os/windows_nt_shared_types.h +147 -0
  90. package/libusb/libusb/os/windows_usbdk.c +830 -0
  91. package/libusb/libusb/os/windows_usbdk.h +103 -0
  92. package/libusb/libusb/os/windows_winusb.c +4391 -0
  93. package/libusb/libusb/os/windows_winusb.h +783 -0
  94. package/libusb/libusb/strerror.c +41 -7
  95. package/libusb/libusb/sync.c +41 -13
  96. package/libusb/libusb/version.h +1 -1
  97. package/libusb/libusb/version_nano.h +1 -1
  98. package/libusb/libusb-1.0.pc.in +1 -1
  99. package/libusb/msvc/appveyor.bat +27 -0
  100. package/libusb/msvc/config.h +5 -4
  101. package/libusb/msvc/ddk_build.cmd +87 -43
  102. package/libusb/msvc/fxload_2010.vcxproj +24 -104
  103. package/libusb/msvc/fxload_2012.vcxproj +24 -107
  104. package/libusb/msvc/fxload_2013.vcxproj +24 -107
  105. package/libusb/msvc/fxload_2015.vcxproj +91 -0
  106. package/libusb/msvc/fxload_2017.vcxproj +114 -0
  107. package/libusb/msvc/fxload_sources +1 -1
  108. package/libusb/msvc/getopt_2010.vcxproj +16 -75
  109. package/libusb/msvc/getopt_2012.vcxproj +16 -79
  110. package/libusb/msvc/getopt_2013.vcxproj +16 -79
  111. package/libusb/msvc/getopt_2015.vcxproj +73 -0
  112. package/libusb/msvc/getopt_2017.vcxproj +98 -0
  113. package/libusb/msvc/getopt_sources +6 -2
  114. package/libusb/msvc/hotplugtest_2010.vcxproj +18 -99
  115. package/libusb/msvc/hotplugtest_2012.vcxproj +18 -102
  116. package/libusb/msvc/hotplugtest_2013.vcxproj +18 -102
  117. package/libusb/msvc/hotplugtest_2015.vcxproj +83 -0
  118. package/libusb/msvc/hotplugtest_2017.vcxproj +106 -0
  119. package/libusb/msvc/hotplugtest_sources +1 -1
  120. package/libusb/msvc/libusb_2005.sln +20 -20
  121. package/libusb/msvc/libusb_2010.sln +57 -46
  122. package/libusb/msvc/libusb_2012.sln +57 -46
  123. package/libusb/msvc/libusb_2013.sln +57 -50
  124. package/libusb/msvc/libusb_2015.sln +59 -52
  125. package/libusb/msvc/libusb_2017.sln +186 -0
  126. package/libusb/msvc/libusb_dll.dsp +2 -2
  127. package/libusb/msvc/libusb_dll_2005.vcproj +30 -2
  128. package/libusb/msvc/libusb_dll_2010.vcxproj +26 -90
  129. package/libusb/msvc/libusb_dll_2012.vcxproj +28 -96
  130. package/libusb/msvc/libusb_dll_2013.vcxproj +28 -96
  131. package/libusb/msvc/libusb_dll_2015.vcxproj +107 -0
  132. package/libusb/msvc/libusb_dll_2017.vcxproj +134 -0
  133. package/libusb/msvc/libusb_dll_wince.vcproj +9 -1
  134. package/libusb/msvc/libusb_sources +10 -5
  135. package/libusb/msvc/libusb_static.dsp +2 -2
  136. package/libusb/msvc/libusb_static_2005.vcproj +32 -4
  137. package/libusb/msvc/libusb_static_2010.vcxproj +24 -83
  138. package/libusb/msvc/libusb_static_2012.vcxproj +25 -87
  139. package/libusb/msvc/libusb_static_2013.vcxproj +25 -87
  140. package/libusb/msvc/libusb_static_2015.vcxproj +98 -0
  141. package/libusb/msvc/libusb_static_2017.vcxproj +117 -0
  142. package/libusb/msvc/libusb_static_wince.vcproj +20 -26
  143. package/libusb/msvc/libusb_wince.sln +88 -88
  144. package/libusb/msvc/listdevs_2010.vcxproj +16 -99
  145. package/libusb/msvc/listdevs_2012.vcxproj +16 -102
  146. package/libusb/msvc/listdevs_2013.vcxproj +16 -102
  147. package/libusb/msvc/listdevs_2015.vcxproj +83 -0
  148. package/libusb/msvc/listdevs_2017.vcxproj +106 -0
  149. package/libusb/msvc/listdevs_sources +2 -1
  150. package/libusb/msvc/stress_2010.vcxproj +20 -101
  151. package/libusb/msvc/stress_2012.vcxproj +20 -104
  152. package/libusb/msvc/stress_2013.vcxproj +20 -104
  153. package/libusb/msvc/stress_2015.vcxproj +87 -0
  154. package/libusb/msvc/stress_2017.vcxproj +110 -0
  155. package/libusb/msvc/stress_sources +21 -0
  156. package/libusb/msvc/testlibusb_2010.vcxproj +82 -0
  157. package/libusb/msvc/testlibusb_2012.vcxproj +83 -0
  158. package/libusb/msvc/testlibusb_2013.vcxproj +83 -0
  159. package/libusb/msvc/testlibusb_2015.vcxproj +83 -0
  160. package/libusb/msvc/testlibusb_2017.vcxproj +106 -0
  161. package/libusb/msvc/testlibusb_sources +20 -0
  162. package/libusb/msvc/xusb_2010.vcxproj +17 -98
  163. package/libusb/msvc/xusb_2012.vcxproj +17 -101
  164. package/libusb/msvc/xusb_2013.vcxproj +17 -101
  165. package/libusb/msvc/xusb_2015.vcxproj +83 -0
  166. package/libusb/msvc/xusb_2017.vcxproj +106 -0
  167. package/libusb/msvc/xusb_sources +1 -1
  168. package/libusb/tests/stress.c +2 -2
  169. package/libusb/tests/testlib.c +0 -4
  170. package/libusb/travis-autogen.sh +39 -0
  171. package/libusb.gypi +13 -2
  172. package/package.json +23 -13
  173. package/prebuilds/android-arm/node.napi.armv7.node +0 -0
  174. package/prebuilds/android-arm64/node.napi.armv8.node +0 -0
  175. package/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
  176. package/prebuilds/linux-arm/node.napi.armv6.node +0 -0
  177. package/prebuilds/linux-arm/node.napi.armv7.node +0 -0
  178. package/prebuilds/linux-arm64/node.napi.armv8.node +0 -0
  179. package/prebuilds/linux-ia32/node.napi.node +0 -0
  180. package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  181. package/prebuilds/linux-x64/node.napi.musl.node +0 -0
  182. package/prebuilds/win32-ia32/node.napi.node +0 -0
  183. package/prebuilds/win32-x64/node.napi.node +0 -0
  184. package/src/device.cc +7 -7
  185. package/src/node_usb.cc +43 -1
  186. package/src/node_usb.h +1 -0
  187. package/src/uv_async_queue.h +33 -25
  188. package/test/usb.coffee +12 -4
  189. package/tsc/index.ts +68 -8
  190. package/tsc/usb/bindings.ts +19 -1
  191. package/tsc/usb/index.ts +66 -68
  192. package/tsc/usb/interface.ts +2 -2
  193. package/tsc/webusb/index.ts +187 -75
  194. package/tsc/webusb/webusb-device.ts +28 -17
  195. package/.github/workflows/prebuild.yml +0 -48
  196. package/Readme.md +0 -339
  197. package/dist/webusb/typed-event-target.d.ts +0 -11
  198. package/dist/webusb/typed-event-target.js +0 -21
  199. package/dist/webusb/typed-event-target.js.map +0 -1
  200. package/docs/assets/css/main.css +0 -2660
  201. package/docs/assets/images/icons.png +0 -0
  202. package/docs/assets/images/icons@2x.png +0 -0
  203. package/docs/assets/images/widgets.png +0 -0
  204. package/docs/assets/images/widgets@2x.png +0 -0
  205. package/docs/assets/js/main.js +0 -248
  206. package/docs/assets/js/search.js +0 -1
  207. package/docs/classes/usb_bindings.device.html +0 -1338
  208. package/docs/classes/usb_bindings.libusbexception.html +0 -234
  209. package/docs/classes/usb_bindings.transfer.html +0 -344
  210. package/docs/classes/usb_capability.capability.html +0 -297
  211. package/docs/classes/usb_device.extendeddevice.html +0 -766
  212. package/docs/classes/usb_endpoint.endpoint.html +0 -472
  213. package/docs/classes/usb_endpoint.inendpoint.html +0 -766
  214. package/docs/classes/usb_endpoint.outendpoint.html +0 -582
  215. package/docs/classes/usb_interface.interface.html +0 -648
  216. package/docs/classes/webusb.webusb-1.html +0 -615
  217. package/docs/classes/webusb_mutex.mutex.html +0 -270
  218. package/docs/classes/webusb_typed_event_target.typedeventtarget.html +0 -443
  219. package/docs/classes/webusb_webusb_device.webusbdevice.html +0 -904
  220. package/docs/index.html +0 -500
  221. package/docs/interfaces/usb.deviceevents.html +0 -242
  222. package/docs/interfaces/usb_descriptors.bosdescriptor.html +0 -293
  223. package/docs/interfaces/usb_descriptors.capabilitydescriptor.html +0 -274
  224. package/docs/interfaces/usb_descriptors.configdescriptor.html +0 -388
  225. package/docs/interfaces/usb_descriptors.devicedescriptor.html +0 -464
  226. package/docs/interfaces/usb_descriptors.endpointdescriptor.html +0 -370
  227. package/docs/interfaces/usb_descriptors.interfacedescriptor.html +0 -407
  228. package/docs/interfaces/webusb.usboptions.html +0 -226
  229. package/docs/modules/index.html +0 -173
  230. package/docs/modules/usb.html +0 -173
  231. package/docs/modules/usb_bindings.html +0 -2319
  232. package/docs/modules/usb_capability.html +0 -156
  233. package/docs/modules/usb_descriptors.html +0 -176
  234. package/docs/modules/usb_device.html +0 -156
  235. package/docs/modules/usb_endpoint.html +0 -164
  236. package/docs/modules/usb_interface.html +0 -156
  237. package/docs/modules/webusb.html +0 -165
  238. package/docs/modules/webusb_mutex.html +0 -156
  239. package/docs/modules/webusb_typed_event_target.html +0 -156
  240. package/docs/modules/webusb_webusb_device.html +0 -156
  241. package/docs/modules.html +0 -156
  242. package/libusb/INSTALL +0 -234
  243. package/libusb/README +0 -28
  244. package/libusb/libusb/os/windows_usb.c +0 -5347
  245. package/libusb/libusb/os/windows_usb.h +0 -971
  246. package/libusb/msvc/fxload_2010.vcxproj.filters +0 -25
  247. package/libusb/msvc/fxload_2012.vcxproj.filters +0 -25
  248. package/libusb/msvc/getopt_2010.vcxproj.filters +0 -26
  249. package/libusb/msvc/getopt_2012.vcxproj.filters +0 -26
  250. package/libusb/msvc/hotplugtest_2010.vcxproj.filters +0 -14
  251. package/libusb/msvc/hotplugtest_2012.vcxproj.filters +0 -14
  252. package/libusb/msvc/libusb_dll_2010.vcxproj.filters +0 -81
  253. package/libusb/msvc/libusb_dll_2012.vcxproj.filters +0 -84
  254. package/libusb/msvc/libusb_static_2010.vcxproj.filters +0 -74
  255. package/libusb/msvc/libusb_static_2012.vcxproj.filters +0 -74
  256. package/libusb/msvc/listdevs_2010.vcxproj.filters +0 -14
  257. package/libusb/msvc/listdevs_2012.vcxproj.filters +0 -14
  258. package/libusb/msvc/stress_2010.vcxproj.filters +0 -25
  259. package/libusb/msvc/stress_2012.vcxproj.filters +0 -25
  260. package/libusb/msvc/xusb_2010.vcxproj.filters +0 -14
  261. package/libusb/msvc/xusb_2012.vcxproj.filters +0 -14
  262. 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) {
@@ -64,31 +49,120 @@ var __values = (this && this.__values) || function(o) {
64
49
  Object.defineProperty(exports, "__esModule", { value: true });
65
50
  exports.WebUSB = 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
+ var WebUSB = /** @class */ (function () {
71
55
  function WebUSB(options) {
56
+ var _this = this;
72
57
  if (options === void 0) { options = {}; }
73
- var _this = _super.call(this) || this;
74
- _this.options = options;
75
- _this.allowedDevices = [];
76
- return _this;
58
+ this.options = options;
59
+ this.emitter = new events_1.EventEmitter();
60
+ this.knownDevices = new Map();
61
+ this.allowedDevices = options.allowedDevices || [];
62
+ var deviceConnectCallback = function (device) { return __awaiter(_this, void 0, void 0, function () {
63
+ var webDevice, deviceId, event_1;
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0: return [4 /*yield*/, webusb_device_1.WebUSBDevice.createInstance(device)];
67
+ case 1:
68
+ webDevice = _a.sent();
69
+ // When connected, emit an event if it is an allowed device
70
+ if (webDevice && this.isAllowedDevice(webDevice)) {
71
+ deviceId = this.getDeviceId(device);
72
+ if (deviceId) {
73
+ this.knownDevices.set(deviceId, webDevice);
74
+ }
75
+ event_1 = {
76
+ type: 'connect',
77
+ device: webDevice
78
+ };
79
+ this.emitter.emit('connect', event_1);
80
+ }
81
+ return [2 /*return*/];
82
+ }
83
+ });
84
+ }); };
85
+ var deviceDisconnectCallback = function (device) { return __awaiter(_this, void 0, void 0, function () {
86
+ var deviceId, webDevice, event_2;
87
+ return __generator(this, function (_a) {
88
+ deviceId = this.getDeviceId(device);
89
+ // When disconnected, emit an event if the device was a known allowed device
90
+ if (deviceId !== undefined && this.knownDevices.has(deviceId)) {
91
+ webDevice = this.knownDevices.get(deviceId);
92
+ if (webDevice && this.isAllowedDevice(webDevice)) {
93
+ event_2 = {
94
+ type: 'disconnect',
95
+ device: webDevice
96
+ };
97
+ this.emitter.emit('disconnect', event_2);
98
+ }
99
+ }
100
+ return [2 /*return*/];
101
+ });
102
+ }); };
103
+ this.emitter.on('newListener', function (event) {
104
+ var listenerCount = _this.emitter.listenerCount(event);
105
+ if (listenerCount !== 0) {
106
+ return;
107
+ }
108
+ if (event === 'connect') {
109
+ usb.addListener('attach', deviceConnectCallback);
110
+ }
111
+ else if (event === 'disconnect') {
112
+ usb.addListener('detach', deviceDisconnectCallback);
113
+ }
114
+ });
115
+ this.emitter.on('removeListener', function (event) {
116
+ var listenerCount = _this.emitter.listenerCount(event);
117
+ if (listenerCount !== 0) {
118
+ return;
119
+ }
120
+ if (event === 'connect') {
121
+ usb.removeListener('attach', deviceConnectCallback);
122
+ }
123
+ else if (event === 'disconnect') {
124
+ usb.removeListener('detach', deviceDisconnectCallback);
125
+ }
126
+ });
77
127
  }
78
128
  Object.defineProperty(WebUSB.prototype, "onconnect", {
79
- set: function (listener) {
80
- this.addEventListener('connect', listener);
129
+ set: function (fn) {
130
+ if (this._onconnect) {
131
+ this.removeEventListener('connect', this._onconnect);
132
+ this._onconnect = undefined;
133
+ }
134
+ if (fn) {
135
+ this._onconnect = fn;
136
+ this.addEventListener('connect', this._onconnect);
137
+ }
81
138
  },
82
139
  enumerable: false,
83
140
  configurable: true
84
141
  });
85
142
  Object.defineProperty(WebUSB.prototype, "ondisconnect", {
86
- set: function (listener) {
87
- this.addEventListener('disconnect', listener);
143
+ set: function (fn) {
144
+ if (this._ondisconnect) {
145
+ this.removeEventListener('disconnect', this._ondisconnect);
146
+ this._ondisconnect = undefined;
147
+ }
148
+ if (fn) {
149
+ this._ondisconnect = fn;
150
+ this.addEventListener('disconnect', this._ondisconnect);
151
+ }
88
152
  },
89
153
  enumerable: false,
90
154
  configurable: true
91
155
  });
156
+ WebUSB.prototype.addEventListener = function (type, listener) {
157
+ this.emitter.addListener(type, listener);
158
+ };
159
+ WebUSB.prototype.removeEventListener = function (type, callback) {
160
+ this.emitter.removeListener(type, callback);
161
+ };
162
+ WebUSB.prototype.dispatchEvent = function (_event) {
163
+ // Don't dispatch from here
164
+ return false;
165
+ };
92
166
  /**
93
167
  * Requests a single Web USB device
94
168
  * @param options The options to use when scanning
@@ -151,7 +225,7 @@ var WebUSB = /** @class */ (function (_super) {
151
225
  if (!device) {
152
226
  throw new Error('selected device not found');
153
227
  }
154
- if (!this.replaceAllowedDevice(device)) {
228
+ if (!this.isAllowedDevice(device)) {
155
229
  this.allowedDevices.push({
156
230
  vendorId: device.vendorId,
157
231
  productId: device.productId,
@@ -178,39 +252,32 @@ var WebUSB = /** @class */ (function (_super) {
178
252
  return __generator(this, function (_a) {
179
253
  switch (_a.label) {
180
254
  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
- }); });
255
+ if (!this.options.allowAllDevices) {
256
+ // Create pre-filters
257
+ preFilters = this.allowedDevices.map(function (device) { return ({
258
+ vendorId: device.vendorId || undefined,
259
+ productId: device.productId || undefined,
260
+ serialNumber: device.serialNumber || undefined
261
+ }); });
262
+ }
186
263
  return [4 /*yield*/, this.loadDevices(preFilters)];
187
264
  case 1:
188
265
  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];
266
+ return [2 /*return*/, devices.filter(function (device) { return _this.isAllowedDevice(device); })];
198
267
  }
199
268
  });
200
269
  });
201
270
  };
202
271
  WebUSB.prototype.loadDevices = function (preFilters) {
203
272
  return __awaiter(this, void 0, void 0, function () {
204
- var devices, webDevices, devices_1, devices_1_1, device, webDevice, e_1_1;
273
+ var devices, webDevices, devices_1, devices_1_1, device, webDevice, deviceId, e_1_1;
205
274
  var e_1, _a;
206
275
  return __generator(this, function (_b) {
207
276
  switch (_b.label) {
208
277
  case 0:
209
278
  devices = usb.getDeviceList();
210
- if (preFilters) {
211
- // Pre-filter devices
212
- devices = this.preFilterDevices(devices, preFilters);
213
- }
279
+ // Pre-filter devices
280
+ devices = this.preFilterDevices(devices, preFilters);
214
281
  webDevices = [];
215
282
  _b.label = 1;
216
283
  case 1:
@@ -220,10 +287,19 @@ var WebUSB = /** @class */ (function (_super) {
220
287
  case 2:
221
288
  if (!!devices_1_1.done) return [3 /*break*/, 5];
222
289
  device = devices_1_1.value;
290
+ if (this.options.deviceTimeout) {
291
+ device.timeout = this.options.deviceTimeout;
292
+ }
223
293
  return [4 /*yield*/, webusb_device_1.WebUSBDevice.createInstance(device)];
224
294
  case 3:
225
295
  webDevice = _b.sent();
226
- webDevices.push(webDevice);
296
+ if (webDevice) {
297
+ webDevices.push(webDevice);
298
+ deviceId = this.getDeviceId(device);
299
+ if (deviceId) {
300
+ this.knownDevices.set(deviceId, webDevice);
301
+ }
302
+ }
227
303
  _b.label = 4;
228
304
  case 4:
229
305
  devices_1_1 = devices_1.next();
@@ -245,6 +321,9 @@ var WebUSB = /** @class */ (function (_super) {
245
321
  });
246
322
  };
247
323
  WebUSB.prototype.preFilterDevices = function (devices, preFilters) {
324
+ if (!preFilters || !preFilters.length) {
325
+ return devices;
326
+ }
248
327
  // Just pre-filter on vid/pid
249
328
  return devices.filter(function (device) { return preFilters.some(function (filter) {
250
329
  // Vendor
@@ -257,25 +336,10 @@ var WebUSB = /** @class */ (function (_super) {
257
336
  return true;
258
337
  }); });
259
338
  };
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
339
  WebUSB.prototype.filterDevice = function (options, device) {
340
+ if (!options.filters || !options.filters.length) {
341
+ return true;
342
+ }
279
343
  return options.filters.some(function (filter) {
280
344
  // Vendor
281
345
  if (filter.vendorId && filter.vendorId !== device.vendorId)
@@ -320,7 +384,29 @@ var WebUSB = /** @class */ (function (_super) {
320
384
  return true;
321
385
  });
322
386
  };
387
+ WebUSB.prototype.getDeviceId = function (device) {
388
+ if (device.busNumber === undefined || device.deviceAddress === undefined) {
389
+ return undefined;
390
+ }
391
+ return device.busNumber + "." + device.deviceAddress;
392
+ };
393
+ WebUSB.prototype.isAllowedDevice = function (device) {
394
+ if (this.options.allowAllDevices) {
395
+ return true;
396
+ }
397
+ var isSameDevice = function (device1, device2) {
398
+ return (device1.productId === device2.productId
399
+ && device1.vendorId === device2.vendorId
400
+ && device1.serialNumber === device2.serialNumber);
401
+ };
402
+ for (var i in this.allowedDevices) {
403
+ if (isSameDevice(device, this.allowedDevices[i])) {
404
+ return true;
405
+ }
406
+ }
407
+ return false;
408
+ };
323
409
  return WebUSB;
324
- }(typed_event_target_1.TypedEventTarget));
410
+ }());
325
411
  exports.WebUSB = WebUSB;
326
412
  //# 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
  });
@@ -600,7 +605,9 @@ var WebUSBDevice = /** @class */ (function () {
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:
@@ -619,7 +626,9 @@ var WebUSBDevice = /** @class */ (function () {
619
626
  _d.configurations = _e.sent();
620
627
  return [3 /*break*/, 7];
621
628
  case 6:
622
- this.device.close();
629
+ if (this.opened) {
630
+ this.device.close();
631
+ }
623
632
  this.deviceMutex.unlock();
624
633
  return [7 /*endfinally*/];
625
634
  case 7: return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"webusb-device.js","sourceRoot":"","sources":["../../tsc/webusb/webusb-device.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAA8B;AAC9B,6BAAiC;AAEjC,iCAAgC;AAEhC,IAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,IAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,IAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,IAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;GAEG;AACH;IA0BI,sBAA4B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAJvC,mBAAc,GAAuB,EAAE,CAAC;QAEvC,gBAAW,GAAG,IAAI,aAAK,EAAE,CAAC;QAG9B,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC;QAEzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAEnD,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,GAAG,CAAC;IACnD,CAAC;IAzCmB,2BAAc,GAAlC,UAAmC,MAAkB;;;;;;wBAC3C,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;wBAC1C,qBAAM,QAAQ,CAAC,UAAU,EAAE,EAAA;;wBAA3B,SAA2B,CAAC;wBAC5B,sBAAO,QAAQ,EAAC;;;;KACnB;IAuCD,sBAAW,uCAAa;aAAxB;YACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC/B,OAAO,SAAS,CAAC;aACpB;YACD,IAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;YAC9E,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,kBAAkB,KAAK,oBAAoB,EAAzD,CAAyD,CAAC,CAAC;QAChH,CAAC;;;OAAA;IAED,sBAAW,gCAAM;aAAjB;YACI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAEY,2BAAI,GAAjB;;;;;;;wBAEQ,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,IAAI,IAAI,CAAC,MAAM,EAAE;4BACb,sBAAO;yBACV;wBAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;;;;wBAEnB,MAAM,IAAI,KAAK,CAAC,iBAAe,OAAO,CAAC,CAAC;;wBAExC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,4BAAK,GAAlB;;;;;;;;;wBAEQ,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACd,sBAAO;yBACV;;;;6BAGO,IAAI,CAAC,aAAa,EAAlB,yBAAkB;;;;wBACE,KAAA,SAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,UAAU,CAAA;;;;wBAAvC,KAAK;wBACZ,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,EAAA;;wBAAnD,SAAmD,CAAC;wBACpD,0DAA0D;wBAC1D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;4BAC1E,eAAe,EAAE,KAAK,CAAC,eAAe;4BACtC,SAAS,EAAG,KAAK,CAAC,SAAS;4BAC3B,UAAU,EAAG,KAAK,CAAC,UAAU;4BAC7B,OAAO,EAAG,KAAK;yBAClB,CAAC;;;;;;;;;;;;;;;;;;;;;wBAOd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;;;;wBAEpB,MAAM,IAAI,KAAK,CAAC,kBAAgB,OAAO,CAAC,CAAC;;wBAEzC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,0CAAmB,GAAhC,UAAiC,kBAA0B;;;;;;;wBAEnD,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;4BAC/C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;yBAC/D;wBAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,KAAK,kBAAkB,EAAE;4BACzE,sBAAO;yBACV;wBAEK,MAAM,GAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,kBAAkB,KAAK,kBAAkB,EAAvD,CAAuD,CAAC,CAAC;wBACnH,IAAI,CAAC,MAAM,EAAE;4BACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;yBACzE;;;;wBAGS,gBAAgB,GAAG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnF,qBAAM,gBAAgB,CAAC,kBAAkB,CAAC,EAAA;;wBAA1C,SAA0C,CAAC;;;;wBAE3C,MAAM,IAAI,KAAK,CAAC,gCAA8B,OAAO,CAAC,CAAC;;;wBAG3D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,qCAAc,GAA3B,UAA4B,eAAuB;;;;;;;wBAE3C,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;yBAC1D;wBAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACrB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;yBAChE;wBAEK,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,eAAe,KAAK,eAAe,EAAhD,CAAgD,CAAC,CAAC;wBACnH,IAAI,CAAC,KAAK,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;yBAChE;wBAED,IAAI,KAAK,CAAC,OAAO,EAAE;4BACf,sBAAO;yBACV;wBAED,IAAI;4BACA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;4BAE/C,0DAA0D;4BAC1D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;gCAC1E,eAAe,iBAAA;gCACf,SAAS,EAAG,KAAK,CAAC,SAAS;gCAC3B,UAAU,EAAG,KAAK,CAAC,UAAU;gCAC7B,OAAO,EAAG,IAAI;6BACjB,CAAC;yBACL;wBAAC,OAAO,KAAK,EAAE;4BACZ,MAAM,IAAI,KAAK,CAAC,2BAAyB,KAAO,CAAC,CAAC;yBACrD;;;wBAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,uCAAgB,GAA7B,UAA8B,eAAuB;;;;;;;wBAE7C,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAC9B,qBAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAA;;wBAA7C,SAA6C,CAAC;wBAE9C,IAAI,IAAI,CAAC,aAAa,EAAE;4BACd,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,eAAe,KAAK,eAAe,EAAhD,CAAgD,CAAC,CAAC;4BACnH,IAAI,KAAK,EAAE;gCACP,0DAA0D;gCAC1D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;oCAC1E,eAAe,iBAAA;oCACf,SAAS,EAAG,KAAK,CAAC,SAAS;oCAC3B,UAAU,EAAG,KAAK,CAAC,UAAU;oCAC7B,OAAO,EAAG,KAAK;iCAClB,CAAC;6BACL;yBACJ;;;wBAGD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,+CAAwB,GAArC,UAAsC,eAAuB,EAAE,gBAAwB;;;;;;;wBAE/E,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;yBACpE;wBAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACrB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;yBAC1E;wBAEK,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,eAAe,KAAK,eAAe,EAAhD,CAAgD,CAAC,CAAC;wBACnH,IAAI,CAAC,KAAK,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;yBAC1E;wBAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;4BAChB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;yBACpE;;;;wBAGS,UAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;wBAC/C,aAAa,GAAG,gBAAS,CAAC,OAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC;wBACjE,qBAAM,aAAa,CAAC,gBAAgB,CAAC,EAAA;;wBAArC,SAAqC,CAAC;;;;wBAEtC,MAAM,IAAI,KAAK,CAAC,qCAAmC,OAAO,CAAC,CAAC;;;wBAGhE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,wCAAiB,GAA9B,UAA+B,KAAmC,EAAE,MAAc;;;;;;;wBAE1E,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBACxB,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBACvE,eAAe,GAAG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAClE,qBAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;wBAArF,MAAM,GAAG,SAA4E;wBAE3F,sBAAO;gCACH,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,MAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gCAChF,MAAM,EAAE,IAAI;6BACf,EAAC;;;wBAEF,IAAI,OAAK,CAAC,KAAK,KAAK,GAAG,CAAC,qBAAqB,EAAE;4BAC3C,sBAAO;oCACH,MAAM,EAAE,OAAO;iCAClB,EAAC;yBACL;wBAED,IAAI,OAAK,CAAC,KAAK,KAAK,GAAG,CAAC,wBAAwB,EAAE;4BAC9C,sBAAO;oCACH,MAAM,EAAE,QAAQ;iCACnB,EAAC;yBACL;wBAED,MAAM,IAAI,KAAK,CAAC,8BAA4B,OAAO,CAAC,CAAC;;wBAErD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,yCAAkB,GAA/B,UAAgC,KAAmC,EAAE,IAAkB;;;;;;;wBAE/E,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBACxB,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACxE,eAAe,GAAG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3E,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC5B,qBAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;wBAApG,YAAY,GAAY,SAA4E;wBAE1G,sBAAO;gCACH,YAAY,cAAA;gCACZ,MAAM,EAAE,IAAI;6BACf,EAAC;;;wBAEF,IAAI,OAAK,CAAC,KAAK,KAAK,GAAG,CAAC,qBAAqB,EAAE;4BAC3C,sBAAO;oCACH,YAAY,EAAE,CAAC;oCACf,MAAM,EAAE,OAAO;iCAClB,EAAC;yBACL;wBAED,MAAM,IAAI,KAAK,CAAC,+BAA6B,OAAO,CAAC,CAAC;;wBAEtD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,gCAAS,GAAtB,UAAuB,SAAuB,EAAE,cAAsB;;;;;;;wBAE9D,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBACxB,MAAM,GAAG,cAAc,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBAClG,eAAe,GAAG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjF,qBAAM,eAAe,CAAC,GAAG,CAAC,yBAAyB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,EAAA;;wBAA7F,SAA6F,CAAC;;;;wBAE9F,MAAM,IAAI,KAAK,CAAC,sBAAoB,OAAO,CAAC,CAAC;;wBAE7C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,iCAAU,GAAvB,UAAwB,cAAsB,EAAE,MAAc;;;;;;;wBAEtD,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBACxB,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC,kBAAkB,CAAe,CAAC;wBACnF,QAAQ,GAAG,gBAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC9C,qBAAM,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBAErC,sBAAO;gCACH,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gCACtE,MAAM,EAAE,IAAI;6BACf,EAAC;;;wBAEF,IAAI,OAAK,CAAC,KAAK,KAAK,GAAG,CAAC,qBAAqB,EAAE;4BAC3C,sBAAO;oCACH,MAAM,EAAE,OAAO;iCAClB,EAAC;yBACL;wBAED,IAAI,OAAK,CAAC,KAAK,KAAK,GAAG,CAAC,wBAAwB,EAAE;4BAC9C,sBAAO;oCACH,MAAM,EAAE,QAAQ;iCACnB,EAAC;yBACL;wBAED,MAAM,IAAI,KAAK,CAAC,uBAAqB,OAAO,CAAC,CAAC;;wBAE9C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,kCAAW,GAAxB,UAAyB,cAAsB,EAAE,IAAiB;;;;;;;wBAE1D,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBACxB,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAgB,CAAC;wBACrF,QAAQ,GAAG,gBAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACvD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACZ,qBAAM,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAArC,YAAY,GAAG,SAAsB;wBAE3C,sBAAO;gCACH,YAAY,cAAA;gCACZ,MAAM,EAAE,IAAI;6BACf,EAAC;;;wBAEF,IAAI,OAAK,CAAC,KAAK,KAAK,GAAG,CAAC,qBAAqB,EAAE;4BAC3C,sBAAO;oCACH,YAAY,EAAE,CAAC;oCACf,MAAM,EAAE,OAAO;iCAClB,EAAC;yBACL;wBAED,MAAM,IAAI,KAAK,CAAC,wBAAsB,OAAO,CAAC,CAAC;;wBAE/C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEY,4CAAqB,GAAlC,UAAmC,eAAuB,EAAE,cAAwB;;;gBAChF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;;;KAC1E;IAEY,6CAAsB,GAAnC,UAAoC,eAAuB,EAAE,KAAmB,EAAE,cAAwB;;;gBACtG,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;;;KAC3E;IAEY,4BAAK,GAAlB;;;;;;;wBAEQ,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBACxB,KAAK,GAAG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7D,qBAAM,KAAK,EAAE,EAAA;;wBAAb,SAAa,CAAC;;;;wBAEd,MAAM,IAAI,KAAK,CAAC,kBAAgB,QAAO,CAAC,CAAC;;wBAEzC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEa,iCAAU,GAAxB;;;;;;;wBAEQ,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAA,IAAI,CAAA;wBAAoB,qBAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAA;;wBAAlG,GAAK,gBAAgB,GAAG,SAA0E,CAAC;wBACnG,KAAA,IAAI,CAAA;wBAAe,qBAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAA;;wBAAxF,GAAK,WAAW,GAAG,SAAqE,CAAC;wBACzF,KAAA,IAAI,CAAA;wBAAgB,qBAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAA;;wBAA9F,GAAK,YAAY,GAAG,SAA0E,CAAC;wBAC/F,KAAA,IAAI,CAAA;wBAAkB,qBAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA;;wBAApD,GAAK,cAAc,GAAG,SAA8B,CAAC;;;wBAErD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;;;;;;KAEjC;IAEO,oCAAa,GAArB,UAAsB,OAAe;QACjC,IAAM,GAAG,GAAG,CAAA,SAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAG,CAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO;YACH,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;YAC5C,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;YAC5C,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;SAC7C,CAAC;IACN,CAAC;IAEa,0CAAmB,GAAjC,UAAkC,KAAa;;;;;;;wBAEjC,mBAAmB,GAAG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1E,qBAAM,mBAAmB,CAAC,KAAK,CAAC,EAAA;;wBAAzC,MAAM,GAAG,SAAgC;wBAC/C,sBAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAC;;;wBAEvC,sBAAO,EAAE,EAAC;;;;;KAEjB;IAEa,wCAAiB,GAA/B;;;;;;;;wBACU,OAAO,GAAuB,EAAE,CAAC;;;;wBAElB,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAA;;;;wBAA1C,MAAM;wBACP,UAAU,GAAmB,EAAE,CAAC;4CAE3B,KAAK;;;;;;wCACN,UAAU,GAA4B,EAAE,CAAC;;;;wCAEvB,yBAAA,SAAA,KAAK,CAAA,CAAA;;;;wCAAxB;wCACK,SAAS,GAAkB,EAAE,CAAC;;4CAEpC,KAAuB,oBAAA,SAAA,WAAS,CAAC,SAAS,CAAA,CAAA,4CAAE;gDAAjC,QAAQ;gDACf,SAAS,CAAC,IAAI,CAAC;oDACX,cAAc,EAAE,QAAQ,CAAC,gBAAgB,GAAG,oBAAoB;oDAChE,SAAS,EAAE,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oDAC5E,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,GAAG,yBAAyB,CAAC,KAAK,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM;wDAChG,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,yBAAyB,CAAC,KAAK,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,WAAW;4DACtG,CAAC,CAAC,aAAa;oDACvB,UAAU,EAAE,QAAQ,CAAC,cAAc;iDACtC,CAAC,CAAC;6CACN;;;;;;;;;wCAED,KAAA,CAAA,KAAA,UAAU,CAAA,CAAC,IAAI,CAAA;;4CACX,gBAAgB,EAAE,WAAS,CAAC,iBAAiB;4CAC7C,cAAc,EAAE,WAAS,CAAC,eAAe;4CACzC,iBAAiB,EAAE,WAAS,CAAC,kBAAkB;4CAC/C,iBAAiB,EAAE,WAAS,CAAC,kBAAkB;;wCAChC,qBAAM,OAAK,mBAAmB,CAAC,WAAS,CAAC,UAAU,CAAC,EAAA;;wCALvE,eAKI,gBAAa,GAAE,SAAoD;gDACnE,YAAS,YAAA;qDACX,CAAC;;;;;;;;;;;;;;;;;wCAGD,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;wCAC5C,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,gBAAgB,KAAK,KAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,EAA1E,CAA0E,CAAC,CAAC;wCAErH,IAAI,SAAS,EAAE;4CACX,UAAU,CAAC,IAAI,CAAC;gDACZ,eAAe,iBAAA;gDACf,SAAS,WAAA;gDACT,UAAU,YAAA;gDACV,OAAO,EAAE,KAAK;6CACjB,CAAC,CAAC;yCACN;;;;;;;;;wBArCe,oBAAA,SAAA,MAAM,CAAC,UAAU,CAAA,CAAA;;;;wBAA1B,KAAK;sDAAL,KAAK;;;;;;;;;;;;;;;;;;;wBAwChB,KAAA,CAAA,KAAA,OAAO,CAAA,CAAC,IAAI,CAAA;;4BACR,kBAAkB,EAAE,MAAM,CAAC,mBAAmB;;wBAC3B,qBAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,EAAA;;wBAF5E,eAEI,oBAAiB,GAAE,SAAqD;gCACxE,aAAU,aAAA;qCACZ,CAAC;;;;;;;;;;;;;;;;6BAGP,sBAAO,OAAO,EAAC;;;;KAClB;IAEO,kCAAW,GAAnB,UAAoB,OAAe;;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACzB,OAAO,SAAS,CAAC;SACpB;;YAED,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA,gBAAA,4BAAE;gBAAvC,IAAM,KAAK,WAAA;gBACZ,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE;oBACV,OAAO,QAAQ,CAAC;iBACnB;aACJ;;;;;;;;;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,kDAA2B,GAAnC,UAAoC,KAAmC,EAAE,SAAiB;QACtF,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB;YACxE,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B;gBAC9D,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB;oBAC5D,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAEzC,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,4BAA4B;YACnF,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB;gBAC3D,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;QAEzC,OAAO,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/C,CAAC;IAEa,wCAAiB,GAA/B,UAAgC,eAAuB;;;;;;wBACnD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;yBAC5D;wBAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;yBAClE;wBAEK,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,eAAe,KAAK,eAAe,EAAhD,CAAgD,CAAC,CAAC;wBACnH,IAAI,CAAC,KAAK,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;yBAClE;wBAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;4BAChB,sBAAO;yBACV;;;;wBAGS,UAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;wBAC/C,OAAO,GAAG,gBAAS,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC;wBACrD,qBAAM,OAAO,EAAE,EAAA;;wBAAf,SAAe,CAAC;;;;wBAEhB,MAAM,IAAI,KAAK,CAAC,6BAA2B,QAAO,CAAC,CAAC;;;;;KAE3D;IACL,mBAAC;AAAD,CAAC,AApgBD,IAogBC;AApgBY,oCAAY"}
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
package/libusb/AUTHORS CHANGED
@@ -1,58 +1,84 @@
1
1
  Copyright © 2001 Johannes Erdfelt <johannes@erdfelt.com>
2
2
  Copyright © 2007-2009 Daniel Drake <dsd@gentoo.org>
3
3
  Copyright © 2010-2012 Peter Stuge <peter@stuge.se>
4
- Copyright © 2008-2013 Nathan Hjelm <hjelmn@users.sourceforge.net>
4
+ Copyright © 2008-2016 Nathan Hjelm <hjelmn@users.sourceforge.net>
5
5
  Copyright © 2009-2013 Pete Batard <pete@akeo.ie>
6
6
  Copyright © 2009-2013 Ludovic Rousseau <ludovic.rousseau@gmail.com>
7
7
  Copyright © 2010-2012 Michael Plante <michael.plante@gmail.com>
8
8
  Copyright © 2011-2013 Hans de Goede <hdegoede@redhat.com>
9
9
  Copyright © 2012-2013 Martin Pieuchot <mpi@openbsd.org>
10
10
  Copyright © 2012-2013 Toby Gray <toby.gray@realvnc.com>
11
+ Copyright © 2013-2018 Chris Dickens <christopher.a.dickens@gmail.com>
11
12
 
12
13
  Other contributors:
14
+ Adrian Bunk
15
+ Akshay Jaggi
13
16
  Alan Ott
14
17
  Alan Stern
15
18
  Alex Vatchenko
16
19
  Andrew Fernandes
20
+ Andy Chunyu
21
+ Andy McFadden
22
+ Angus Gratton
23
+ Anil Nair
17
24
  Anthony Clay
25
+ Antonio Ospite
18
26
  Artem Egorkine
19
27
  Aurelien Jarno
20
28
  Bastien Nocera
21
29
  Bei Zhang
22
30
  Benjamin Dobell
31
+ Brent Rector
23
32
  Carl Karsten
24
- Chris Dickens
33
+ Christophe Zeitouny
25
34
  Colin Walters
26
35
  Dave Camarillo
27
36
  David Engraf
28
37
  David Moore
29
38
  Davidlohr Bueso
39
+ Dmitry Fleytman
40
+ Doug Johnston
41
+ Evan Hunter
30
42
  Federico Manzan
31
43
  Felipe Balbi
32
44
  Florian Albrechtskirchinger
33
45
  Francesco Montorsi
34
46
  Francisco Facioni
47
+ Gaurav Gupta
35
48
  Graeme Gill
36
49
  Gustavo Zacarias
37
50
  Hans Ulrich Niedermann
38
51
  Hector Martin
39
52
  Hoi-Ho Chan
40
53
  Ilya Konstantinov
54
+ Jakub Klama
41
55
  James Hanko
56
+ Jeffrey Nichols
57
+ Johann Richard
42
58
  John Sheu
59
+ Jonathon Jongsma
60
+ Joost Muller
61
+ Josh Gao
43
62
  Joshua Blake
44
63
  Justin Bischoff
64
+ KIMURA Masaru
45
65
  Karsten Koenig
46
66
  Konrad Rzepecki
47
67
  Kuangye Guo
48
68
  Lars Kanis
49
69
  Lars Wirzenius
70
+ Lei Chen
50
71
  Luca Longinotti
72
+ Marcus Meissner
51
73
  Markus Heidelberg
74
+ Martin Ettl
52
75
  Martin Koegler
76
+ Matthew Stapleton
53
77
  Matthias Bolte
78
+ Michel Zou
54
79
  Mike Frysinger
55
80
  Mikhail Gusarov
81
+ Morgan Leborgne
56
82
  Moritz Fischer
57
83
  Ларионов Даниил
58
84
  Nicholas Corgan
@@ -61,18 +87,33 @@ Orin Eman
61
87
  Paul Fertser
62
88
  Pekka Nikander
63
89
  Rob Walker
90
+ Romain Vimont
91
+ Roman Kalashnikov
92
+ Sameeh Jubran
64
93
  Sean McBride
65
94
  Sebastian Pipping
95
+ Sergey Serb
66
96
  Simon Haggett
97
+ Simon Newton
98
+ Stefan Agner
99
+ Stefan Tauner
100
+ Steinar H. Gunderson
67
101
  Thomas Röfer
102
+ Tim Hutt
68
103
  Tim Roberts
104
+ Tobias Klauser
69
105
  Toby Peterson
106
+ Tormod Volden
70
107
  Trygve Laugstøl
71
108
  Uri Lublin
72
109
  Vasily Khoruzhick
73
110
  Vegard Storheil Eriksen
111
+ Venkatesh Shukla
112
+ Vianney le Clément de Saint-Marcq
113
+ Victor Toso
74
114
  Vitali Lovich
115
+ William Skellenger
75
116
  Xiaofan Chen
76
117
  Zoltán Kovács
77
118
  Роман Донченко
78
- xantares
119
+ parafin
@@ -0,0 +1,4 @@
1
+ brew 'automake'
2
+ brew 'libtool'
3
+ brew 'autoconf'
4
+ brew 'm4'