@ovok/native 1.11.2 → 1.12.1

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 (335) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-model.js +85 -0
  2. package/lib/commonjs/modules/bt-device/constants/device-model.js.map +1 -0
  3. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +21 -1
  4. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js +16 -0
  6. package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
  7. package/lib/commonjs/modules/bt-device/index.js +117 -0
  8. package/lib/commonjs/modules/bt-device/index.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/types/device-kind.js +2 -0
  10. package/lib/commonjs/modules/bt-device/types/device-kind.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/utils/device-query.js +57 -0
  12. package/lib/commonjs/modules/bt-device/utils/device-query.js.map +1 -0
  13. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
  14. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
  16. package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js +25 -0
  18. package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js.map +1 -0
  19. package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js +8 -7
  20. package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js +41 -0
  22. package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
  23. package/lib/commonjs/modules/bt-management/hooks/use-open-series.js +18 -0
  24. package/lib/commonjs/modules/bt-management/hooks/use-open-series.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js +15 -0
  26. package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/index.js +60 -0
  28. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +34 -1
  30. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/bt-manager.js +23 -1
  32. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
  34. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
  36. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -3
  38. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +10 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +6 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js +4 -3
  44. package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
  46. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/series-recorder.js +176 -0
  48. package/lib/commonjs/modules/bt-management/services/series-recorder.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/services/series-slots.js +93 -0
  50. package/lib/commonjs/modules/bt-management/services/series-slots.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/types/measurement-series.js +6 -0
  52. package/lib/commonjs/modules/bt-management/types/measurement-series.js.map +1 -0
  53. package/lib/commonjs/modules/data-sync/constants.js +14 -1
  54. package/lib/commonjs/modules/data-sync/constants.js.map +1 -1
  55. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +6 -5
  56. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  57. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +10 -7
  58. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  59. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js +10 -4
  60. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  61. package/lib/commonjs/modules/data-sync/types/health-data.js +5 -1
  62. package/lib/commonjs/modules/data-sync/types/health-data.js.map +1 -1
  63. package/lib/commonjs/modules/data-sync/types/health-sync-keys.js.map +1 -1
  64. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +19 -5
  65. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  66. package/lib/commonjs/modules/data-sync/utils/fhir-systems.js +4 -1
  67. package/lib/commonjs/modules/data-sync/utils/fhir-systems.js.map +1 -1
  68. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +10 -5
  69. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  70. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +18 -12
  71. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  72. package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js +6 -1
  73. package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
  74. package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
  75. package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
  76. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -2
  77. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  78. package/lib/commonjs/modules/data-sync/utils/health-connect-series.js +101 -0
  79. package/lib/commonjs/modules/data-sync/utils/health-connect-series.js.map +1 -0
  80. package/lib/commonjs/modules/data-sync/utils/healthkit-series.js +44 -0
  81. package/lib/commonjs/modules/data-sync/utils/healthkit-series.js.map +1 -0
  82. package/lib/commonjs/modules/data-sync/utils/hourly-series.js +57 -0
  83. package/lib/commonjs/modules/data-sync/utils/hourly-series.js.map +1 -0
  84. package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js +13 -0
  85. package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
  86. package/lib/module/modules/bt-device/constants/device-model.js +77 -0
  87. package/lib/module/modules/bt-device/constants/device-model.js.map +1 -0
  88. package/lib/module/modules/bt-device/constants/supported-devices.js +21 -1
  89. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  90. package/lib/module/modules/bt-device/hooks/use-supported-devices.js +12 -0
  91. package/lib/module/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
  92. package/lib/module/modules/bt-device/index.js +4 -0
  93. package/lib/module/modules/bt-device/index.js.map +1 -1
  94. package/lib/module/modules/bt-device/types/device-kind.js +2 -0
  95. package/lib/module/modules/bt-device/types/device-kind.js.map +1 -0
  96. package/lib/module/modules/bt-device/utils/device-query.js +50 -0
  97. package/lib/module/modules/bt-device/utils/device-query.js.map +1 -0
  98. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
  99. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  100. package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
  101. package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
  102. package/lib/module/modules/bt-management/constants/measurement-feedback.js +22 -0
  103. package/lib/module/modules/bt-management/constants/measurement-feedback.js.map +1 -0
  104. package/lib/module/modules/bt-management/hooks/use-bt-device.js +9 -8
  105. package/lib/module/modules/bt-management/hooks/use-bt-device.js.map +1 -1
  106. package/lib/module/modules/bt-management/hooks/use-bt-devices.js +37 -0
  107. package/lib/module/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
  108. package/lib/module/modules/bt-management/hooks/use-open-series.js +13 -0
  109. package/lib/module/modules/bt-management/hooks/use-open-series.js.map +1 -0
  110. package/lib/module/modules/bt-management/hooks/use-queued-results.js +10 -0
  111. package/lib/module/modules/bt-management/hooks/use-queued-results.js.map +1 -0
  112. package/lib/module/modules/bt-management/index.js +5 -0
  113. package/lib/module/modules/bt-management/index.js.map +1 -1
  114. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +34 -1
  115. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  116. package/lib/module/modules/bt-management/services/bt-manager.js +23 -1
  117. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  118. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
  119. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  120. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
  121. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  122. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -3
  123. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  124. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +10 -1
  125. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  126. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +6 -0
  127. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  128. package/lib/module/modules/bt-management/services/devices/f4/f4.device.js +4 -3
  129. package/lib/module/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
  130. package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
  131. package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
  132. package/lib/module/modules/bt-management/services/series-recorder.js +173 -0
  133. package/lib/module/modules/bt-management/services/series-recorder.js.map +1 -0
  134. package/lib/module/modules/bt-management/services/series-slots.js +85 -0
  135. package/lib/module/modules/bt-management/services/series-slots.js.map +1 -0
  136. package/lib/module/modules/bt-management/types/measurement-series.js +4 -0
  137. package/lib/module/modules/bt-management/types/measurement-series.js.map +1 -0
  138. package/lib/module/modules/data-sync/constants.js +14 -1
  139. package/lib/module/modules/data-sync/constants.js.map +1 -1
  140. package/lib/module/modules/data-sync/services/base-health-sync-service.js +6 -5
  141. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  142. package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -8
  143. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  144. package/lib/module/modules/data-sync/services/managers/storage-manager.js +10 -4
  145. package/lib/module/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  146. package/lib/module/modules/data-sync/types/health-data.js +6 -1
  147. package/lib/module/modules/data-sync/types/health-data.js.map +1 -1
  148. package/lib/module/modules/data-sync/types/health-sync-keys.js.map +1 -1
  149. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +19 -6
  150. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  151. package/lib/module/modules/data-sync/utils/fhir-systems.js +4 -1
  152. package/lib/module/modules/data-sync/utils/fhir-systems.js.map +1 -1
  153. package/lib/module/modules/data-sync/utils/generate-observation-entry.js +10 -5
  154. package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  155. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +16 -11
  156. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  157. package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js +7 -2
  158. package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
  159. package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
  160. package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
  161. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -2
  162. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  163. package/lib/module/modules/data-sync/utils/health-connect-series.js +97 -0
  164. package/lib/module/modules/data-sync/utils/health-connect-series.js.map +1 -0
  165. package/lib/module/modules/data-sync/utils/healthkit-series.js +40 -0
  166. package/lib/module/modules/data-sync/utils/healthkit-series.js.map +1 -0
  167. package/lib/module/modules/data-sync/utils/hourly-series.js +52 -0
  168. package/lib/module/modules/data-sync/utils/hourly-series.js.map +1 -0
  169. package/lib/module/modules/data-sync/utils/replaces-saved-observation.js +8 -0
  170. package/lib/module/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
  171. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts +35 -0
  172. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
  174. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
  176. package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +5 -0
  178. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts +16 -0
  180. package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts +49 -0
  182. package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.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/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
  185. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
  186. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
  188. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
  192. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
  194. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
  196. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +11 -1
  198. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +13 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  201. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts +56 -0
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts +36 -0
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +7 -0
  214. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts +26 -0
  216. package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +6 -0
  218. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +6 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts +11 -1
  222. package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
  225. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -1
  227. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  228. package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts +15 -2
  229. package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts +3 -1
  231. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +5 -1
  233. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts +3 -1
  235. package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
  237. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
  239. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
  242. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -2
  244. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
  246. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
  248. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
  250. package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
  252. package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
  253. package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts +35 -0
  254. package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
  255. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
  256. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  257. package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
  258. package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
  259. package/lib/typescript/module/src/modules/bt-device/index.d.ts +5 -0
  260. package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
  261. package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts +16 -0
  262. package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
  263. package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts +49 -0
  264. package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
  265. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  266. package/lib/typescript/module/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
  267. package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
  268. package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
  269. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
  270. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
  271. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
  272. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
  273. package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
  274. package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
  275. package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
  276. package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
  277. package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
  278. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  279. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +11 -1
  280. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  281. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +13 -0
  282. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  283. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  284. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  285. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  286. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  287. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  288. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  289. package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
  290. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
  291. package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts +56 -0
  292. package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
  293. package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts +36 -0
  294. package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
  295. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +7 -0
  296. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  297. package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts +26 -0
  298. package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
  299. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +6 -0
  300. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  301. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +6 -1
  302. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
  303. package/lib/typescript/module/src/modules/data-sync/constants.d.ts +11 -1
  304. package/lib/typescript/module/src/modules/data-sync/constants.d.ts.map +1 -1
  305. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  306. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
  307. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  308. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -1
  309. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  310. package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts +15 -2
  311. package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts.map +1 -1
  312. package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts +3 -1
  313. package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
  314. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +5 -1
  315. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  316. package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts +3 -1
  317. package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
  318. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
  319. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  320. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
  321. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  322. package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
  323. package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
  324. package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
  325. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -2
  326. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  327. package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
  328. package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
  329. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
  330. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
  331. package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
  332. package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
  333. package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
  334. package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
  335. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","CaseType","FrameReadStatus","FrameParser","MeasurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","measurementState","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","frameLength","dependentData","parsingCase","caseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","MeasurementFeedbackKey","CaseType","FrameReadStatus","FrameParser","MeasurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","measurementState","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","frameLength","dependentData","parsingCase","caseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","CORRUPT_FRAME","cause","message","setTimeout","STUCK","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","COMMAND_TIMEOUT"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
