@ovok/native 1.16.1-dev.2135 → 1.16.1-dev.2141

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 (239) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +1 -0
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
  4. package/lib/commonjs/modules/bt-management/index.js +12 -0
  5. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  6. package/lib/commonjs/modules/bt-management/services/bt-manager.js +50 -0
  7. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +3 -0
  9. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +4 -2
  11. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +97 -28
  13. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  14. package/lib/commonjs/modules/bt-management/services/devices/bt-current-time.js +59 -0
  15. package/lib/commonjs/modules/bt-management/services/devices/bt-current-time.js.map +1 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +18 -37
  17. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -1
  18. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +12 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/bt-notification-readiness.js +68 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/bt-notification-readiness.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/bt-pairing-retry.js +70 -0
  23. package/lib/commonjs/modules/bt-management/services/devices/bt-pairing-retry.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +14 -0
  25. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js +77 -0
  27. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js.map +1 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js +49 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js.map +1 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js +89 -0
  31. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js.map +1 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +35 -42
  33. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -1
  34. package/lib/commonjs/modules/bt-management/services/record-cursor.js +70 -0
  35. package/lib/commonjs/modules/bt-management/services/record-cursor.js.map +1 -0
  36. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +8 -0
  37. package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
  38. package/lib/commonjs/modules/bt-management/types/glucose-record-details.js +2 -0
  39. package/lib/commonjs/modules/bt-management/types/glucose-record-details.js.map +1 -0
  40. package/lib/commonjs/modules/bt-management/utils/wait.js +10 -0
  41. package/lib/commonjs/modules/bt-management/utils/wait.js.map +1 -0
  42. package/lib/commonjs/modules/next/background-sync/index.js +17 -0
  43. package/lib/commonjs/modules/next/background-sync/index.js.map +1 -0
  44. package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-link.js +41 -4
  45. package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-link.js.map +1 -1
  46. package/lib/commonjs/modules/next/bluetooth/connections.js +4 -0
  47. package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -1
  48. package/lib/commonjs/modules/next/bluetooth/driver.js +6 -0
  49. package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
  50. package/lib/commonjs/modules/next/bluetooth/react-native/ovok-sink.js +12 -1
  51. package/lib/commonjs/modules/next/bluetooth/react-native/ovok-sink.js.map +1 -1
  52. package/lib/commonjs/modules/next/bluetooth/readings.js +2 -1
  53. package/lib/commonjs/modules/next/bluetooth/readings.js.map +1 -1
  54. package/lib/commonjs/modules/next/data-sync/index.js +17 -0
  55. package/lib/commonjs/modules/next/data-sync/index.js.map +1 -0
  56. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +1 -0
  57. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  58. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  59. package/lib/module/modules/bt-management/index.js +1 -0
  60. package/lib/module/modules/bt-management/index.js.map +1 -1
  61. package/lib/module/modules/bt-management/services/bt-manager.js +50 -0
  62. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  63. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +3 -0
  64. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  65. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +4 -2
  66. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  67. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +97 -28
  68. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  69. package/lib/module/modules/bt-management/services/devices/bt-current-time.js +55 -0
  70. package/lib/module/modules/bt-management/services/devices/bt-current-time.js.map +1 -0
  71. package/lib/module/modules/bt-management/services/devices/bt-device-information.js +18 -37
  72. package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -1
  73. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +13 -2
  74. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  75. package/lib/module/modules/bt-management/services/devices/bt-notification-readiness.js +65 -0
  76. package/lib/module/modules/bt-management/services/devices/bt-notification-readiness.js.map +1 -0
  77. package/lib/module/modules/bt-management/services/devices/bt-pairing-retry.js +65 -0
  78. package/lib/module/modules/bt-management/services/devices/bt-pairing-retry.js.map +1 -0
  79. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +14 -0
  80. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  81. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js +72 -0
  82. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js.map +1 -0
  83. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js +40 -0
  84. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js.map +1 -0
  85. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js +85 -0
  86. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js.map +1 -0
  87. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +25 -32
  88. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -1
  89. package/lib/module/modules/bt-management/services/record-cursor.js +66 -0
  90. package/lib/module/modules/bt-management/services/record-cursor.js.map +1 -0
  91. package/lib/module/modules/bt-management/testing/fake-ble-manager.js +8 -0
  92. package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
  93. package/lib/module/modules/bt-management/types/custom-device-definition.js +4 -0
  94. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
  95. package/lib/module/modules/bt-management/types/glucose-record-details.js +2 -0
  96. package/lib/module/modules/bt-management/types/glucose-record-details.js.map +1 -0
  97. package/lib/module/modules/bt-management/utils/wait.js +5 -0
  98. package/lib/module/modules/bt-management/utils/wait.js.map +1 -0
  99. package/lib/module/modules/next/background-sync/index.js +11 -0
  100. package/lib/module/modules/next/background-sync/index.js.map +1 -0
  101. package/lib/module/modules/next/bluetooth/ble-plx/ble-link.js +41 -4
  102. package/lib/module/modules/next/bluetooth/ble-plx/ble-link.js.map +1 -1
  103. package/lib/module/modules/next/bluetooth/connections.js +4 -0
  104. package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
  105. package/lib/module/modules/next/bluetooth/driver.js +6 -0
  106. package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
  107. package/lib/module/modules/next/bluetooth/react-native/ovok-sink.js +12 -1
  108. package/lib/module/modules/next/bluetooth/react-native/ovok-sink.js.map +1 -1
  109. package/lib/module/modules/next/bluetooth/readings.js +2 -1
  110. package/lib/module/modules/next/bluetooth/readings.js.map +1 -1
  111. package/lib/module/modules/next/data-sync/index.js +11 -0
  112. package/lib/module/modules/next/data-sync/index.js.map +1 -0
  113. package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
  114. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +1 -1
  116. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
  118. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +20 -0
  120. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts +2 -1
  122. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts +3 -1
  124. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +14 -1
  126. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-current-time.d.ts +11 -0
  128. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-current-time.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts +2 -1
  130. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +9 -1
  132. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-notification-readiness.d.ts +15 -0
  134. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-notification-readiness.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts +21 -0
  136. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -0
  138. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts +7 -0
  140. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts +16 -0
  142. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts +8 -0
  144. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/src/modules/bt-management/services/record-cursor.d.ts +21 -0
  147. package/lib/typescript/commonjs/src/modules/bt-management/services/record-cursor.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +6 -2
  150. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  152. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +14 -1
  154. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/modules/bt-management/types/glucose-record-details.d.ts +33 -0
  156. package/lib/typescript/commonjs/src/modules/bt-management/types/glucose-record-details.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/src/modules/bt-management/utils/wait.d.ts +3 -0
  158. package/lib/typescript/commonjs/src/modules/bt-management/utils/wait.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  160. package/lib/typescript/commonjs/src/modules/next/background-sync/index.d.ts +9 -0
  161. package/lib/typescript/commonjs/src/modules/next/background-sync/index.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-link.d.ts +1 -1
  163. package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-link.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +6 -1
  166. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
  168. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/src/modules/next/bluetooth/link.d.ts +12 -1
  170. package/lib/typescript/commonjs/src/modules/next/bluetooth/link.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/ovok-sink.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +4 -1
  173. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/next/data-sync/index.d.ts +9 -0
  175. package/lib/typescript/commonjs/src/modules/next/data-sync/index.d.ts.map +1 -0
  176. package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
  177. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  178. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +1 -1
  179. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  180. package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
  181. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  182. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +20 -0
  183. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  184. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts +2 -1
  185. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  186. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts +3 -1
  187. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  188. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +14 -1
  189. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  190. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-current-time.d.ts +11 -0
  191. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-current-time.d.ts.map +1 -0
  192. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts +2 -1
  193. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -1
  194. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +9 -1
  195. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  196. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-notification-readiness.d.ts +15 -0
  197. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-notification-readiness.d.ts.map +1 -0
  198. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts +21 -0
  199. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts.map +1 -0
  200. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -0
  201. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  202. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts +7 -0
  203. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts.map +1 -0
  204. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts +16 -0
  205. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts.map +1 -0
  206. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts +8 -0
  207. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts.map +1 -0
  208. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -1
  209. package/lib/typescript/module/src/modules/bt-management/services/record-cursor.d.ts +21 -0
  210. package/lib/typescript/module/src/modules/bt-management/services/record-cursor.d.ts.map +1 -0
  211. package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
  212. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +6 -2
  213. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  214. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  215. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  216. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +14 -1
  217. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  218. package/lib/typescript/module/src/modules/bt-management/types/glucose-record-details.d.ts +33 -0
  219. package/lib/typescript/module/src/modules/bt-management/types/glucose-record-details.d.ts.map +1 -0
  220. package/lib/typescript/module/src/modules/bt-management/utils/wait.d.ts +3 -0
  221. package/lib/typescript/module/src/modules/bt-management/utils/wait.d.ts.map +1 -0
  222. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  223. package/lib/typescript/module/src/modules/next/background-sync/index.d.ts +9 -0
  224. package/lib/typescript/module/src/modules/next/background-sync/index.d.ts.map +1 -0
  225. package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-link.d.ts +1 -1
  226. package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-link.d.ts.map +1 -1
  227. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  228. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +6 -1
  229. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  230. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
  231. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
  232. package/lib/typescript/module/src/modules/next/bluetooth/link.d.ts +12 -1
  233. package/lib/typescript/module/src/modules/next/bluetooth/link.d.ts.map +1 -1
  234. package/lib/typescript/module/src/modules/next/bluetooth/react-native/ovok-sink.d.ts.map +1 -1
  235. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +4 -1
  236. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  237. package/lib/typescript/module/src/modules/next/data-sync/index.d.ts +9 -0
  238. package/lib/typescript/module/src/modules/next/data-sync/index.d.ts.map +1 -0
  239. package/package.json +1 -1
