@microbit/microbit-connection 0.9.0-apps.alpha.16 → 0.9.0-apps.alpha.17

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 (441) hide show
  1. package/build/{esm/bluetooth.d.ts → cjs/bluetooth/connection.d.ts} +30 -26
  2. package/build/cjs/{bluetooth.js → bluetooth/connection.js} +147 -104
  3. package/build/cjs/bluetooth/connection.js.map +1 -0
  4. package/build/cjs/{bluetooth.test.js → bluetooth/connection.test.js} +9 -9
  5. package/build/cjs/bluetooth/connection.test.js.map +1 -0
  6. package/build/cjs/bluetooth/device-bond-state.js.map +1 -0
  7. package/build/cjs/{bluetooth-device-wrapper.d.ts → bluetooth/device-wrapper.d.ts} +11 -11
  8. package/build/cjs/{bluetooth-device-wrapper.js → bluetooth/device-wrapper.js} +35 -35
  9. package/build/cjs/bluetooth/device-wrapper.js.map +1 -0
  10. package/build/cjs/{flashing → bluetooth/flashing}/flashing-full.d.ts +2 -2
  11. package/build/cjs/{flashing → bluetooth/flashing}/flashing-full.js +4 -4
  12. package/build/cjs/bluetooth/flashing/flashing-full.js.map +1 -0
  13. package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.d.ts +1 -1
  14. package/build/cjs/bluetooth/flashing/flashing-makecode.js.map +1 -0
  15. package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.test.js +3 -3
  16. package/build/cjs/bluetooth/flashing/flashing-makecode.test.js.map +1 -0
  17. package/build/cjs/{flashing → bluetooth/flashing}/flashing-partial.d.ts +2 -2
  18. package/build/cjs/{flashing → bluetooth/flashing}/flashing-partial.js +5 -5
  19. package/build/cjs/bluetooth/flashing/flashing-partial.js.map +1 -0
  20. package/build/cjs/bluetooth/flashing/flashing-v1.js.map +1 -0
  21. package/build/cjs/{flashing → bluetooth/flashing}/nordic-dfu.d.ts +2 -2
  22. package/build/cjs/{flashing → bluetooth/flashing}/nordic-dfu.js +11 -8
  23. package/build/cjs/bluetooth/flashing/nordic-dfu.js.map +1 -0
  24. package/build/cjs/bluetooth/flashing/zip.js.map +1 -0
  25. package/build/cjs/bluetooth/flashing/zip.test.js.map +1 -0
  26. package/build/cjs/bluetooth/index.d.ts +5 -0
  27. package/build/cjs/bluetooth/index.js +9 -0
  28. package/build/cjs/bluetooth/index.js.map +1 -0
  29. package/build/cjs/{bluetooth-profile.js → bluetooth/profile.js} +1 -1
  30. package/build/cjs/bluetooth/profile.js.map +1 -0
  31. package/build/cjs/{accelerometer-service.d.ts → bluetooth/services/accelerometer-service.d.ts} +2 -3
  32. package/build/cjs/{accelerometer-service.js → bluetooth/services/accelerometer-service.js} +16 -12
  33. package/build/cjs/bluetooth/services/accelerometer-service.js.map +1 -0
  34. package/build/{esm → cjs/bluetooth/services}/button-service.d.ts +2 -3
  35. package/build/cjs/{button-service.js → bluetooth/services/button-service.js} +15 -14
  36. package/build/cjs/bluetooth/services/button-service.js.map +1 -0
  37. package/build/{esm → cjs/bluetooth/services}/device-information-service.d.ts +1 -1
  38. package/build/cjs/{device-information-service.js → bluetooth/services/device-information-service.js} +2 -2
  39. package/build/cjs/bluetooth/services/device-information-service.js.map +1 -0
  40. package/build/cjs/{dfu-service.js → bluetooth/services/dfu-service.js} +2 -2
  41. package/build/cjs/bluetooth/services/dfu-service.js.map +1 -0
  42. package/build/{esm → cjs/bluetooth/services}/led-service.d.ts +2 -3
  43. package/build/cjs/{led-service.js → bluetooth/services/led-service.js} +7 -7
  44. package/build/cjs/bluetooth/services/led-service.js.map +1 -0
  45. package/build/cjs/{magnetometer-service.d.ts → bluetooth/services/magnetometer-service.d.ts} +2 -3
  46. package/build/cjs/{magnetometer-service.js → bluetooth/services/magnetometer-service.js} +18 -14
  47. package/build/cjs/bluetooth/services/magnetometer-service.js.map +1 -0
  48. package/build/{esm → cjs/bluetooth/services}/partial-flashing-service.d.ts +1 -1
  49. package/build/cjs/{partial-flashing-service.js → bluetooth/services/partial-flashing-service.js} +8 -8
  50. package/build/cjs/bluetooth/services/partial-flashing-service.js.map +1 -0
  51. package/build/cjs/{uart-service.d.ts → bluetooth/services/uart-service.d.ts} +2 -2
  52. package/build/cjs/{uart-service.js → bluetooth/services/uart-service.js} +12 -9
  53. package/build/cjs/bluetooth/services/uart-service.js.map +1 -0
  54. package/build/cjs/board-id.d.ts +1 -1
  55. package/build/cjs/board-id.js.map +1 -1
  56. package/build/cjs/device.d.ts +82 -75
  57. package/build/cjs/device.js +40 -126
  58. package/build/cjs/device.js.map +1 -1
  59. package/build/cjs/events.d.ts +9 -108
  60. package/build/cjs/events.js +27 -88
  61. package/build/cjs/events.js.map +1 -1
  62. package/build/cjs/events.test.js +54 -48
  63. package/build/cjs/events.test.js.map +1 -1
  64. package/build/cjs/hex-util.d.ts +1 -0
  65. package/build/cjs/hex-util.js +15 -0
  66. package/build/cjs/hex-util.js.map +1 -0
  67. package/build/cjs/index.d.ts +7 -16
  68. package/build/cjs/index.js +6 -26
  69. package/build/cjs/index.js.map +1 -1
  70. package/build/cjs/radio-bridge/connection.d.ts +39 -0
  71. package/build/cjs/{usb-radio-bridge.js → radio-bridge/connection.js} +39 -25
  72. package/build/cjs/radio-bridge/connection.js.map +1 -0
  73. package/build/cjs/radio-bridge/index.d.ts +4 -0
  74. package/build/cjs/radio-bridge/index.js +9 -0
  75. package/build/cjs/radio-bridge/index.js.map +1 -0
  76. package/build/cjs/{usb-serial-protocol.js → radio-bridge/serial-protocol.js} +1 -1
  77. package/build/cjs/radio-bridge/serial-protocol.js.map +1 -0
  78. package/build/cjs/service-events.d.ts +42 -14
  79. package/build/cjs/service-events.js +6 -36
  80. package/build/cjs/service-events.js.map +1 -1
  81. package/build/{esm/hex-flash-data-source.d.ts → cjs/universal-hex/flash-data-source.d.ts} +1 -2
  82. package/build/cjs/{hex-flash-data-source.js → universal-hex/flash-data-source.js} +7 -15
  83. package/build/cjs/universal-hex/flash-data-source.js.map +1 -0
  84. package/build/cjs/universal-hex/index.d.ts +4 -0
  85. package/build/cjs/universal-hex/index.js +9 -0
  86. package/build/cjs/universal-hex/index.js.map +1 -0
  87. package/build/cjs/usb/arm-debug.d.ts +137 -0
  88. package/build/cjs/usb/arm-debug.js +414 -0
  89. package/build/cjs/usb/arm-debug.js.map +1 -0
  90. package/build/cjs/usb/arm-debug.test.js +333 -0
  91. package/build/cjs/usb/arm-debug.test.js.map +1 -0
  92. package/build/{esm → cjs/usb}/board-serial-info.d.ts +2 -1
  93. package/build/cjs/{board-serial-info.js → usb/board-serial-info.js} +10 -7
  94. package/build/cjs/usb/board-serial-info.js.map +1 -0
  95. package/build/cjs/{board-serial-info.test.js → usb/board-serial-info.test.js} +2 -4
  96. package/build/cjs/usb/board-serial-info.test.js.map +1 -0
  97. package/build/cjs/usb/cdc-saturation.d.ts +36 -0
  98. package/build/cjs/usb/cdc-saturation.js +151 -0
  99. package/build/cjs/usb/cdc-saturation.js.map +1 -0
  100. package/build/cjs/usb/cmsis-dap.d.ts +113 -0
  101. package/build/cjs/usb/cmsis-dap.js +349 -0
  102. package/build/cjs/usb/cmsis-dap.js.map +1 -0
  103. package/build/cjs/usb/cmsis-dap.test.js +350 -0
  104. package/build/cjs/usb/cmsis-dap.test.js.map +1 -0
  105. package/build/cjs/usb/connection.d.ts +81 -0
  106. package/build/cjs/{usb.js → usb/connection.js} +243 -166
  107. package/build/cjs/usb/connection.js.map +1 -0
  108. package/build/cjs/{usb.test.js → usb/connection.test.js} +52 -42
  109. package/build/cjs/usb/connection.test.js.map +1 -0
  110. package/build/cjs/usb/cortex-m.d.ts +72 -0
  111. package/build/cjs/usb/cortex-m.js +165 -0
  112. package/build/cjs/usb/cortex-m.js.map +1 -0
  113. package/build/cjs/usb/cortex-m.test.js +217 -0
  114. package/build/cjs/usb/cortex-m.test.js.map +1 -0
  115. package/build/cjs/usb/daplink.d.ts +69 -0
  116. package/build/cjs/usb/daplink.js +238 -0
  117. package/build/cjs/usb/daplink.js.map +1 -0
  118. package/build/cjs/usb/daplink.test.js +290 -0
  119. package/build/cjs/usb/daplink.test.js.map +1 -0
  120. package/build/cjs/usb/device-wrapper.d.ts +34 -0
  121. package/build/cjs/usb/device-wrapper.js +102 -0
  122. package/build/cjs/usb/device-wrapper.js.map +1 -0
  123. package/build/cjs/usb/index.d.ts +5 -0
  124. package/build/cjs/usb/index.js +10 -0
  125. package/build/cjs/usb/index.js.map +1 -0
  126. package/build/{esm/usb-partial-flashing-utils.d.ts → cjs/usb/partial-flashing-utils.d.ts} +6 -9
  127. package/build/cjs/{usb-partial-flashing-utils.js → usb/partial-flashing-utils.js} +6 -49
  128. package/build/cjs/usb/partial-flashing-utils.js.map +1 -0
  129. package/build/{esm/usb-partial-flashing.d.ts → cjs/usb/partial-flashing.d.ts} +15 -7
  130. package/build/cjs/{usb-partial-flashing.js → usb/partial-flashing.js} +64 -119
  131. package/build/cjs/usb/partial-flashing.js.map +1 -0
  132. package/build/cjs/usb/promise-queue.js.map +1 -0
  133. package/build/cjs/usb/promise-queue.test.js.map +1 -0
  134. package/build/cjs/usb/serial-events.d.ts +21 -0
  135. package/build/cjs/{led.js → usb/serial-events.js} +1 -1
  136. package/build/cjs/usb/serial-events.js.map +1 -0
  137. package/build/cjs/usb/transport.d.ts +42 -0
  138. package/build/cjs/usb/transport.js +155 -0
  139. package/build/cjs/usb/transport.js.map +1 -0
  140. package/build/{cjs/bluetooth.d.ts → esm/bluetooth/connection.d.ts} +30 -26
  141. package/build/esm/{bluetooth.js → bluetooth/connection.js} +141 -98
  142. package/build/esm/bluetooth/connection.js.map +1 -0
  143. package/build/esm/{bluetooth.test.js → bluetooth/connection.test.js} +9 -9
  144. package/build/esm/bluetooth/connection.test.js.map +1 -0
  145. package/build/esm/bluetooth/device-bond-state.js.map +1 -0
  146. package/build/esm/{bluetooth-device-wrapper.d.ts → bluetooth/device-wrapper.d.ts} +11 -11
  147. package/build/esm/{bluetooth-device-wrapper.js → bluetooth/device-wrapper.js} +32 -32
  148. package/build/esm/bluetooth/device-wrapper.js.map +1 -0
  149. package/build/esm/{flashing → bluetooth/flashing}/flashing-full.d.ts +2 -2
  150. package/build/esm/{flashing → bluetooth/flashing}/flashing-full.js +4 -4
  151. package/build/esm/bluetooth/flashing/flashing-full.js.map +1 -0
  152. package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.d.ts +1 -1
  153. package/build/esm/bluetooth/flashing/flashing-makecode.js.map +1 -0
  154. package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.test.js +2 -2
  155. package/build/esm/bluetooth/flashing/flashing-makecode.test.js.map +1 -0
  156. package/build/esm/{flashing → bluetooth/flashing}/flashing-partial.d.ts +2 -2
  157. package/build/esm/{flashing → bluetooth/flashing}/flashing-partial.js +4 -4
  158. package/build/esm/bluetooth/flashing/flashing-partial.js.map +1 -0
  159. package/build/esm/bluetooth/flashing/flashing-v1.js.map +1 -0
  160. package/build/esm/{flashing → bluetooth/flashing}/nordic-dfu.d.ts +2 -2
  161. package/build/esm/{flashing → bluetooth/flashing}/nordic-dfu.js +11 -8
  162. package/build/esm/bluetooth/flashing/nordic-dfu.js.map +1 -0
  163. package/build/esm/bluetooth/flashing/zip.js.map +1 -0
  164. package/build/esm/bluetooth/flashing/zip.test.d.ts +1 -0
  165. package/build/esm/bluetooth/flashing/zip.test.js.map +1 -0
  166. package/build/esm/bluetooth/index.d.ts +5 -0
  167. package/build/esm/bluetooth/index.js +5 -0
  168. package/build/esm/bluetooth/index.js.map +1 -0
  169. package/build/esm/{bluetooth-profile.js → bluetooth/profile.js} +1 -1
  170. package/build/{cjs/bluetooth-profile.js.map → esm/bluetooth/profile.js.map} +1 -1
  171. package/build/esm/{accelerometer-service.d.ts → bluetooth/services/accelerometer-service.d.ts} +2 -3
  172. package/build/esm/{accelerometer-service.js → bluetooth/services/accelerometer-service.js} +10 -6
  173. package/build/esm/bluetooth/services/accelerometer-service.js.map +1 -0
  174. package/build/{cjs → esm/bluetooth/services}/button-service.d.ts +2 -3
  175. package/build/esm/{button-service.js → bluetooth/services/button-service.js} +10 -9
  176. package/build/esm/bluetooth/services/button-service.js.map +1 -0
  177. package/build/{cjs → esm/bluetooth/services}/device-information-service.d.ts +1 -1
  178. package/build/esm/{device-information-service.js → bluetooth/services/device-information-service.js} +1 -1
  179. package/build/esm/bluetooth/services/device-information-service.js.map +1 -0
  180. package/build/esm/{dfu-service.js → bluetooth/services/dfu-service.js} +1 -1
  181. package/build/esm/bluetooth/services/dfu-service.js.map +1 -0
  182. package/build/{cjs → esm/bluetooth/services}/led-service.d.ts +2 -3
  183. package/build/esm/{led-service.js → bluetooth/services/led-service.js} +1 -1
  184. package/build/esm/bluetooth/services/led-service.js.map +1 -0
  185. package/build/esm/{magnetometer-service.d.ts → bluetooth/services/magnetometer-service.d.ts} +2 -3
  186. package/build/esm/{magnetometer-service.js → bluetooth/services/magnetometer-service.js} +10 -6
  187. package/build/esm/bluetooth/services/magnetometer-service.js.map +1 -0
  188. package/build/{cjs → esm/bluetooth/services}/partial-flashing-service.d.ts +1 -1
  189. package/build/esm/{partial-flashing-service.js → bluetooth/services/partial-flashing-service.js} +4 -4
  190. package/build/esm/bluetooth/services/partial-flashing-service.js.map +1 -0
  191. package/build/esm/{uart-service.d.ts → bluetooth/services/uart-service.d.ts} +2 -2
  192. package/build/esm/{uart-service.js → bluetooth/services/uart-service.js} +8 -5
  193. package/build/esm/bluetooth/services/uart-service.js.map +1 -0
  194. package/build/esm/board-id.d.ts +1 -1
  195. package/build/esm/board-id.js.map +1 -1
  196. package/build/esm/device.d.ts +82 -75
  197. package/build/esm/device.js +38 -120
  198. package/build/esm/device.js.map +1 -1
  199. package/build/esm/events.d.ts +9 -108
  200. package/build/esm/events.js +26 -86
  201. package/build/esm/events.js.map +1 -1
  202. package/build/esm/events.test.js +55 -49
  203. package/build/esm/events.test.js.map +1 -1
  204. package/build/esm/hex-util.d.ts +1 -0
  205. package/build/esm/hex-util.js +11 -0
  206. package/build/esm/hex-util.js.map +1 -0
  207. package/build/esm/index.d.ts +7 -16
  208. package/build/esm/index.js +6 -10
  209. package/build/esm/index.js.map +1 -1
  210. package/build/esm/radio-bridge/connection.d.ts +39 -0
  211. package/build/esm/{usb-radio-bridge.js → radio-bridge/connection.js} +39 -25
  212. package/build/esm/radio-bridge/connection.js.map +1 -0
  213. package/build/esm/radio-bridge/index.d.ts +4 -0
  214. package/build/esm/radio-bridge/index.js +5 -0
  215. package/build/esm/radio-bridge/index.js.map +1 -0
  216. package/build/esm/{usb-serial-protocol.js → radio-bridge/serial-protocol.js} +1 -1
  217. package/build/esm/radio-bridge/serial-protocol.js.map +1 -0
  218. package/build/esm/service-events.d.ts +42 -14
  219. package/build/esm/service-events.js +5 -34
  220. package/build/esm/service-events.js.map +1 -1
  221. package/build/{cjs/hex-flash-data-source.d.ts → esm/universal-hex/flash-data-source.d.ts} +1 -2
  222. package/build/esm/{hex-flash-data-source.js → universal-hex/flash-data-source.js} +6 -13
  223. package/build/esm/universal-hex/flash-data-source.js.map +1 -0
  224. package/build/esm/universal-hex/index.d.ts +4 -0
  225. package/build/esm/universal-hex/index.js +5 -0
  226. package/build/esm/universal-hex/index.js.map +1 -0
  227. package/build/esm/usb/arm-debug.d.ts +137 -0
  228. package/build/esm/usb/arm-debug.js +409 -0
  229. package/build/esm/usb/arm-debug.js.map +1 -0
  230. package/build/esm/usb/arm-debug.test.d.ts +1 -0
  231. package/build/esm/usb/arm-debug.test.js +331 -0
  232. package/build/esm/usb/arm-debug.test.js.map +1 -0
  233. package/build/{cjs → esm/usb}/board-serial-info.d.ts +2 -1
  234. package/build/esm/{board-serial-info.js → usb/board-serial-info.js} +10 -7
  235. package/build/esm/usb/board-serial-info.js.map +1 -0
  236. package/build/esm/usb/board-serial-info.test.d.ts +1 -0
  237. package/build/esm/{board-serial-info.test.js → usb/board-serial-info.test.js} +2 -4
  238. package/build/esm/usb/board-serial-info.test.js.map +1 -0
  239. package/build/esm/usb/cdc-saturation.d.ts +36 -0
  240. package/build/esm/usb/cdc-saturation.js +148 -0
  241. package/build/esm/usb/cdc-saturation.js.map +1 -0
  242. package/build/esm/usb/cmsis-dap.d.ts +113 -0
  243. package/build/esm/usb/cmsis-dap.js +342 -0
  244. package/build/esm/usb/cmsis-dap.js.map +1 -0
  245. package/build/esm/usb/cmsis-dap.test.d.ts +1 -0
  246. package/build/esm/usb/cmsis-dap.test.js +348 -0
  247. package/build/esm/usb/cmsis-dap.test.js.map +1 -0
  248. package/build/esm/usb/connection.d.ts +81 -0
  249. package/build/esm/{usb.js → usb/connection.js} +239 -161
  250. package/build/esm/usb/connection.js.map +1 -0
  251. package/build/esm/usb/connection.test.d.ts +1 -0
  252. package/build/esm/{usb.test.js → usb/connection.test.js} +47 -37
  253. package/build/esm/usb/connection.test.js.map +1 -0
  254. package/build/esm/usb/cortex-m.d.ts +72 -0
  255. package/build/esm/usb/cortex-m.js +161 -0
  256. package/build/esm/usb/cortex-m.js.map +1 -0
  257. package/build/esm/usb/cortex-m.test.d.ts +1 -0
  258. package/build/esm/usb/cortex-m.test.js +215 -0
  259. package/build/esm/usb/cortex-m.test.js.map +1 -0
  260. package/build/esm/usb/daplink.d.ts +69 -0
  261. package/build/esm/usb/daplink.js +231 -0
  262. package/build/esm/usb/daplink.js.map +1 -0
  263. package/build/esm/usb/daplink.test.d.ts +1 -0
  264. package/build/esm/usb/daplink.test.js +288 -0
  265. package/build/esm/usb/daplink.test.js.map +1 -0
  266. package/build/esm/usb/device-wrapper.d.ts +34 -0
  267. package/build/esm/usb/device-wrapper.js +98 -0
  268. package/build/esm/usb/device-wrapper.js.map +1 -0
  269. package/build/esm/usb/index.d.ts +5 -0
  270. package/build/esm/usb/index.js +5 -0
  271. package/build/esm/usb/index.js.map +1 -0
  272. package/build/{cjs/usb-partial-flashing-utils.d.ts → esm/usb/partial-flashing-utils.d.ts} +6 -9
  273. package/build/esm/{usb-partial-flashing-utils.js → usb/partial-flashing-utils.js} +4 -44
  274. package/build/esm/usb/partial-flashing-utils.js.map +1 -0
  275. package/build/{cjs/usb-partial-flashing.d.ts → esm/usb/partial-flashing.d.ts} +15 -7
  276. package/build/esm/{usb-partial-flashing.js → usb/partial-flashing.js} +62 -94
  277. package/build/esm/usb/partial-flashing.js.map +1 -0
  278. package/build/esm/usb/promise-queue.js.map +1 -0
  279. package/build/esm/usb/promise-queue.test.d.ts +1 -0
  280. package/build/esm/usb/promise-queue.test.js.map +1 -0
  281. package/build/esm/usb/serial-events.d.ts +21 -0
  282. package/build/esm/usb/serial-events.js +2 -0
  283. package/build/esm/usb/serial-events.js.map +1 -0
  284. package/build/esm/usb/transport.d.ts +42 -0
  285. package/build/esm/usb/transport.js +151 -0
  286. package/build/esm/usb/transport.js.map +1 -0
  287. package/package.json +43 -2
  288. package/build/cjs/accelerometer-service.js.map +0 -1
  289. package/build/cjs/accelerometer.d.ts +0 -9
  290. package/build/cjs/accelerometer.js +0 -16
  291. package/build/cjs/accelerometer.js.map +0 -1
  292. package/build/cjs/bluetooth-device-wrapper.js.map +0 -1
  293. package/build/cjs/bluetooth.js.map +0 -1
  294. package/build/cjs/bluetooth.test.js.map +0 -1
  295. package/build/cjs/board-serial-info.js.map +0 -1
  296. package/build/cjs/board-serial-info.test.js.map +0 -1
  297. package/build/cjs/button-service.js.map +0 -1
  298. package/build/cjs/buttons.d.ts +0 -10
  299. package/build/cjs/buttons.js +0 -22
  300. package/build/cjs/buttons.js.map +0 -1
  301. package/build/cjs/constants.d.ts +0 -48
  302. package/build/cjs/constants.js +0 -73
  303. package/build/cjs/constants.js.map +0 -1
  304. package/build/cjs/device-bond-state.js.map +0 -1
  305. package/build/cjs/device-information-service.js.map +0 -1
  306. package/build/cjs/dfu-service.js.map +0 -1
  307. package/build/cjs/flashing/flashing-full.js.map +0 -1
  308. package/build/cjs/flashing/flashing-makecode.js.map +0 -1
  309. package/build/cjs/flashing/flashing-makecode.test.js.map +0 -1
  310. package/build/cjs/flashing/flashing-partial.js.map +0 -1
  311. package/build/cjs/flashing/flashing-v1.js.map +0 -1
  312. package/build/cjs/flashing/nordic-dfu.js.map +0 -1
  313. package/build/cjs/flashing/zip.js.map +0 -1
  314. package/build/cjs/flashing/zip.test.js.map +0 -1
  315. package/build/cjs/hex-flash-data-source.js.map +0 -1
  316. package/build/cjs/led-service.js.map +0 -1
  317. package/build/cjs/led.d.ts +0 -6
  318. package/build/cjs/led.js.map +0 -1
  319. package/build/cjs/magnetometer-service.js.map +0 -1
  320. package/build/cjs/magnetometer.d.ts +0 -9
  321. package/build/cjs/magnetometer.js +0 -16
  322. package/build/cjs/magnetometer.js.map +0 -1
  323. package/build/cjs/partial-flashing-service.js.map +0 -1
  324. package/build/cjs/promise-queue.js.map +0 -1
  325. package/build/cjs/promise-queue.test.js.map +0 -1
  326. package/build/cjs/serial-events.d.ts +0 -20
  327. package/build/cjs/serial-events.js +0 -69
  328. package/build/cjs/serial-events.js.map +0 -1
  329. package/build/cjs/uart-service.js.map +0 -1
  330. package/build/cjs/uart.d.ts +0 -4
  331. package/build/cjs/uart.js +0 -16
  332. package/build/cjs/uart.js.map +0 -1
  333. package/build/cjs/usb-device-wrapper.d.ts +0 -47
  334. package/build/cjs/usb-device-wrapper.js +0 -437
  335. package/build/cjs/usb-device-wrapper.js.map +0 -1
  336. package/build/cjs/usb-partial-flashing-utils.js.map +0 -1
  337. package/build/cjs/usb-partial-flashing.js.map +0 -1
  338. package/build/cjs/usb-radio-bridge.d.ts +0 -24
  339. package/build/cjs/usb-radio-bridge.js.map +0 -1
  340. package/build/cjs/usb-serial-protocol.js.map +0 -1
  341. package/build/cjs/usb.d.ts +0 -66
  342. package/build/cjs/usb.js.map +0 -1
  343. package/build/cjs/usb.test.js.map +0 -1
  344. package/build/esm/accelerometer-service.js.map +0 -1
  345. package/build/esm/accelerometer.d.ts +0 -9
  346. package/build/esm/accelerometer.js +0 -12
  347. package/build/esm/accelerometer.js.map +0 -1
  348. package/build/esm/bluetooth-device-wrapper.js.map +0 -1
  349. package/build/esm/bluetooth-profile.js.map +0 -1
  350. package/build/esm/bluetooth.js.map +0 -1
  351. package/build/esm/bluetooth.test.js.map +0 -1
  352. package/build/esm/board-serial-info.js.map +0 -1
  353. package/build/esm/board-serial-info.test.js.map +0 -1
  354. package/build/esm/button-service.js.map +0 -1
  355. package/build/esm/buttons.d.ts +0 -10
  356. package/build/esm/buttons.js +0 -18
  357. package/build/esm/buttons.js.map +0 -1
  358. package/build/esm/constants.d.ts +0 -48
  359. package/build/esm/constants.js +0 -70
  360. package/build/esm/constants.js.map +0 -1
  361. package/build/esm/device-bond-state.js.map +0 -1
  362. package/build/esm/device-information-service.js.map +0 -1
  363. package/build/esm/dfu-service.js.map +0 -1
  364. package/build/esm/flashing/flashing-full.js.map +0 -1
  365. package/build/esm/flashing/flashing-makecode.js.map +0 -1
  366. package/build/esm/flashing/flashing-makecode.test.js.map +0 -1
  367. package/build/esm/flashing/flashing-partial.js.map +0 -1
  368. package/build/esm/flashing/flashing-v1.js.map +0 -1
  369. package/build/esm/flashing/nordic-dfu.js.map +0 -1
  370. package/build/esm/flashing/zip.js.map +0 -1
  371. package/build/esm/flashing/zip.test.js.map +0 -1
  372. package/build/esm/hex-flash-data-source.js.map +0 -1
  373. package/build/esm/led-service.js.map +0 -1
  374. package/build/esm/led.d.ts +0 -6
  375. package/build/esm/led.js +0 -2
  376. package/build/esm/led.js.map +0 -1
  377. package/build/esm/magnetometer-service.js.map +0 -1
  378. package/build/esm/magnetometer.d.ts +0 -9
  379. package/build/esm/magnetometer.js +0 -12
  380. package/build/esm/magnetometer.js.map +0 -1
  381. package/build/esm/partial-flashing-service.js.map +0 -1
  382. package/build/esm/promise-queue.js.map +0 -1
  383. package/build/esm/promise-queue.test.js.map +0 -1
  384. package/build/esm/serial-events.d.ts +0 -20
  385. package/build/esm/serial-events.js +0 -61
  386. package/build/esm/serial-events.js.map +0 -1
  387. package/build/esm/uart-service.js.map +0 -1
  388. package/build/esm/uart.d.ts +0 -4
  389. package/build/esm/uart.js +0 -12
  390. package/build/esm/uart.js.map +0 -1
  391. package/build/esm/usb-device-wrapper.d.ts +0 -47
  392. package/build/esm/usb-device-wrapper.js +0 -410
  393. package/build/esm/usb-device-wrapper.js.map +0 -1
  394. package/build/esm/usb-partial-flashing-utils.js.map +0 -1
  395. package/build/esm/usb-partial-flashing.js.map +0 -1
  396. package/build/esm/usb-radio-bridge.d.ts +0 -24
  397. package/build/esm/usb-radio-bridge.js.map +0 -1
  398. package/build/esm/usb-serial-protocol.js.map +0 -1
  399. package/build/esm/usb.d.ts +0 -66
  400. package/build/esm/usb.js.map +0 -1
  401. package/build/esm/usb.test.js.map +0 -1
  402. /package/build/cjs/{bluetooth.test.d.ts → bluetooth/connection.test.d.ts} +0 -0
  403. /package/build/cjs/{device-bond-state.d.ts → bluetooth/device-bond-state.d.ts} +0 -0
  404. /package/build/cjs/{device-bond-state.js → bluetooth/device-bond-state.js} +0 -0
  405. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.js +0 -0
  406. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-makecode.test.d.ts +0 -0
  407. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-v1.d.ts +0 -0
  408. /package/build/cjs/{flashing → bluetooth/flashing}/flashing-v1.js +0 -0
  409. /package/build/cjs/{flashing → bluetooth/flashing}/zip.d.ts +0 -0
  410. /package/build/cjs/{flashing → bluetooth/flashing}/zip.js +0 -0
  411. /package/build/cjs/{flashing → bluetooth/flashing}/zip.test.d.ts +0 -0
  412. /package/build/cjs/{flashing → bluetooth/flashing}/zip.test.js +0 -0
  413. /package/build/cjs/{bluetooth-profile.d.ts → bluetooth/profile.d.ts} +0 -0
  414. /package/build/cjs/{dfu-service.d.ts → bluetooth/services/dfu-service.d.ts} +0 -0
  415. /package/build/cjs/{usb-serial-protocol.d.ts → radio-bridge/serial-protocol.d.ts} +0 -0
  416. /package/build/cjs/{board-serial-info.test.d.ts → usb/arm-debug.test.d.ts} +0 -0
  417. /package/build/{esm → cjs/usb}/board-serial-info.test.d.ts +0 -0
  418. /package/build/cjs/{promise-queue.test.d.ts → usb/cmsis-dap.test.d.ts} +0 -0
  419. /package/build/cjs/{usb.test.d.ts → usb/connection.test.d.ts} +0 -0
  420. /package/build/{esm/bluetooth.test.d.ts → cjs/usb/cortex-m.test.d.ts} +0 -0
  421. /package/build/{esm/flashing/flashing-makecode.test.d.ts → cjs/usb/daplink.test.d.ts} +0 -0
  422. /package/build/cjs/{promise-queue.d.ts → usb/promise-queue.d.ts} +0 -0
  423. /package/build/cjs/{promise-queue.js → usb/promise-queue.js} +0 -0
  424. /package/build/{esm → cjs/usb}/promise-queue.test.d.ts +0 -0
  425. /package/build/cjs/{promise-queue.test.js → usb/promise-queue.test.js} +0 -0
  426. /package/build/esm/{flashing/zip.test.d.ts → bluetooth/connection.test.d.ts} +0 -0
  427. /package/build/esm/{device-bond-state.d.ts → bluetooth/device-bond-state.d.ts} +0 -0
  428. /package/build/esm/{device-bond-state.js → bluetooth/device-bond-state.js} +0 -0
  429. /package/build/esm/{flashing → bluetooth/flashing}/flashing-makecode.js +0 -0
  430. /package/build/esm/{usb.test.d.ts → bluetooth/flashing/flashing-makecode.test.d.ts} +0 -0
  431. /package/build/esm/{flashing → bluetooth/flashing}/flashing-v1.d.ts +0 -0
  432. /package/build/esm/{flashing → bluetooth/flashing}/flashing-v1.js +0 -0
  433. /package/build/esm/{flashing → bluetooth/flashing}/zip.d.ts +0 -0
  434. /package/build/esm/{flashing → bluetooth/flashing}/zip.js +0 -0
  435. /package/build/esm/{flashing → bluetooth/flashing}/zip.test.js +0 -0
  436. /package/build/esm/{bluetooth-profile.d.ts → bluetooth/profile.d.ts} +0 -0
  437. /package/build/esm/{dfu-service.d.ts → bluetooth/services/dfu-service.d.ts} +0 -0
  438. /package/build/esm/{usb-serial-protocol.d.ts → radio-bridge/serial-protocol.d.ts} +0 -0
  439. /package/build/esm/{promise-queue.d.ts → usb/promise-queue.d.ts} +0 -0
  440. /package/build/esm/{promise-queue.js → usb/promise-queue.js} +0 -0
  441. /package/build/esm/{promise-queue.test.js → usb/promise-queue.test.js} +0 -0
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
- import { TypedEventTarget, ValueIsEvent } from "./events.js";
6
+ import { TypedEventTarget } from "./events.js";
7
7
  /**
8
8
  * Connection availability status returned by checkAvailability().
9
9
  * Used for pre-flight UX decisions before attempting to connect.
@@ -40,9 +40,13 @@ export type DeviceErrorCode =
40
40
  */
