@ovok/native 1.5.0 → 1.5.2
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/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +23 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/BackgroundSyncNotification.java +78 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +109 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncPackage.java +26 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBluetoothForegroundService.java +28 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectTaskService.java +45 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +28 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/commonjs/modules/background-sync/android-background-sync.js +69 -0
- package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +49 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/commonjs/modules/background-sync/index.js +28 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +40 -12
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +20 -3
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +88 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +3 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +4 -0
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js +6 -2
- package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +41 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +27 -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 +23 -9
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +18 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js +5 -3
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js +7 -4
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js +27 -11
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js +4 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +2 -2
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/module/modules/background-sync/android-background-sync.js +61 -0
- package/lib/module/modules/background-sync/android-background-sync.js.map +1 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +44 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/module/modules/background-sync/index.js +5 -0
- package/lib/module/modules/background-sync/index.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +44 -16
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +20 -4
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +88 -0
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +2 -0
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +3 -1
- package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +4 -0
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-creator.js +6 -2
- package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
- package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-device-information.js +37 -0
- package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +27 -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 +25 -11
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +17 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-sync.js +5 -3
- package/lib/module/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js +7 -4
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js +27 -10
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js +4 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +39 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- 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/measurement-field-catalog.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -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/custom/compile-case-fields.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -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 +5 -0
- 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/lepu/lepu.file-transfer.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +2 -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/custom-device-definition.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +3 -3
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -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/sync-progress-manager.d.ts +3 -3
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +39 -0
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- 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/measurement-field-catalog.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -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/custom/compile-case-fields.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -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 +5 -0
- 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/lepu/lepu.file-transfer.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +2 -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/custom-device-definition.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +3 -3
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -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/sync-progress-manager.d.ts +3 -3
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/package.json +6 -3
- package/react-native.config.js +11 -0
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js
CHANGED
|
@@ -15,7 +15,8 @@ const sigUuid = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
|
|
|
15
15
|
const declareProfile = (params, profile) => defineCustomDevice({
|
|
16
16
|
id: params.id ?? `standard-${profile.measurementTypeKey}`,
|
|
17
17
|
nameMatch: params.nameMatch,
|
|
18
|
-
matchByService:
|
|
18
|
+
matchByService: params.nameMatch === undefined,
|
|
19
|
+
oneReadingPerConnection: params.oneReadingPerConnection,
|
|
19
20
|
stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
|
|
20
21
|
services: [{
|
|
21
22
|
uuid: sigUuid(profile.service),
|
|
@@ -27,11 +28,12 @@ const declareProfile = (params, profile) => defineCustomDevice({
|
|
|
27
28
|
caseSelectorBytes: [0],
|
|
28
29
|
cases: profile.selectors.map(selector => {
|
|
29
30
|
const optional = profile.optionalFields?.[selector];
|
|
31
|
+
const fields = profile.fieldsBySelector?.[selector] ?? profile.fields;
|
|
30
32
|
return {
|
|
31
33
|
selector,
|
|
32
34
|
kind: "result",
|
|
33
35
|
measurementTypeKey: profile.measurementTypeKey,
|
|
34
|
-
fields: [...
|
|
36
|
+
fields: [...fields, ...(optional?.fields ?? [])],
|
|
35
37
|
...(optional ? {
|
|
36
38
|
minLengthBytes: optional.minLengthBytes
|
|
37
39
|
} : {})
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineCustomDevice","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","declareProfile","params","profile","id","measurementTypeKey","nameMatch","matchByService","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","
|
|
1
|
+
{"version":3,"names":["defineCustomDevice","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","declareProfile","params","profile","id","measurementTypeKey","nameMatch","matchByService","undefined","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","fields","fieldsBySelector","kind","littleEndian","name","byteIndexes","unit","encoding","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;AAIA,SAASA,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA,MAAMC,qBAAqB,GAAG,MAAM;AAiDpC,MAAMC,OAAO,GAAIC,QAAgB,IAC/B,OAAOA,QAAQ,8BAA8B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,MAA4B,EAC5BC,OAAoB,KAEpBN,kBAAkB,CAAC;EACjBO,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,YAAYD,OAAO,CAACE,kBAAkB,EAAE;EACzDC,SAAS,EAAEJ,MAAM,CAACI,SAAS;EAC3BC,cAAc,EAAEL,MAAM,CAACI,SAAS,KAAKE,SAAS;EAC9CC,uBAAuB,EAAEP,MAAM,CAACO,uBAAuB;EACvDC,kBAAkB,EAAER,MAAM,CAACQ,kBAAkB,IAAIZ,qBAAqB;EACtEa,QAAQ,EAAE,CACR;IACEC,IAAI,EAAEb,OAAO,CAACI,OAAO,CAACU,OAAO,CAAC;IAC9BC,OAAO,EAAE,CACP;MACEF,IAAI,EAAEb,OAAO,CAACI,OAAO,CAACY,cAAc,CAAC;MACrCC,KAAK,EAAE;QAAEC,cAAc,EAAEd,OAAO,CAACc;MAAe,CAAC;MACjDC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAEhB,OAAO,CAACiB,SAAS,CAACC,GAAG,CAAEC,QAAQ,IAAK;QACzC,MAAMC,QAAQ,GAAGpB,OAAO,CAACqB,cAAc,GAAGF,QAAQ,CAAC;QAEnD,MAAMG,MAAM,GACVtB,OAAO,CAACuB,gBAAgB,GAAGJ,QAAQ,CAAC,IAAInB,OAAO,CAACsB,MAAM;QAExD,OAAO;UACLH,QAAQ;UACRK,IAAI,EAAE,QAAiB;UACvBtB,kBAAkB,EAAEF,OAAO,CAACE,kBAAkB;UAC9CoB,MAAM,EAAE,CAAC,GAAGA,MAAM,EAAE,IAAIF,QAAQ,EAAEE,MAAM,IAAI,EAAE,CAAC,CAAC;UAChD,IAAIF,QAAQ,GACR;YAAEN,cAAc,EAAEM,QAAQ,CAACN;UAAe,CAAC,GAC3C,CAAC,CAAC;QACR,CAAC;MACH,CAAC;IACH,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAEJ,MAAMW,YAAY,GAAGA,CACnBC,IAAY,EACZC,WAAqB,EACrBC,IAAY,EACZC,QAAqC,MAChB;EACrBH,IAAI;EACJC,WAAW;EACXG,SAAS,EAAE,QAAQ;EACnBD,QAAQ;EACRD;AACF,CAAC,CAAC;AAEF,SAAS9B,cAAc,EAAE2B,YAAY,EAAE7B,OAAO","ignoreList":[]}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
4
5
|
import { defineCustomDevice } from "../../custom/define-custom-device.js";
|
|
5
6
|
import { CustomDevice } from "../custom/custom.device.js";
|
|
6
7
|
import { MySenseFrameReader } from "./mysense.frame-reader.js";
|
|
7
8
|
import { MySenseSequencer } from "./mysense.sequencer.js";
|
|
8
9
|
const SERVICE = "0000fff0-0000-1000-8000-00805f9b34fb";
|
|
9
10
|
const NOTIFY = "0000fff1-0000-1000-8000-00805f9b34fb";
|
|
11
|
+
const recordedAtFromMySenseRecord = record => {
|
|
12
|
+
if (record.length < 5) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const [year, month, day, hour, minute] = record.slice(0, 5).map(byte => hexToByte(byte));
|
|
16
|
+
const recordedAt = new Date(2000 + year, month - 1, day, hour, minute);
|
|
17
|
+
return recordedAt.getFullYear() === 2000 + year && recordedAt.getMonth() === month - 1 && recordedAt.getDate() === day && recordedAt.getHours() === hour && recordedAt.getMinutes() === minute ? recordedAt : undefined;
|
|
18
|
+
};
|
|
10
19
|
const definition = defineCustomDevice({
|
|
11
20
|
id: "cyclotest-mysense",
|
|
12
21
|
nameMatch: "mySense",
|
|
@@ -69,5 +78,12 @@ export class MySenseDevice extends CustomDevice {
|
|
|
69
78
|
this.reportedHistory = true;
|
|
70
79
|
return true;
|
|
71
80
|
};
|
|
81
|
+
decorateReading = (reading, frame, recordOffset = 0) => {
|
|
82
|
+
const recordedAt = frame ? recordedAtFromMySenseRecord(frame.slice(recordOffset, recordOffset + 5)) : undefined;
|
|
83
|
+
return recordedAt ? {
|
|
84
|
+
...reading,
|
|
85
|
+
recordedAt
|
|
86
|
+
} : reading;
|
|
87
|
+
};
|
|
72
88
|
}
|
|
73
89
|
//# sourceMappingURL=mysense.device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","defineCustomDevice","CustomDevice","MySenseFrameReader","MySenseSequencer","SERVICE","NOTIFY","definition","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases","selector","kind","description","repeatedRecords","recordBytes","from","measurementTypeKey","temperature","fields","name","byteIndexes","encoding","unit","decimals","MySenseDevice","reportedHistory","constructor","device","params","frameReader","createCommandSequencer","onGreeting","deviceData","sn","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","hexToByte","defineCustomDevice","CustomDevice","MySenseFrameReader","MySenseSequencer","SERVICE","NOTIFY","recordedAtFromMySenseRecord","record","length","undefined","year","month","day","hour","minute","slice","map","byte","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","definition","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases","selector","kind","description","repeatedRecords","recordBytes","from","measurementTypeKey","temperature","fields","name","byteIndexes","encoding","unit","decimals","MySenseDevice","reportedHistory","constructor","device","params","frameReader","createCommandSequencer","onGreeting","deviceData","sn","join","shouldReportDependentResult","data","parsingCase","caseValue","decorateReading","reading","recordOffset"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/mysense.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
4
4
|
const VIATOM_ECG_SAMPLE_RATE_HZ = 125;
|
|
5
5
|
const VIATOM_ECG_MILLIVOLTS_PER_COUNT = 0.002467;
|
|
6
|
+
const validDate = (year, month, day, hour, minute, second) => {
|
|
7
|
+
const date = new Date(year, month - 1, day, hour, minute, second, 0);
|
|
8
|
+
return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day && date.getHours() === hour && date.getMinutes() === minute && date.getSeconds() === second ? date : undefined;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/** Reads the recording time encoded in the ER file name, when present. */
|
|
12
|
+
const recordedAtFromViatomFileName = name => {
|
|
13
|
+
const digits = name.match(/\d{14}|\d{12}/)?.[0];
|
|
14
|
+
if (!digits) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (digits.length === 14) {
|
|
18
|
+
return validDate(Number(digits.slice(0, 4)), Number(digits.slice(4, 6)), Number(digits.slice(6, 8)), Number(digits.slice(8, 10)), Number(digits.slice(10, 12)), Number(digits.slice(12, 14)));
|
|
19
|
+
}
|
|
20
|
+
return validDate(2000 + Number(digits.slice(0, 2)), Number(digits.slice(2, 4)), Number(digits.slice(4, 6)), Number(digits.slice(6, 8)), Number(digits.slice(8, 10)), Number(digits.slice(10, 12)));
|
|
21
|
+
};
|
|
6
22
|
const readUInt32LittleEndian = (bytes, from) => hexToByte(bytes[from] ?? "0") | hexToByte(bytes[from + 1] ?? "0") << 8 | hexToByte(bytes[from + 2] ?? "0") << 16 | hexToByte(bytes[from + 3] ?? "0") << 24;
|
|
7
23
|
|
|
8
24
|
/** Decodes the official ER1/ER2 file container and its signed ECG samples. */
|
|
@@ -27,5 +43,5 @@ const decodeViatomEcgRecording = content => {
|
|
|
27
43
|
duration: recordedSeconds || samples.length / VIATOM_ECG_SAMPLE_RATE_HZ
|
|
28
44
|
};
|
|
29
45
|
};
|
|
30
|
-
export { decodeViatomEcgRecording, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ };
|
|
46
|
+
export { decodeViatomEcgRecording, recordedAtFromViatomFileName, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ };
|
|
31
47
|
//# sourceMappingURL=viatom.ecg-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","readUInt32LittleEndian","bytes","from","decodeViatomEcgRecording","content","
|
|
1
|
+
{"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","validDate","year","month","day","hour","minute","second","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","recordedAtFromViatomFileName","name","digits","match","length","Number","slice","readUInt32LittleEndian","bytes","from","decodeViatomEcgRecording","content","samples","duration","waveStart","waveEnd","index","raw","signed","push","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -105,5 +105,8 @@ const ER1_MODEL_NAMES = ["ER1", "ER1-H", "ER1-L", "ER1-S", "ER1-SP", "ER1-W", "E
|
|
|
105
105
|
|
|
106
106
|
/** The names the ER2 recorders advertise, all of them on the small-MTU link. */
|
|
107
107
|
const ER2_MODEL_NAMES = ["ER2", "ER2-S", "HHM2", "HHM3", "LP ER2"];
|
|
108
|
-
|
|
108
|
+
|
|
109
|
+
/** The ER3 is identified separately from the ER1/ER2 opcode family. */
|
|
110
|
+
const ER3_MODEL_NAMES = ["ER3"];
|
|
111
|
+
export { er1Recorder, ER1_MODEL_NAMES, er2Recorder, ER2_MODEL_NAMES, ER3_MODEL_NAMES, er3Recorder };
|
|
109
112
|
//# sourceMappingURL=viatom.ecg-recorders.js.map
|
package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,UAAU,QAA2B,4BAAyB;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,OAAO,GAAG,IAAI;;AAEpB;AACA,MAAMC,WAAW,GAAG,IAAI;AAExB,MAAMC,eAAe,GAAG,KAAK;AAY7B;AACA,MAAMC,mBAAqC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAoBpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CACtBC,cAAsB,EACtBC,OAAmB,EACnBC,MAAuB,KAEvBR,UAAU,CAAC;EACTS,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,UAAUH,cAAc,CAACI,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACrFC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAIb,aAAa,CAACO,cAAc,CAAC;EAC5DO,SAAS,EAAEN,OAAO,CAACM,SAAS;EAC5BC,WAAW,EAAEP,OAAO,CAACO,WAAW;EAChCC,cAAc,EAAER,OAAO,CAACS,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;EAC7CC,iBAAiB,EAAE,CAAC,CAAC,CAAC;EACtBC,KAAK,EAAE,CACL;IACEC,QAAQ,EAAEZ,OAAO,CAACO,WAAW,CAACM,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC3DC,IAAI,EAAE,QAAQ;IACdC,kBAAkB,EAAEzB,kBAAkB,CAAC0B,SAAS;IAChDC,WAAW,EAAE,kCAAkC;IAC/CC,MAAM,EAAE,CACN;MACEC,IAAI,EAAE,WAAW;MACjBC,WAAW,EAAE,CAAC,GAAGrB,OAAO,CAACS,cAAc,CAAC;MACxCa,SAAS,EAAE,QAAQ;MACnBC,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAE5B;IACR,CAAC;EAEL,CAAC,CACF;EACD,IAAIK,MAAM,CAACwB,mBAAmB,GAC1B;IAAEA,mBAAmB,EAAExB,MAAM,CAACwB;EAAoB,CAAC,GACnD,CAAC,CAAC,CAAC;EACPC,YAAY,EAAE;AAChB,CAAC,CAAC;;AAEJ;AACA,MAAMC,WAAW,GAAGA,CAClB5B,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEQ,WAAW,EAAEb,OAAO;EACpBe,cAAc,EAAEZ,mBAAmB;EACnCS,SAAS,EAAE;AACb,CAAC,EACDL,MACF,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM2B,WAAW,GAAGA,CAClB7B,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEQ,WAAW,EAAEb,OAAO;EACpBe,cAAc,EAAEZ,mBAAmB;EACnCS,SAAS,EAAE;AACb,CAAC,EACDL,MACF,CAAC;;AAEH;AACA,MAAM4B,WAAW,GAAGA,CAClB9B,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEQ,WAAW,EAAEZ,WAAW;EACxBc,cAAc,EAAEZ,mBAAmB;EACnCS,SAAS,EAAE;AACb,CAAC,EACDL,MACF,CAAC;;AAEH;AACA,MAAM6B,eAAkC,GAAG,CACzC,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,CACP;;AAED;AACA,MAAMC,eAAkC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;;AAErF;AACA,MAAMC,eAAkC,GAAG,CAAC,KAAK,CAAC;AAElD,SACEL,WAAW,EACXG,eAAe,EACfF,WAAW,EACXG,eAAe,EACfC,eAAe,EACfH,WAAW","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { getGrantedPermissions, initialize, requestPermission } from "react-native-health-connect";
|
|
5
5
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers) => {
|
|
6
|
+
const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers, backgroundAccess = false) => {
|
|
7
7
|
const [status, setStatus] = React.useState("shouldRequest");
|
|
8
8
|
const requestAuthorization = React.useCallback(async () => {
|
|
9
9
|
try {
|
|
@@ -20,7 +20,11 @@ const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers) => {
|
|
|
20
20
|
accessType: "write",
|
|
21
21
|
recordType
|
|
22
22
|
}));
|
|
23
|
-
const
|
|
23
|
+
const backgroundPermissions = backgroundAccess ? [{
|
|
24
|
+
accessType: "read",
|
|
25
|
+
recordType: "BackgroundAccessPermission"
|
|
26
|
+
}] : [];
|
|
27
|
+
const permissions = [...readPermissions, ...writePermissions, ...backgroundPermissions];
|
|
24
28
|
await requestPermission(permissions);
|
|
25
29
|
const grantedPermissions = await getGrantedPermissions();
|
|
26
30
|
const allGranted = permissions.every(permission => grantedPermissions.some(granted => granted.accessType === permission.accessType && granted.recordType === permission.recordType));
|
|
@@ -28,7 +32,7 @@ const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers) => {
|
|
|
28
32
|
} catch {
|
|
29
33
|
setStatus("error");
|
|
30
34
|
}
|
|
31
|
-
}, [readIdentifiers, writeIdentifiers]);
|
|
35
|
+
}, [backgroundAccess, readIdentifiers, writeIdentifiers]);
|
|
32
36
|
return [status, requestAuthorization];
|
|
33
37
|
};
|
|
34
38
|
|
|
@@ -39,9 +43,10 @@ export const AndroidHealthConnectAuthorizationProvider = /*#__PURE__*/React.memo
|
|
|
39
43
|
fallback,
|
|
40
44
|
children,
|
|
41
45
|
skipRequest,
|
|
42
|
-
renderManualRequestUI
|
|
46
|
+
renderManualRequestUI,
|
|
47
|
+
backgroundAccess
|
|
43
48
|
}) => {
|
|
44
|
-
const [authorizationStatus, requestAuthorization] = useHealthConnectAuthorization(readIdentifiers, writeIdentifiers);
|
|
49
|
+
const [authorizationStatus, requestAuthorization] = useHealthConnectAuthorization(readIdentifiers, writeIdentifiers, backgroundAccess);
|
|
45
50
|
const shouldRenderManualRequestUI = renderManualRequestUI && authorizationStatus === "shouldRequest" && !skipRequest;
|
|
46
51
|
const shouldRenderFallback = fallback && authorizationStatus === "shouldRequest" && !skipRequest;
|
|
47
52
|
React.useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","getGrantedPermissions","initialize","requestPermission","Fragment","_Fragment","jsx","_jsx","useHealthConnectAuthorization","readIdentifiers","writeIdentifiers","status","setStatus","useState","requestAuthorization","useCallback","isInitialized","readPermissions","map","recordType","accessType","writePermissions","permissions","grantedPermissions","allGranted","every","permission","some","granted","AndroidHealthConnectAuthorizationProvider","memo","fallback","children","skipRequest","renderManualRequestUI","authorizationStatus","shouldRenderManualRequestUI","shouldRenderFallback","useEffect"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-connect-authorization-provider.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,qBAAqB,EACrBC,UAAU,EACVC,iBAAiB,QACZ,6BAA6B;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","getGrantedPermissions","initialize","requestPermission","Fragment","_Fragment","jsx","_jsx","useHealthConnectAuthorization","readIdentifiers","writeIdentifiers","backgroundAccess","status","setStatus","useState","requestAuthorization","useCallback","isInitialized","readPermissions","map","recordType","accessType","writePermissions","backgroundPermissions","permissions","grantedPermissions","allGranted","every","permission","some","granted","AndroidHealthConnectAuthorizationProvider","memo","fallback","children","skipRequest","renderManualRequestUI","authorizationStatus","shouldRenderManualRequestUI","shouldRenderFallback","useEffect"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-connect-authorization-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { AndroidHealthSyncService } from "../../services/android-health-sync-ser
|
|
|
7
7
|
export const AndroidHealthSync = /*#__PURE__*/React.memo(({
|
|
8
8
|
dataToSync,
|
|
9
9
|
chunkSize,
|
|
10
|
+
wifiOnly = false,
|
|
10
11
|
onError,
|
|
11
12
|
onProgress
|
|
12
13
|
}) => {
|
|
@@ -46,12 +47,13 @@ export const AndroidHealthSync = /*#__PURE__*/React.memo(({
|
|
|
46
47
|
if (!serviceRef.current) {
|
|
47
48
|
return;
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
const pauseReason = !isConnected ? "offline" : wifiOnly && type !== "wifi" ? "wifi-only" : undefined;
|
|
51
|
+
if (pauseReason) {
|
|
52
|
+
serviceRef.current.pauseSync(pauseReason);
|
|
51
53
|
return;
|
|
52
54
|
}
|
|
53
55
|
serviceRef.current.startSync();
|
|
54
|
-
}, [isConnected, type]);
|
|
56
|
+
}, [isConnected, type, wifiOnly]);
|
|
55
57
|
React.useEffect(() => {
|
|
56
58
|
onErrorRef.current = onError;
|
|
57
59
|
onProgressRef.current = onProgress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","useMedplumProfile","useNetInfo","React","AndroidHealthSyncService","AndroidHealthSync","memo","dataToSync","chunkSize","onError","onProgress","client","patient","serviceRef","useRef","isConnected","type","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-sync.tsx"],"mappings":";;AAAA,SAEEA,SAAS,EACTC,iBAAiB,QACZ,YAAY;AACnB,SAASC,UAAU,QAAQ,iCAAiC;AAC5D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+CAA4C;AAIrF,OAAO,MAAMC,iBAAiB,gBAAGF,KAAK,CAACG,IAAI,CACzC,CAAC;
|
|
1
|
+
{"version":3,"names":["useClient","useMedplumProfile","useNetInfo","React","AndroidHealthSyncService","AndroidHealthSync","memo","dataToSync","chunkSize","wifiOnly","onError","onProgress","client","patient","serviceRef","useRef","isConnected","type","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseReason","undefined","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-sync.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,8 @@ import { AppleHealthSyncService } from "../../services/apple-health-sync-service
|
|
|
8
8
|
export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
9
9
|
dataToSync,
|
|
10
10
|
chunkSize,
|
|
11
|
+
wifiOnly = false,
|
|
12
|
+
backgroundDelivery,
|
|
11
13
|
onError,
|
|
12
14
|
onProgress
|
|
13
15
|
}) => {
|
|
@@ -64,17 +66,18 @@ export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
|
64
66
|
}, [syncData]);
|
|
65
67
|
useListenChanges(dataToSync, () => {
|
|
66
68
|
syncData();
|
|
67
|
-
});
|
|
69
|
+
}, backgroundDelivery, error => onErrorRef.current?.(error));
|
|
68
70
|
React.useEffect(() => {
|
|
69
71
|
if (!serviceRef.current) {
|
|
70
72
|
return;
|
|
71
73
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
const pauseReason = !isConnected ? "offline" : wifiOnly && type !== "wifi" ? "wifi-only" : undefined;
|
|
75
|
+
if (pauseReason) {
|
|
76
|
+
serviceRef.current.pauseSync(pauseReason);
|
|
74
77
|
return;
|
|
75
78
|
}
|
|
76
79
|
serviceRef.current.startSync();
|
|
77
|
-
}, [isConnected, type]);
|
|
80
|
+
}, [isConnected, type, wifiOnly]);
|
|
78
81
|
React.useEffect(() => {
|
|
79
82
|
onErrorRef.current = onError;
|
|
80
83
|
onProgressRef.current = onProgress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","useMedplumProfile","useNetInfo","React","useListenChanges","AppleHealthSyncService","AppleHealthSync","memo","dataToSync","chunkSize","onError","onProgress","client","patient","serviceRef","useRef","isConnected","type","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-sync.tsx"],"mappings":";;AAAA,SAEEA,SAAS,EACTC,iBAAiB,QACZ,YAAY;AACnB,SAASC,UAAU,QAAQ,iCAAiC;AAC5D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,mCAAgC;AACjE,SAASC,sBAAsB,QAAQ,6CAA0C;AAIjF,OAAO,MAAMC,eAAe,gBAAGH,KAAK,CAACI,IAAI,CACvC,CAAC;
|
|
1
|
+
{"version":3,"names":["useClient","useMedplumProfile","useNetInfo","React","useListenChanges","AppleHealthSyncService","AppleHealthSync","memo","dataToSync","chunkSize","wifiOnly","backgroundDelivery","onError","onProgress","client","patient","serviceRef","useRef","isConnected","type","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseReason","undefined","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-sync.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import Healthkit from "@kingstinct/react-native-healthkit";
|
|
3
|
+
import Healthkit, { HKUpdateFrequency } from "@kingstinct/react-native-healthkit";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
export const useListenChanges = (dataToSync, onChange) => {
|
|
5
|
+
export const useListenChanges = (dataToSync, onChange, backgroundDelivery, onError) => {
|
|
6
6
|
const timeoutRef = React.useRef(undefined);
|
|
7
7
|
const onChangeRef = React.useRef(onChange);
|
|
8
|
+
const onErrorRef = React.useRef(onError);
|
|
8
9
|
const identifiers = React.useMemo(() => {
|
|
9
10
|
return Object.values(dataToSync).flatMap(data => data?.typeIdentifiers.map(identifier => identifier.typeIdentifier));
|
|
10
11
|
}, [dataToSync]);
|
|
12
|
+
const backgroundDeliveryEnabled = backgroundDelivery !== undefined;
|
|
13
|
+
const backgroundDeliveryFrequency = backgroundDelivery?.frequency ?? HKUpdateFrequency.hourly;
|
|
11
14
|
const debouncedOnChange = React.useCallback(identifier => {
|
|
12
15
|
if (timeoutRef.current) {
|
|
13
16
|
clearTimeout(timeoutRef.current);
|
|
@@ -20,6 +23,9 @@ export const useListenChanges = (dataToSync, onChange) => {
|
|
|
20
23
|
React.useEffect(() => {
|
|
21
24
|
onChangeRef.current = onChange;
|
|
22
25
|
}, [onChange]);
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
onErrorRef.current = onError;
|
|
28
|
+
}, [onError]);
|
|
23
29
|
React.useEffect(() => {
|
|
24
30
|
return () => {
|
|
25
31
|
if (timeoutRef.current) {
|
|
@@ -30,20 +36,31 @@ export const useListenChanges = (dataToSync, onChange) => {
|
|
|
30
36
|
React.useEffect(() => {
|
|
31
37
|
const subscriptions = [];
|
|
32
38
|
const initSubscriptions = async () => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
try {
|
|
40
|
+
return await Promise.all(identifiers.map(async identifier => {
|
|
41
|
+
if (backgroundDeliveryEnabled) {
|
|
42
|
+
await Healthkit.enableBackgroundDelivery(identifier, backgroundDeliveryFrequency);
|
|
43
|
+
}
|
|
44
|
+
const subscription = await Healthkit.subscribeToChanges(identifier, () => {
|
|
45
|
+
debouncedOnChange(identifier);
|
|
46
|
+
});
|
|
47
|
+
subscriptions.push(subscription);
|
|
48
|
+
return subscription;
|
|
49
|
+
}));
|
|
50
|
+
} catch (error) {
|
|
51
|
+
onErrorRef.current?.(error);
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
40
54
|
};
|
|
41
55
|
initSubscriptions();
|
|
42
56
|
return () => {
|
|
43
57
|
subscriptions.forEach(subscription => {
|
|
44
58
|
subscription?.();
|
|
45
59
|
});
|
|
60
|
+
if (backgroundDeliveryEnabled) {
|
|
61
|
+
void Promise.all(identifiers.map(identifier => Healthkit.disableBackgroundDelivery(identifier))).catch(error => onErrorRef.current?.(error));
|
|
62
|
+
}
|
|
46
63
|
};
|
|
47
|
-
}, [identifiers, debouncedOnChange]);
|
|
64
|
+
}, [identifiers, debouncedOnChange, backgroundDeliveryEnabled, backgroundDeliveryFrequency]);
|
|
48
65
|
};
|
|
49
66
|
//# sourceMappingURL=use-listen-changes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Healthkit","React","useListenChanges","dataToSync","onChange","timeoutRef","useRef","undefined","onChangeRef","identifiers","useMemo","Object","values","flatMap","data","typeIdentifiers","map","identifier","typeIdentifier","debouncedOnChange","useCallback","current","clearTimeout","setTimeout","useEffect","subscriptions","initSubscriptions","Promise","all","subscription","subscribeToChanges","push","forEach"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/hooks/use-listen-changes.ts"],"mappings":";;AAAA,OAAOA,SAAS,
|
|
1
|
+
{"version":3,"names":["Healthkit","HKUpdateFrequency","React","useListenChanges","dataToSync","onChange","backgroundDelivery","onError","timeoutRef","useRef","undefined","onChangeRef","onErrorRef","identifiers","useMemo","Object","values","flatMap","data","typeIdentifiers","map","identifier","typeIdentifier","backgroundDeliveryEnabled","backgroundDeliveryFrequency","frequency","hourly","debouncedOnChange","useCallback","current","clearTimeout","setTimeout","useEffect","subscriptions","initSubscriptions","Promise","all","enableBackgroundDelivery","subscription","subscribeToChanges","push","error","forEach","disableBackgroundDelivery","catch"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/hooks/use-listen-changes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,7 +35,7 @@ export class BaseHealthSyncService {
|
|
|
35
35
|
await this.initializeSync();
|
|
36
36
|
}
|
|
37
37
|
await this.processAllDataTypes();
|
|
38
|
-
this.progressManager.setPauseStatuses();
|
|
38
|
+
this.progressManager.setPauseStatuses(this.stateManager.pauseReason);
|
|
39
39
|
} catch (error) {
|
|
40
40
|
this.onSyncError(error);
|
|
41
41
|
}
|
|
@@ -45,8 +45,9 @@ export class BaseHealthSyncService {
|
|
|
45
45
|
this.stateManager.reset();
|
|
46
46
|
this.stateManager.shouldStopSync = true;
|
|
47
47
|
}
|
|
48
|
-
async pauseSync() {
|
|
49
|
-
this.stateManager.pause();
|
|
48
|
+
async pauseSync(reason) {
|
|
49
|
+
this.stateManager.pause(reason);
|
|
50
|
+
this.progressManager.setPauseStatuses(reason);
|
|
50
51
|
}
|
|
51
52
|
async initializeSync() {
|
|
52
53
|
const latestObservationDates = await this.dataProcessor.getLatestObservationDates(this.dataToSync);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DataProcessor","StorageManager","SyncProgressManager","SyncStateManager","BaseHealthSyncService","constructor","props","client","patientId","dataToSync","onSyncError","progressManager","updateProgress","stateManager","storageManager","getProviderName","dataProcessor","chunkSize","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","startSync","once","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasAnchor","observationBodies","currentHasAnchor","getObservationBodiesForType","entries","generateObservationEntries","incrementSyncedObservations","length","result","saveObservations","addResult"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["DataProcessor","StorageManager","SyncProgressManager","SyncStateManager","BaseHealthSyncService","constructor","props","client","patientId","dataToSync","onSyncError","progressManager","updateProgress","stateManager","storageManager","getProviderName","dataProcessor","chunkSize","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","startSync","once","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasAnchor","observationBodies","currentHasAnchor","getObservationBodiesForType","entries","generateObservationEntries","incrementSyncedObservations","length","result","saveObservations","addResult"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,12 +16,12 @@ export class SyncProgressManager {
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
setPauseStatuses() {
|
|
19
|
+
setPauseStatuses(reason) {
|
|
20
20
|
for (const key of Object.keys(this.syncData)) {
|
|
21
21
|
const measurementTypeKey = key;
|
|
22
22
|
const currentStatus = this.getStatus(measurementTypeKey);
|
|
23
23
|
if (currentStatus !== "completed") {
|
|
24
|
-
this.setStatus(measurementTypeKey, "paused");
|
|
24
|
+
this.setStatus(measurementTypeKey, "paused", reason);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -49,9 +49,10 @@ export class SyncProgressManager {
|
|
|
49
49
|
this.syncData[measurementTypeKey].syncedObservations += count;
|
|
50
50
|
this.notifyProgress(measurementTypeKey, "syncing");
|
|
51
51
|
}
|
|
52
|
-
setStatus(measurementTypeKey, status) {
|
|
52
|
+
setStatus(measurementTypeKey, status, reason) {
|
|
53
53
|
this.syncData[measurementTypeKey].status = status;
|
|
54
|
-
this.
|
|
54
|
+
this.syncData[measurementTypeKey].reason = status === "paused" ? reason : undefined;
|
|
55
|
+
this.notifyProgress(measurementTypeKey, status, reason);
|
|
55
56
|
}
|
|
56
57
|
getStatus(measurementTypeKey) {
|
|
57
58
|
return this.syncData[measurementTypeKey].status;
|
|
@@ -65,10 +66,13 @@ export class SyncProgressManager {
|
|
|
65
66
|
this.notifyProgress(measurementTypeKey, "idle");
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
|
-
notifyProgress(measurementTypeKey, status) {
|
|
69
|
+
notifyProgress(measurementTypeKey, status, reason) {
|
|
69
70
|
this.updateProgress({
|
|
70
71
|
measurementTypeKey,
|
|
71
72
|
status,
|
|
73
|
+
...(status === "paused" && reason ? {
|
|
74
|
+
reason
|
|
75
|
+
} : {}),
|
|
72
76
|
progress: this.getProgress(measurementTypeKey)
|
|
73
77
|
});
|
|
74
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultSyncData","syncedObservations","totalObservations","status","SyncProgressManager","syncData","constructor","updateProgress","dataToSync","key","Object","keys","measurementTypeKey","setPauseStatuses","currentStatus","getStatus","setStatus","setNotStartedStatuses","getProgress","done","total","setTotalObservations","notifyProgress","incrementSyncedObservations","count","resetAll","forEach","progress"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/sync-progress-manager.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["defaultSyncData","syncedObservations","totalObservations","status","SyncProgressManager","syncData","constructor","updateProgress","dataToSync","key","Object","keys","measurementTypeKey","setPauseStatuses","reason","currentStatus","getStatus","setStatus","setNotStartedStatuses","getProgress","done","total","setTotalObservations","notifyProgress","incrementSyncedObservations","count","undefined","resetAll","forEach","progress"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/sync-progress-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,15 +29,18 @@ export class SyncStateManager {
|
|
|
29
29
|
}
|
|
30
30
|
reset() {
|
|
31
31
|
this.shouldStopSync = false;
|
|
32
|
+
this.pauseReason = undefined;
|
|
32
33
|
this.initialDataFetched = false;
|
|
33
34
|
this.latestObservationDates = [];
|
|
34
35
|
this.results = [];
|
|
35
36
|
}
|
|
36
|
-
pause() {
|
|
37
|
+
pause(reason) {
|
|
37
38
|
this.shouldStopSync = true;
|
|
39
|
+
this.pauseReason = reason;
|
|
38
40
|
}
|
|
39
41
|
resume() {
|
|
40
42
|
this.shouldStopSync = false;
|
|
43
|
+
this.pauseReason = undefined;
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
46
|
//# sourceMappingURL=sync-state-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SyncStateManager","shouldStopSync","initialDataFetched","latestObservationDates","results","addResult","result","push","once","sync","inFlight","finally","undefined","reset","pause","resume"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/sync-state-manager.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SyncStateManager","shouldStopSync","initialDataFetched","latestObservationDates","results","addResult","result","push","once","sync","inFlight","finally","undefined","reset","pauseReason","pause","reason","resume"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/sync-state-manager.ts"],"mappings":";;AAIA,OAAO,MAAMA,gBAAgB,CAAC;EAC5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGSC,cAAc,GAAG,KAAK;EAEtBC,kBAAkB,GAAG,KAAK;EAC1BC,sBAAsB,GAGxB,EAAE;EACAC,OAAO,GAA0B,EAAE;EAE1CC,SAASA,CAACC,MAA2B,EAAQ;IAC3C,IAAI,CAACF,OAAO,CAACG,IAAI,CAACD,MAAM,CAAC;EAC3B;;EAEA;EACA,MAAME,IAAIA,CAACC,IAAyB,EAAiB;IACnD,IAAI,CAACC,QAAQ,KAAKD,IAAI,CAAC,CAAC,CAACE,OAAO,CAAC,MAAM;MACrC,IAAI,CAACD,QAAQ,GAAGE,SAAS;IAC3B,CAAC,CAAC;IAEF,OAAO,IAAI,CAACF,QAAQ;EACtB;EAEAG,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACZ,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACa,WAAW,GAAGF,SAAS;IAC5B,IAAI,CAACV,kBAAkB,GAAG,KAAK;IAC/B,IAAI,CAACC,sBAAsB,GAAG,EAAE;IAChC,IAAI,CAACC,OAAO,GAAG,EAAE;EACnB;EAEAW,KAAKA,CAACC,MAAwB,EAAQ;IACpC,IAAI,CAACf,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACa,WAAW,GAAGE,MAAM;EAC3B;EAEAC,MAAMA,CAAA,EAAS;IACb,IAAI,CAAChB,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACa,WAAW,GAAGF,SAAS;EAC9B;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kBAAkB,CAAC;AACjC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kBAAkB,CAAC;AACjC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apple-login-button.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/auth/sign-in/components/social-logins/apple-login-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,eAAO,MAAM,gBAAgB,GAAI,iFAS9B,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"apple-login-button.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/auth/sign-in/components/social-logins/apple-login-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,eAAO,MAAM,gBAAgB,GAAI,iFAS9B,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,6BAwG1C,CAAC"}
|