@@ -34,6 +34,12 @@ interface BTManagerOptions {
34
34
  * results queue in. Without it they live in memory, and a closed app loses the series it was recording.
35
35
  */
36
36
  seriesStorage?: BackgroundSyncStorage;
37
+ /**
38
+ * Where a device that hands over its stored records (a Bluetooth SIG glucose meter) remembers the newest record
39
+ * read, so the next connection asks only for newer ones; use the store your results queue uses. Without it every
40
+ * connection asks for all records.
41
+ */
42
+ recordCursorStorage?: BackgroundSyncStorage;
37
43
  /** The signed-in account, which each series is recorded for. */
38
44
  getOwnerKey?: () => string | undefined;
39
45
  /** Clock synchronisation settings. */
@@ -58,6 +64,8 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
58
64
  private static readonly MAX_DEVICES;
59
65
  private devices;
60
66
  private forgottenDeviceIds;
67
+ private keptDeviceIds;
68
+ private pendingConnectionIds;
61
69
  private stateChangeListener;
62
70
  private eventSubscriptions;
63
71
  private scanGeneration;
@@ -115,6 +123,15 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
115
123
  private startDeviceScan;
116
124
  /** Treats already-known BLE devices as freshly discovered and clears their forgotten state. */
117
125
  restoreDevices: (devices: readonly Device[]) => void;
126
+ /**
127
+ * On iOS, keeps a connection request pending for each device, so the system reconnects it when it advertises and
128
+ * the app can read it in the background without the advertisement carrying a service UUID. Use it for the devices
129
+ * the user has paired. Does nothing on other platforms.
130
+ *
131
+ * A device that connects is handled like one the scan found, and its request is made again if it drops the link.
132
+ * Explicitly disconnecting, forgetting or stopping the scan ends the request.
133
+ */
134
+ keepConnecting: (deviceIds: readonly string[]) => void;
118
135
  /** Disconnects one device so it can be rediscovered by a later advertisement. */
119
136
  disconnectDevice: (deviceId: string) => Promise<void>;
120
137
  /** Disconnects one device and ignores later advertisements for this manager's lifetime. */
@@ -136,6 +153,9 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
136
153
  private onConnectionEventCallback?;
137
154
  private onScanResult;
138
155
  private queueAutoConnect;
156
+ /** Connecting without a timeout leaves the request with the system until the device is in range. */
157
+ private requestPendingConnection;
158
+ private stopKeepingConnection;
139
159
  private removeDeviceFromFoundedDevices;
140
160
  }