41
41
  | "timeout-error"
42
42
  /**
43
- * This is the fallback error case suggesting that the user reconnects their device.
43
+ * This is the fallback error case suggesting that the user physically reconnects their device.
44
44
  */
45
45
  | "reconnect-microbit"
46
+ /**
47
+ * An operation was attempted that requires an active connection.
48
+ */
49
+ | "not-connected"
46
50
  /**
47
51
  * Error occured during serial or bluetooth communication.
48
52
  */
@@ -91,36 +95,26 @@ export type DeviceErrorCode =
91
95
  * Aligns with ConnectionAvailabilityStatus "location-disabled".
92
96
  */
93
97
  | "location-disabled";
94
- export declare enum ProgressStage {
95
- /**
96
- * Checking permissions and availability before connecting.
97
- */
98
- Initializing = "Initializing",
99
- /**
100
- * Finding device.
101
- */
102
- FindingDevice = "FindingDevice",
103
- /**
104
- * Checking that a bond is established. Only applicable on Native platforms.
105
- */
106
- CheckingBond = "CheckingBond",
107
- /**
108
- * Resetting device in preparation for flashing. Only applicable on Native platforms.
109
- */
110
- ResettingDevice = "ResettingDevice",
111
- /**
112
- * Connecting for flashing.
113
- */
114
- Connecting = "Connecting",
115
- /**
116
- * Partial flashing.
117
- */
118
- PartialFlashing = "PartialFlashing",
119
- /**
120
- * Full flashing.
121
- */
122
- FullFlashing = "FullFlashing"
123
- }
98
+ /**
99
+ * Stages reported by the progress callback during connection and flashing.
100
+ */
101
+ export declare const ProgressStage: {
102
+ /** Checking permissions and availability before connecting. */
103
+ readonly Initializing: "Initializing";
104
+ /** Finding device. */
105
+ readonly FindingDevice: "FindingDevice";
106
+ /** Checking that a bond is established. Only applicable on Native platforms. */
107
+ readonly CheckingBond: "CheckingBond";
108
+ /** Resetting device in preparation for flashing. Only applicable on Native platforms. */
109
+ readonly ResettingDevice: "ResettingDevice";
110
+ /** Connecting for flashing. */
111
+ readonly Connecting: "Connecting";
112
+ /** Partial flashing. */
113
+ readonly PartialFlashing: "PartialFlashing";
114
+ /** Full flashing. */
115
+ readonly FullFlashing: "FullFlashing";
116
+ };
117
+ export type ProgressStage = (typeof ProgressStage)[keyof typeof ProgressStage];
124
118
  /**
125
119
  * Progress callback for tracking operation stages (connection and flashing).
126
120
  *
@@ -156,10 +150,15 @@ export declare class DeviceError extends Error {
156
150
  message?: string;
157
151
  });
158
152
  }
153
+ /**
154
+ * Asserts that a connection is active, throwing a {@link DeviceError}
155
+ * with code `"not-connected"` if it is not.
156
+ */
157
+ export declare function assertConnected<T>(connection: T | undefined): asserts connection is T;
159
158
  /**
160
159
  * Tracks connection status.
161
160
  */
