@ovok/native 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  2. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  3. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  4. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +22 -22
  6. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/device-list-items.js +36 -0
  8. package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +36 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +45 -0
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  13. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +198 -42
  14. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +88 -0
  16. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +77 -10
  18. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  20. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/index.js +77 -0
  22. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/background-sync/background-ble-manager.js +27 -0
  24. package/lib/commonjs/modules/bt-management/services/background-sync/background-ble-manager.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +31 -0
  26. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +104 -0
  28. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/services/bt-manager.js +59 -6
  30. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +6 -2
  32. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/device-creator.js +19 -8
  34. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  36. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js +50 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +78 -127
  40. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +60 -0
  44. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +74 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  47. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  48. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  51. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +1 -1
  52. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +37 -4
  54. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  56. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  58. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  59. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  60. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  61. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  62. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  63. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  64. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  65. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  66. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +35 -0
  67. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  68. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  69. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  70. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  71. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  72. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +1 -1
  73. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  74. package/lib/commonjs/modules/bt-management/types/background-sync.js +6 -0
  75. package/lib/commonjs/modules/bt-management/types/background-sync.js.map +1 -0
  76. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  77. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +11 -2
  78. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  79. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -1
  80. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  81. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js +3 -1
  82. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  83. package/lib/commonjs/modules/data-sync/utils/health-units.js +22 -0
  84. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -0
  85. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  86. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  87. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  88. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  89. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +1 -1
  90. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  91. package/lib/module/modules/bt-device/constants/device-list-items.js +36 -0
  92. package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
  93. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +33 -0
  94. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  95. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +41 -0
  96. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  97. package/lib/module/modules/bt-device/constants/supported-devices.js +188 -32
  98. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  99. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +83 -0
  100. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  101. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +77 -10
  102. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  103. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  104. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  105. package/lib/module/modules/bt-management/index.js +7 -0
  106. package/lib/module/modules/bt-management/index.js.map +1 -1
  107. package/lib/module/modules/bt-management/services/background-sync/background-ble-manager.js +22 -0
  108. package/lib/module/modules/bt-management/services/background-sync/background-ble-manager.js.map +1 -0
  109. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +26 -0
  110. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -0
  111. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +100 -0
  112. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -0
  113. package/lib/module/modules/bt-management/services/bt-manager.js +61 -7
  114. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  115. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +6 -2
  116. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  117. package/lib/module/modules/bt-management/services/device-creator.js +19 -8
  118. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  119. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  120. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  121. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js +40 -0
  122. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  123. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +59 -109
  124. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  125. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  126. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  127. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +56 -0
  128. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  129. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +69 -0
  130. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  131. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  132. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  133. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  134. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  135. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +1 -1
  136. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  137. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +36 -4
  138. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  139. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
  140. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  141. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -1
  142. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  143. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  144. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  145. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  146. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  147. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  148. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  149. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  150. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  151. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +31 -0
  152. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  153. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  154. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  155. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  156. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  157. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +1 -1
  158. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  159. package/lib/module/modules/bt-management/types/background-sync.js +4 -0
  160. package/lib/module/modules/bt-management/types/background-sync.js.map +1 -0
  161. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  162. package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -2
  163. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  164. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -1
  165. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  166. package/lib/module/modules/data-sync/utils/get-total-samples-count.js +3 -1
  167. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  168. package/lib/module/modules/data-sync/utils/health-units.js +17 -0
  169. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -0
  170. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  173. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +31 -0
  176. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  178. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +36 -22
  180. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  182. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +7 -0
  185. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts +13 -0
  187. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +3 -0
  189. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +29 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +26 -3
  193. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +1 -1
  196. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  198. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  202. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  204. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  213. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  215. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  216. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -2
  217. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  219. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  221. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  223. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  225. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  227. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  229. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  231. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +1 -1
  233. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +32 -0
  235. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  237. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  239. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  241. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +2 -0
  243. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +5 -0
  245. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +4 -4
  247. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts +3 -0
  252. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  253. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  254. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  255. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  256. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  257. package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  258. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +31 -0
  259. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  260. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  261. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  262. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +36 -22
  263. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  264. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  265. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  266. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  267. package/lib/typescript/module/src/modules/bt-management/index.d.ts +7 -0
  268. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  269. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts +13 -0
  270. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts.map +1 -0
  271. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +3 -0
  272. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -0
  273. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +29 -0
  274. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -0
  275. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +26 -3
  276. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  277. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  278. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +1 -1
  279. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  280. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  281. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  282. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  283. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  284. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  285. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  286. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  287. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  288. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  289. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  290. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  291. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  292. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  293. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  294. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  295. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  296. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  297. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  298. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  299. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -2
  300. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  301. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  302. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  303. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  304. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  305. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  306. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  307. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  308. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  309. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  310. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  311. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  312. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  313. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  314. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  315. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +1 -1
  316. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  317. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +32 -0
  318. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -0
  319. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  320. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  321. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  322. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  323. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  324. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  325. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +2 -0
  326. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  327. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +5 -0
  328. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  329. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +4 -4
  330. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  331. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  332. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  333. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  334. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts +3 -0
  335. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  336. package/package.json +5 -3
@@ -28,12 +28,17 @@ export * from "./types/service.type.js";
28
28
  export * from "./types/device-status.js";
29
29
  export * from "./types/btprovider-props.js";
30
30
  export * from "./types/btprovider-children-props.js";
31
+ export * from "./types/background-sync.js";
31
32
  export * from "./types/result-callback.js";
32
33
  export * from "./types/error-callback.js";
33
34
  export * from "./types/device-status-change-callback.js";
34
35
  export * from "./services/devices/bt-managed-device.js";
36
+ export * from "./services/devices/blood-glucose/blood-glucose.device.js";
35
37
  export * from "./services/devices/custom/custom.device.js";
36
38
  export * from "./services/bt-manager.js";
39
+ export * from "./services/background-sync/background-ble-manager.js";
40
+ export * from "./services/background-sync/background-sync-coordinator.js";
41
+ export * from "./services/background-sync/background-service-uuids.js";
37
42
  export * from "./services/custom/define-custom-device.js";
38
43
  export * from "./services/devices/standard-gatt/standard-gatt.devices.js";
39
44
  export * from "./services/devices/boso/boso.medicus.js";
@@ -47,6 +52,7 @@ export * from "./services/devices/aoj/aoj.thermometers.js";
47
52
  export * from "./services/devices/viatom/viatom.bp-monitors.js";
48
53
  export * from "./services/devices/viatom/viatom.oximeters.js";
49
54
  export * from "./services/devices/viatom/viatom.ecg-recorders.js";
55
+ export * from "./services/devices/viatom/viatom.ecg-files.js";
50
56
  export * from "./services/devices/viatom/viatom.lepod.js";