141
161
  export { BTManager };
@@ -1 +1 @@
1
- {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CustomDeviceDefinition, CustomFrameHandlerFactory, CustomReadingDecorator } from "../../types/custom-device-definition";
1
+ import { CustomDeviceDefinition, CustomFrameHandlerFactory, CustomReadingDecorator, CustomSequencerFactory } from "../../types/custom-device-definition";
2
2
  import { CustomDeviceSpec } from "../../types/custom-device-spec";
3
3
  import { FrameReader } from "../../types/frame-reader";
4
4
  /**
@@ -12,6 +12,7 @@ import { FrameReader } from "../../types/frame-reader";
12
12
  export declare const defineCustomDevice: (spec: CustomDeviceSpec, options?: {
13
13
  decorateReading?: CustomReadingDecorator;
14
14
  createFrameHandler?: CustomFrameHandlerFactory;
15
+ createCommandSequencer?: CustomSequencerFactory;
15
16
  frameReader?: FrameReader;
16
17
  }) => CustomDeviceDefinition;
17
18
  //# sourceMappingURL=define-custom-device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-custom-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/define-custom-device.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAsKvD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,gBAAgB,EACtB,UAAS;IACP,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C,WAAW,CAAC,EAAE,WAAW,CAAC;CACtB,KACL,sBAqGF,CAAC"}
1
+ {"version":3,"file":"define-custom-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/define-custom-device.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAsKvD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,gBAAgB,EACtB,UAAS;IACP,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,WAAW,CAAC,EAAE,WAAW,CAAC;CACtB,KACL,sBAwGF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { BleError, Device } from "react-native-ble-plx";
2
2
  import { DeviceCommand } from "../../types/device-command";
3
+ import { PairingRetry } from "./bt-pairing-retry";
3
4
  /**
4
5
  * The write channel to a connected device.
5
6
  *
@@ -13,9 +14,10 @@ export declare class BTCommandWriter {
13
14
  private readonly device;
14
15
  private readonly onError?;
15
16
  private readonly isNormalDisconnect?;
17
+ private readonly retryAfterPairing;
16
18
  private pendingWrites;
17
19
  private mtu;
18
- constructor(device: Device, onError?: ((error: BleError | Error) => void) | undefined, isNormalDisconnect?: (() => boolean) | undefined);
20
+ constructor(device: Device, onError?: ((error: BleError | Error) => void) | undefined, isNormalDisconnect?: (() => boolean) | undefined, retryAfterPairing?: PairingRetry);
19
21
  /**
20
22
  * Records what the link actually negotiated.
21
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bt-command-writer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-command-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAW3D;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IANtC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,GAAG,CAAmB;gBAGX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,aAAA,EAC3C,kBAAkB,CAAC,GAAE,MAAM,OAAO,aAAA;IAGrD;;;;;;OAMG;IACI,gBAAgB,GAAI,MAAM,MAAM,KAAG,IAAI,CAI5C;IAEF,kEAAkE;IAC3D,KAAK,QAAO,IAAI,CAErB;IAEF;;;;;;;OAOG;IACI,IAAI,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAQ/D;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY,CAclB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAmBb;IAEF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CASd;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAgChB;CACH"}
1
+ {"version":3,"file":"bt-command-writer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-command-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAW,MAAM,oBAAoB,CAAC;AAU3D;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAPpC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,GAAG,CAAmB;gBAGX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,aAAA,EAC3C,kBAAkB,CAAC,GAAE,MAAM,OAAO,aAAA,EAClC,iBAAiB,GAAE,YAAsB;IAG5D;;;;;;OAMG;IACI,gBAAgB,GAAI,MAAM,MAAM,KAAG,IAAI,CAI5C;IAEF,kEAAkE;IAC3D,KAAK,QAAO,IAAI,CAErB;IAEF;;;;;;;OAOG;IACI,IAAI,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAQ/D;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY,CAclB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAmBb;IAEF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CASd;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAkChB;CACH"}
@@ -1,4 +1,5 @@
1
1
  import { BleError, Device } from "react-native-ble-plx";
2
+ import { ClockSyncOptions } from "../../types/clock-sync";
2
3
  import { DeviceCommand } from "../../types/device-command";
3
4
  import { DeviceConnectionEvent } from "../../types/device-connection-event";
4
5
  import { DeviceStatus } from "../../types/device-status";
@@ -11,7 +12,9 @@ interface ConnectionHandlerCallbacks {
11
12
  onDeviceInfo?: Parameters<typeof readDeviceInformation>[1];
12
13
  onConnectionEvent?: (event: Omit<DeviceConnectionEvent, "deviceData">) => void;
13
14
  /** The commands to send once every characteristic is subscribed. */
14
- initialCommands?: () => readonly DeviceCommand[];
15
+ initialCommands?: () => readonly DeviceCommand[] | Promise<readonly DeviceCommand[]>;
16
+ /** Sets the peripheral's Current Time characteristic after discovery when it has one; leave out to keep its clock. */
17
+ currentTimeSync?: ClockSyncOptions;
15
18
  onServicesDiscovered?: (serviceUuids: readonly string[]) => void;
16
19
  /** Called after the first command has been written to the peripheral. */
17
20
  onCommandSent?: () => void;