162
- export declare enum ConnectionStatus {
161
+ export declare const ConnectionStatus: {
163
162
  /**
164
163
  * No device available.
165
164
  *
@@ -169,26 +168,21 @@ export declare enum ConnectionStatus {
169
168
  * Use checkAvailability() to determine whether the connection type is
170
169
  * supported before attempting to connect.
171
170
  */
172
- NO_AUTHORIZED_DEVICE = "NO_AUTHORIZED_DEVICE",
173
- /**
174
- * Authorized device available but we haven't connected to it.
175
- */
176
- DISCONNECTED = "DISCONNECTED",
177
- /**
178
- * Connected.
179
- */
180
- CONNECTED = "CONNECTED",
181
- /**
182
- * Connecting.
183
- */
184
- CONNECTING = "CONNECTING",
171
+ readonly NoAuthorizedDevice: "NoAuthorizedDevice";
172
+ /** Authorized device available but we haven't connected to it. */
173
+ readonly Disconnected: "Disconnected";
174
+ /** Connected. */
175
+ readonly Connected: "Connected";
176
+ /** Connecting. */
177
+ readonly Connecting: "Connecting";
185
178
  /**
186
179
  * Paused due to tab visibility. The connection was temporarily suspended
187
180
  * because the browser tab became hidden. Reconnection will be attempted
188
181
  * automatically when the tab becomes visible again.
189
182
  */
190
- PAUSED = "PAUSED"
191
- }
183
+ readonly Paused: "Paused";
184
+ };
185
+ export type ConnectionStatus = (typeof ConnectionStatus)[keyof typeof ConnectionStatus];
192
186
  export interface ConnectOptions {
193
187
  /**
194
188
  * Optional progress callback for tracking connection stages.
@@ -238,29 +232,22 @@ export declare class FlashDataError extends Error {
238
232
  }
239
233
  export type FlashDataSource = (boardVersion: BoardVersion) => Promise<string | Uint8Array>;
240
234
  export type BoardVersion = "V1" | "V2";
241
- export declare class ConnectionStatusEvent extends Event {
242
- readonly status: ConnectionStatus;
243
- readonly previousStatus: ConnectionStatus;
244
- constructor(status: ConnectionStatus, previousStatus: ConnectionStatus);
245
- }
246
- export declare class BeforeRequestDevice extends Event {
247
- constructor();
248
- }
249
- export declare class AfterRequestDevice extends Event {
250
- constructor();
235
+ export interface ConnectionStatusChange {
236
+ status: ConnectionStatus;
237
+ previousStatus: ConnectionStatus;
251
238
  }
252
- export declare class BackgroundErrorEvent extends Event {
253
- readonly errorMessage: string;
254
- readonly error?: unknown;
255
- constructor(errorMessage: string, error?: unknown);
239
+ export interface BackgroundErrorData {
240
+ message: string;
241
+ error?: unknown;
256
242
  }
257
- export declare class DeviceConnectionEventMap {
258
- "status": ConnectionStatusEvent;
259
- "backgrounderror": BackgroundErrorEvent;
260
- "beforerequestdevice": Event;
261
- "afterrequestdevice": Event;
243
+ export interface DeviceConnectionEventMap {
244
+ status: ConnectionStatusChange;
245
+ backgrounderror: BackgroundErrorData;
246
+ beforerequestdevice: void;
247
+ afterrequestdevice: void;
248
+ flash: void;
262
249
  }
263
- export interface DeviceConnection<M extends ValueIsEvent<M>> extends TypedEventTarget<DeviceConnectionEventMap & M> {
250
+ export interface DeviceConnection<M> extends TypedEventTarget<DeviceConnectionEventMap & M> {
264
251
  status: ConnectionStatus;
265
252
  /**
266
253
  * Initializes the device.
@@ -289,22 +276,42 @@ export interface DeviceConnection<M extends ValueIsEvent<M>> extends TypedEventT
289
276
  /**
290
277
  * Get the board version.
291
278
  *
292
- * @returns the board version or undefined if there is no connection.
279
+ * Cached after the first successful connection until {@link clearDevice}
280
+ * is called, so remains available after disconnection.
281
+ *
282
+ * @returns the board version.
283
+ * @throws {DeviceError} with code `not-connected` if no device has been connected.
293
284
  */
294
- getBoardVersion(): BoardVersion | undefined;
285
+ getBoardVersion(): BoardVersion;
295
286
  /**
296
287
  * Disconnect from the device.
297
288
  */
298
289
  disconnect(): Promise<void>;
299
290
  /**
300
- * Write serial data to the device.
291
+ * Flash the micro:bit.
292
+ *
293
+ * Not all connection types support flashing. For example, radio bridge
294
+ * connections do not support flashing, and Bluetooth connections only
295
+ * support flashing on native platforms (not Web).
296
+ *
297
+ * Post-flash connection state differs by transport:
298
+ *
299
+ * - **USB**: The connection remains in {@link ConnectionStatus.Connected} state.
300
+ * USB connects to the micro:bit's interface chip (running DAPLink firmware),
301
+ * which is not affected by flashing the application processor, so the
302
+ * connection persists and serial communication is automatically reinitialised.
301
303
  *
302
- * Does nothing if there is no connection.
304
+ * - **Bluetooth**: The connection is always left in {@link ConnectionStatus.Disconnected}
305
+ * state. Bluetooth connects to the application processor directly, which
306
+ * reboots after flashing, so the connection is necessarily lost. Callers
307
+ * must call {@link connect} again after flashing.
303
308
  *
304
- * @param data The data to write.
305
- * @returns A promise that resolves when the write is complete.
309
+ * @param dataSource The data to use.
310
+ * @param options Flash options and progress callback.
311
+ * @throws {DeviceError} On flash failure. The error.code property indicates the failure type.
312
+ * @throws {FlashDataError} If data preparation fails.
306
313
  */
307
- serialWrite(data: string): Promise<void>;
314
+ flash?(dataSource: FlashDataSource, options: FlashOptions): Promise<void>;
308
315
  /**
309
316
  * Clear device to enable chooseDevice.
310
317
  */
@@ -1,37 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeviceConnectionEventMap = exports.BackgroundErrorEvent = exports.AfterRequestDevice = exports.BeforeRequestDevice = exports.ConnectionStatusEvent = exports.FlashDataError = exports.ConnectionStatus = exports.DeviceError = exports.ProgressStage = void 0;
4
- var ProgressStage;
5
- (function (ProgressStage) {
6
- /**
7
- * Checking permissions and availability before connecting.
8
- */
9
- ProgressStage["Initializing"] = "Initializing";
10
- /**
11
- * Finding device.
12
- */
13
- ProgressStage["FindingDevice"] = "FindingDevice";
14
- /**
15
- * Checking that a bond is established. Only applicable on Native platforms.
16
- */
17
- ProgressStage["CheckingBond"] = "CheckingBond";
18
- /**
19
- * Resetting device in preparation for flashing. Only applicable on Native platforms.
20
- */
21
- ProgressStage["ResettingDevice"] = "ResettingDevice";
22
- /**
23
- * Connecting for flashing.
24
- */
25
- ProgressStage["Connecting"] = "Connecting";
26
- /**
27
- * Partial flashing.
28
- */
29
- ProgressStage["PartialFlashing"] = "PartialFlashing";
30
- /**
31
- * Full flashing.
32
- */
33
- ProgressStage["FullFlashing"] = "FullFlashing";
34
- })(ProgressStage || (exports.ProgressStage = ProgressStage = {}));
3
+ exports.FlashDataError = exports.ConnectionStatus = exports.DeviceError = exports.ProgressStage = void 0;
4
+ exports.assertConnected = assertConnected;
5
+ /**
6
+ * Stages reported by the progress callback during connection and flashing.
7
+ */
8
+ exports.ProgressStage = {
9
+ /** Checking permissions and availability before connecting. */
10
+ Initializing: "Initializing",
11
+ /** Finding device. */
12
+ FindingDevice: "FindingDevice",
13
+ /** Checking that a bond is established. Only applicable on Native platforms. */
14
+ CheckingBond: "CheckingBond",
15
+ /** Resetting device in preparation for flashing. Only applicable on Native platforms. */
16
+ ResettingDevice: "ResettingDevice",
17
+ /** Connecting for flashing. */
18
+ Connecting: "Connecting",
19
+ /** Partial flashing. */
20
+ PartialFlashing: "PartialFlashing",
21
+ /** Full flashing. */
22
+ FullFlashing: "FullFlashing",
23
+ };
35
24
  /**
36
25
  * Error type used for all interactions with this module.
37
26
  *
@@ -54,11 +43,19 @@ class DeviceError extends Error {
54
43
  }
55
44
  }
56
45
  exports.DeviceError = DeviceError;
46
+ /**
47
+ * Asserts that a connection is active, throwing a {@link DeviceError}
48
+ * with code `"not-connected"` if it is not.
49
+ */
50
+ function assertConnected(connection) {
51
+ if (!connection) {
52
+ throw new DeviceError({ code: "not-connected", message: "Not connected" });
53
+ }
54
+ }
57
55
  /**
58
56
  * Tracks connection status.
59
57
  */
60
- var ConnectionStatus;
61
- (function (ConnectionStatus) {
58
+ exports.ConnectionStatus = {
62
59
  /**
63
60
  * No device available.
64
61
  *
@@ -68,104 +65,21 @@ var ConnectionStatus;
68
65
  * Use checkAvailability() to determine whether the connection type is
69
66
  * supported before attempting to connect.
70
67
  */
71
- ConnectionStatus["NO_AUTHORIZED_DEVICE"] = "NO_AUTHORIZED_DEVICE";
72
- /**
73
- * Authorized device available but we haven't connected to it.
74
- */
75
- ConnectionStatus["DISCONNECTED"] = "DISCONNECTED";
76
- /**
77
- * Connected.
78
- */
79
- ConnectionStatus["CONNECTED"] = "CONNECTED";
80
- /**
81
- * Connecting.
82
- */
83
- ConnectionStatus["CONNECTING"] = "CONNECTING";
68
+ NoAuthorizedDevice: "NoAuthorizedDevice",
69
+ /** Authorized device available but we haven't connected to it. */
70
+ Disconnected: "Disconnected",
71
+ /** Connected. */
72
+ Connected: "Connected",
73
+ /** Connecting. */
74
+ Connecting: "Connecting",
84
75
  /**
85
76
  * Paused due to tab visibility. The connection was temporarily suspended
86
77
  * because the browser tab became hidden. Reconnection will be attempted
87
78
  * automatically when the tab becomes visible again.
88
79
  */
89
- ConnectionStatus["PAUSED"] = "PAUSED";
90
- })(ConnectionStatus || (exports.ConnectionStatus = ConnectionStatus = {}));
80
+ Paused: "Paused",
81
+ };
91
82
  class FlashDataError extends Error {
92
83
  }
93
84
  exports.FlashDataError = FlashDataError;
94
- class ConnectionStatusEvent extends Event {
95
- constructor(status, previousStatus) {
96
- super("status");
97
- Object.defineProperty(this, "status", {
98
- enumerable: true,
99
- configurable: true,
100
- writable: true,
101
- value: status
102
- });
103
- Object.defineProperty(this, "previousStatus", {
104
- enumerable: true,
105
- configurable: true,
106
- writable: true,
107
- value: previousStatus
108
- });
109
- }
110
- }
111
- exports.ConnectionStatusEvent = ConnectionStatusEvent;
112
- class BeforeRequestDevice extends Event {
113
- constructor() {
114
- super("beforerequestdevice");
115
- }
116
- }
117
- exports.BeforeRequestDevice = BeforeRequestDevice;
118
- class AfterRequestDevice extends Event {
119
- constructor() {
120
- super("afterrequestdevice");
121
- }
122
- }
123
- exports.AfterRequestDevice = AfterRequestDevice;
124
- class BackgroundErrorEvent extends Event {
125
- constructor(errorMessage, error) {
126
- super("backgrounderror");
127
- Object.defineProperty(this, "errorMessage", {
128
- enumerable: true,
129
- configurable: true,
130
- writable: true,
131
- value: errorMessage
132
- });
133
- Object.defineProperty(this, "error", {
134
- enumerable: true,
135
- configurable: true,
136
- writable: true,
137
- value: error
138
- });
139
- }
140
- }
141
- exports.BackgroundErrorEvent = BackgroundErrorEvent;
142
- class DeviceConnectionEventMap {
143
- constructor() {
144
- Object.defineProperty(this, "status", {
145
- enumerable: true,
146
- configurable: true,
147
- writable: true,
148
- value: void 0
149
- });
150
- Object.defineProperty(this, "backgrounderror", {
151
- enumerable: true,
152
- configurable: true,
153
- writable: true,
154
- value: void 0
155
- });
156
- Object.defineProperty(this, "beforerequestdevice", {
157
- enumerable: true,
158
- configurable: true,
159
- writable: true,
160
- value: void 0
161
- });
162
- Object.defineProperty(this, "afterrequestdevice", {
163
- enumerable: true,
164
- configurable: true,
165
- writable: true,
166
- value: void 0
167
- });
168
- }
169
- }
170
- exports.DeviceConnectionEventMap = DeviceConnectionEventMap;
171
85
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/device.ts"],"names":[],"mappings":";;;AAqGA,IAAY,aA6BX;AA7BD,WAAY,aAAa;IACvB;;OAEG;IACH,8CAA6B,CAAA;IAC7B;;OAEG;IACH,gDAA+B,CAAA;IAC/B;;OAEG;IACH,8CAA6B,CAAA;IAC7B;;OAEG;IACH,oDAAmC,CAAA;IACnC;;OAEG;IACH,0CAAyB,CAAA;IACzB;;OAEG;IACH,oDAAmC,CAAA;IACnC;;OAEG;IACH,8CAA6B,CAAA;AAC/B,CAAC,EA7BW,aAAa,6BAAb,aAAa,QA6BxB;AAyBD;;;;;;;;GAQG;AACH,MAAa,WAAY,SAAQ,KAAK;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAA+C;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB;;;;;WAAsB;QAGpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAND,kCAMC;AAED;;GAEG;AACH,IAAY,gBA6BX;AA7BD,WAAY,gBAAgB;IAC1B;;;;;;;;OAQG;IACH,iEAA6C,CAAA;IAC7C;;OAEG;IACH,iDAA6B,CAAA;IAC7B;;OAEG;IACH,2CAAuB,CAAA;IACvB;;OAEG;IACH,6CAAyB,CAAA;IACzB;;;;OAIG;IACH,qCAAiB,CAAA;AACnB,CAAC,EA7BW,gBAAgB,gCAAhB,gBAAgB,QA6B3B;AAiDD,MAAa,cAAe,SAAQ,KAAK;CAAG;AAA5C,wCAA4C;AAQ5C,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YACkB,MAAwB,EACxB,cAAgC;QAEhD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHhB;;;;mBAAgB,MAAM;WAAkB;QACxC;;;;mBAAgB,cAAc;WAAkB;IAGlD,CAAC;CACF;AAPD,sDAOC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACkB,YAAoB,EACpB,KAAe;QAE/B,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAHzB;;;;mBAAgB,YAAY;WAAQ;QACpC;;;;mBAAgB,KAAK;WAAU;IAGjC,CAAC;CACF;AAPD,oDAOC;AAED,MAAa,wBAAwB;IAArC;QACE,4BAAA,QAAQ;;;;;WAAwB;QAChC,4BAAA,iBAAiB;;;;;WAAuB;QACxC,4BAAA,qBAAqB;;;;;WAAQ;QAC7B,4BAAA,oBAAoB;;;;;WAAQ;IAC9B,CAAC;CAAA;AALD,4DAKC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/device.ts"],"names":[],"mappings":";;;AA2KA,0CAMC;AAxED;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B,+DAA+D;IAC/D,YAAY,EAAE,cAAc;IAC5B,sBAAsB;IACtB,aAAa,EAAE,eAAe;IAC9B,gFAAgF;IAChF,YAAY,EAAE,cAAc;IAC5B,yFAAyF;IACzF,eAAe,EAAE,iBAAiB;IAClC,+BAA+B;IAC/B,UAAU,EAAE,YAAY;IACxB,wBAAwB;IACxB,eAAe,EAAE,iBAAiB;IAClC,qBAAqB;IACrB,YAAY,EAAE,cAAc;CACpB,CAAC;AA2BX;;;;;;;;GAQG;AACH,MAAa,WAAY,SAAQ,KAAK;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAA+C;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB;;;;;WAAsB;QAGpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAND,kCAMC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC7B,UAAyB;IAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B;;;;;;;;OAQG;IACH,kBAAkB,EAAE,oBAAoB;IACxC,kEAAkE;IAClE,YAAY,EAAE,cAAc;IAC5B,iBAAiB;IACjB,SAAS,EAAE,WAAW;IACtB,kBAAkB;IAClB,UAAU,EAAE,YAAY;IACxB;;;;OAIG;IACH,MAAM,EAAE,QAAQ;CACR,CAAC;AAoDX,MAAa,cAAe,SAAQ,KAAK;CAAG;AAA5C,wCAA4C"}
@@ -1,110 +1,11 @@
1
- /**
2
- * Copyright (c) 2022 Jonas "DerZade" Schade
3
- *
4
- * SPDX-License-Identifier: MIT
5
- *
6
- * https://github.com/DerZade/typescript-event-target/blob/master/src/TypedEventTarget.ts
7
- */
8
- /**
9
- * A function that can be passed to the `listener` parameter of {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}.
10
- *
11
- * @template M A map of event types to their respective event classes.
12
- * @template T The type of event to listen for (has to be keyof `M`).
13
- */
14
- export type TypedEventListener<M, T extends keyof M> = (evt: M[T]) => void | Promise<void>;
15
- /**
16
- * An object that can be passed to the `listener` parameter of {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}.
17
- *
18
- * @template M A map of event types to their respective event classes.
19
- * @template T The type of event to listen for (has to be keyof `M`).
20
- */
21
- export interface TypedEventListenerObject<M, T extends keyof M> {
22
- handleEvent: (evt: M[T]) => void | Promise<void>;
23
- }
24
- /**
25
- * Type of parameter `listener` in {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}.
26
- *
27
- * The object that receives a notification (an object that implements the Event interface) when an event of the specified type occurs.
28
- *
29
- * Can be either an object with a handleEvent() method, or a JavaScript function.
30
- *
31
- * @template M A map of event types to their respective event classes.
32
- * @template T The type of event to listen for (has to be keyof `M`).
33
- */
34
- export type TypedEventListenerOrEventListenerObject<M, T extends keyof M> = TypedEventListener<M, T> | TypedEventListenerObject<M, T>;
35
- export type ValueIsEvent<T> = {
36
- [key in keyof T]: Event;
37
- };
38
- /**
39
- * Typescript friendly version of {@link EventTarget}
40
- *
41
- * @template M A map of event types to their respective event classes.
42
- *
43
- * @example
44
- * ```typescript
45
- * interface MyEventMap {
46
- * hello: Event;
47
- * time: CustomEvent<number>;
48
- * }
49
- *
50
- * const eventTarget = new TypedEventTarget<MyEventMap>();
51
- *
52
- * eventTarget.addEventListener('time', (event) => {
53
- * // event is of type CustomEvent<number>
54
- * });
55
- * ```
56
- */
57
- export interface TypedEventTarget<M extends ValueIsEvent<M>> {
58
- /** Appends an event listener for events whose type attribute value is type.
59
- * The callback argument sets the callback that will be invoked when the event
60
- * is dispatched.
61
- *
62
- * The options argument sets listener-specific options. For compatibility this
63
- * can be a boolean, in which case the method behaves exactly as if the value
64
- * was specified as options's capture.
65
- *
66
- * When set to true, options's capture prevents callback from being invoked
67
- * when the event's eventPhase attribute value is BUBBLING_PHASE. When false
68
- * (or not present), callback will not be invoked when event's eventPhase
69
- * attribute value is CAPTURING_PHASE. Either way, callback will be invoked if
70
- * event's eventPhase attribute value is AT_TARGET.
71
- *
72
- * When set to true, options's passive indicates that the callback will not
73
- * cancel the event by invoking preventDefault(). This is used to enable
74
- * performance optimizations described in § 2.8 Observing event listeners.
75
- *
76
- * When set to true, options's once indicates that the callback will only be
77
- * invoked once after which the event listener will be removed.
78
- *
79
- * The event listener is appended to target's event listener list and is not
80
- * appended if it has the same type, callback, and capture. */
81
- addEventListener: <T extends keyof M & string>(type: T, listener: TypedEventListenerOrEventListenerObject<M, T> | null, options?: boolean | AddEventListenerOptions) => void;
82
- /** Removes the event listener in target's event listener list with the same
83
- * type, callback, and options. */
84
- removeEventListener: <T extends keyof M & string>(type: T, callback: TypedEventListenerOrEventListenerObject<M, T> | null, options?: EventListenerOptions | boolean) => void;
85
- /**
86
- * Dispatches a synthetic event event to target and returns true if either
87
- * event's cancelable attribute value is false or its preventDefault() method
88
- * was not invoked, and false otherwise.
89
- * @deprecated To ensure type safety use `dispatchTypedEvent` instead.
90
- */
91
- dispatchEvent: (event: Event) => boolean;
92
- }
93
- export declare class TrackingEventTarget extends EventTarget {
94
- private activeEventTracking;
95
- addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;
96
- removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
97
- dispatchEvent(event: Event): boolean;
98
- private filterRegistrations;
99
- protected eventActivated(type: string): void;
100
- protected eventDeactivated(type: string): void;
1
+ type Listener<T> = (data: T) => void;
2
+ export declare class TypedEventTarget<M> {
3
+ private listeners;
4
+ addEventListener<K extends keyof M & string>(type: K, listener: Listener<M[K]>): void;
5
+ removeEventListener<K extends keyof M & string>(type: K, listener: Listener<M[K]>): void;
6
+ protected dispatchEvent<K extends keyof M & string>(type: K, ...[data]: M[K] extends void ? [] : [data: M[K]]): void;
7
+ protected eventActivated(_type: string): void;
8
+ protected eventDeactivated(_type: string): void;
101
9
  protected getActiveEvents(): string[];
102
10
  }
103
- export declare class TypedEventTarget<M extends ValueIsEvent<M>> extends TrackingEventTarget {
104
- /**
105
- * Dispatches a synthetic event event to target and returns true if either
106
- * event's cancelable attribute value is false or its preventDefault() method
107
- * was not invoked, and false otherwise.
108
- */
109
- dispatchTypedEvent<T extends keyof M>(_type: T, event: M[T]): boolean;
110
- }
11
+ export {};