@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.
- package/lib/commonjs/modules/bt-device/constants/device-model.js +85 -0
- package/lib/commonjs/modules/bt-device/constants/device-model.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +21 -1
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js +16 -0
- package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-device/index.js +117 -0
- package/lib/commonjs/modules/bt-device/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device/types/device-kind.js +2 -0
- package/lib/commonjs/modules/bt-device/types/device-kind.js.map +1 -0
- package/lib/commonjs/modules/bt-device/utils/device-query.js +57 -0
- package/lib/commonjs/modules/bt-device/utils/device-query.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
- package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js +25 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js +8 -7
- package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js +41 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-open-series.js +18 -0
- package/lib/commonjs/modules/bt-management/hooks/use-open-series.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js +15 -0
- package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js.map +1 -0
- package/lib/commonjs/modules/bt-management/index.js +60 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +34 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +23 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -3
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +10 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +6 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js +4 -3
- package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/series-recorder.js +176 -0
- package/lib/commonjs/modules/bt-management/services/series-recorder.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/series-slots.js +93 -0
- package/lib/commonjs/modules/bt-management/services/series-slots.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/measurement-series.js +6 -0
- package/lib/commonjs/modules/bt-management/types/measurement-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/constants.js +14 -1
- package/lib/commonjs/modules/data-sync/constants.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +6 -5
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +10 -7
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js +10 -4
- package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/types/health-data.js +5 -1
- package/lib/commonjs/modules/data-sync/types/health-data.js.map +1 -1
- package/lib/commonjs/modules/data-sync/types/health-sync-keys.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +19 -5
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/fhir-systems.js +4 -1
- package/lib/commonjs/modules/data-sync/utils/fhir-systems.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +10 -5
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +18 -12
- package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js +6 -1
- package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
- package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -2
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-connect-series.js +101 -0
- package/lib/commonjs/modules/data-sync/utils/health-connect-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/healthkit-series.js +44 -0
- package/lib/commonjs/modules/data-sync/utils/healthkit-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/hourly-series.js +57 -0
- package/lib/commonjs/modules/data-sync/utils/hourly-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js +13 -0
- package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
- package/lib/module/modules/bt-device/constants/device-model.js +77 -0
- package/lib/module/modules/bt-device/constants/device-model.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +21 -1
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-device/hooks/use-supported-devices.js +12 -0
- package/lib/module/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
- package/lib/module/modules/bt-device/index.js +4 -0
- package/lib/module/modules/bt-device/index.js.map +1 -1
- package/lib/module/modules/bt-device/types/device-kind.js +2 -0
- package/lib/module/modules/bt-device/types/device-kind.js.map +1 -0
- package/lib/module/modules/bt-device/utils/device-query.js +50 -0
- package/lib/module/modules/bt-device/utils/device-query.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
- package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-feedback.js +22 -0
- package/lib/module/modules/bt-management/constants/measurement-feedback.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-bt-device.js +9 -8
- package/lib/module/modules/bt-management/hooks/use-bt-device.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bt-devices.js +37 -0
- package/lib/module/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-open-series.js +13 -0
- package/lib/module/modules/bt-management/hooks/use-open-series.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-queued-results.js +10 -0
- package/lib/module/modules/bt-management/hooks/use-queued-results.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +5 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +34 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +23 -1
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -3
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +10 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +6 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/f4/f4.device.js +4 -3
- package/lib/module/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/series-recorder.js +173 -0
- package/lib/module/modules/bt-management/services/series-recorder.js.map +1 -0
- package/lib/module/modules/bt-management/services/series-slots.js +85 -0
- package/lib/module/modules/bt-management/services/series-slots.js.map +1 -0
- package/lib/module/modules/bt-management/types/measurement-series.js +4 -0
- package/lib/module/modules/bt-management/types/measurement-series.js.map +1 -0
- package/lib/module/modules/data-sync/constants.js +14 -1
- package/lib/module/modules/data-sync/constants.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +6 -5
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -8
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/storage-manager.js +10 -4
- package/lib/module/modules/data-sync/services/managers/storage-manager.js.map +1 -1
- package/lib/module/modules/data-sync/types/health-data.js +6 -1
- package/lib/module/modules/data-sync/types/health-data.js.map +1 -1
- package/lib/module/modules/data-sync/types/health-sync-keys.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +19 -6
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/module/modules/data-sync/utils/fhir-systems.js +4 -1
- package/lib/module/modules/data-sync/utils/fhir-systems.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +10 -5
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +16 -11
- package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js +7 -2
- package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
- package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -2
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-connect-series.js +97 -0
- package/lib/module/modules/data-sync/utils/health-connect-series.js.map +1 -0
- package/lib/module/modules/data-sync/utils/healthkit-series.js +40 -0
- package/lib/module/modules/data-sync/utils/healthkit-series.js.map +1 -0
- package/lib/module/modules/data-sync/utils/hourly-series.js +52 -0
- package/lib/module/modules/data-sync/utils/hourly-series.js.map +1 -0
- package/lib/module/modules/data-sync/utils/replaces-saved-observation.js +8 -0
- package/lib/module/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts +35 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts +49 -0
- package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts +56 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts +36 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts +26 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts +15 -2
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts +35 -0
- package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/index.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts +49 -0
- package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +11 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts +56 -0
- package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts +36 -0
- package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts +26 -0
- package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +6 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/constants.d.ts +11 -1
- package/lib/typescript/module/src/modules/data-sync/constants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts +15 -2
- package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +5 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
- package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
- package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -2
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
- package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
- package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { deviceMatches, findSupportedDevice, listOf } from "../../bt-device/utils/device-query.js";
|
|
4
|
+
import { useBluetoothSelector } from "./runtime-context.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Which connected or nearby devices to follow: a model key (`deviceData.name` or `.model`), or a
|
|
8
|
+
* filter over what the device is (any `DeviceFilter` field, matched against its catalog product)
|
|
9
|
+
* and its state. `{ kind: "weight-scale" }`, `{ manufacturer: "HARTMANN", status: DeviceStatus.CONNECTED }`.
|
|
10
|
+
* A device whose parser serves several products counts as the one its advertised name identifies,
|
|
11
|
+
* else as its parser's product.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/** Whether a runtime device is one `filter` asks for. */
|
|
15
|
+
const btDeviceMatches = (device, filter) => {
|
|
16
|
+
if (typeof filter === "string") {
|
|
17
|
+
return device.deviceData.name === filter || device.deviceData.model === filter;
|
|
18
|
+
}
|
|
19
|
+
const {
|
|
20
|
+
status,
|
|
21
|
+
where,
|
|
22
|
+
...catalog
|
|
23
|
+
} = filter;
|
|
24
|
+
const product = findSupportedDevice(device.deviceData);
|
|
25
|
+
return (status === undefined || device.status !== undefined && listOf(status).includes(device.status)) && (Object.keys(catalog).length === 0 || product !== undefined && deviceMatches(product, catalog)) && (where === undefined || where(device, product));
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/** The same devices, in the same order, as the same objects. */
|
|
29
|
+
const sameDevices = (previous, next) => previous.length === next.length && previous.every((item, index) => {
|
|
30
|
+
const candidate = next[index];
|
|
31
|
+
return candidate?.id === item.id && candidate === item;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
/** Every connected or nearby device `filter` asks for, in the order Bluetooth found them. */
|
|
35
|
+
const useBTDevices = filter => useBluetoothSelector(snapshot => snapshot.devices.filter(device => btDeviceMatches(device, filter)), sameDevices);
|
|
36
|
+
export { btDeviceMatches, useBTDevices };
|
|
37
|
+
//# sourceMappingURL=use-bt-devices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["deviceMatches","findSupportedDevice","listOf","useBluetoothSelector","btDeviceMatches","device","filter","deviceData","name","model","status","where","catalog","product","undefined","includes","Object","keys","length","sameDevices","previous","next","every","item","index","candidate","id","useBTDevices","snapshot","devices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-bt-devices.ts"],"mappings":";;AAEA,SACEA,aAAa,EACbC,mBAAmB,EACnBC,MAAM,QAGD,uCAAoC;AAI3C,SAAwBC,oBAAoB,QAAQ,sBAAmB;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA,MAAMC,eAAe,GAAGA,CAACC,MAAqB,EAAEC,MAAsB,KAAc;EAClF,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOD,MAAM,CAACE,UAAU,CAACC,IAAI,KAAKF,MAAM,IAAID,MAAM,CAACE,UAAU,CAACE,KAAK,KAAKH,MAAM;EAChF;EAEA,MAAM;IAAEI,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAQ,CAAC,GAAGN,MAAM;EAE5C,MAAMO,OAAO,GAAGZ,mBAAmB,CAACI,MAAM,CAACE,UAAU,CAAC;EAEtD,OACE,CAACG,MAAM,KAAKI,SAAS,IAAKT,MAAM,CAACK,MAAM,KAAKI,SAAS,IAAIZ,MAAM,CAACQ,MAAM,CAAC,CAACK,QAAQ,CAACV,MAAM,CAACK,MAAM,CAAE,MAC/FM,MAAM,CAACC,IAAI,CAACL,OAAO,CAAC,CAACM,MAAM,KAAK,CAAC,IAAKL,OAAO,KAAKC,SAAS,IAAId,aAAa,CAACa,OAAO,EAAED,OAAO,CAAE,CAAC,KAChGD,KAAK,KAAKG,SAAS,IAAIH,KAAK,CAACN,MAAM,EAAEQ,OAAO,CAAC,CAAC;AAEnD,CAAC;;AAED;AACA,MAAMM,WAAW,GAAGA,CAACC,QAAkC,EAAEC,IAA8B,KACrFD,QAAQ,CAACF,MAAM,KAAKG,IAAI,CAACH,MAAM,IAC/BE,QAAQ,CAACE,KAAK,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;EAC9B,MAAMC,SAAS,GAAGJ,IAAI,CAACG,KAAK,CAAC;EAE7B,OAAOC,SAAS,EAAEC,EAAE,KAAKH,IAAI,CAACG,EAAE,IAAID,SAAS,KAAKF,IAAI;AACxD,CAAC,CAAC;;AAEJ;AACA,MAAMI,YAAY,GAAIrB,MAAsB,IAC1CH,oBAAoB,CACjByB,QAAQ,IAAKA,QAAQ,CAACC,OAAO,CAACvB,MAAM,CAAED,MAAM,IAAKD,eAAe,CAACC,MAAM,EAAEC,MAAM,CAAC,CAAC,EAClFa,WACF,CAAC;AAEH,SAASf,eAAe,EAAEuB,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
const NO_SERIES = [];
|
|
5
|
+
const NO_SUBSCRIPTION = () => () => undefined;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The series a `BTManager` is recording, updated as each value arrives: the live values to show while a device
|
|
9
|
+
* streams (`latest`), before the series is stored.
|
|
10
|
+
*/
|
|
11
|
+
const useOpenSeries = manager => React.useSyncExternalStore(manager?.subscribeOpenSeries ?? NO_SUBSCRIPTION, () => manager?.getOpenSeries() ?? NO_SERIES);
|
|
12
|
+
export { useOpenSeries };
|
|
13
|
+
//# sourceMappingURL=use-open-series.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","NO_SERIES","NO_SUBSCRIPTION","undefined","useOpenSeries","manager","useSyncExternalStore","subscribeOpenSeries","getOpenSeries"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-open-series.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAS9B,MAAMC,SAAgC,GAAG,EAAE;AAC3C,MAAMC,eAAe,GAAGA,CAAA,KAAM,MAAMC,SAAS;;AAE7C;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,OAAiC,IACtDL,KAAK,CAACM,oBAAoB,CACxBD,OAAO,EAAEE,mBAAmB,IAAIL,eAAe,EAC/C,MAAMG,OAAO,EAAEG,aAAa,CAAC,CAAC,IAAIP,SACpC,CAAC;AAEH,SAASG,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
const NO_RESULTS = [];
|
|
5
|
+
const NO_SUBSCRIPTION = () => () => undefined;
|
|
6
|
+
|
|
7
|
+
/** The results a `BackgroundSyncCoordinator` still holds for the current account: readings not saved yet. */
|
|
8
|
+
const useQueuedResults = coordinator => React.useSyncExternalStore(coordinator?.subscribe ?? NO_SUBSCRIPTION, () => coordinator?.getQueued() ?? NO_RESULTS);
|
|
9
|
+
export { useQueuedResults };
|
|
10
|
+
//# sourceMappingURL=use-queued-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","NO_RESULTS","NO_SUBSCRIPTION","undefined","useQueuedResults","coordinator","useSyncExternalStore","subscribe","getQueued"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-queued-results.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAU9B,MAAMC,UAA4B,GAAG,EAAE;AACvC,MAAMC,eAAe,GAAGA,CAAA,KAAM,MAAMC,SAAS;;AAE7C;AACA,MAAMC,gBAAgB,GACpBC,WAAuC,IAEvCL,KAAK,CAACM,oBAAoB,CACxBD,WAAW,EAAEE,SAAS,IAAIL,eAAe,EACzC,MAAMG,WAAW,EAAEG,SAAS,CAAC,CAAC,IAAIP,UACpC,CAAC;AAEH,SAASG,gBAAgB","ignoreList":[]}
|
|
@@ -35,6 +35,7 @@ export * from "./types/bluetooth-permission-status.js";
|
|
|
35
35
|
export * from "./types/device-status-change-callback.js";
|
|
36
36
|
export * from "./types/device-connection-event.js";
|
|
37
37
|
export * from "./types/result-policy.js";
|
|
38
|
+
export * from "./types/measurement-series.js";
|
|
38
39
|
export * from "./types/clock-sync.js";
|
|
39
40
|
export * from "./services/devices/bt-managed-device.js";
|
|
40
41
|
export * from "./services/devices/blood-glucose/blood-glucose.device.js";
|
|
@@ -106,8 +107,12 @@ export * from "./hooks/use-nearby-device-offer.js";
|
|
|
106
107
|
export * from "./hooks/use-paired-devices.js";
|
|
107
108
|
export * from "./hooks/use-device-connection.js";
|
|
108
109
|
export * from "./hooks/use-bt-device.js";
|
|
110
|
+
export * from "./hooks/use-bt-devices.js";
|
|
111
|
+
export * from "./constants/measurement-feedback.js";
|
|
109
112
|
export * from "./hooks/use-measurements.js";
|
|
110
113
|
export * from "./hooks/use-background-sync.js";
|
|
114
|
+
export * from "./hooks/use-open-series.js";
|
|
115
|
+
export * from "./hooks/use-queued-results.js";
|
|
111
116
|
|
|
112
117
|
/** @deprecated Import useHealthImport from @ovok/native/data-sync instead. */
|
|
113
118
|
export { useHealthImport } from "../data-sync/hooks/use-health-import.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setDeviceSecretStorage","useHealthImport"],"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;AAMrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,4BAAyB;AACvC,cAAc,wCAAqC;AACnD,cAAc,0CAAuC;AACrD,cAAc,oCAAiC;AAC/C,cAAc,0BAAuB;AACrC,cAAc,uBAAoB;AAElC,cAAc,yCAAsC;AACpD,cAAc,0DAAuD;AACrE,cAAc,4CAAyC;AACvD,cAAc,0BAAuB;AACrC,cAAc,sDAAmD;AACjE,cAAc,2DAAwD;AACtE,cAAc,kDAA+C;AAC7D,cAAc,wDAAqD;AACnE,cAAc,gCAA6B;AAC3C,SAASA,sBAAsB,QAAQ,8BAA2B;AAElE,cAAc,4BAAyB;AACvC,cAAc,yBAAsB;AACpC,cAAc,oBAAW;AACzB,cAAc,2CAAwC;AACtD,cAAc,2DAAwD;AACtE,cAAc,yCAAsC;AACpD,cAAc,oDAAiD;AAC/D,cAAc,mDAAgD;AAC9D,cAAc,8CAA2C;AACzD,cAAc,0DAAuD;AACrE,cAAc,kDAA+C;AAC7D,cAAc,uDAAoD;AAClE,cAAc,iDAA8C;AAC5D,cAAc,gDAA6C;AAC3D,cAAc,qDAAkD;AAChE,cAAc,0CAAuC;AACrD,cAAc,0DAAuD;AACrE,cAAc,mDAAgD;AAC9D,cAAc,4CAAyC;AACvD,cAAc,4CAAyC;AACvD,cAAc,sCAAmC;AACjD,cAAc,iDAA8C;AAC5D,cAAc,4CAAyC;AACvD,cAAc,oDAAiD;AAC/D,cAAc,+DAA4D;AAC1E,cAAc,0DAAuD;AACrE,cAAc,wCAAqC;AACnD,cAAc,mDAAgD;AAC9D,cAAc,8CAA2C;AACzD,cAAc,8CAA2C;AACzD,cAAc,8CAA2C;AACzD,cAAc,gDAA6C;AAC3D,cAAc,iDAA8C;AAC5D,cAAc,kDAA+C;AAC7D,cAAc,oDAAiD;AAC/D,cAAc,qDAAkD;AAChE,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;AAC/C,cAAc,qCAAkC;AAChD,cAAc,4BAAyB;AACvC,cAAc,gCAA6B;AAC3C,cAAc,+BAA4B;AAC1C,cAAc,oCAAiC;AAC/C,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,gCAA6B;;
|
|
1
|
+
{"version":3,"names":["setDeviceSecretStorage","useHealthImport"],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js
CHANGED
|
@@ -15,6 +15,8 @@ const withOwnerKey = options => {
|
|
|
15
15
|
};
|
|
16
16
|
class BackgroundSyncCoordinator {
|
|
17
17
|
operation = Promise.resolve();
|
|
18
|
+
queued = [];
|
|
19
|
+
listeners = new Set();
|
|
18
20
|
constructor(options) {
|
|
19
21
|
this.options = withOwnerKey(options);
|
|
20
22
|
}
|
|
@@ -44,12 +46,43 @@ class BackgroundSyncCoordinator {
|
|
|
44
46
|
await writeBackgroundSyncQueue(queue, options);
|
|
45
47
|
recordOvokMetric("ovok.queue.depth", queue.length);
|
|
46
48
|
await this.flushQueue(queue, {}, options);
|
|
49
|
+
this.publish(queue);
|
|
47
50
|
});
|
|
48
51
|
};
|
|
49
52
|
flush = (options = {}) => this.runExclusive(async () => {
|
|
50
53
|
const syncOptions = this.options;
|
|
51
|
-
|
|
54
|
+
const queue = await readBackgroundSyncQueue(syncOptions);
|
|
55
|
+
await this.flushQueue(queue, options, syncOptions);
|
|
56
|
+
this.publish(queue);
|
|
52
57
|
});
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The current account's results still waiting to be accepted, oldest first: readings to show as not saved yet.
|
|
61
|
+
* Kept up to date by every enqueue and flush; `subscribe` reads the stored queue in first.
|
|
62
|
+
*/
|
|
63
|
+
getQueued = () => this.queued;
|
|
64
|
+
|
|
65
|
+
/** Calls `listener` whenever the waiting results change; the first subscriber reads the stored queue in. */
|
|
66
|
+
subscribe = listener => {
|
|
67
|
+
this.listeners.add(listener);
|
|
68
|
+
if (this.listeners.size === 1) {
|
|
69
|
+
void this.runExclusive(async () => this.publish(await readBackgroundSyncQueue(this.options)));
|
|
70
|
+
}
|
|
71
|
+
return () => {
|
|
72
|
+
this.listeners.delete(listener);
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
publish = queue => {
|
|
76
|
+
const ownerKey = this.options.getOwnerKey?.();
|
|
77
|
+
this.queued = queue.flatMap(item => item.ownerKey && item.ownerKey === ownerKey ? [{
|
|
78
|
+
...item.result,
|
|
79
|
+
ownerKey: item.ownerKey,
|
|
80
|
+
queueId: item.queueId,
|
|
81
|
+
queuedAt: item.queuedAt,
|
|
82
|
+
attempt: item.attempt
|
|
83
|
+
}] : []);
|
|
84
|
+
this.listeners.forEach(listener => listener());
|
|
85
|
+
};
|
|
53
86
|
runExclusive = operation => {
|
|
54
87
|
const next = this.operation.then(operation, operation);
|
|
55
88
|
this.operation = next.catch(() => undefined);
|
package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["recordOvokMetric","BluetoothError","BluetoothErrorCode","createQueueId","createResultId","DEFAULT_MAX_RETRIES","DEFAULT_QUEUE_KEY","DEFAULT_RETRY_BACKOFF_MS","readBackgroundSyncQueue","writeBackgroundSyncQueue","withOwnerKey","options","getOwnerKey","TypeError","BackgroundSyncCoordinator","operation","Promise","resolve","constructor","updateOptions","enqueue","result","ownerKey","runExclusive","queue","stableId","id","trim","BACKGROUND_SYNC","push","queueId","queuedAt","Date","toISOString","attempt","nextAttemptAt","length","flushQueue","flush","syncOptions","next","then","catch","undefined","changed","now","droppedLegacy","
|
|
1
|
+
{"version":3,"names":["recordOvokMetric","BluetoothError","BluetoothErrorCode","createQueueId","createResultId","DEFAULT_MAX_RETRIES","DEFAULT_QUEUE_KEY","DEFAULT_RETRY_BACKOFF_MS","readBackgroundSyncQueue","writeBackgroundSyncQueue","withOwnerKey","options","getOwnerKey","TypeError","BackgroundSyncCoordinator","operation","Promise","resolve","queued","listeners","Set","constructor","updateOptions","enqueue","result","ownerKey","runExclusive","queue","stableId","id","trim","BACKGROUND_SYNC","push","queueId","queuedAt","Date","toISOString","attempt","nextAttemptAt","length","flushQueue","publish","flush","syncOptions","getQueued","subscribe","listener","add","size","delete","flatMap","item","forEach","next","then","catch","undefined","changed","now","droppedLegacy","splice","indexOf","exhausted","resetExhausted","resetRetryBackoff","includeExhausted","maxRetries","Math","max","retryBackoffMs","onResult","measurementTypeKey","data","error","Number","MAX_SAFE_INTEGER","errorCode","code","willRetry","onError"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,8 +9,12 @@ import { toBluetoothError } from "../types/bluetooth-error.js";
|
|
|
9
9
|
import { IntegratedDevices } from "../types/integrated-devices.js";
|
|
10
10
|
import { errorCallbackPayload } from "../utils/error-callback-payload.js";
|
|
11
11
|
import { DeviceCreator } from "./device-creator.js";
|
|
12
|
+
import { SeriesRecorder } from "./series-recorder.js";
|
|
12
13
|
const bluetoothErrorCallback = error => errorCallbackPayload(toBluetoothError(error));
|
|
13
14
|
const SCAN_RETRY_DELAY_MS = 1_000;
|
|
15
|
+
|
|
16
|
+
/** How often series that went quiet are looked for, while scanning. */
|
|
17
|
+
const SERIES_IDLE_CHECK_MS = 60_000;
|
|
14
18
|
class BTManager {
|
|
15
19
|
static MAX_DEVICES = 15; // Safety limit to prevent unbounded growth
|
|
16
20
|
devices = new Map();
|
|
@@ -28,6 +32,9 @@ class BTManager {
|
|
|
28
32
|
this.options = options;
|
|
29
33
|
this.deviceCreator = new DeviceCreator(this.acceptedDevices);
|
|
30
34
|
this.backgroundScanEnabled = options.backgroundEnabled === true;
|
|
35
|
+
this.series = new SeriesRecorder({
|
|
36
|
+
storage: options.seriesStorage
|
|
37
|
+
});
|
|
31
38
|
}
|
|
32
39
|
setAutoConnect = (enabledOrOptions, delayMs, onDeviceSelectionRequired) => {
|
|
33
40
|
const enabled = typeof enabledOrOptions === "boolean" ? enabledOrOptions : enabledOrOptions.enabled;
|
|
@@ -56,11 +63,19 @@ class BTManager {
|
|
|
56
63
|
// stopScan already cleared the callbacks and disconnected the devices.
|
|
57
64
|
this.forgottenDeviceIds.clear();
|
|
58
65
|
this.deviceCreator.destroy();
|
|
66
|
+
void this.series.destroy();
|
|
59
67
|
};
|
|
68
|
+
|
|
69
|
+
/** The series being recorded, each with its latest values: what to show while a device streams. */
|
|
70
|
+
getOpenSeries = () => this.series.getOpen();
|
|
71
|
+
|
|
72
|
+
/** Calls `listener` whenever a series gets a value or closes; returns the unsubscribe. */
|
|
73
|
+
subscribeOpenSeries = listener => this.series.subscribe(listener);
|
|
60
74
|
startScan = () => {
|
|
61
75
|
if (this.destroyed || this.scanActive || this.scanStarting || this.stateChangeListener) {
|
|
62
76
|
return;
|
|
63
77
|
}
|
|
78
|
+
this.seriesTimer ??= setInterval(this.series.closeIdle, SERIES_IDLE_CHECK_MS);
|
|
64
79
|
const generation = ++this.scanGeneration;
|
|
65
80
|
let subscription;
|
|
66
81
|
const onStateChange = state => {
|
|
@@ -119,7 +134,10 @@ class BTManager {
|
|
|
119
134
|
this.eventSubscriptions.forEach(sub => sub.remove());
|
|
120
135
|
this.eventSubscriptions = [];
|
|
121
136
|
|
|
122
|
-
// Clear all callbacks
|
|
137
|
+
// Clear all callbacks; closed series wait, stored, for the next receiver.
|
|
138
|
+
clearInterval(this.seriesTimer);
|
|
139
|
+
this.seriesTimer = undefined;
|
|
140
|
+
this.series.deliverTo(undefined);
|
|
123
141
|
this.onErrorCallback = undefined;
|
|
124
142
|
this.onDeviceFoundCallback = undefined;
|
|
125
143
|
this.onResultCallback = undefined;
|
|
@@ -290,6 +308,9 @@ class BTManager {
|
|
|
290
308
|
onResult = callback => {
|
|
291
309
|
sentryLogger("info", "BT_MANAGER: Setting onResult callback");
|
|
292
310
|
this.onResultCallback = callback;
|
|
311
|
+
|
|
312
|
+
// Series that closed while nobody listened are handed over now.
|
|
313
|
+
this.series.deliverTo(callback);
|
|
293
314
|
};
|
|
294
315
|
|
|
295
316
|
// Callbacks
|
|
@@ -339,6 +360,7 @@ class BTManager {
|
|
|
339
360
|
onDeviceStatusChanged: this.onDeviceStatusChangedCallback?.bind(this),
|
|
340
361
|
onConnectionEvent: this.onConnectionEventCallback?.bind(this),
|
|
341
362
|
onResult: this.onResultCallback?.bind(this),
|
|
363
|
+
onSeriesValue: (deviceData, reading) => this.series.add(deviceData, reading),
|
|
342
364
|
hasResultReceiver: () => this.onResultCallback !== undefined,
|
|
343
365
|
oneReadingPerConnection: this.options.oneReadingPerConnection,
|
|
344
366
|
deliveredEcgFileNames: this.options.deliveredEcgFileNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","startScan","stateChangeListener","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","forEach","sub","remove","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","disconnectDevice","deviceId","get","forget","add","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","deviceData","TRASENSE_S9","values","candidate","connect","select","selected","Error","Math","max"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","forEach","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","disconnectDevice","deviceId","get","forget","add","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Error","Math","max"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
|
+
import { MeasurementFeedbackKey } from "../../../constants/measurement-feedback.js";
|
|
4
5
|
import { CaseType } from "../../../types/case-type.js";
|
|
5
6
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
6
7
|
import { BTManagedDevice } from "../bt-managed-device.js";
|
|
@@ -118,7 +119,7 @@ export class BC01Device extends BTManagedDevice {
|
|
|
118
119
|
return acc;
|
|
119
120
|
}, {});
|
|
120
121
|
if (Object.keys(measuredValues).length === 0) {
|
|
121
|
-
this.onError?.(
|
|
122
|
+
this.onError?.(MeasurementFeedbackKey.DISTURB_DETECTED);
|
|
122
123
|
return;
|
|
123
124
|
}
|
|
124
125
|
const timestamp = parsed.timestamp.getTime();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","hexToByte","BTManagedDevice","Bc01CommandSequencer","BC01_ANALYTE_ORDER","parseBc01Record","Bc01FrameReader","bc01FrameLengths","bc01MainServices","BC01Device","onStreamStart","reportedTimestamps","clear","Set","mainServices","frameReader","stuckDataTimeout","constructor","device","params","createCommandSequencer","write","serviceUuid","uuid","characteristicUuid","writeUuid","onError","reason","Error","clockSync","clearDeviceHistory","now","validatePackage","pkg","length","opcode","minLength","toString","padStart","undefined","handleDependentResult","data","frame","reportUrsRecord","parsingCase","caseType","OTHER","parsed","measuredValues","reduce","acc","analyte","value","values","Object","keys","timestamp","getTime","has","add","reading","RESULT","measurementTypeKey","uricAcid","urineValues","recordedAt","onResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01.device.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","MeasurementFeedbackKey","CaseType","hexToByte","BTManagedDevice","Bc01CommandSequencer","BC01_ANALYTE_ORDER","parseBc01Record","Bc01FrameReader","bc01FrameLengths","bc01MainServices","BC01Device","onStreamStart","reportedTimestamps","clear","Set","mainServices","frameReader","stuckDataTimeout","constructor","device","params","createCommandSequencer","write","serviceUuid","uuid","characteristicUuid","writeUuid","onError","reason","Error","clockSync","clearDeviceHistory","now","validatePackage","pkg","length","opcode","minLength","toString","padStart","undefined","handleDependentResult","data","frame","reportUrsRecord","parsingCase","caseType","OTHER","parsed","measuredValues","reduce","acc","analyte","value","values","Object","keys","DISTURB_DETECTED","timestamp","getTime","has","add","reading","RESULT","measurementTypeKey","uricAcid","urineValues","recordedAt","onResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { MeasurementTypeKey, EcgDiagnosticFlag } from "@ovok/core";
|
|
|
6
6
|
import { BloodPressureStates } from "@ovok/core/dist/client/observation/types/measurement/BloodPressureStates";
|
|
7
7
|
import { sentryLogger } from "../../../../helpers/utils/sentry-logger.js";
|
|
8
8
|
import { bloodPressureTranslatedExceptionMap } from "../../../constants/blood-pressure-translated-exception-map.js";
|
|
9
|
+
import { MeasurementFeedbackKey } from "../../../constants/measurement-feedback.js";
|
|
9
10
|
import { PREFERRED_MTU } from "../../../constants/preferred-mtu.js";
|
|
10
11
|
import { CaseType } from "../../../types/case-type.js";
|
|
11
12
|
import { DeviceStatus } from "../../../types/device-status.js";
|
|
@@ -169,7 +170,7 @@ class BP2Device extends BTManagedDevice {
|
|
|
169
170
|
|
|
170
171
|
/// Undefined check
|
|
171
172
|
if (bpMeasurement.status === undefined || bpMeasurement.diastolic === undefined || bpMeasurement.systolic === undefined || bpMeasurement.heartRate === undefined) {
|
|
172
|
-
return
|
|
173
|
+
return MeasurementFeedbackKey.DEVICE_ERROR;
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
/// Status check
|
|
@@ -178,16 +179,16 @@ class BP2Device extends BTManagedDevice {
|
|
|
178
179
|
if (errorString !== undefined) {
|
|
179
180
|
return errorString;
|
|
180
181
|
} else {
|
|
181
|
-
return
|
|
182
|
+
return MeasurementFeedbackKey.DEVICE_ERROR;
|
|
182
183
|
}
|
|
183
184
|
}
|
|
184
185
|
|
|
185
186
|
/// Measurement interruption check
|
|
186
187
|
if (bpMeasurement.heartRate === 0 || bpMeasurement.diastolic === 0 || bpMeasurement.systolic === 0) {
|
|
187
|
-
return
|
|
188
|
+
return MeasurementFeedbackKey.DEVICE_INTERRUPTED;
|
|
188
189
|
}
|
|
189
190
|
if (bpMeasurement.systolic === BP2_BP_NO_VALUE || bpMeasurement.diastolic === BP2_BP_NO_VALUE || bpMeasurement.heartRate !== undefined && BP2_PULSE_NO_VALUES.has(bpMeasurement.heartRate)) {
|
|
190
|
-
return
|
|
191
|
+
return MeasurementFeedbackKey.DEVICE_ERROR;
|
|
191
192
|
}
|
|
192
193
|
return undefined;
|
|
193
194
|
}
|
|
@@ -246,34 +247,34 @@ class BP2Device extends BTManagedDevice {
|
|
|
246
247
|
checkIfHasErrorForEcg(successResult) {
|
|
247
248
|
const ecgMeasurement = successResult;
|
|
248
249
|
if (ecgMeasurement.diagnosticResult === EcgDiagnosticFlag.POOR_WAVEFORM) {
|
|
249
|
-
return
|
|
250
|
+
return MeasurementFeedbackKey.POOR_WAVEFORM;
|
|
250
251
|
}
|
|
251
252
|
if (ecgMeasurement.diagnosticResult === EcgDiagnosticFlag.LEAD_OFF) {
|
|
252
|
-
return
|
|
253
|
+
return MeasurementFeedbackKey.LEAD_OFF;
|
|
253
254
|
}
|
|
254
255
|
|
|
255
256
|
/// Undefined check
|
|
256
257
|
if (ecgMeasurement.diagnosticResult === undefined || ecgMeasurement.heartRate === undefined || ecgMeasurement.diagramPoints === undefined) {
|
|
257
|
-
return
|
|
258
|
+
return MeasurementFeedbackKey.DEVICE_ERROR;
|
|
258
259
|
}
|
|
259
260
|
|
|
260
261
|
/// Measurement interruption check
|
|
261
262
|
if (ecgMeasurement.heartRate === 0) {
|
|
262
|
-
return
|
|
263
|
+
return MeasurementFeedbackKey.DEVICE_INTERRUPTED;
|
|
263
264
|
}
|
|
264
265
|
if (ecgMeasurement.duration === undefined || ecgMeasurement.duration < 10) {
|
|
265
|
-
return
|
|
266
|
+
return MeasurementFeedbackKey.INSUFFICIENT_DATA_LENGTH;
|
|
266
267
|
}
|
|
267
268
|
if (ecgMeasurement.diagramPoints.length === 0) {
|
|
268
|
-
return
|
|
269
|
+
return MeasurementFeedbackKey.INSUFFICIENT_DATA_LENGTH;
|
|
269
270
|
}
|
|
270
271
|
if (ecgMeasurement.duration > 0) {
|
|
271
272
|
const expectedSamples = ecgMeasurement.duration * BP2_ECG_SAMPLES_PER_SECOND;
|
|
272
273
|
if (ecgMeasurement.diagramPoints.length < expectedSamples - BP2_ECG_SAMPLE_TOLERANCE || ecgMeasurement.diagramPoints.length > expectedSamples + BP2_ECG_SAMPLE_TOLERANCE) {
|
|
273
|
-
return
|
|
274
|
+
return MeasurementFeedbackKey.INSUFFICIENT_DATA_LENGTH;
|
|
274
275
|
}
|
|
275
276
|
} else if (ecgMeasurement.diagramPoints.length < 3500) {
|
|
276
|
-
return
|
|
277
|
+
return MeasurementFeedbackKey.INSUFFICIENT_DATA_LENGTH;
|
|
277
278
|
}
|
|
278
279
|
return undefined;
|
|
279
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","EcgDiagnosticFlag","BloodPressureStates","sentryLogger","bloodPressureTranslatedExceptionMap","PREFERRED_MTU","CaseType","DeviceStatus","hexToByte","i16FromHex","le16FromHex","le32FromHex","BTManagedDevice","decodeBP2File","recordedAtFromLocalSeconds","BP2FrameReader","BP2HistorySequencer","bp2MainServices","BP2_ECG_MILLIVOLTS_PER_COUNT","BP2_ECG_SAMPLES_PER_SECOND","BP2_ECG_SAMPLE_TOLERANCE","BP2_ECG_NO_VALUE","BP2_BP_NO_VALUE","BP2_PULSE_NO_VALUES","Set","BP2Device","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","mainServices","stuckDataTimeout","constructor","device","params","clockSync","deliveredFileNames","deliveredEcgFileNames","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","onOrphanStreamEnd","skipFiles","frameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","RESULT","addDeviceTimestamp","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","lenH","dataLen","dataStart","dataEnd","data","slice","onDeviceStatusChanged","MEASURING","samplingNum","samplesStart","i","byteIndexInData","sampleVal","push","checkIfHasErrorForBloodPressure","result","recordedAt","length","bpMeasurement","status","diastolic","systolic","heartRate","REGULAR","errorString","get","DEVICE_ERROR","has","signature","signatureFor","set","join","diagnosticResult","file","name","decoded","content","pending","add","matchesPendingResult","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","POOR_WAVEFORM","LEAD_OFF","expectedSamples"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","EcgDiagnosticFlag","BloodPressureStates","sentryLogger","bloodPressureTranslatedExceptionMap","MeasurementFeedbackKey","PREFERRED_MTU","CaseType","DeviceStatus","hexToByte","i16FromHex","le16FromHex","le32FromHex","BTManagedDevice","decodeBP2File","recordedAtFromLocalSeconds","BP2FrameReader","BP2HistorySequencer","bp2MainServices","BP2_ECG_MILLIVOLTS_PER_COUNT","BP2_ECG_SAMPLES_PER_SECOND","BP2_ECG_SAMPLE_TOLERANCE","BP2_ECG_NO_VALUE","BP2_BP_NO_VALUE","BP2_PULSE_NO_VALUES","Set","BP2Device","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","mainServices","stuckDataTimeout","constructor","device","params","clockSync","deliveredFileNames","deliveredEcgFileNames","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","onOrphanStreamEnd","skipFiles","frameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","RESULT","addDeviceTimestamp","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","lenH","dataLen","dataStart","dataEnd","data","slice","onDeviceStatusChanged","MEASURING","samplingNum","samplesStart","i","byteIndexInData","sampleVal","push","checkIfHasErrorForBloodPressure","result","recordedAt","length","bpMeasurement","status","diastolic","systolic","heartRate","DEVICE_ERROR","REGULAR","errorString","get","DEVICE_INTERRUPTED","has","signature","signatureFor","set","join","diagnosticResult","file","name","decoded","content","pending","add","matchesPendingResult","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","POOR_WAVEFORM","LEAD_OFF","INSUFFICIENT_DATA_LENGTH","expectedSamples"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
4
|
|
|
5
5
|
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
6
|
+
import { MeasurementFeedbackKey } from "../../constants/measurement-feedback.js";
|
|
6
7
|
import { CaseType } from "../../types/case-type.js";
|
|
7
8
|
import { FrameReadStatus } from "../../types/frame-read-status.js";
|
|
8
9
|
import { FrameParser } from "./frame-parser.js";
|
|
@@ -149,7 +150,7 @@ export class BTDataProcessor {
|
|
|
149
150
|
this.measurementState.advance(dependentData || data, frame);
|
|
150
151
|
};
|
|
151
152
|
reportCorruptFrame = () => {
|
|
152
|
-
this.callbacks.onError?.(new Error(
|
|
153
|
+
this.callbacks.onError?.(new Error(MeasurementFeedbackKey.CORRUPT_FRAME, {
|
|
153
154
|
cause: {
|
|
154
155
|
message: "Frame failed its integrity check"
|
|
155
156
|
}
|
|
@@ -169,7 +170,7 @@ export class BTDataProcessor {
|
|
|
169
170
|
clearTimeout(this.stuckDataTimeout);
|
|
170
171
|
}
|
|
171
172
|
this.stuckDataTimeout = setTimeout(() => {
|
|
172
|
-
this.callbacks.onError?.(new Error(
|
|
173
|
+
this.callbacks.onError?.(new Error(MeasurementFeedbackKey.STUCK, {
|
|
173
174
|
cause: {
|
|
174
175
|
message: "Device is stuck"
|
|
175
176
|
}
|
|
@@ -192,7 +193,7 @@ export class BTDataProcessor {
|
|
|
192
193
|
return;
|
|
193
194
|
}
|
|
194
195
|
if (result?.terminal) {
|
|
195
|
-
this.callbacks.onError?.(new Error(
|
|
196
|
+
this.callbacks.onError?.(new Error(MeasurementFeedbackKey.COMMAND_TIMEOUT));
|
|
196
197
|
void this.device.cancelConnection?.();
|
|
197
198
|
}
|
|
198
199
|
}, duration);
|