@@ -26,7 +29,9 @@ export declare class BTConnectionHandler {
26
29
  private onDisconnectSubscription;
27
30
  private characteristicSubscriptions;
28
31
  private disconnectObserved;
32
+ private pairingReported;
29
33
  private readonly writer;
34
+ private readonly pairing;
30
35
  constructor(device: Device, mainServices: IMedicalDevice["mainService"], callbacks: ConnectionHandlerCallbacks, preferredMtu?: number | undefined);
31
36
  connect: () => Promise<void>;
32
37
  destroy: () => void;
@@ -47,6 +52,14 @@ export declare class BTConnectionHandler {
47
52
  /** Declared services minus any optional one discovery did not find. */
48
53
  private servicesPresent;
49
54
  private subscribeToAllCharacteristics;
55
+ /** A monitor failing for pairing while starting is thrown here, for the pairing retry, not reported. */
56
+ private startMonitors;
57
+ private monitor;
58
+ private removeSubscriptions;
59
+ /** Tells the app once per connection that the platform is asking the user to pair. */
60
+ private reportPairingRequired;
61
+ /** Sets the device clock when the declaration asked for it; a device that refuses keeps its own time. */
62
+ private syncCurrentTime;
50
63
  }
51
64
  export {};
52
65
  //# sourceMappingURL=bt-connection-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-connection-handler.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-connection-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAUtE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,UAAU,0BAA0B;IAClC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,KAC7C,IAAI,CAAC;IAEV,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,CAAC;IACjD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IAEjE,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;CACpC;AAED,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAThC,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,2BAA2B,CAAsB;IACzD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAGtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC3C,SAAS,EAAE,0BAA0B,EACrC,YAAY,CAAC,EAAE,MAAM,YAAA;IASjC,OAAO,sBAqDZ;IAEK,OAAO,aAOZ;IAEF,6DAA6D;IACtD,YAAY,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAC5C;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,uEAAuE;IACvE,OAAO,CAAC,gBAAgB,CAwBtB;IAEF,OAAO,CAAC,kBAAkB,CA0CxB;IAEF,OAAO,CAAC,mBAAmB,CAKzB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,uEAAuE;IACvE,OAAO,CAAC,eAAe,CAsBrB;IAEF,OAAO,CAAC,6BAA6B,CAwDnC;CACH"}
1
+ {"version":3,"file":"bt-connection-handler.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-connection-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAUtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAO9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAOhE,UAAU,0BAA0B;IAClC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,KAC7C,IAAI,CAAC;IAEV,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IAErF,sHAAsH;IACtH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IAEjE,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;CACpC;AAED,qBAAa,mBAAmB;IAS5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAXhC,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,2BAA2B,CAAsB;IACzD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAGtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC3C,SAAS,EAAE,0BAA0B,EACrC,YAAY,CAAC,EAAE,MAAM,YAAA;IAWjC,OAAO,sBAwDZ;IAEK,OAAO,aAMZ;IAEF,6DAA6D;IACtD,YAAY,GAAI,UAAU,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAC5C;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,uEAAuE;IACvE,OAAO,CAAC,gBAAgB,CAwBtB;IAEF,OAAO,CAAC,kBAAkB,CA0CxB;IAEF,OAAO,CAAC,mBAAmB,CAKzB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,uEAAuE;IACvE,OAAO,CAAC,eAAe,CAsBrB;IAEF,OAAO,CAAC,6BAA6B,CA0BnC;IAEF,wGAAwG;IACxG,OAAO,CAAC,aAAa,CAuCnB;IAEF,OAAO,CAAC,OAAO,CA2BX;IAEJ,OAAO,CAAC,mBAAmB,CAGzB;IAEF,sFAAsF;IACtF,OAAO,CAAC,qBAAqB,CAU3B;IAEF,yGAAyG;IACzG,OAAO,CAAC,eAAe,CAsBrB;CACH"}
@@ -0,0 +1,11 @@
1
+ import { Device } from "react-native-ble-plx";
2
+ import { ClockSyncOptions } from "../../types/clock-sync";
3
+ /**
4
+ * Sets the device clock through the Current Time Service.
5
+ *
6
+ * Resolves to the time written, or `undefined` when the device has no writable Current Time
7
+ * characteristic. A device that refuses the write rejects.
8
+ */
9
+ declare const writeCurrentTime: (device: Device, { now, timezone }: ClockSyncOptions) => Promise<Date | undefined>;
10
+ export { writeCurrentTime };
11
+ //# sourceMappingURL=bt-current-time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bt-current-time.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-current-time.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAiB,MAAM,wBAAwB,CAAC;AAyCzE;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,GACpB,QAAQ,MAAM,EACd,mBAAmB,gBAAgB,KAClC,OAAO,CAAC,IAAI,GAAG,SAAS,CAkB1B,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { Device } from "react-native-ble-plx";
2
+ import { PairingRetry } from "./bt-pairing-retry";
2
3
  interface BTDeviceInformation {
3
4
  name?: string;
4
5
  manufacturerName?: string;
5
6
  model?: string;
6
7
  serialNumber?: string;
7
8
  }
8
- declare const readDeviceInformation: (device: Device, onDeviceInfo?: (info: BTDeviceInformation) => void) => Promise<void>;
9
+ declare const readDeviceInformation: (device: Device, onDeviceInfo?: (info: BTDeviceInformation) => void, retryAfterPairing?: PairingRetry) => Promise<void>;
9
10
  export { readDeviceInformation };
10
11
  export type { BTDeviceInformation };
11
12
  //# sourceMappingURL=bt-device-information.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-device-information.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-device-information.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgBD,QAAA,MAAM,qBAAqB,GACzB,QAAQ,MAAM,EACd,eAAe,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,KACjD,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"bt-device-information.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-device-information.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,YAAY,EAAW,MAAM,oBAAoB,CAAC;AAE3D,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAeD,QAAA,MAAM,qBAAqB,GACzB,QAAQ,MAAM,EACd,eAAe,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,EAClD,oBAAmB,YAAsB,KACxC,OAAO,CAAC,IAAI,CAgCd,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -32,6 +32,7 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
32
32
  private readonly resultPolicy;
33
33
  /** A policy that picks how results are delivered replaces `oneReadingPerConnection`; a user filter does not. */
34
34
  private readonly policyPicksDelivery;
35
+ private readonly clockSyncOptions;
35
36
  private resultReportedThisConnection;
36
37
  private historyTransferActive;
37
38
  private bondedEventReported;
@@ -87,6 +88,12 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
87
88
  protected preferredMtu?: number;
88
89
  /** Only declarations with an actual bonding flow should report this event. */
89
90
  protected reportsBondedEvent: boolean;
91
+ /**
92
+ * Writes the phone's time to the device's Current Time characteristic on connect, when it
93
+ * has a writable one. Only for a device whose clock has no protocol of its own, and never
94
+ * once the app turned clock synchronisation off.
95
+ */
96
+ protected syncsCurrentTime: boolean;
90
97
  /**
91
98
  * Decides whether the buffer holds a parseable frame.
92
99
  *
@@ -115,11 +122,12 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
115
122
  protected reportResult: (result: object) => void;
116
123
  constructor(
117
124
  /** The underlying BLE device. */
118
- device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onSeriesValue: onSeriesValueCallback, onConnectionEvent: onConnectionEventCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, oneReadingPerConnection, resultPolicy, }: CreateDeviceParams<T>);
125
+ device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onSeriesValue: onSeriesValueCallback, onConnectionEvent: onConnectionEventCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, oneReadingPerConnection, resultPolicy, clockSync, }: CreateDeviceParams<T>);
119
126
  /** Stops the connection and data processing and clears the callbacks. */