51
57
  export * from "./services/devices/lepu/lepu.device-names.js";
52
58
  export * from "./services/devices/lepu/lepu.name-match.js";
@@ -56,6 +62,7 @@ export * from "./services/devices/lepu/lepu.file-transfer.js";
56
62
  export * from "./services/devices/lepu/lepu.response-type.js";
57
63
  export * from "./constants/measurement-field-catalog.js";
58
64
  export * from "./components/bt-provider.js";
65
+ export * from "./components/bluetooth-device-picker.js";
59
66
  export * from "./components/default-permission-fallback.js";
60
67
  export * from "./hooks/use-request-permissions.js";
61
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":";;AAAA,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,gCAA6B;AAC3C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,0CAAuC;AAErD,cAAc,yCAAsC;AACpD,cAAc,4CAAyC;AACvD,cAAc,0BAAuB;AACrC,cAAc,2CAAwC;AACtD,cAAc,2DAAwD;AACtE,cAAc,yCAAsC;AACpD,cAAc,oDAAiD;AAC/D,cAAc,mDAAgD;AAC9D,cAAc,0DAAuD;AACrE,cAAc,kDAA+C;AAC7D,cAAc,mDAAgD;AAC9D,cAAc,4CAAyC;AACvD,cAAc,4CAAyC;AACvD,cAAc,iDAA8C;AAC5D,cAAc,+CAA4C;AAC1D,cAAc,mDAAgD;AAC9D,cAAc,2CAAwC;AACtD,cAAc,8CAA2C;AACzD,cAAc,4CAAyC;AACvD,cAAc,0CAAuC;AACrD,cAAc,6CAA0C;AACxD,cAAc,+CAA4C;AAC1D,cAAc,+CAA4C;AAE1D,cAAc,0CAAuC;AAErD,cAAc,6BAA0B;AACxC,cAAc,6CAA0C;AACxD,cAAc,oCAAiC","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":";;AAAA,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,gCAA6B;AAC3C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,0CAAuC;AAErD,cAAc,yCAAsC;AACpD,cAAc,0DAAuD;AACrE,cAAc,4CAAyC;AACvD,cAAc,0BAAuB;AACrC,cAAc,sDAAmD;AACjE,cAAc,2DAAwD;AACtE,cAAc,wDAAqD;AACnE,cAAc,2CAAwC;AACtD,cAAc,2DAAwD;AACtE,cAAc,yCAAsC;AACpD,cAAc,oDAAiD;AAC/D,cAAc,mDAAgD;AAC9D,cAAc,0DAAuD;AACrE,cAAc,kDAA+C;AAC7D,cAAc,mDAAgD;AAC9D,cAAc,4CAAyC;AACvD,cAAc,4CAAyC;AACvD,cAAc,iDAA8C;AAC5D,cAAc,+CAA4C;AAC1D,cAAc,mDAAgD;AAC9D,cAAc,+CAA4C;AAC1D,cAAc,2CAAwC;AACtD,cAAc,8CAA2C;AACzD,cAAc,4CAAyC;AACvD,cAAc,0CAAuC;AACrD,cAAc,6CAA0C;AACxD,cAAc,+CAA4C;AAC1D,cAAc,+CAA4C;AAE1D,cAAc,0CAAuC;AAErD,cAAc,6BAA0B;AACxC,cAAc,yCAAsC;AACpD,cAAc,6CAA0C;AACxD,cAAc,oCAAiC","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ import { BleManager } from "react-native-ble-plx";
4
+ const DEFAULT_RESTORE_STATE_IDENTIFIER = "com.ovok.native.background-sync";
5
+ const restoredStates = new Map();
6
+ /**
7
+ * Creates a BLE manager configured for iOS CoreBluetooth state restoration. The returned
8
+ * manager must be created once at module scope, not inside a React render.
9
+ */
10
+ const createBackgroundBleManager = ({
11
+ restoreStateIdentifier = DEFAULT_RESTORE_STATE_IDENTIFIER,
12
+ onRestoreState
13
+ } = {}) => new BleManager({
14
+ restoreStateIdentifier,
15
+ restoreStateFunction: state => {
16
+ restoredStates.set(restoreStateIdentifier, state);
17
+ onRestoreState?.(state);
18
+ }
19
+ });
20
+ const getRestoredBleState = (restoreStateIdentifier = DEFAULT_RESTORE_STATE_IDENTIFIER) => restoredStates.get(restoreStateIdentifier);
21
+ export { DEFAULT_RESTORE_STATE_IDENTIFIER, createBackgroundBleManager, getRestoredBleState };
22
+ //# sourceMappingURL=background-ble-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BleManager","DEFAULT_RESTORE_STATE_IDENTIFIER","restoredStates","Map","createBackgroundBleManager","restoreStateIdentifier","onRestoreState","restoreStateFunction","state","set","getRestoredBleState","get"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-ble-manager.ts"],"mappings":";;AAAA,SACEA,UAAU,QAGL,sBAAsB;AAE7B,MAAMC,gCAAgC,GACpC,iCAAiC;AAEnC,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAkC,CAAC;AAOjE;AACA;AACA;AACA;AACA,MAAMC,0BAA0B,GAAGA,CAAC;EAClCC,sBAAsB,GAAGJ,gCAAgC;EACzDK;AAC2B,CAAC,GAAG,CAAC,CAAC,KACjC,IAAIN,UAAU,CAAC;EACbK,sBAAsB;EACtBE,oBAAoB,EAAGC,KAAK,IAAK;IAC/BN,cAAc,CAACO,GAAG,CAACJ,sBAAsB,EAAEG,KAAK,CAAC;IACjDF,cAAc,GAAGE,KAAK,CAAC;EACzB;AACF,CAAC,CAAC;AAEJ,MAAME,mBAAmB,GAAGA,CAC1BL,sBAAsB,GAAGJ,gCAAgC,KAEzDC,cAAc,CAACS,GAAG,CAACN,sBAAsB,CAAC;AAE5C,SAEEJ,gCAAgC,EAChCG,0BAA0B,EAC1BM,mBAAmB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ import { IntegratedDevices } from "../../types/integrated-devices.js";
4
+ import { bc01MainServices } from "../devices/bc01/bc01.main-services.js";
5
+ import { bp2MainServices } from "../devices/bp2/bp2.main-services.js";
6
+ import { f4MainServices } from "../devices/f4/f4.main-services.js";
7
+ import { spo2MainServices } from "../devices/spo/spo2.main-services.js";
8
+ const normalize = uuid => uuid.toLowerCase();
9
+ const serviceUUIDs = services => services.map(service => normalize(service.uuid));
10
+ const BUILT_IN_SERVICE_UUIDS = {
11
+ [IntegratedDevices.BP2]: serviceUUIDs(bp2MainServices),
12
+ [IntegratedDevices.F4]: serviceUUIDs(f4MainServices),
13
+ [IntegratedDevices.PC60WF]: serviceUUIDs(spo2MainServices),
14
+ [IntegratedDevices.BC01]: serviceUUIDs(bc01MainServices),
15
+ [IntegratedDevices.VEROVAL_DUO_CONTROL]: ["5d4b8aa6-a26a-4a1b-99f5-cd4473c786e3"],
16
+ [IntegratedDevices.VEROVAL_ECG]: ["0000a000-0000-1000-8000-00805f9b34fb"]
17
+ };
18
+ export const getBackgroundServiceUUIDs = (acceptedDevices, additionalServiceUUIDs = []) => {
19
+ const uuids = new Set(additionalServiceUUIDs.map(normalize));
20
+ acceptedDevices.forEach(acceptedDevice => {
21
+ const deviceUUIDs = typeof acceptedDevice === "string" ? BUILT_IN_SERVICE_UUIDS[acceptedDevice] : serviceUUIDs(acceptedDevice.mainServices);
22
+ deviceUUIDs?.forEach(uuid => uuids.add(normalize(uuid)));
23
+ });
24
+ return [...uuids];
25
+ };
26
+ //# sourceMappingURL=background-service-uuids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IntegratedDevices","bc01MainServices","bp2MainServices","f4MainServices","spo2MainServices","normalize","uuid","toLowerCase","serviceUUIDs","services","map","service","BUILT_IN_SERVICE_UUIDS","BP2","F4","PC60WF","BC01","VEROVAL_DUO_CONTROL","VEROVAL_ECG","getBackgroundServiceUUIDs","acceptedDevices","additionalServiceUUIDs","uuids","Set","forEach","acceptedDevice","deviceUUIDs","mainServices","add"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-service-uuids.ts"],"mappings":";;AAEA,SAASA,iBAAiB,QAAQ,mCAAgC;AAElE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,gBAAgB,QAAQ,sCAAmC;AAEpE,MAAMC,SAAS,GAAIC,IAAY,IAAaA,IAAI,CAACC,WAAW,CAAC,CAAC;AAE9D,MAAMC,YAAY,GAAIC,QAA6B,IACjDA,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAKN,SAAS,CAACM,OAAO,CAACL,IAAI,CAAC,CAAC;AAEpD,MAAMM,sBAAoE,GAAG;EAC3E,CAACZ,iBAAiB,CAACa,GAAG,GAAGL,YAAY,CAACN,eAAe,CAAC;EACtD,CAACF,iBAAiB,CAACc,EAAE,GAAGN,YAAY,CAACL,cAAc,CAAC;EACpD,CAACH,iBAAiB,CAACe,MAAM,GAAGP,YAAY,CAACJ,gBAAgB,CAAC;EAC1D,CAACJ,iBAAiB,CAACgB,IAAI,GAAGR,YAAY,CAACP,gBAAgB,CAAC;EACxD,CAACD,iBAAiB,CAACiB,mBAAmB,GAAG,CACvC,sCAAsC,CACvC;EACD,CAACjB,iBAAiB,CAACkB,WAAW,GAAG,CAC/B,sCAAsC;AAE1C,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,eAA0C,EAC1CC,sBAAyC,GAAG,EAAE,KACjC;EACb,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACF,sBAAsB,CAACX,GAAG,CAACL,SAAS,CAAC,CAAC;EAE5De,eAAe,CAACI,OAAO,CAAEC,cAAc,IAAK;IAC1C,MAAMC,WAAW,GACf,OAAOD,cAAc,KAAK,QAAQ,GAC9Bb,sBAAsB,CAACa,cAAc,CAAC,GACtCjB,YAAY,CAAEiB,cAAc,CAA4BE,YAAY,CAAC;IAE3ED,WAAW,EAAEF,OAAO,CAAElB,IAAI,IAAKgB,KAAK,CAACM,GAAG,CAACvB,SAAS,CAACC,IAAI,CAAC,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,OAAO,CAAC,GAAGgB,KAAK,CAAC;AACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ const DEFAULT_QUEUE_KEY = "@ovok/native/background-sync/results";
4
+ const DEFAULT_MAX_RETRIES = 3;
5
+ const DEFAULT_RETRY_BACKOFF_MS = 30_000;
6
+ let resultSequence = 0;
7
+ const createResultId = () => {
8
+ resultSequence += 1;
9
+ return `${Date.now()}-${resultSequence}-${Math.random().toString(36).slice(2, 10)}`;
10
+ };
11
+
12
+ /**
13
+ * A small durable, at-least-once queue. The result is written before delivery and removed only
14
+ * after the consumer resolves. A process death between those two operations can deliver a
15
+ * result twice, so consumers should de-duplicate by `id`.
16
+ */
17
+ class BackgroundSyncCoordinator {
18
+ operation = Promise.resolve();
19
+ constructor(options) {
20
+ this.options = options;
21
+ this.storageKey = options.storageKey ?? DEFAULT_QUEUE_KEY;
22
+ this.maxRetries = Math.max(1, options.maxRetries ?? DEFAULT_MAX_RETRIES);
23
+ this.retryBackoffMs = Math.max(1, options.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS);
24
+ }
25
+ enqueue = result => this.runExclusive(async () => {
26
+ const queue = await this.readQueue();
27
+ queue.push({
28
+ id: createResultId(),
29
+ queuedAt: new Date().toISOString(),
30
+ attempt: 0,
31
+ nextAttemptAt: 0,
32
+ result
33
+ });
34
+ await this.writeQueue(queue);
35
+ await this.flushQueue(queue);
36
+ });
37
+ flush = (options = {}) => this.runExclusive(async () => {
38
+ await this.flushQueue(await this.readQueue(), options);
39
+ });
40
+ runExclusive = operation => {
41
+ const next = this.operation.then(operation, operation);
42
+ this.operation = next.catch(() => undefined);
43
+ return next;
44
+ };
45
+ readQueue = async () => {
46
+ const serialized = await this.options.storage.getItem(this.storageKey);
47
+ if (!serialized) {
48
+ return [];
49
+ }
50
+ try {
51
+ const parsed = JSON.parse(serialized);
52
+ if (!Array.isArray(parsed)) {
53
+ throw new Error("Background sync queue is not an array");
54
+ }
55
+ return parsed;
56
+ } catch (error) {
57
+ await this.options.storage.setItem(this.storageKey, "[]");
58
+ throw new Error(`Background sync queue could not be read: ${error instanceof Error ? error.message : String(error)}`);
59
+ }
60
+ };
61
+ writeQueue = async queue => {
62
+ await this.options.storage.setItem(this.storageKey, JSON.stringify(queue));
63
+ };
64
+ flushQueue = async (queue, options = {}) => {
65
+ let changed = false;
66
+ const now = Date.now();
67
+ for (const item of [...queue]) {
68
+ if (item.exhausted && options.resetExhausted) {
69
+ item.attempt = 0;
70
+ item.exhausted = false;
71
+ item.nextAttemptAt = 0;
72
+ changed = true;
73
+ }
74
+ if (item.exhausted && !options.includeExhausted || item.nextAttemptAt > now) {
75
+ continue;
76
+ }
77
+ const attempt = item.attempt + 1;
78
+ try {
79
+ await this.options.onResult({
80
+ ...item.result,
81
+ id: item.id,
82
+ queuedAt: item.queuedAt,
83
+ attempt
84
+ });
85
+ queue.splice(queue.indexOf(item), 1);
86
+ changed = true;
87
+ } catch {
88
+ item.attempt = attempt;
89
+ item.exhausted = attempt >= this.maxRetries;
90
+ item.nextAttemptAt = item.exhausted ? Number.MAX_SAFE_INTEGER : Date.now() + this.retryBackoffMs * 2 ** (attempt - 1);
91
+ changed = true;
92
+ }
93
+ }
94
+ if (changed) {
95
+ await this.writeQueue(queue);
96
+ }
97
+ };
98
+ }
99
+ export { BackgroundSyncCoordinator, DEFAULT_QUEUE_KEY };
100
+ //# sourceMappingURL=background-sync-coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_QUEUE_KEY","DEFAULT_MAX_RETRIES","DEFAULT_RETRY_BACKOFF_MS","resultSequence","createResultId","Date","now","Math","random","toString","slice","BackgroundSyncCoordinator","operation","Promise","resolve","constructor","options","storageKey","maxRetries","max","retryBackoffMs","enqueue","result","runExclusive","queue","readQueue","push","id","queuedAt","toISOString","attempt","nextAttemptAt","writeQueue","flushQueue","flush","next","then","catch","undefined","serialized","storage","getItem","parsed","JSON","parse","Array","isArray","Error","error","setItem","message","String","stringify","changed","item","exhausted","resetExhausted","includeExhausted","onResult","splice","indexOf","Number","MAX_SAFE_INTEGER"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"mappings":"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","ignoreList":[]}
@@ -6,18 +6,25 @@ import { ScanMode, State } from "react-native-ble-plx";
6
6
  import { slog } from "../../helpers/index.js";