@@ -91,6 +91,9 @@ export class BTManagedDevice {
91
91
 
92
92
  /** Flushes protocol-level session state before a connection is torn down. */
93
93
  handleMeasurementEnd() {}
94
+ /** How results of this kind are reported. */
95
+ policyFor = measurementTypeKey => this.resultPolicy?.byMeasurement?.[measurementTypeKey] ?? this.resultPolicy?.default ?? "all";
96
+
94
97
  /** Reports a sequencer's result; the cast to this device's result type lives here once. */
95
98
  reportResult = result => this.onResult?.(result);
96
99
  constructor(device, {
@@ -98,6 +101,7 @@ export class BTManagedDevice {
98
101
  onError: onErrorCallback,
99
102
  onDeviceStatusChanged: onDeviceStatusChangedCallback,
100
103
  onResult: onResultCallback,
104
+ onSeriesValue: onSeriesValueCallback,
101
105
  onConnectionEvent: onConnectionEventCallback,
102
106
  onDeviceDisconnected: onDeviceDisconnectedCallback,
103
107
  oneReadingPerConnection,
@@ -158,7 +162,12 @@ export class BTManagedDevice {
158
162
  ...data
159
163
  }) => {
160
164
  const measurementTypeKey = data.measurementTypeKey;
161
- const policy = this.resultPolicy?.byMeasurement?.[measurementTypeKey] ?? this.resultPolicy?.default ?? "all";
165
+ const policy = this.policyFor(measurementTypeKey);
166
+
167
+ // A live value of a kind kept as a series goes to the series; a stored record is reported as it is.
168
+ if (policy === "series" && onSeriesValueCallback?.(this.deviceData, data)) {
169
+ return;
170
+ }
162
171
  if (this.oneReadingPerConnection && !this.resultPolicy && this.resultReportedThisConnection) {
163
172
  return;
164
173
  }
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokMetric","BUILT_IN_MEASUREMENT_TYPES","findDeviceVariant","toBluetoothError","clockSyncCapabilityForDevice","DeviceStatus","dailyTotalDay","errorCallbackPayload","createStableResultId","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","mainServices","length","deviceData","name","reportsBondedEvent","handleSuccessResult","_successResult","_collectedValues","handleMeasurementEnd","reportResult","result","onResult","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","id","localName","manufacturerData","sn","measurementTypes","clockSync","variant","String","manufacturer","model","status","measurementTypeKey","error","normalized","errorCode","code","caseType","_","data","policy","byMeasurement","default","has","add","day","Date","now","key","kind","progress","current","Object","defineProperty","value","enumerable","writable","destroy","connectionHandler","dataProcessor","undefined","disconnect","cancelConnection","connectInternal","clear","sequencer","createCommandSequencer","isHistoryTransfer","onStatusChanged","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","Error","connectionPromise","resolve","finally"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokMetric","BUILT_IN_MEASUREMENT_TYPES","findDeviceVariant","toBluetoothError","clockSyncCapabilityForDevice","DeviceStatus","dailyTotalDay","errorCallbackPayload","createStableResultId","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","mainServices","length","deviceData","name","reportsBondedEvent","handleSuccessResult","_successResult","_collectedValues","handleMeasurementEnd","policyFor","measurementTypeKey","resultPolicy","byMeasurement","default","reportResult","result","onResult","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResultCallback","onSeriesValue","onSeriesValueCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","id","localName","manufacturerData","sn","measurementTypes","clockSync","variant","String","manufacturer","model","status","error","normalized","errorCode","code","caseType","_","data","policy","has","add","day","Date","now","key","kind","progress","current","Object","defineProperty","value","enumerable","writable","destroy","connectionHandler","dataProcessor","undefined","disconnect","cancelConnection","connectInternal","clear","sequencer","createCommandSequencer","isHistoryTransfer","onStatusChanged","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","Error","connectionPromise","resolve","finally"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":";;AAAA;;AAKA,SAASA,YAAY,QAAQ,yCAAsC;AACnE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,qCAAkC;AACrF,SAASC,0BAA0B,QAAQ,+CAA4C;AACvF,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,gBAAgB,QAAQ,gCAA6B;AAC9D,SAASC,4BAA4B,QAAQ,2BAAwB;AAQrE,SAASC,YAAY,QAAQ,8BAA2B;AAQxD,SAASC,aAAa,QAAQ,gCAA6B;AAC3D,SAASC,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,oBAAoB,QAAQ,gCAA6B;AAClE,SAASC,4BAA4B,QAAQ,gDAA6C;AAE1F,SAASC,mBAAmB,QAAQ,4BAAyB;AAC7D,SAASC,eAAe,QAAQ,wBAAqB;AACrD,SAASC,mBAAmB,QAAQ,gCAA6B;AAEjE,OAAO,MAAeC,eAAe,CAErC;EAKUC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,KAAK;EAMjBC,4BAA4B,GAAG,KAAK;EACpCC,qBAAqB,GAAG,KAAK;EAC7BC,mBAAmB,GAAG,KAAK;EAC3BC,wBAAwB,GAAG,IAAIC,GAAG,CAAqB,CAAC;EACxDC,mBAAmB,GAAG,IAAID,GAAG,CAAS,CAAC;EACvCE,kBAAkB,GAAG,CAAC;;EAG9B;AACF;AACA;;EAGE;AACF;AACA;AACA;EACYC,+BAA+BA,CAAA,EAAyB;IAChE,MAAMC,QAAQ,GAAGf,4BAA4B,CAAC,IAAI,CAACgB,YAAY,CAAC;IAEhE,OAAOD,QAAQ,CAACE,MAAM,GAAG,CAAC,GACtBF,QAAQ,GACR,CAAC,IAAIvB,0BAA0B,CAAC,IAAI,CAAC0B,UAAU,CAACC,IAAI,CAAsB,IAAI,EAAE,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;;EAGE;EACUC,kBAAkB,GAAG,KAAK;;EAEpC;AACF;AACA;AACA;AACA;AACA;;EAIE;EACUC,mBAAmBA,CAC3BC,cAAoD,EACpDC,gBAA0B,EACV;IAChB;EACF;;EAEA;EACUC,oBAAoBA,CAAA,EAAS,CAAC;EAaxC;EACUC,SAAS,GAAIC,kBAAsC,IAC3D,IAAI,CAACC,YAAY,EAAEC,aAAa,GAAGF,kBAAkB,CAAC,IACtD,IAAI,CAACC,YAAY,EAAEE,OAAO,IAC1B,KAAK;;EAEP;EACUC,YAAY,GAAIC,MAAc,IACtC,IAAI,CAACC,QAAQ,GACXD,MACF,CAAC;EAEHE,WAAWA,CACOC,MAAc,EAE9B;IACEC,UAAU;IACVC,OAAO,EAAEC,eAAe;IACxBC,qBAAqB,EAAEC,6BAA6B;IACpDP,QAAQ,EAAEQ,gBAAgB;IAC1BC,aAAa,EAAEC,qBAAqB;IACpCC,iBAAiB,EAAEC,yBAAyB;IAC5CC,oBAAoB,EAAEC,4BAA4B;IAClDC,uBAAuB;IACvBpB;EACqB,CAAC,EACxB;IAAA,KAbgBO,MAAc,GAAdA,MAAc;IAc9B,IAAI,CAACa,uBAAuB,GAAGA,uBAAuB,KAAK,IAAI;IAC/D,IAAI,CAACpB,YAAY,GAAGA,YAAY;IAChCtC,YAAY,CAAC,MAAM,EAAE,sCAAsC,CAAC;IAC5D,IAAI,CAAC6B,UAAU,GAAG;MAChB8B,EAAE,EAAEd,MAAM,CAACc,EAAE;MACb7B,IAAI,EAAEgB,UAAU;MAChBc,SAAS,EAAEf,MAAM,CAACe,SAAS,IAAI,EAAE;MACjCC,gBAAgB,EAAEhB,MAAM,CAACgB,gBAAgB,IAAI,EAAE;MAC/CC,EAAE,EAAE,EAAE;MAEN;MACAC,gBAAgB,EAAE,EAAE;MACpBC,SAAS,EAAE1D,4BAA4B,CAACwC,UAAU;IACpD,CAAC;;IAED;IACA,MAAMmB,OAAO,GACX7D,iBAAiB,CAAC8D,MAAM,CAACpB,UAAU,CAAC,EAAED,MAAM,CAACf,IAAI,IAAI,EAAE,CAAC,IACxD1B,iBAAiB,CAAC8D,MAAM,CAACpB,UAAU,CAAC,EAAED,MAAM,CAACe,SAAS,IAAI,EAAE,CAAC;IAE/D,IAAIK,OAAO,EAAE;MACX,IAAI,CAACpC,UAAU,CAACoC,OAAO,GAAG;QACxBE,YAAY,EAAEF,OAAO,CAACE,YAAY;QAClCC,KAAK,EAAEH,OAAO,CAACG;MACjB,CAAC;IACH;IAEA,IAAI,CAACT,EAAE,GAAGd,MAAM,CAACc,EAAE;IAEnB,IAAI,CAACV,qBAAqB,GAAG,CAC3BoB,MAAoB,EACpBhC,kBAAuC,KACpC;MACHrC,YAAY,CACV,MAAM,EACN,oDAAoD,EACpD;QACEqE,MAAM;QACNhC;MACF,CACF,CAAC;MACDpC,gBAAgB,CAAC,uBAAuB,EAAE;QACxCmE,KAAK,EAAE,IAAI,CAACvC,UAAU,CAACC,IAAI;QAC3BuC,MAAM;QACNhC,kBAAkB,EAAEA,kBAAkB,IAAI;MAC5C,CAAC,CAAC;MACFa,6BAA6B,GAAG;QAC9BrB,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BwC,MAAM,EAAEA,MAAM;QACdhC;MACF,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACU,OAAO,GAAIuB,KAAgC,IAAK;MACnD,MAAMC,UAAU,GAAGlE,gBAAgB,CAACiE,KAAK,CAAC;MAE1CtE,YAAY,CAAC,OAAO,EAAE,sCAAsC,EAAE;QAC5DwE,SAAS,EAAED,UAAU,CAACE;MACxB,CAAC,CAAC;MAEFzB,eAAe,GAAG;QAChBnB,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3B,GAAGpB,oBAAoB,CAAC8D,UAAU;MACpC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC5B,QAAQ,GAAG,CAAC;MACf+B,QAAQ,EAAEC,CAAC;MACX,GAAGC;IAC2B,CAAC,KAAK;MACpC,MAAMvC,kBAAkB,GAAGuC,IAAI,CAACvC,kBAAkB;MAClD,MAAMwC,MAAM,GAAG,IAAI,CAACzC,SAAS,CAACC,kBAAkB,CAAC;;MAEjD;MACA,IAAIwC,MAAM,KAAK,QAAQ,IAAIxB,qBAAqB,GAAG,IAAI,CAACxB,UAAU,EAAE+C,IAAmB,CAAC,EAAE;QACxF;MACF;MAEA,IACE,IAAI,CAAClB,uBAAuB,IAC5B,CAAC,IAAI,CAACpB,YAAY,IAClB,IAAI,CAACpB,4BAA4B,EACjC;QACA;MACF;MAEA,IAAI2D,MAAM,KAAK,uCAAuC,EAAE;QACtD,IAAI,IAAI,CAACxD,wBAAwB,CAACyD,GAAG,CAACzC,kBAAkB,CAAC,EAAE;UACzD;QACF;QACA,IAAI,CAAChB,wBAAwB,CAAC0D,GAAG,CAAC1C,kBAAkB,CAAC;MACvD;MAEA,IAAIwC,MAAM,KAAK,mBAAmB,EAAE;QAClC;QACA;QACA,MAAMG,GAAG,GAAGxE,aAAa,CAACoE,IAAI,EAAEK,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAIF,GAAG,KAAK,QAAQ,EAAE;UACpB;QACF;QAEA,IAAIA,GAAG,EAAE;UACP,MAAMG,GAAG,GAAG,GAAG9C,kBAAkB,IAAI2C,GAAG,EAAE;UAE1C,IAAI,IAAI,CAACzD,mBAAmB,CAACuD,GAAG,CAACK,GAAG,CAAC,EAAE;YACrC;UACF;UAEA,IAAI,CAAC5D,mBAAmB,CAACwD,GAAG,CAACI,GAAG,CAAC;QACnC;MACF;MAEA,IAAI,CAACjE,4BAA4B,GAAG,IAAI;MACxC,IAAI,CAACM,kBAAkB,IAAI,CAAC;MAC5BtB,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,EAAE;QAC5CkE,KAAK,EAAE,IAAI,CAACvC,UAAU,CAACC,IAAI;QAC3BO;MACF,CAAC,CAAC;MACFpC,gBAAgB,CAAC,kBAAkB,EAAE;QACnCmE,KAAK,EAAE,IAAI,CAACvC,UAAU,CAACC,IAAI;QAC3BO;MACF,CAAC,CAAC;MACFrC,YAAY,CAAC,MAAM,EAAE,uCAAuC,EAAE;QAC5DqC;MACF,CAAC,CAAC;MACF,IAAI,IAAI,CAAClB,qBAAqB,EAAE;QAC9BoC,yBAAyB,GAAG;UAC1B1B,UAAU,EAAE,IAAI,CAACA,UAAU;UAC3BuD,IAAI,EAAE,kBAAkB;UACxBC,QAAQ,EAAE;YAAEC,OAAO,EAAE,IAAI,CAAC9D;UAAmB;QAC/C,CAAC,CAAC;MACJ;MACA,MAAMkB,MAAM,GAAG;QAAEb,UAAU,EAAE,IAAI,CAACA,UAAU;QAAE+C;MAAK,CAIlD;MAGDW,MAAM,CAACC,cAAc,CAAC9C,MAAM,EAAE,IAAI,EAAE;QAClC+C,KAAK,EAAE/E,oBAAoB,CAAC,IAAI,CAACmB,UAAU,EAAE+C,IAAmB,CAAC;QACjEc,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAE;MACZ,CAAC,CAAC;MACFxC,gBAAgB,GAAGT,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,CAACc,oBAAoB,GAAGC,4BAA4B;IACxD,IAAI,CAACH,iBAAiB,GAAGC,yBAAyB;EACpD;EAEOqC,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAAC3E,SAAS,GAAG,IAAI;IACrB,IAAI,CAACkB,oBAAoB,CAAC,CAAC;IAC3BnC,YAAY,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACrD,IAAI,CAAC6F,iBAAiB,EAAED,OAAO,CAAC,CAAC;IACjC,IAAI,CAACE,aAAa,EAAEF,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC7C,OAAO,GAAGgD,SAAS;IACxB,IAAI,CAAC9C,qBAAqB,GAAG8C,SAAS;IACtC,IAAI,CAACpD,QAAQ,GAAGoD,SAAS;IACzB,IAAI,CAACzC,iBAAiB,GAAGyC,SAAS;EACpC,CAAC;;EAED;EACOC,UAAU,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAI,CAAChF,SAAS,GAAG,KAAK;IACtB,IAAI,CAAC4E,OAAO,CAAC,CAAC;IAEd,IAAI;MACF,MAAM,IAAI,CAAC/C,MAAM,CAACoD,gBAAgB,CAAC,CAAC;IACtC,CAAC,CAAC,OAAO3B,KAAK,EAAE;MACd,MAAMC,UAAU,GAAGlE,gBAAgB,CAACiE,KAAK,CAAC;MAE1CtE,YAAY,CAAC,MAAM,EAAE,6CAA6C,EAAE;QAClEwE,SAAS,EAAED,UAAU,CAACE;MACxB,CAAC,CAAC;IACJ;EACF,CAAC;EAEOyB,eAAe,GAAG,MAAAA,CAAA,KAAY;IACpC,IAAI,CAAChF,4BAA4B,GAAG,KAAK;IACzC,IAAI,CAACG,wBAAwB,CAAC8E,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC5E,mBAAmB,CAAC4E,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC3E,kBAAkB,GAAG,CAAC;;IAE3B;IACA,IAAI,CAACK,UAAU,CAACkC,gBAAgB,GAAG,IAAI,CAACtC,+BAA+B,CAAC,CAAC;IAEzE,MAAM2E,SAA2B,GAC/B,IAAI,CAACC,sBAAsB,GAAG,CAAC,IAAIvF,mBAAmB,CAAC,IAAI,CAACa,YAAY,CAAC;IAE3E,IAAI,CAACR,qBAAqB,GAAGiF,SAAS,CAACE,iBAAiB,GAAG,CAAC,KAAK,IAAI;IAErE,IAAI,CAACT,iBAAiB,GAAG,IAAIjF,mBAAmB,CAC9C,IAAI,CAACiC,MAAM,EACX,IAAI,CAAClB,YAAY,EACjB;MACE4E,eAAe,EAAGlC,MAAM,IAAK;QAC3B,IAAI,CAACrD,SAAS,GAAGqD,MAAM,KAAK9D,YAAY,CAACiG,SAAS;QAClD,IAAI,CAACvD,qBAAqB,EAAEwD,IAAI,CAAC,IAAI,CAAC,CAACpC,MAAM,CAAC;QAC9C,IACEA,MAAM,KAAK9D,YAAY,CAACiG,SAAS,IACjC,IAAI,CAACzE,kBAAkB,IACvB,CAAC,IAAI,CAACX,mBAAmB,EACzB;UACA,IAAI,CAACA,mBAAmB,GAAG,IAAI;UAC/B,IAAI,CAACkC,iBAAiB,GAAG;YACvBzB,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BuD,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;QACA,IAAIf,MAAM,KAAK9D,YAAY,CAACiG,SAAS,EAAE;UACrC,IAAI,CAAClD,iBAAiB,GAAG;YACvBzB,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BuD,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;QACA,IAAIf,MAAM,KAAK9D,YAAY,CAACmG,YAAY,EAAE;UACxC,IAAI,CAAClD,oBAAoB,GAAG,CAAC;UAC7B,IAAI,CAACoC,OAAO,CAAC,CAAC;QAChB;MACF,CAAC;MACD7C,OAAO,EAAGuB,KAAK,IAAK,IAAI,CAACvB,OAAO,EAAE0D,IAAI,CAAC,IAAI,CAAC,CAACnC,KAAK,CAAC;MACnDhB,iBAAiB,EAAGqD,KAAK,IACvB,IAAI,CAACrD,iBAAiB,GAAG;QAAEzB,UAAU,EAAE,IAAI,CAACA,UAAU;QAAE,GAAG8E;MAAM,CAAC,CAAC;MACrEC,cAAc,EAAEA,CAACC,IAAI,EAAEC,QAAQ,KAAK;QAClC,IAAI,CAAChB,aAAa,EAAEiB,WAAW,CAACF,IAAI,EAAEC,QAAQ,CAAC;MACjD,CAAC;MACDE,YAAY,EAAGC,IAAI,IAAK;QACtB,IAAIA,IAAI,CAACnF,IAAI,EAAE;UACb,IAAI,CAACD,UAAU,CAAC+B,SAAS,GAAGqD,IAAI,CAACnF,IAAI;QACvC;QACA,IAAImF,IAAI,CAACC,gBAAgB,EAAE;UACzB,IAAI,CAACrF,UAAU,CAACqF,gBAAgB,GAAGD,IAAI,CAACC,gBAAgB;QAC1D;QACA,IAAID,IAAI,CAAC7C,KAAK,EAAE;UACd,IAAI,CAACvC,UAAU,CAACuC,KAAK,GAAG6C,IAAI,CAAC7C,KAAK;QACpC;QACA,IAAI6C,IAAI,CAACE,YAAY,EAAE;UACrB,IAAI,CAACtF,UAAU,CAACiC,EAAE,GAAGmD,IAAI,CAACE,YAAY;QACxC;MACF,CAAC;MACDC,oBAAoB,EAAGC,KAAK,IAAKjB,SAAS,CAACgB,oBAAoB,GAAGC,KAAK,CAAC;MACxEC,eAAe,EAAEA,CAAA,KAAMlB,SAAS,CAACkB,eAAe,CAAC,CAAC;MAClDC,aAAa,EAAEA,CAAA,KAAM;QACnB,IAAI,CAACzB,aAAa,EAAE0B,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC1B,aAAa,EAAE2B,iBAAiB,CAAC,CAAC;MACzC,CAAC;MACDC,kBAAkB,EAAEA,CAAA,KAAMtB,SAAS,CAACsB,kBAAkB,GAAG,CAAC,IAAI;IAChE,CAAC,EACD,IAAI,CAACC,YACP,CAAC;IAED,IAAI,CAAC7B,aAAa,GAAG,IAAIjF,eAAe,CACtC,IAAI,CAACgC,MAAM,EACX,IAAI,CAAClB,YAAY,EACjB,IAAI,CAACiG,gBAAgB,EACrB;MACErB,eAAe,EAAE,IAAI,CAACtD,qBAAqB,EAAEwD,IAAI,CAAC,IAAI,CAAC;MACvDoB,aAAa,EAAE,IAAI,CAACA,aAAa,EAAEpB,IAAI,CAAC,IAAI,CAAC;MAC7CqB,gBAAgB,EAAE,IAAI,CAAC3F,oBAAoB,CAACsE,IAAI,CAAC,IAAI,CAAC;MACtDsB,eAAe,EAAE,IAAI,CAACA,eAAe,EAAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,CAAC;MAClE9D,QAAQ,EAAEA,CAACqF,UAAU,EAAEC,eAAe,KAAK;QACzC,IAAI;UACF,OAAO,IAAI,CAACjG,mBAAmB,CAACyE,IAAI,CAAC,IAAI,CAAC,CACxCuB,UAAU,EACVC,eACF,CAAC;QACH,CAAC,CAAC,OAAO3D,KAAK,EAAE;UACd,IAAI,CAACvB,OAAO,EAAE0D,IAAI,CAAC,IAAI,CAAC,CAACnC,KAAyB,CAAC;QACrD;MACF,CAAC;MACD4D,WAAW,EAAEA,CAACC,KAAK,EAAEtB,IAAI,KAAKT,SAAS,CAAC8B,WAAW,CAACC,KAAK,EAAEtB,IAAI,CAAC;MAChEuB,YAAY,EAAGC,QAAQ,IACrB,KAAK,IAAI,CAACxC,iBAAiB,EAAEuC,YAAY,CAACC,QAAQ,CAAC;MACrDC,gBAAgB,EAAEA,CAAA,KAAMlC,SAAS,CAACkC,gBAAgB,GAAG,CAAC;MACtDC,gBAAgB,EAAEA,CAAA,KAAMnC,SAAS,CAACmC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5DC,eAAe,EAAGL,KAAK,IACrB/B,SAAS,CAACoC,eAAe,GAAGL,KAAK,CAAC,IAAI,UAAU;MAClDpF,OAAO,EAAE,IAAI,CAACA,OAAO,EAAE0D,IAAI,CAAC,IAAI,CAAC;MACjCgC,qBAAqB,EAAE,IAAI,CAACA,qBAAqB,EAAEhC,IAAI,CAAC,IAAI;IAC9D,CAAC,EACD,IAAI,CAACiC,WACP,CAAC;IAED,MAAM,IAAI,CAAC7C,iBAAiB,CAAC8C,OAAO,CAAC,CAAC;EACxC,CAAC;EAEMA,OAAO,GAAGA,CAAA,KAAqB;IACpC,IAAI,IAAI,CAAC1H,SAAS,EAAE;MAClB,OAAO2H,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjF;IAEA,IAAI,IAAI,CAACC,iBAAiB,EAAE;MAC1B,OAAO,IAAI,CAACA,iBAAiB;IAC/B;IAEA,IAAI,IAAI,CAAC/H,SAAS,EAAE;MAClB,OAAO4H,OAAO,CAACI,OAAO,CAAC,CAAC;IAC1B;IAEA,IAAI,CAACD,iBAAiB,GAAG,IAAI,CAAC7C,eAAe,CAAC,CAAC,CAAC+C,OAAO,CAAC,MAAM;MAC5D,IAAI,CAACF,iBAAiB,GAAGhD,SAAS;IACpC,CAAC,CAAC;IAEF,OAAO,IAAI,CAACgD,iBAAiB;EAC/B,CAAC;AACH","ignoreList":[]}
@@ -293,6 +293,12 @@ export class CustomDevice extends BTManagedDevice {
293
293
  if (rejection) {
294
294
  return;
295
295
  }
296
+
297
+ // A kind kept as a series records every sample; the others make up the session's summary.
298
+ if (this.policyFor(measurement.measurementTypeKey) === "series") {
299
+ this.onResult?.(reading);
300
+ return;
301
+ }
296
302
  const key = String(measurement.measurementTypeKey);
297
303
  const existing = this.sessionAggregates.get(key);
298
304
  const sums = existing?.sums ?? new Map();
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","preferredMtu","declareLepuProtocol","declareTmbProtocol","frames","forEach","frame","set","tmb","createCommandSequencer","protocol","startBytes","fileTransfer","clear","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","add","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","preferredMtu","declareLepuProtocol","declareTmbProtocol","frames","forEach","frame","set","tmb","createCommandSequencer","protocol","startBytes","fileTransfer","clear","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","add","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { MeasurementFeedbackKey } from "../../../constants/measurement-feedback.js";
3
4
  import { CaseType } from "../../../types/case-type.js";
4
5
  import { BTManagedDevice } from "../bt-managed-device.js";
5
6
  import { f4MainServices } from "./f4.main-services.js";
@@ -58,13 +59,13 @@ export class F4Device extends BTManagedDevice {
58
59
  }
59
60
  checkIfHasError(successResult) {
60
61
  if (successResult.bodyWeight === 0) {
61
- return "feedback-messages.measurement.device-interrupted";
62
+ return MeasurementFeedbackKey.DEVICE_INTERRUPTED;
62
63
  }
63
64
  if (successResult.bodyWeight === undefined) {
64
- return "feedback-messages.measurement.device-error";
65
+ return MeasurementFeedbackKey.DEVICE_ERROR;
65
66
  }
66
67
  if (successResult.bodyWeight > 300) {
67
- return "feedback-messages.measurement.device-error";
68
+ return MeasurementFeedbackKey.DEVICE_ERROR;
68
69
  }
69
70
  return undefined;
70
71
  }
@@ -1 +1 @@
1
- {"version":3,"names":["CaseType","BTManagedDevice","f4MainServices","F4Device","mainServices","validatePackage","handleDependentResult","parsingCase","measurementTypeKey","parsedData","caseType","bodyWeight","OTHER","STREAM","stuckDataTimeout","handleSuccessResult","successResult","RESULT","onError","Error","handleBodyWeightResult","error","checkIfHasError","onResult","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f4/f4.device.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,6BAA0B;AAMnD,SAASC,eAAe,QAAQ,yBAAsB;AAEtD,SAASC,cAAc,QAAQ,uBAAoB;AAOnD,OAAO,MAAMC,QAAQ,SAASF,eAAe,CAAiB;EAClDG,YAAY,GAAeF,cAAc;EAEzCG,eAAe,GAA6CA,CAAA,KAAM;IAC1E,OAAO,IAAI;EACb,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACYC,qBAAqB,GAM3BA,CAAC;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;EAAW,CAAC,KAAK;IACvD,MAAMC,QAAQ,GACZD,UAAU,CAACE,UAAU,KAAK,CAAC,GAAGX,QAAQ,CAACY,KAAK,GAAGZ,QAAQ,CAACa,MAAM;IAEhE,OAAO;MACLN,WAAW,EAAE;QACX,GAAGA,WAAW;QACdG;MACF,CAAC;MACDF,kBAAkB;MAClBC;IACF,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;EACYK,gBAAgB,GAAW,SAAS;EAEpCC,mBAAmBA,CAC3BC,aAEC,EACe;IAChB,IAAIA,aAAa,CAACN,QAAQ,KAAKV,QAAQ,CAACiB,MAAM,EAAE;MAC9C;IACF;IAEA,IAAI,CAACD,aAAa,CAACR,kBAAkB,EAAE;MACrC,IAAI,CAACU,OAAO,GACV,IAAIC,KAAK,CACP,0CAA0CH,aAAa,CAACN,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACU,sBAAsB,CAACJ,aAAa,CAAC;EAC5C;EAEQI,sBAAsBA,CAC5BJ,aAA6D,EACvD;IACN,MAAMK,KAAK,GAAG,IAAI,CAACC,eAAe,CAACN,aAAa,CAAC;IAEjD,IAAIK,KAAK,EAAE;MACT,IAAI,CAACH,OAAO,GAAGG,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,CAACE,QAAQ,GAAGP,aAAa,CAAC;EAChC;EAEQM,eAAeA,CACrBN,aAA6D,EACzC;IACpB,IAAIA,aAAa,CAACL,UAAU,KAAK,CAAC,EAAE;MAClC,OAAO,kDAAkD;IAC3D;IAEA,IAAIK,aAAa,CAACL,UAAU,KAAKa,SAAS,EAAE;MAC1C,OAAO,4CAA4C;IACrD;IAEA,IAAIR,aAAa,CAACL,UAAU,GAAG,GAAG,EAAE;MAClC,OAAO,4CAA4C;IACrD;IAEA,OAAOa,SAAS;EAClB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementFeedbackKey","CaseType","BTManagedDevice","f4MainServices","F4Device","mainServices","validatePackage","handleDependentResult","parsingCase","measurementTypeKey","parsedData","caseType","bodyWeight","OTHER","STREAM","stuckDataTimeout","handleSuccessResult","successResult","RESULT","onError","Error","handleBodyWeightResult","error","checkIfHasError","onResult","DEVICE_INTERRUPTED","undefined","DEVICE_ERROR"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/f4/f4.device.ts"],"mappings":";;AAEA,SAASA,sBAAsB,QAAQ,4CAAyC;AAChF,SAASC,QAAQ,QAAQ,6BAA0B;AAMnD,SAASC,eAAe,QAAQ,yBAAsB;AAEtD,SAASC,cAAc,QAAQ,uBAAoB;AAOnD,OAAO,MAAMC,QAAQ,SAASF,eAAe,CAAiB;EAClDG,YAAY,GAAeF,cAAc;EAEzCG,eAAe,GAA6CA,CAAA,KAAM;IAC1E,OAAO,IAAI;EACb,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACYC,qBAAqB,GAM3BA,CAAC;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;EAAW,CAAC,KAAK;IACvD,MAAMC,QAAQ,GACZD,UAAU,CAACE,UAAU,KAAK,CAAC,GAAGX,QAAQ,CAACY,KAAK,GAAGZ,QAAQ,CAACa,MAAM;IAEhE,OAAO;MACLN,WAAW,EAAE;QACX,GAAGA,WAAW;QACdG;MACF,CAAC;MACDF,kBAAkB;MAClBC;IACF,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;EACYK,gBAAgB,GAAW,SAAS;EAEpCC,mBAAmBA,CAC3BC,aAEC,EACe;IAChB,IAAIA,aAAa,CAACN,QAAQ,KAAKV,QAAQ,CAACiB,MAAM,EAAE;MAC9C;IACF;IAEA,IAAI,CAACD,aAAa,CAACR,kBAAkB,EAAE;MACrC,IAAI,CAACU,OAAO,GACV,IAAIC,KAAK,CACP,0CAA0CH,aAAa,CAACN,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACU,sBAAsB,CAACJ,aAAa,CAAC;EAC5C;EAEQI,sBAAsBA,CAC5BJ,aAA6D,EACvD;IACN,MAAMK,KAAK,GAAG,IAAI,CAACC,eAAe,CAACN,aAAa,CAAC;IAEjD,IAAIK,KAAK,EAAE;MACT,IAAI,CAACH,OAAO,GAAGG,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,CAACE,QAAQ,GAAGP,aAAa,CAAC;EAChC;EAEQM,eAAeA,CACrBN,aAA6D,EACzC;IACpB,IAAIA,aAAa,CAACL,UAAU,KAAK,CAAC,EAAE;MAClC,OAAOZ,sBAAsB,CAACyB,kBAAkB;IAClD;IAEA,IAAIR,aAAa,CAACL,UAAU,KAAKc,SAAS,EAAE;MAC1C,OAAO1B,sBAAsB,CAAC2B,YAAY;IAC5C;IAEA,IAAIV,aAAa,CAACL,UAAU,GAAG,GAAG,EAAE;MAClC,OAAOZ,sBAAsB,CAAC2B,YAAY;IAC5C;IAEA,OAAOD,SAAS;EAClB;AACF","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { MeasurementFeedbackKey } from "../../../constants/measurement-feedback.js";
3
4
  import { CaseType } from "../../../types/case-type.js";
4
5
  import { BTManagedDevice } from "../bt-managed-device.js";
5
6
  import { Pc60FwFrameReader } from "./pc60fw.frame-reader.js";
@@ -68,7 +69,7 @@ export class SPO2Device extends BTManagedDevice {
68
69
  }
69
70
  checkIfHasError(successResult) {
70
71
  if (!this.isValidParameterResult(successResult)) {
71
- return "feedback-messages.measurement.disturb-detected-error";
72
+ return MeasurementFeedbackKey.DISTURB_DETECTED;
72
73
  }
73
74
  return undefined;
74
75
  }
@@ -1 +1 @@
1
- {"version":3,"names":["CaseType","BTManagedDevice","Pc60FwFrameReader","spo2MainServices","SPO2Device","onStreamStart","mainServices","stuckDataTimeout","frameReader","validatePackage","pkg","map","b","toLowerCase","headIndex","i","length","slice","toNum","hex","parseInt","lengthByte","totalLen","handleSuccessResult","successResult","collectedValues","caseType","STREAM","OTHER","status","Number","isValidParameterResult","lastValidResult","withoutPerfusionMarker","perfusionIndex","undefined","measurementTypeKey","onError","Error","handlePulseOximeterResult","error","checkIfHasError","onResult","bloodOxygen","pulseRate","includes"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/spo/spo2.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementFeedbackKey","CaseType","BTManagedDevice","Pc60FwFrameReader","spo2MainServices","SPO2Device","onStreamStart","mainServices","stuckDataTimeout","frameReader","validatePackage","pkg","map","b","toLowerCase","headIndex","i","length","slice","toNum","hex","parseInt","lengthByte","totalLen","handleSuccessResult","successResult","collectedValues","caseType","STREAM","OTHER","status","Number","isValidParameterResult","lastValidResult","withoutPerfusionMarker","perfusionIndex","undefined","measurementTypeKey","onError","Error","handlePulseOximeterResult","error","checkIfHasError","onResult","DISTURB_DETECTED","bloodOxygen","pulseRate","includes"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/spo/spo2.device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ import { IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult } from "./series-slots.js";
4
+
5
+ // ponytail: open series are stored at most this often, so a killed app loses up to 30 s of values; store on
6
+ // every value if that matters more than the writes.
7
+ const STORE_EVERY_MS = 30_000;
8
+ const DEFAULT_SERIES_KEY = "@ovok/native/series";
9
+ /**
10
+ * Keeps each device's live values of a kind as a series of one-second slots, for a result policy of `"series"`. A
11
+ * series closes after an hour, or after 15 minutes without a value, and is then handed to the receiver as one
12
+ * result; until there is a receiver it waits, stored. It lives as long as the manager, not a connection, so a
13
+ * device that reconnects within the quarter hour carries on the same series.
14
+ */
15
+ class SeriesRecorder {
16
+ open = new Map();
17
+ closed = [];
18
+ listeners = new Set();
19
+ snapshot = [];
20
+ storing = Promise.resolve();
21
+ constructor(options = {}) {
22
+ this.options = options;
23
+ this.restored = this.restore();
24
+ }
25
+
26
+ /** Records a reading's values, or returns false for a stored record, which isn't part of a series. */
27
+ add = (deviceData, reading) => {
28
+ const now = this.now();
29
+ if (!isLive(reading, now)) {
30
+ return false;
31
+ }
32
+ const key = `${deviceData.id}:${reading.measurementTypeKey}`;
33
+ let series = this.open.get(key);
34
+ if (series && (now - series.updatedAt >= IDLE_CLOSE_MS || now - series.start >= MAX_SLOTS * SLOT_MS)) {
35
+ this.close(key);
36
+ series = undefined;
37
+ }
38
+ if (!series) {
39
+ series = {
40
+ deviceData,
41
+ measurementTypeKey: reading.measurementTypeKey,
42
+ start: Math.floor(now / SLOT_MS) * SLOT_MS,
43
+ updatedAt: now,
44
+ values: {}
45
+ };
46
+ this.open.set(key, series);
47
+ }
48
+ const current = series;
49
+ const slot = Math.floor((now - current.start) / SLOT_MS);
50
+ Object.entries(reading).forEach(([property, value]) => {
51
+ if (typeof value !== "number" || !Number.isFinite(value) || NOT_MEASURED.has(property)) {
52
+ return;
53
+ }
54
+ const values = current.values[property] ??= [];
55
+ while (values.length <= slot) {
56
+ values.push(null);
57
+ }
58
+
59
+ // Two values in one second keep the later.
60
+ values[slot] = value;
61
+ });
62
+
63
+ // The serial and model arrive after connecting, so the latest identity is the fullest.
64
+ current.deviceData = deviceData;
65
+ current.updatedAt = now;
66
+ this.changed();
67
+ this.storeSoon();
68
+ return true;
69
+ };
70
+
71
+ /** Closes every series that has gone quiet. `add` does it for its own; call this now and then for the rest. */
72
+ closeIdle = () => {
73
+ const now = this.now();
74
+ [...this.open.entries()].filter(([, series]) => now - series.updatedAt >= IDLE_CLOSE_MS).forEach(([key]) => this.close(key));
75
+ };
76
+
77
+ /** Hands closed series to `receiver`, those waiting and those still to close; `undefined` makes them wait. */
78
+ deliverTo = receiver => {
79
+ this.receiver = receiver;
80
+ void this.restored.then(() => this.deliver());
81
+ };
82
+
83
+ /** The series being recorded, for display; a new list whenever a value arrives or a series closes. */
84
+ getOpen = () => this.snapshot;
85
+ subscribe = listener => {
86
+ this.listeners.add(listener);
87
+ return () => {
88
+ this.listeners.delete(listener);
89
+ };
90
+ };
91
+
92
+ /** Stores what is open now and stops the store timer; series carry on after the next start. */
93
+ destroy = () => {
94
+ clearTimeout(this.storeTimer);
95
+ this.storeTimer = undefined;
96
+ return this.store();
97
+ };
98
+ now = () => this.options.now?.() ?? Date.now();
99
+ close = key => {
100
+ const series = this.open.get(key);
101
+ this.open.delete(key);
102
+ if (series && slotCount(series) > 0) {
103
+ this.closed.push(series);
104
+ }
105
+ this.changed();
106
+ this.deliver();
107
+ void this.store();
108
+ };
109
+ deliver = () => {
110
+ const receiver = this.receiver;
111
+ if (!receiver || this.closed.length === 0) {
112
+ return;
113
+ }
114
+ const ready = this.closed;
115
+ this.closed = [];
116
+ ready.forEach(series => receiver(toResult(series)));
117
+ void this.store();
118
+ };
119
+ changed = () => {
120
+ this.snapshot = [...this.open.values()].map(toOpenSeries);
121
+ this.listeners.forEach(listener => listener());
122
+ };
123
+ storeSoon = () => {
124
+ if (!this.options.storage || this.storeTimer) {
125
+ return;
126
+ }
127
+ this.storeTimer = setTimeout(() => {
128
+ this.storeTimer = undefined;
129
+ void this.store();
130
+ }, STORE_EVERY_MS);
131
+ };
132
+
133
+ /** Writes one at a time, so an older state never lands after a newer one. */
134
+ store = () => {
135
+ const storage = this.options.storage;
136
+ if (!storage) {
137
+ return Promise.resolve();
138
+ }
139
+ this.storing = this.storing.then(() => this.restored).then(() => {
140
+ const state = {
141
+ open: [...this.open.values()],
142
+ closed: this.closed
143
+ };
144
+ return storage.setItem(this.options.storageKey ?? DEFAULT_SERIES_KEY, JSON.stringify(state));
145
+ }).catch(() => undefined);
146
+ return this.storing;
147
+ };
148
+
149
+ /**
150
+ * Takes back what an earlier run left: closed series to hand over, and open ones, which close if they went quiet
151
+ * meanwhile. One that a device already reopened since is closed rather than merged.
152
+ */
153
+ restore = async () => {
154
+ const storage = this.options.storage;
155
+ if (!storage) {
156
+ return;
157
+ }
158
+ const state = await readStored(storage, this.options.storageKey ?? DEFAULT_SERIES_KEY);
159
+ const now = this.now();
160
+ this.closed.push(...(state?.closed ?? []));
161
+ (state?.open ?? []).forEach(series => {
162
+ const key = `${series.deviceData.id}:${series.measurementTypeKey}`;
163
+ if (this.open.has(key) || now - series.updatedAt >= IDLE_CLOSE_MS) {
164
+ this.closed.push(series);
165
+ } else {
166
+ this.open.set(key, series);
167
+ }
168
+ });
169
+ this.changed();
170
+ };
171
+ }
172
+ export { SeriesRecorder };
173
+ //# sourceMappingURL=series-recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IDLE_CLOSE_MS","isLive","MAX_SLOTS","NOT_MEASURED","readStored","slotCount","SLOT_MS","toOpenSeries","toResult","STORE_EVERY_MS","DEFAULT_SERIES_KEY","SeriesRecorder","open","Map","closed","listeners","Set","snapshot","storing","Promise","resolve","constructor","options","restored","restore","add","deviceData","reading","now","key","id","measurementTypeKey","series","get","updatedAt","start","close","undefined","Math","floor","values","set","current","slot","Object","entries","forEach","property","value","Number","isFinite","has","length","push","changed","storeSoon","closeIdle","filter","deliverTo","receiver","then","deliver","getOpen","subscribe","listener","delete","destroy","clearTimeout","storeTimer","store","Date","ready","map","storage","setTimeout","state","setItem","storageKey","JSON","stringify","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/series-recorder.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ /** One slot a second, an hour to a series, and a quarter of an hour without a value ends one. */
4
+ const SLOT_MS = 1_000;
5
+ const MAX_SLOTS = 3_600;
6
+ const IDLE_CLOSE_MS = 15 * 60_000;
7
+
8
+ /** A reading dated further from now than this is a stored record, not a live value. */
9
+ const LIVE_TOLERANCE_MS = 2 * 60_000;
10
+
11
+ /** Reading properties that describe a reading rather than measure something. */
12
+ const NOT_MEASURED = new Set(["memorySlot"]);
13
+
14
+ /** A series as it is kept and stored: plain JSON. */
15
+
16
+ /** Whether a reading is a live value rather than a stored record dated earlier. */
17
+ const isLive = (reading, now) => !(reading.recordedAt instanceof Date) || Math.abs(now - reading.recordedAt.getTime()) <= LIVE_TOLERANCE_MS;
18
+ const slotCount = series => Math.max(0, ...Object.values(series.values).map(values => values.length));
19
+
20
+ /** Every property's values, all as long as the series. */
21
+ const paddedValues = series => {
22
+ const length = slotCount(series);
23
+ return Object.fromEntries(Object.entries(series.values).map(([property, values]) => [property, [...values, ...Array(length - values.length).fill(null)]]));
24
+ };
25
+ const lastValue = values => {
26
+ for (let slot = values.length - 1; slot >= 0; slot--) {
27
+ const value = values[slot];
28
+ if (value !== null && value !== undefined) {
29
+ return value;
30
+ }
31
+ }
32
+ return undefined;
33
+ };
34
+ const lastValues = series => Object.fromEntries(Object.entries(series.values).flatMap(([property, values]) => {
35
+ const last = lastValue(values);
36
+ return last === undefined ? [] : [[property, last]];
37
+ }));
38
+ const meanValues = values => Object.fromEntries(Object.entries(values).flatMap(([property, slots]) => {
39
+ const present = slots.filter(value => value !== null);
40
+ return present.length === 0 ? [] : [[property, present.reduce((total, value) => total + value, 0) / present.length]];
41
+ }));
42
+
43
+ /** A closed series as a result: its values in `series`, their means in `data`. */
44
+ const toResult = series => {
45
+ const start = new Date(series.start);
46
+ const values = paddedValues(series);
47
+ return {
48
+ id: `series:${series.deviceData.sn || series.deviceData.id}:${series.measurementTypeKey}:${start.toISOString()}`,
49
+ deviceData: series.deviceData,
50
+ data: {
51
+ measurementTypeKey: series.measurementTypeKey,
52
+ ...meanValues(values),
53
+ recordedAt: start
54
+ },
55
+ series: {
56
+ measurementTypeKey: series.measurementTypeKey,
57
+ start,
58
+ periodMs: SLOT_MS,
59
+ values
60
+ }
61
+ };
62
+ };
63
+
64
+ /** A series being recorded, as screens see it. */
65
+ const toOpenSeries = series => ({
66
+ deviceData: series.deviceData,
67
+ measurementTypeKey: series.measurementTypeKey,
68
+ start: new Date(series.start),
69
+ periodMs: SLOT_MS,
70
+ values: paddedValues(series),
71
+ updatedAt: new Date(series.updatedAt),
72
+ latest: lastValues(series)
73
+ });
74
+
75
+ /** What an earlier run stored, or `undefined` when nothing readable was. */
76
+ const readStored = async (storage, key) => {
77
+ try {
78
+ const stored = await storage.getItem(key);
79
+ return stored ? JSON.parse(stored) : undefined;
80
+ } catch {
81
+ return undefined;
82
+ }
83
+ };
84
+ export { IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult };
85
+ //# sourceMappingURL=series-slots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SLOT_MS","MAX_SLOTS","IDLE_CLOSE_MS","LIVE_TOLERANCE_MS","NOT_MEASURED","Set","isLive","reading","now","recordedAt","Date","Math","abs","getTime","slotCount","series","max","Object","values","map","length","paddedValues","fromEntries","entries","property","Array","fill","lastValue","slot","value","undefined","lastValues","flatMap","last","meanValues","slots","present","filter","reduce","total","toResult","start","id","deviceData","sn","measurementTypeKey","toISOString","data","periodMs","toOpenSeries","updatedAt","latest","readStored","storage","key","stored","getItem","JSON","parse"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/series-slots.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=measurement-series.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/measurement-series.ts"],"mappings":"","ignoreList":[]}