120
127
  destroy: () => void;
121
128
  /** Stops this device's subscriptions and closes its BLE connection. */
122
129
  disconnect: () => Promise<void>;
130
+ private currentTimeSync;
123
131
  private connectInternal;
124
132
  /**
125
133
  * Connects to the device and starts reading.
@@ -1 +1 @@
1
- {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Device } from "react-native-ble-plx";
2
+ /** A characteristic whose notifications were just requested. */
3
+ interface MonitoredCharacteristic {
4
+ serviceUuid: string;
5
+ characteristicUuid: string;
6
+ }
7
+ /**
8
+ * Resolves once the device reports notifications on for every characteristic, because
9
+ * `monitorCharacteristicForService` returns before its descriptor write completes.
10
+ * A platform that cannot read the descriptor gets a fixed settle time instead.
11
+ */
12
+ declare const awaitNotificationsEnabled: (device: Device, characteristics: readonly MonitoredCharacteristic[]) => Promise<void>;
13
+ export { awaitNotificationsEnabled };
14
+ export type { MonitoredCharacteristic };
15
+ //# sourceMappingURL=bt-notification-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bt-notification-readiness.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-notification-readiness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAmB9C,gEAAgE;AAChE,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA+BD;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,MAAM,EACd,iBAAiB,SAAS,uBAAuB,EAAE,KAClD,OAAO,CAAC,IAAI,CAqBd,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC;AACrC,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Device } from "react-native-ble-plx";
2
+ /** Runs `operation`; when the device needs pairing for it, runs it again once the user has paired. */
3
+ type PairingRetry = <T>(operation: () => Promise<T>) => Promise<T>;
4
+ declare const isPairingRequired: (error: unknown) => boolean;
5
+ declare const runOnce: PairingRetry;
6
+ /**
7
+ * Keeps the link while the system pairing (raised by the encrypted access itself) runs,
8
+ * then retries the step that needed it. After a wait ran out, later steps fail at once.
9
+ */
10
+ declare class BTPairingRetry {
11
+ private readonly device;
12
+ private readonly onPairingRequired;
13
+ private abandoned;
14
+ constructor(device: Device, onPairingRequired: () => void);
15
+ run: PairingRetry;
16
+ private retryUntilPaired;
17
+ private stillConnected;
18
+ }
19
+ export { BTPairingRetry, isPairingRequired, runOnce };
20
+ export type { PairingRetry };
21
+ //# sourceMappingURL=bt-pairing-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bt-pairing-retry.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-pairing-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAY9C,sGAAsG;AACtG,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEnE,QAAA,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,OAC0B,CAAC;AAEvE,QAAA,MAAM,OAAO,EAAE,YAAyC,CAAC;AAEzD;;;GAGG;AACH,cAAM,cAAc;IAIhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAJpC,OAAO,CAAC,SAAS,CAAS;gBAGP,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,IAAI;IAGzC,GAAG,EAAE,YAAY,CAYtB;IAEF,OAAO,CAAC,gBAAgB,CA+BtB;IAEF,OAAO,CAAC,cAAc,CACyB;CAChD;AAED,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -30,6 +30,8 @@ export declare class CustomDevice extends BTManagedDevice<CustomDeviceId> {
30
30
  private readonly sessionAggregates;
31
31
  private sessionStartedAt;
32
32
  constructor(device: Device, params: CreateDeviceParams<CustomDeviceId>, definition: CustomDeviceDefinition);
33
+ /** Gives a declaration that computes its commands at connect time the context it needs to do so. */
34
+ private declareSequencerFactory;
33
35
  /** Gives a TMB declaration its length-prefixed reader and history command sequence. */
34
36
  private declareTmbProtocol;