7
7
  import { sentryLogger } from "../../helpers/utils/sentry-logger.js";
8
8
  import { DeviceCreator } from "./device-creator.js";
9
- export class BTManager {
9
+ class BTManager {
10
10
  static MAX_DEVICES = 15; // Safety limit to prevent unbounded growth
11
11
  devices = new Map();
12
12
  eventSubscriptions = [];
13
- constructor(bleManager, acceptedDevices) {
13
+ autoConnectCandidates = new Map();
14
+ constructor(bleManager, acceptedDevices, options = {}) {
14
15
  this.bleManager = bleManager;
15
16
  this.acceptedDevices = acceptedDevices;
17
+ this.options = options;
16
18
  this.deviceCreator = new DeviceCreator(this.acceptedDevices);
19
+ this.backgroundScanEnabled = options.backgroundEnabled === true;
17
20
  }
18
21
  destroy = () => {
19
22
  sentryLogger("info", "BT_MANAGER: Destroying BTManager");
20
23
  this.stopScan();
24
+ if (this.autoConnectTimer) {
25
+ clearTimeout(this.autoConnectTimer);
26
+ this.autoConnectTimer = undefined;
27
+ }
21
28
 
22
29
  // Remove state change listener
23
30
  if (this.stateChangeListener) {
@@ -51,9 +58,20 @@ export class BTManager {
51
58
  }
52
59
  this.stateChangeListener?.remove();
53
60
  this.stateChangeListener = undefined;
54
- this.bleManager.startDeviceScan(null, {
55
- scanMode: ScanMode.Balanced
56
- }, this.onScanResult);
61
+ const serviceUUIDs = this.options.serviceUUIDs ?? [];
62
+ if (Platform.OS === "ios" && this.backgroundScanEnabled && !serviceUUIDs.length) {
63
+ this.onErrorCallback?.({
64
+ error: "Background Bluetooth sync on iOS requires at least one service UUID. Add serviceUUIDs for custom devices."
65
+ });
66
+ return;
67
+ }
68
+ void Promise.resolve(this.bleManager.startDeviceScan(this.backgroundScanEnabled ? [...serviceUUIDs] : null, {
69
+ scanMode: this.backgroundScanEnabled ? ScanMode.LowPower : ScanMode.Balanced
70
+ }, this.onScanResult)).catch(error => {
71
+ this.onErrorCallback?.({
72
+ error: error instanceof Error ? error : String(error)
73
+ });
74
+ });
57
75
  sentryLogger("info", "BT_MANAGER: Scan started (continuous mode)");
58
76
  return;
59
77
  }
@@ -74,6 +92,11 @@ export class BTManager {
74
92
  this.eventSubscriptions.push(this.stateChangeListener);
75
93
  }
76
94
  };
95
+
96
+ /** Switches only the scan policy; the app can keep a foreground scan broad. */
97
+ setBackgroundScanEnabled = enabled => {
98
+ this.backgroundScanEnabled = enabled;
99
+ };
77
100
  stopScan = () => {
78
101
  sentryLogger("info", "BT_MANAGER: Stopping scan");
79
102
  this.bleManager.stopDeviceScan();
@@ -92,6 +115,9 @@ export class BTManager {
92
115
  });
93
116
  this.devices.clear();
94
117
  };
118
+ restoreDevices = devices => {
119
+ devices.forEach(device => this.onScanResult(null, device));
120
+ };
95
121
  onDeviceFound = callback => {
96
122
  sentryLogger("info", "BT_MANAGER: Setting onDeviceFound callback");
97
123
  this.onDeviceFoundCallback = callback;
@@ -133,13 +159,13 @@ export class BTManager {
133
159
  * matcher runs against the string the peripheral actually advertised.
134
160
  */
135
161
  const advertisedName = device?.name?.trim() || device?.localName?.trim() || "";
136
- if (!device || !advertisedName) {
162
+ if (!device) {
137
163
  return;
138
164
  }
139
165
  if (this.devices.has(device.id)) {
140
166
  return;
141
167
  }
142
- const deviceName = this.deviceCreator.getDeviceName(advertisedName);
168
+ const deviceName = this.deviceCreator.getDeviceName(advertisedName, device.serviceUUIDs ?? []);
143
169
  if (!deviceName) {
144
170
  return;
145
171
  }
@@ -166,6 +192,7 @@ export class BTManager {
166
192
  });
167
193
  this.devices.set(device.id, deviceClass);
168
194
  this.onDeviceFoundCallback?.(deviceClass, this);
195
+ this.queueAutoConnect(deviceClass);
169
196
  } catch (error) {
170
197
  sentryLogger("error", "BT_MANAGER: Error creating device", {
171
198
  error: error instanceof Error ? error.message : error,
@@ -179,6 +206,32 @@ export class BTManager {
179
206
  });
180
207
  }
181
208
  };
209
+ queueAutoConnect = device => {
210
+ if (!this.options.autoConnect) {
211
+ return;
212
+ }
213
+ this.autoConnectCandidates.set(device.id, device);
214
+ if (this.autoConnectTimer) {
215
+ clearTimeout(this.autoConnectTimer);
216
+ }
217
+ this.autoConnectTimer = setTimeout(() => {
218
+ this.autoConnectTimer = undefined;
219
+ const devices = [...this.autoConnectCandidates.values()];
220
+ this.autoConnectCandidates.clear();
221
+ if (devices.length === 1) {
222
+ void devices[0]?.connect();
223
+ return;
224
+ }
225
+ if (devices.length > 1) {
226
+ this.options.onDeviceSelectionRequired?.({
227
+ devices: devices,
228
+ select: async selected => {
229
+ await selected.connect();
230
+ }
231
+ });
232
+ }
233
+ }, Math.max(0, this.options.autoConnectDelayMs ?? 500));
234
+ };
182
235
  removeDeviceFromFoundedDevices = deviceId => {
183
236
  sentryLogger("info", "BT_MANAGER: Removing device from founded devices now its accessible again", {
184
237
  deviceId,
@@ -187,4 +240,5 @@ export class BTManager {
187
240
  this.devices.delete(deviceId);
188
241
  };
189
242
  }
243
+ export { BTManager };
190
244
  //# sourceMappingURL=bt-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","deviceCreator","destroy","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","PoweredOn","index","indexOf","splice","startDeviceScan","scanMode","Balanced","onScanResult","OS","sendIntent","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","Error","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":";;AAAA;AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAChD,SAIEC,QAAQ,EACRC,KAAK,QAEA,sBAAsB;AAE7B,SAASC,IAAI,QAAQ,wBAAe;AACpC,SAASC,YAAY,QAAQ,sCAAmC;AAOhE,SAASC,aAAa,QAAQ,qBAAkB;AAGhD,OAAO,MAAMC,SAAS,CAAsC;EAC1D,OAAwBC,WAAW,GAAG,EAAE,CAAC,CAAC;EAClCC,OAAO,GAAG,IAAIC,GAAG,CAA0C,CAAC;EAG5DC,kBAAkB,GAAmB,EAAE;EAI/CC,WAAWA,CACQC,UAAsB,EACtBC,eAAkB,EACnC;IAAA,KAFiBD,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,eAAkB,GAAlBA,eAAkB;IAEnC,IAAI,CAACC,aAAa,GAAG,IAAIT,aAAa,CAAC,IAAI,CAACQ,eAAe,CAAC;EAC9D;EAEOE,OAAO,GAAGA,CAAA,KAAM;IACrBX,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC;IAExD,IAAI,CAACY,QAAQ,CAAC,CAAC;;IAEf;IACA,IAAI,IAAI,CAACC,mBAAmB,EAAE;MAC5B,IAAI,CAACA,mBAAmB,CAACC,MAAM,CAAC,CAAC;MACjC,IAAI,CAACD,mBAAmB,GAAGE,SAAS;IACtC;;IAEA;IACA,IAAI,CAACC,eAAe,GAAGD,SAAS;IAChC,IAAI,CAACE,qBAAqB,GAAGF,SAAS;IACtC,IAAI,CAACG,gBAAgB,GAAGH,SAAS;IACjC,IAAI,CAACI,6BAA6B,GAAGJ,SAAS;IAE9C,IAAI,CAACX,OAAO,CAACgB,OAAO,CAAEC,MAAM,IAAK;MAC/BA,MAAM,CAACV,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,IAAI,CAACP,OAAO,CAACkB,KAAK,CAAC,CAAC;IAEpB,IAAI,CAACZ,aAAa,CAACC,OAAO,CAAC,CAAC;EAC9B,CAAC;EAEMY,SAAS,GAAGA,CAAA,KAAM;IACvB;IACA,IAAI,IAAI,CAACV,mBAAmB,EAAE;MAC5B,IAAI,CAACA,mBAAmB,CAACC,MAAM,CAAC,CAAC;MACjC,IAAI,CAACD,mBAAmB,GAAGE,SAAS;IACtC;IAEA,IAAI,CAACF,mBAAmB,GAAG,IAAI,CAACL,UAAU,CAACgB,aAAa,CAAEC,KAAK,IAAK;MAClE,IAAIA,KAAK,KAAK3B,KAAK,CAAC4B,SAAS,EAAE;QAC7B;QACA,MAAMC,KAAK,GAAG,IAAI,CAACrB,kBAAkB,CAACsB,OAAO,CAC3C,IAAI,CAACf,mBACP,CAAC;QAED,IAAIc,KAAK,GAAG,CAAC,CAAC,EAAE;UACd,IAAI,CAACrB,kBAAkB,CAACuB,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;QAC1C;QAEA,IAAI,CAACd,mBAAmB,EAAEC,MAAM,CAAC,CAAC;QAClC,IAAI,CAACD,mBAAmB,GAAGE,SAAS;QACpC,IAAI,CAACP,UAAU,CAACsB,eAAe,CAC7B,IAAI,EACJ;UAAEC,QAAQ,EAAElC,QAAQ,CAACmC;QAAS,CAAC,EAC/B,IAAI,CAACC,YACP,CAAC;QAEDjC,YAAY,CAAC,MAAM,EAAE,4CAA4C,CAAC;QAElE;MACF;MAEAA,YAAY,CACV,SAAS,EACT,wEACF,CAAC;;MAED;MACA;MACA;MACA,IAAIJ,QAAQ,CAACsC,EAAE,KAAK,SAAS,EAAE;QAC7BvC,OAAO,CAACwC,UAAU,CAAC,iDAAiD,CAAC;QAErE;MACF;MAEAnC,YAAY,CACV,SAAS,EACT,4EACF,CAAC;IACH,CAAC,EAAE,IAAI,CAAC;;IAER;IACA,IAAI,IAAI,CAACa,mBAAmB,EAAE;MAC5B,IAAI,CAACP,kBAAkB,CAAC8B,IAAI,CAAC,IAAI,CAACvB,mBAAmB,CAAC;IACxD;EACF,CAAC;EAEMD,QAAQ,GAAGA,CAAA,KAAM;IACtBZ,YAAY,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAEjD,IAAI,CAACQ,UAAU,CAAC6B,cAAc,CAAC,CAAC;;IAEhC;IACA,IAAI,CAAC/B,kBAAkB,CAACc,OAAO,CAAEkB,GAAG,IAAKA,GAAG,CAACxB,MAAM,CAAC,CAAC,CAAC;IACtD,IAAI,CAACR,kBAAkB,GAAG,EAAE;;IAE5B;IACA,IAAI,CAACU,eAAe,GAAGD,SAAS;IAChC,IAAI,CAACE,qBAAqB,GAAGF,SAAS;IACtC,IAAI,CAACG,gBAAgB,GAAGH,SAAS;IACjC,IAAI,CAACI,6BAA6B,GAAGJ,SAAS;IAE9C,IAAI,CAACX,OAAO,CAACgB,OAAO,CAAEC,MAAM,IAAK;MAC/BA,MAAM,CAACV,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,IAAI,CAACP,OAAO,CAACkB,KAAK,CAAC,CAAC;EACtB,CAAC;EAEMiB,aAAa,GAClBC,QAGkB,IACf;IACHxC,YAAY,CAAC,MAAM,EAAE,4CAA4C,CAAC;IAClE,IAAI,CAACiB,qBAAqB,GAAGuB,QAAQ;EACvC,CAAC;EAEMC,OAAO,GAAID,QAAwC,IAAK;IAC7DxC,YAAY,CAAC,MAAM,EAAE,sCAAsC,CAAC;IAC5D,IAAI,CAACgB,eAAe,GAAGwB,QAAQ;EACjC,CAAC;EAEME,qBAAqB,GAC1BF,QAAqD,IAClD;IACHxC,YAAY,CAAC,MAAM,EAAE,oDAAoD,CAAC;IAC1E,IAAI,CAACmB,6BAA6B,GAAGqB,QAAQ;EAC/C,CAAC;EAEMG,QAAQ,GACbH,QAAyD,IACtD;IACHxC,YAAY,CAAC,MAAM,EAAE,uCAAuC,CAAC;IAC7D,IAAI,CAACkB,gBAAgB,GAAGsB,QAAQ;EAClC,CAAC;;EAED;;EAWQP,YAAY,GAAGA,CAACW,KAAsB,EAAEvB,MAAqB,KAAK;IACxE,IAAI;MACF,IAAIuB,KAAK,EAAE;QACT,IAAI,CAAC5B,eAAe,GAAG;UACrB4B,KAAK,EAAEA;QACT,CAAC,CAAC;QACF5C,YAAY,CAAC,OAAO,EAAE,+BAA+B,EAAE;UACrD4C,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF;QAClD,CAAC,CAAC;QACF7C,IAAI,CAAC6C,KAAK,EAAE,+BAA+B,EAAE;UAAEA;QAAM,CAAC,CAAC;QAEvD;MACF;;MAEA;AACN;AACA;AACA;AACA;AACA;MACM,MAAMG,cAAc,GAClB1B,MAAM,EAAE2B,IAAI,EAAEC,IAAI,CAAC,CAAC,IAAI5B,MAAM,EAAE6B,SAAS,EAAED,IAAI,CAAC,CAAC,IAAI,EAAE;MAEzD,IAAI,CAAC5B,MAAM,IAAI,CAAC0B,cAAc,EAAE;QAC9B;MACF;MAEA,IAAI,IAAI,CAAC3C,OAAO,CAAC+C,GAAG,CAAC9B,MAAM,CAAC+B,EAAE,CAAC,EAAE;QAC/B;MACF;MAEA,MAAMC,UAAU,GAAG,IAAI,CAAC3C,aAAa,CAAC4C,aAAa,CAACP,cAAc,CAAC;MAEnE,IAAI,CAACM,UAAU,EAAE;QACf;MACF;;MAEA;MACA,IAAI,IAAI,CAACjD,OAAO,CAACmD,IAAI,IAAIrD,SAAS,CAACC,WAAW,EAAE;QAC9CH,YAAY,CACV,SAAS,EACT,4DAA4D,EAC5D;UACEwD,QAAQ,EAAEnC,MAAM,CAAC+B,EAAE;UACnBC,UAAU,EAAEhC,MAAM,CAAC2B,IAAI;UACvBS,WAAW,EAAE,IAAI,CAACrD,OAAO,CAACmD;QAC5B,CACF,CAAC;QAED;MACF;MAEA,MAAMG,WAAW,GAAG,IAAI,CAAChD,aAAa,CAACiD,YAAY,CAAC;QAClDtC,MAAM;QACNgC,UAAU;QACVZ,OAAO,EAAE,IAAI,CAACzB,eAAe,EAAE4C,IAAI,CAAC,IAAI,CAAC;QACzClB,qBAAqB,EAAE,IAAI,CAACvB,6BAA6B,EAAEyC,IAAI,CAAC,IAAI,CAAC;QACrEjB,QAAQ,EAAE,IAAI,CAACzB,gBAAgB,EAAE0C,IAAI,CAAC,IAAI,CAAC;QAC3CC,oBAAoB,EAAEA,CAAA,KAAM;UAC1B,IAAI,CAACtC,SAAS,CAAC,CAAC;UAChB,IAAI,CAACuC,8BAA8B,EAAEF,IAAI,CAAC,IAAI,CAAC,CAACvC,MAAM,CAAC+B,EAAE,CAAC;QAC5D;MACF,CAAC,CAAC;MAEF,IAAI,CAAChD,OAAO,CAAC2D,GAAG,CAAC1C,MAAM,CAAC+B,EAAE,EAAEM,WAAW,CAAC;MAExC,IAAI,CAACzC,qBAAqB,GAAGyC,WAAW,EAAE,IAAI,CAAC;IACjD,CAAC,CAAC,OAAOd,KAAK,EAAE;MACd5C,YAAY,CAAC,OAAO,EAAE,mCAAmC,EAAE;QACzD4C,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDY,QAAQ,EAAEnC,MAAM,EAAE+B,EAAE;QACpBC,UAAU,EAAEhC,MAAM,EAAE2B;MACtB,CAAC,CAAC;MACFjD,IAAI,CAAC6C,KAAK,EAAE,mCAAmC,EAAE;QAC/CA,KAAK;QACLY,QAAQ,EAAEnC,MAAM,EAAE+B,EAAE;QACpBC,UAAU,EAAEhC,MAAM,EAAE2B;MACtB,CAAC,CAAC;IACJ;EACF,CAAC;EAEOc,8BAA8B,GAAIN,QAAgB,IAAK;IAC7DxD,YAAY,CACV,MAAM,EACN,2EAA2E,EAC3E;MACEwD,QAAQ;MACRH,UAAU,EAAE,IAAI,CAACjD,OAAO,CAAC4D,GAAG,CAACR,QAAQ,CAAC,EAAEnC,MAAM,EAAE2B;IAClD,CACF,CAAC;IACD,IAAI,CAAC5C,OAAO,CAAC6D,MAAM,CAACT,QAAQ,CAAC;EAC/B,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","stopScan","autoConnectTimer","clearTimeout","undefined","stateChangeListener","remove","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","PoweredOn","index","indexOf","splice","serviceUUIDs","OS","length","error","Promise","resolve","startDeviceScan","scanMode","LowPower","Balanced","onScanResult","catch","Error","String","sendIntent","push","setBackgroundScanEnabled","enabled","stopDeviceScan","sub","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ const MAX_MTU = 517;
16
16
  const MAX_STUCK_TIMEOUT_MS = 6_000_000;
17
17
  const HEX_BYTES = /^([0-9a-f]{2})+$/;
18
18
  const assertIdentity = spec => {
19
- const id = typeof spec?.id === "string" ? spec.id.trim() : "";
19
+ const id = typeof spec?.id === "string" ? spec.id.trim() : "ovok-custom-device";
20
20
  if (!id) {
21
21
  throw customDeviceError(String(spec?.id), "id", "must not be empty");
22
22
  }
@@ -35,9 +35,12 @@ const compileNameMatch = (id, spec) => {
35
35
  return nameMatch;
36
36
  }
37
37
  const exact = typeof nameMatch === "string" ? nameMatch.trim() : "";
38
- if (!exact) {
38
+ if (typeof nameMatch === "string" && !exact) {
39
39
  throw customDeviceError(id, "nameMatch", "must not be empty");
40
40
  }
41
+ if (!exact) {
42
+ return /.*/;
43
+ }
41
44
  return new RegExp(`^${exact.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}$`);
42
45
  };
43
46
  const assertStuckTimeout = (id, spec) => {
@@ -123,6 +126,7 @@ export const defineCustomDevice = spec => {
123
126
  id: id,
124
127
  spec,
125
128
  nameMatch,
129
+ matchByService: spec.matchByService === true,
126
130
  mainServices,
127
131
  stuckDataTimeout,
128
132
  fields,
@@ -1 +1 @@
1
- {"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","matchByService"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { integratedDevicesMap } from "../constants/integrated-devices-map.js";
4
4
  import { IntegratedDevices } from "../types/integrated-devices.js";
5
5
  import { isCustomDeviceDefinition } from "../utils/is-custom-device-definition.js";
6
6
  import { BC01Device } from "./devices/bc01/bc01.device.js";
7
+ import { BloodGlucoseDevice } from "./devices/blood-glucose/blood-glucose.device.js";
7
8
  import { BP2Device } from "./devices/bp2/bp2.device.js";
8
9
  import { CustomDevice } from "./devices/custom/custom.device.js";
9
10
  import { F4Device } from "./devices/f4/f4.device.js";
@@ -23,6 +24,9 @@ const DEVICE_CLASSES = {
23
24
  [IntegratedDevices.F4]: F4Device,
24
25
  [IntegratedDevices.PC60WF]: SPO2Device,
25
26
  [IntegratedDevices.BC01]: BC01Device,
27
+ [IntegratedDevices.TAIDOC_GLUCOSE]: BloodGlucoseDevice,
28
+ [IntegratedDevices.GLUCOCHECK]: BloodGlucoseDevice,
29
+ [IntegratedDevices.BGM]: BloodGlucoseDevice,
26
30
  [IntegratedDevices.VEROVAL_DUO_CONTROL]: VerovalDuoControlDevice,
27
31
  [IntegratedDevices.VEROVAL_ECG]: VerovalEcgDevice
28
32
  };
@@ -39,11 +43,13 @@ const collectCustomDevices = acceptedDevices => {
39
43
  if (customDevices.has(entry.id)) {
40
44
  throw new Error(`acceptedDevices[${index}] registers the custom device "${entry.id}" twice`);
41
45
  }
42
- if (matchers.has(entry.nameMatch.source)) {
46
+ if (!entry.matchByService && matchers.has(entry.nameMatch.source)) {
43
47
  throw new Error(`acceptedDevices[${index}] ("${entry.id}") matches the same advertised name as an earlier custom device, so one would silently shadow the other`);
44
48
  }
45
49
  customDevices.set(entry.id, entry);
46
- matchers.add(entry.nameMatch.source);
50
+ if (!entry.matchByService) {
51
+ matchers.add(entry.nameMatch.source);
52
+ }
47
53
  });
48
54
  return customDevices;
49
55
  };
@@ -54,14 +60,18 @@ export class DeviceCreator {
54
60
  this.acceptedDeviceNames = acceptedDeviceNames;
55
61
  this.customDevices = collectCustomDevices(acceptedDeviceNames);
56
62
  }
57
- getDeviceName = foundName => {
58
- if (!foundName) {
63
+ getDeviceName = (foundName, serviceUUIDs = []) => {
64
+ const normalizedServices = new Set(serviceUUIDs.map(uuid => uuid.toLowerCase()));
65
+ if (!foundName && normalizedServices.size === 0) {
59
66
  return undefined;
60
67
  }
68
+ if (!foundName && normalizedServices.size > 0) {
69
+ return this.matchDeviceName(foundName, normalizedServices);
70
+ }
61
71
  if (this.deviceNameCache.has(foundName)) {
62
72
  return this.deviceNameCache.get(foundName) ?? undefined;
63
73
  }
64
- const matched = this.matchDeviceName(foundName);
74
+ const matched = this.matchDeviceName(foundName, normalizedServices);
65
75
 
66
76
  // Cache the result (store null for non-matches to avoid repeated tests)
67
77
  this.cacheDeviceName(foundName, matched ?? null);
@@ -80,7 +90,7 @@ export class DeviceCreator {
80
90
  * `localName` carries the advertised name instead. Accept either so a scan-time
81
91
  * `createDevice` call for a real iOS ad is not rejected before it can connect.
82
92
  */
83
- if (!params.device.name?.trim() && !params.device.localName?.trim()) {
93
+ if (!params.device.name?.trim() && !params.device.localName?.trim() && !this.customDevices.get(params.deviceName)?.matchByService) {
84
94
  throw new Error("Device name is required");
85
95
  }
86
96
  if (!params.device.id) {
@@ -107,14 +117,15 @@ export class DeviceCreator {
107
117
  * A built-in device always wins over a declaration: its decoder is compiled and tested,
108
118
  * and a declaration that happens to match the same advertised name must not displace it.
109
119
  */
110
- matchDeviceName = deviceName => {
120
+ matchDeviceName = (deviceName, serviceUUIDs) => {
111
121
  for (const [regex, deviceType] of integratedDevicesMap) {
112
122
  if (regex.test(deviceName) && this.acceptedDeviceNames.some(name => name === deviceType)) {
113
123
  return deviceType;
114
124
  }
115
125
  }
116
126
  for (const custom of this.customDevices.values()) {
117
- if (custom.nameMatch.test(deviceName)) {
127
+ const serviceMatch = custom.matchByService && custom.mainServices.some(service => serviceUUIDs.has(service.uuid.toLowerCase()));
128
+ if (serviceMatch || deviceName && custom.nameMatch.test(deviceName)) {
118
129
  return custom.id;
119
130
  }
120
131
  }
@@ -1 +1 @@
1
- {"version":3,"names":["integratedDevicesMap","IntegratedDevices","isCustomDeviceDefinition","BC01Device","BP2Device","CustomDevice","F4Device","SPO2Device","VerovalDuoControlDevice","VerovalEcgDevice","DEVICE_CLASSES","BP2","F4","PC60WF","BC01","VEROVAL_DUO_CONTROL","VEROVAL_ECG","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","Error","has","id","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","undefined","get","matched","matchDeviceName","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","deviceClass","Object","keys","join","destroy","clear","regex","deviceType","test","some","values","size","firstKey","next","value","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["integratedDevicesMap","IntegratedDevices","isCustomDeviceDefinition","BC01Device","BloodGlucoseDevice","BP2Device","CustomDevice","F4Device","SPO2Device","VerovalDuoControlDevice","VerovalEcgDevice","DEVICE_CLASSES","BP2","F4","PC60WF","BC01","TAIDOC_GLUCOSE","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VEROVAL_ECG","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","Error","has","id","matchByService","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","serviceUUIDs","normalizedServices","map","uuid","toLowerCase","size","undefined","matchDeviceName","get","matched","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","deviceClass","Object","keys","join","destroy","clear","regex","deviceType","test","some","values","serviceMatch","mainServices","service","firstKey","next","value","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
@@ -45,7 +45,7 @@ const SPOT_CHECK_TIMEOUT_MS = 60_000;
45
45
  * measurement would post old readings as though they had just been taken.
46
46
  */
47
47
  export const aoj20aThermometer = params => defineCustomDevice({
48
- id: params.id,
48
+ id: params.id ?? "aoj-20a-thermometer",
49
49
  nameMatch: params.nameMatch,
50
50
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
51
51
  services: [{
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","defineCustomDevice","FRAME_HEADER","COMMAND_BYTE","FRAME_BYTES","CHECKSUM_INDEX","CHECKSUM_FROM","PAYLOAD","TEMPERATURE_REPLY","TEMPERATURE_SCALE","TEMPERATURE_DECIMALS","SPOT_CHECK_TIMEOUT_MS","aoj20aThermometer","params","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","header","minLengthBytes","checksum","algorithm","index","from","caseSelectorBytes","cases","selector","kind","measurementTypeKey","temperature","fields","name","byteIndexes","byteOrder","unit","scale","decimals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAEjC,MAAMC,YAAY,GAAG,CAAC;;AAEtB;AACA,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,aAAa,GAAG,CAAC;AAEvB,MAAMC,OAAO,GAAG,CAAC;;AAEjB;AACA,MAAMC,iBAAiB,GAAG,IAAI;;AAE9B;AACA,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,oBAAoB,GAAG,CAAC;AAE9B,MAAMC,qBAAqB,GAAG,MAAM;AAapC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,MAAuB,IAEvBZ,kBAAkB,CAAC;EACjBa,EAAE,EAAED,MAAM,CAACC,EAAE;EACbC,SAAS,EAAEF,MAAM,CAACE,SAAS;EAC3BC,kBAAkB,EAAEH,MAAM,CAACG,kBAAkB,IAAIL,qBAAqB;EACtEM,QAAQ,EAAE,CACR;IACEC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,CACP;MACED,IAAI,EAAE,MAAM;MACZE,KAAK,EAAE;QACLC,MAAM,EAAEnB,YAAY;QACpBoB,cAAc,EAAElB,WAAW;QAC3BmB,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,KAAK,EAAEpB,cAAc;UACrBqB,IAAI,EAAEpB;QACR;MACF,CAAC;MACDqB,iBAAiB,EAAE,CAACxB,YAAY,CAAC;MACjCyB,KAAK,EAAE,CACL;QACEC,QAAQ,EAAErB,iBAAiB;QAC3BsB,IAAI,EAAE,QAAQ;QACdC,kBAAkB,EAAE/B,kBAAkB,CAACgC,WAAW;QAClDC,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC5B,OAAO,EAAEA,OAAO,GAAG,CAAC,CAAC;UACnC6B,SAAS,EAAE,KAAK;UAChBC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE7B,iBAAiB;UACxB8B,QAAQ,EAAE7B;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","defineCustomDevice","FRAME_HEADER","COMMAND_BYTE","FRAME_BYTES","CHECKSUM_INDEX","CHECKSUM_FROM","PAYLOAD","TEMPERATURE_REPLY","TEMPERATURE_SCALE","TEMPERATURE_DECIMALS","SPOT_CHECK_TIMEOUT_MS","aoj20aThermometer","params","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","header","minLengthBytes","checksum","algorithm","index","from","caseSelectorBytes","cases","selector","kind","measurementTypeKey","temperature","fields","name","byteIndexes","byteOrder","unit","scale","decimals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj.thermometers.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAEjC,MAAMC,YAAY,GAAG,CAAC;;AAEtB;AACA,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,aAAa,GAAG,CAAC;AAEvB,MAAMC,OAAO,GAAG,CAAC;;AAEjB;AACA,MAAMC,iBAAiB,GAAG,IAAI;;AAE9B;AACA,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,oBAAoB,GAAG,CAAC;AAE9B,MAAMC,qBAAqB,GAAG,MAAM;AAapC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,MAAuB,IAEvBZ,kBAAkB,CAAC;EACjBa,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEF,MAAM,CAACE,SAAS;EAC3BC,kBAAkB,EAAEH,MAAM,CAACG,kBAAkB,IAAIL,qBAAqB;EACtEM,QAAQ,EAAE,CACR;IACEC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,CACP;MACED,IAAI,EAAE,MAAM;MACZE,KAAK,EAAE;QACLC,MAAM,EAAEnB,YAAY;QACpBoB,cAAc,EAAElB,WAAW;QAC3BmB,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,KAAK,EAAEpB,cAAc;UACrBqB,IAAI,EAAEpB;QACR;MACF,CAAC;MACDqB,iBAAiB,EAAE,CAACxB,YAAY,CAAC;MACjCyB,KAAK,EAAE,CACL;QACEC,QAAQ,EAAErB,iBAAiB;QAC3BsB,IAAI,EAAE,QAAQ;QACdC,kBAAkB,EAAE/B,kBAAkB,CAACgC,WAAW;QAClDC,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC5B,OAAO,EAAEA,OAAO,GAAG,CAAC,CAAC;UACnC6B,SAAS,EAAE,KAAK;UAChBC,IAAI,EAAE,KAAK;UACXC,KAAK,EAAE7B,iBAAiB;UACxB8B,QAAQ,EAAE7B;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC","ignoreList":[]}