35
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { GlucoseRecordDetails } from "../../../types/glucose-record-details";
2
+ /** Whether the meter flagged the record as a test that failed rather than a result. */
3
+ declare const hasUnusableSensorStatus: (frame: readonly string[]) => boolean;
4
+ /** What the record says about itself, beside its concentration. */
5
+ declare const glucoseRecordDetails: (frame: readonly string[]) => GlucoseRecordDetails;
6
+ export { glucoseRecordDetails, hasUnusableSensorStatus };
7
+ //# sourceMappingURL=standard-gatt.glucose-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-gatt.glucose-details.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAKrB,MAAM,uCAAuC,CAAC;AAiF/C,uFAAuF;AACvF,QAAA,MAAM,uBAAuB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,OAI3D,CAAC;AAEF,mEAAmE;AACnE,QAAA,MAAM,oBAAoB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,oBA0BxD,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ declare const FLAG_TIME_OFFSET = 1;
2
+ declare const FLAG_CONCENTRATION = 2;
3
+ declare const FLAG_MOL_PER_L = 4;
4
+ declare const BASE_TIME_INDEX = 3;
5
+ declare const TIME_OFFSET_INDEX = 10;
6
+ declare const hasFlag: (flags: number, flag: number) => boolean;
7
+ declare const concentrationIndex: (flags: number) => number;
8
+ declare const byte: (frame: readonly string[], index: number) => number | undefined;
9
+ /** The meter's number for the record, in bytes 1-2 of every Glucose Measurement. */
10
+ declare const sequenceNumberFromGlucoseFrame: (frame: readonly string[]) => number | undefined;
11
+ /** Specimen type in the low nibble and sample location in the high one; only a record with a concentration has it. */
12
+ declare const typeAndLocationFromGlucoseFrame: (frame: readonly string[]) => number | undefined;
13
+ /** The Sensor Status Annunciation bits, which only a record that sets flag bit 3 carries. */
14
+ declare const sensorStatusFromGlucoseFrame: (frame: readonly string[]) => number | undefined;
15
+ export { BASE_TIME_INDEX, byte, concentrationIndex, FLAG_CONCENTRATION, FLAG_MOL_PER_L, FLAG_TIME_OFFSET, hasFlag, sensorStatusFromGlucoseFrame, sequenceNumberFromGlucoseFrame, TIME_OFFSET_INDEX, typeAndLocationFromGlucoseFrame, };
16
+ //# sourceMappingURL=standard-gatt.glucose-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-gatt.glucose-frame.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,IAAO,CAAC;AAC9B,QAAA,MAAM,kBAAkB,IAAO,CAAC;AAChC,QAAA,MAAM,cAAc,IAAO,CAAC;AAI5B,QAAA,MAAM,eAAe,IAAI,CAAC;AAC1B,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAM7B,QAAA,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC;AAE/E,QAAA,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MACkC,CAAC;AAE/E,QAAA,MAAM,IAAI,GAAI,OAAO,SAAS,MAAM,EAAE,EAAE,OAAO,MAAM,KAAG,MAAM,GAAG,SAIhE,CAAC;AAWF,oFAAoF;AACpF,QAAA,MAAM,8BAA8B,GAClC,OAAO,SAAS,MAAM,EAAE,KACvB,MAAM,GAAG,SAAiD,CAAC;AAE9D,sHAAsH;AACtH,QAAA,MAAM,+BAA+B,GACnC,OAAO,SAAS,MAAM,EAAE,KACvB,MAAM,GAAG,SAMX,CAAC;AAEF,6FAA6F;AAC7F,QAAA,MAAM,4BAA4B,GAChC,OAAO,SAAS,MAAM,EAAE,KACvB,MAAM,GAAG,SAMX,CAAC;AAEF,OAAO,EACL,eAAe,EACf,IAAI,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,4BAA4B,EAC5B,8BAA8B,EAC9B,iBAAiB,EACjB,+BAA+B,GAChC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { CustomSequencerFactory } from "../../../types/custom-device-definition";
2
+ declare const GLUCOSE_SERVICE_UUID: string;
3
+ declare const GLUCOSE_MEASUREMENT_UUID: string;
4
+ declare const RECORD_ACCESS_CONTROL_POINT_UUID: string;
5
+ /** Gives each connection to a glucose meter its own sequencer over that meter's stored cursor. */
6
+ declare const createGlucoseSequencer: CustomSequencerFactory;
7
+ export { createGlucoseSequencer, GLUCOSE_MEASUREMENT_UUID, GLUCOSE_SERVICE_UUID, RECORD_ACCESS_CONTROL_POINT_UUID, };
8
+ //# sourceMappingURL=standard-gatt.glucose-racp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-gatt.glucose-racp.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAQjF,QAAA,MAAM,oBAAoB,QAAkB,CAAC;AAC7C,QAAA,MAAM,wBAAwB,QAAkB,CAAC;AACjD,QAAA,MAAM,gCAAgC,QAAkB,CAAC;AA4GzD,kGAAkG;AAClG,QAAA,MAAM,sBAAsB,EAAE,sBAM3B,CAAC;AAEJ,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,GACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"standard-gatt.glucose.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAMjF,OAAO,EAAgB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyD7E,4FAA4F;AAC5F,QAAA,MAAM,0BAA0B,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,IAAI,GAAG,SA+CrE,CAAC;AAaF,uDAAuD;AACvD,QAAA,MAAM,qBAAqB,GACzB,QAAQ,oBAAoB,KAC3B,sBAgEA,CAAC;AAEJ,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"standard-gatt.glucose.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAyBjF,OAAO,EAAgB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AA2C7E,4FAA4F;AAC5F,QAAA,MAAM,0BAA0B,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,IAAI,GAAG,SA+CrE,CAAC;AAYF,uDAAuD;AACvD,QAAA,MAAM,qBAAqB,GACzB,QAAQ,oBAAoB,KAC3B,sBAiEA,CAAC;AAEJ,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { BackgroundSyncStorage } from "../types/background-sync";
2
+ /**
3
+ * The number of the newest stored record read from one device, kept in `storage` so the next
4
+ * connection asks the device for newer records only. Without storage it forgets on disconnect.
5
+ */
6
+ declare class RecordCursor {
7
+ private readonly storage;
8
+ private readonly key;
9
+ private newest;
10
+ private writing;
11
+ private changedWhileWriting;
12
+ constructor(storage: BackgroundSyncStorage | undefined, key: string);
13
+ /** What an earlier connection stored; nothing, an unreadable value or a failing store gives `undefined`. */
14
+ load: () => Promise<number | undefined>;
15
+ /** Remembers a record number that is newer than any seen; writes to the store are coalesced. */
16
+ advance: (recordNumber: number) => void;
17
+ private persist;
18
+ private store;
19
+ }
20
+ export { RecordCursor };
21
+ //# sourceMappingURL=record-cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-cursor.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/record-cursor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AASjE;;;GAGG;AACH,cAAM,YAAY;IAMd,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAS;gBAGjB,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,GAAG,EAAE,MAAM;IAG9B,4GAA4G;IACrG,IAAI,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWjD;IAEF,gGAAgG;IACzF,OAAO,GAAI,cAAc,MAAM,KAAG,IAAI,CAO3C;IAEF,OAAO,CAAC,OAAO,CAeb;IAEF,OAAO,CAAC,KAAK,CAQX;CACH;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fake-ble-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/testing/fake-ble-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAgB,MAAM,sBAAsB,CAAC;AAE/E,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IAEnC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IAEX,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAE5B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf,iFAAiF;IACjF,kBAAkB,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAEV,gEAAgE;IAChE,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IAEpC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,uDAAuD;IACvD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAE7B,mDAAmD;IACnD,OAAO,EAAE,UAAU,CAAC;IAEpB,kCAAkC;IAClC,YAAY,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,aAAa,CAAC;IAE/D,2CAA2C;IAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,+CAA+C;IAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpC,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qFAAqF;IACrF,sBAAsB,EAAE,MAAM,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAEvD,6BAA6B;IAC7B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAKD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,GAAI,gFAQjC,oBAAoB,KAAG,aA6EzB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,GAAI,sBAGlC,qBAA0B,KAAG,cA8C/B,CAAC"}
1
+ {"version":3,"file":"fake-ble-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/testing/fake-ble-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAgB,MAAM,sBAAsB,CAAC;AAE/E,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IAEnC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IAEX,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAE5B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf,iFAAiF;IACjF,kBAAkB,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAEV,gEAAgE;IAChE,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IAEpC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,uDAAuD;IACvD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAE7B,mDAAmD;IACnD,OAAO,EAAE,UAAU,CAAC;IAEpB,kCAAkC;IAClC,YAAY,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,aAAa,CAAC;IAE/D,2CAA2C;IAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,+CAA+C;IAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpC,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qFAAqF;IACrF,sBAAsB,EAAE,MAAM,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAEvD,6BAA6B;IAC7B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAQD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,GAAI,gFAQjC,oBAAoB,KAAG,aAwFzB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,GAAI,sBAGlC,qBAA0B,KAAG,cA8C/B,CAAC"}
@@ -19,8 +19,12 @@ export interface CommandTimeoutResult {
19
19
  * returned.
20
20
  */
21
21
  export interface CommandSequencer {
22
- /** Sent once every characteristic is subscribed. Empty starts a device that only listens. */
23
- initialCommands(): readonly DeviceCommand[];
22
+ /**
23
+ * Sent once every characteristic is subscribed. Empty starts a device that only listens.
24
+ *
25
+ * May resolve later, for a first command that depends on state read from storage.
26
+ */
27
+ initialCommands(): readonly DeviceCommand[] | Promise<readonly DeviceCommand[]>;
24
28
  /**
25
29
  * Answers one complete frame, with the characteristic it arrived on.
26
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"command-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/command-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IAEnC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAEpC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAE/B,6FAA6F;IAC7F,eAAe,IAAI,SAAS,aAAa,EAAE,CAAC;IAE5C;;;;;;OAMG;IACH,WAAW,CACT,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAExC,4GAA4G;IAC5G,oBAAoB,CAAC,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7D,6FAA6F;IAC7F,gBAAgB,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IAExC,kFAAkF;IAClF,gBAAgB,CAAC,IAAI,oBAAoB,CAAC;IAE1C,2FAA2F;IAC3F,eAAe,CAAC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAE/E,qFAAqF;IACrF,kBAAkB,CAAC,IAAI,OAAO,CAAC;IAE/B,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,OAAO,CAAC;CAC/B"}
1
+ {"version":3,"file":"command-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/command-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IAEnC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAEpC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAE/B;;;;OAIG;IACH,eAAe,IAAI,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IAEhF;;;;;;OAMG;IACH,WAAW,CACT,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAExC,4GAA4G;IAC5G,oBAAoB,CAAC,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7D,6FAA6F;IAC7F,gBAAgB,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IAExC,kFAAkF;IAClF,gBAAgB,CAAC,IAAI,oBAAoB,CAAC;IAE1C,2FAA2F;IAC3F,eAAe,CAAC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAE/E,qFAAqF;IACrF,kBAAkB,CAAC,IAAI,OAAO,CAAC;IAE/B,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,OAAO,CAAC;CAC/B"}
@@ -1,5 +1,6 @@
1
1
  import { Measurement } from "@ovok/core/next";
2
2
  import { Device } from "react-native-ble-plx";
3
+ import { BackgroundSyncStorage } from "./background-sync";
3
4
  import { ClockSyncOptions } from "./clock-sync";
4
5
  import { DeviceConnectionEvent } from "./device-connection-event";
5
6
  import { DeviceData } from "./device-data";
@@ -25,6 +26,8 @@ export interface CreateDeviceParams<T extends DeviceKey> {
25
26
  oneReadingPerConnection?: boolean;
26
27
  deliveredEcgFileNames?: readonly string[];
27
28
  deliveredFileNames?: readonly string[];
29
+ /** Where a device that downloads stored records remembers how far it got, so a reconnect asks only for newer ones. */
30
+ recordCursorStorage?: BackgroundSyncStorage;
28
31
  /** Clear device-held history after a successful history download when supported. */
29
32
  clearDeviceHistory?: boolean;
30
33
  resultPolicy?: DeviceResultPolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"create-device-params.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/create-device-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,SAAS;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1E,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
1
+ {"version":3,"file":"create-device-params.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/create-device-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,SAAS;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1E,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,sHAAsH;IACtH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAE5C,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
@@ -1,6 +1,8 @@
1
1
  import { Measurement } from "@ovok/core/next";
2
2
  import { CUSTOM_DEVICE_BRAND } from "../constants/custom-device-brand";
3
+ import { BackgroundSyncStorage } from "./background-sync";
3
4
  import { ClockSyncCapability } from "./clock-sync";
5
+ import { CommandSequencer } from "./command-sequencer";
4
6
  import { CompiledCustomField } from "./compiled-custom-field";
5
7
  import { CustomDeviceId } from "./custom-device-id";
6
8
  import { CustomDeviceSpec } from "./custom-device-spec";
@@ -25,6 +27,15 @@ interface CustomFrameHandlerParams {
25
27
  type CustomFrameHandler = (params: CustomFrameHandlerParams) => void;
26
28
  /** Creates the per-device `CustomFrameHandler`. */
27
29
  type CustomFrameHandlerFactory = () => CustomFrameHandler;
30
+ /** What a declaration's command sequencer is told about the device it is about to drive. */
31
+ interface CustomSequencerContext {
32
+ /** Platform identifier of the BLE device. */
33
+ deviceId: string;
34
+ /** Where the manager keeps what must outlive a connection, when it was given a store. */
35
+ recordCursorStorage?: BackgroundSyncStorage;
36
+ }
37
+ /** Creates the command sequencer of one connection, for a declaration whose commands depend on the device or on stored state. */
38
+ type CustomSequencerFactory = (context: CustomSequencerContext) => CommandSequencer;
28
39
  /**
29
40
  * A validated, ready-to-run custom device. Only defineCustomDevice produces one.
30
41
  */
@@ -67,6 +78,8 @@ interface CustomDeviceDefinition {
67
78
  readonly decorateReading?: CustomReadingDecorator;
68
79
  /** Creates per-device state for frames that need a protocol-specific decoder. */
69
80
  readonly createFrameHandler?: CustomFrameHandlerFactory;
81
+ /** Replaces the declared `write` with a command sequence the protocol computes at connect time. */
82
+ readonly createCommandSequencer?: CustomSequencerFactory;
70
83
  }
71
- export type { CustomDeviceDefinition, CustomFrameHandler, CustomFrameHandlerFactory, CustomReadingDecorator, };
84
+ export type { CustomDeviceDefinition, CustomFrameHandler, CustomFrameHandlerFactory, CustomReadingDecorator, CustomSequencerContext, CustomSequencerFactory, };
72
85
  //# sourceMappingURL=custom-device-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-device-definition.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-device-definition.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-definition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /** What a glucose sample was taken from. Control-solution tests are never reported. */
2
+ type GlucoseSpecimenType = "capillaryWholeBlood" | "capillaryPlasma" | "venousWholeBlood" | "venousPlasma" | "arterialWholeBlood" | "arterialPlasma" | "undeterminedWholeBlood" | "undeterminedPlasma" | "interstitialFluid";
3
+ /** Where on the body the sample was taken. */
4
+ type GlucoseSampleLocation = "finger" | "alternateSite" | "earlobe";
5
+ /** A condition the meter flagged on a record that does not make its value unusable. */
6
+ type GlucoseSensorWarning = "batteryLow" | "temperatureTooHigh" | "temperatureTooLow" | "timeFault";
7
+ /** The unit the meter displayed the concentration in. */
8
+ type GlucoseReportedUnit = "mg/dL" | "mmol/L";
9
+ /**
10
+ * What a Bluetooth SIG glucose meter says about a record, added to the reading beside
11
+ * `bloodGlucose`, which is always in mg/dL.
12
+ *
13
+ * Properties the frame does not carry are absent.
14
+ */
15
+ interface GlucoseRecordDetails {
16
+ /** The meter's own number for the record. It counts up, so it tells records apart. */
17
+ sequenceNumber?: number;
18
+ /** The unit the meter reported; `bloodGlucose` keeps its precision when converted back. */
19
+ reportedUnit?: GlucoseReportedUnit;
20
+ /** What the sample was taken from. */
21
+ specimen?: GlucoseSpecimenType;
22
+ /** Where the sample was taken. */
23
+ sampleLocation?: GlucoseSampleLocation;
24
+ /**
25
+ * The meter says the result lies beyond what it can measure. `bloodGlucose` is then the
26
+ * edge of its range, not a measurement; do not store or chart it as a value.
27
+ */
28
+ outOfRange?: "high" | "low";
29
+ /** Conditions the meter flagged that leave the value usable. */
30
+ sensorStatus?: readonly GlucoseSensorWarning[];
31
+ }
32
+ export type { GlucoseRecordDetails, GlucoseReportedUnit, GlucoseSampleLocation, GlucoseSensorWarning, GlucoseSpecimenType, };
33
+ //# sourceMappingURL=glucose-record-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glucose-record-details.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/glucose-record-details.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,KAAK,mBAAmB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,wBAAwB,GACxB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,8CAA8C;AAC9C,KAAK,qBAAqB,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAC;AAEpE,uFAAuF;AACvF,KAAK,oBAAoB,GACrB,YAAY,GACZ,oBAAoB,GACpB,mBAAmB,GACnB,WAAW,CAAC;AAEhB,yDAAyD;AACzD,KAAK,mBAAmB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE9C;;;;;GAKG;AACH,UAAU,oBAAoB;IAE5B,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEnC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE/B,kCAAkC;IAClC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEvC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE5B,gEAAgE;IAChE,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD;AAED,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Resolves after `milliseconds`. */
2
+ export declare const wait: (milliseconds: number) => Promise<void>;
3
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/wait.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,eAAO,MAAM,IAAI,GAAI,cAAc,MAAM,KAAG,OAAO,CAAC,IAAI,CACK,CAAC"}