@ovok/native 1.6.50 → 1.6.52
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/README.md +21 -0
- package/lib/commonjs/index.js +18 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/default-translation.js +6 -1
- package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +9 -14
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-auth-action.js +41 -0
- package/lib/commonjs/modules/auth/hooks/use-auth-action.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-delete-account.js +27 -0
- package/lib/commonjs/modules/auth/hooks/use-delete-account.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js +14 -86
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-sign-in.js +66 -0
- package/lib/commonjs/modules/auth/hooks/use-sign-in.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-sign-out.js +15 -0
- package/lib/commonjs/modules/auth/hooks/use-sign-out.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-social-sign-in.js +92 -0
- package/lib/commonjs/modules/auth/hooks/use-social-sign-in.js.map +1 -0
- package/lib/commonjs/modules/auth/index.js +55 -0
- package/lib/commonjs/modules/auth/index.js.map +1 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +11 -16
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +5 -3
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/contexts/profile-form-context.js +1 -1
- package/lib/commonjs/modules/auth/profile/contexts/profile-form-context.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/hooks/use-profile-form.js +1 -1
- package/lib/commonjs/modules/auth/profile/hooks/use-profile-form.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +6 -4
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +2 -4
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +6 -4
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/contexts/reset-password-form-context.js +1 -1
- package/lib/commonjs/modules/auth/reset-password/contexts/reset-password-form-context.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/hooks/use-reset-password-form.js +1 -1
- package/lib/commonjs/modules/auth/reset-password/hooks/use-reset-password-form.js.map +1 -1
- package/lib/commonjs/modules/auth/session/logout-session.js +29 -0
- package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -0
- package/lib/commonjs/modules/auth/session/session-store.js +152 -0
- package/lib/commonjs/modules/auth/session/session-store.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js +25 -41
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +13 -12
- 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 +4 -4
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/contexts/login-form-context.js +1 -1
- package/lib/commonjs/modules/auth/sign-in/contexts/login-form-context.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/hooks/use-login-form.js +1 -1
- package/lib/commonjs/modules/auth/sign-in/hooks/use-login-form.js.map +1 -1
- package/lib/commonjs/modules/bt-device/components/device-list-provider.js +5 -4
- package/lib/commonjs/modules/bt-device/components/device-list-provider.js.map +1 -1
- package/lib/commonjs/modules/bt-device/components/hooks/use-device-list.js +1 -1
- package/lib/commonjs/modules/bt-device/components/hooks/use-device-list.js.map +1 -1
- package/lib/commonjs/modules/bt-device/contexts/device-list-context.js +1 -4
- package/lib/commonjs/modules/bt-device/contexts/device-list-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +176 -84
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider.js +3 -2
- package/lib/commonjs/modules/bt-management/components/bt-provider.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +146 -14
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +17 -11
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-permission.js +100 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-permission.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +13 -26
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js +148 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +10 -26
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +7 -76
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +43 -57
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +12 -16
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +31 -12
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js +12 -55
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js +6 -4
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +133 -11
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js +4 -2
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +30 -6
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +16 -27
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +26 -33
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.main-services.js +1 -1
- package/lib/commonjs/modules/cms/hooks/use-cms-content.js +50 -0
- package/lib/commonjs/modules/cms/hooks/use-cms-content.js.map +1 -0
- package/lib/commonjs/modules/cms/hooks/use-cms-locale.js +20 -0
- package/lib/commonjs/modules/cms/hooks/use-cms-locale.js.map +1 -0
- package/lib/commonjs/modules/cms/hooks/use-cms-translations.js +50 -0
- package/lib/commonjs/modules/cms/hooks/use-cms-translations.js.map +1 -0
- package/lib/commonjs/modules/cms/index.js +39 -0
- package/lib/commonjs/modules/cms/index.js.map +1 -0
- package/lib/commonjs/modules/cms/merge-cms-translations.js +49 -0
- package/lib/commonjs/modules/cms/merge-cms-translations.js.map +1 -0
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +23 -18
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js +19 -18
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-utils.js +20 -0
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-utils.js.map +1 -0
- package/lib/commonjs/modules/data-sync/contexts/health-authorization-context.js +18 -0
- package/lib/commonjs/modules/data-sync/contexts/health-authorization-context.js.map +1 -0
- package/lib/commonjs/modules/data-sync/hooks/use-health-import.js +81 -0
- package/lib/commonjs/modules/data-sync/hooks/use-health-import.js.map +1 -0
- package/lib/commonjs/modules/data-sync/index.js +37 -0
- package/lib/commonjs/modules/data-sync/index.js.map +1 -1
- package/lib/commonjs/modules/helpers/hooks/use-shallow-stable-value.js +20 -0
- package/lib/commonjs/modules/helpers/hooks/use-shallow-stable-value.js.map +1 -0
- package/lib/commonjs/modules/language-switcher/components/language-switcher.js +12 -4
- package/lib/commonjs/modules/language-switcher/components/language-switcher.js.map +1 -1
- package/lib/commonjs/modules/language-switcher/components/option/context/language-option-context.js +1 -1
- package/lib/commonjs/modules/language-switcher/components/option/context/language-option-context.js.map +1 -1
- package/lib/commonjs/modules/language-switcher/components/option/language-switcher-option.js +5 -4
- package/lib/commonjs/modules/language-switcher/components/option/language-switcher-option.js.map +1 -1
- package/lib/commonjs/modules/socket/components/socket-provider.js +78 -73
- package/lib/commonjs/modules/socket/components/socket-provider.js.map +1 -1
- package/lib/commonjs/modules/tab/components/tab-provider.js +12 -1
- package/lib/commonjs/modules/tab/components/tab-provider.js.map +1 -1
- package/lib/commonjs/modules/tab/contexts/tab-context.js +1 -1
- package/lib/commonjs/modules/tab/contexts/tab-context.js.map +1 -1
- package/lib/commonjs/modules/tab/hooks/use-tab.js +1 -1
- package/lib/commonjs/modules/tab/hooks/use-tab.js.map +1 -1
- package/lib/commonjs/modules/ui/components/health-import-card.js +2 -3
- package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -1
- package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/default-translation.js +3 -1
- package/lib/module/modules/auth/default-translation.js.map +1 -1
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +9 -14
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-auth-action.js +36 -0
- package/lib/module/modules/auth/hooks/use-auth-action.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-delete-account.js +22 -0
- package/lib/module/modules/auth/hooks/use-delete-account.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-session.js +17 -88
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-sign-in.js +61 -0
- package/lib/module/modules/auth/hooks/use-sign-in.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-sign-out.js +10 -0
- package/lib/module/modules/auth/hooks/use-sign-out.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-social-sign-in.js +86 -0
- package/lib/module/modules/auth/hooks/use-social-sign-in.js.map +1 -0
- package/lib/module/modules/auth/index.js +5 -0
- package/lib/module/modules/auth/index.js.map +1 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js +11 -16
- package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/module/modules/auth/profile/components/profile-form-provider.js +5 -3
- package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/module/modules/auth/profile/contexts/profile-form-context.js +1 -1
- package/lib/module/modules/auth/profile/contexts/profile-form-context.js.map +1 -1
- package/lib/module/modules/auth/profile/hooks/use-profile-form.js +1 -1
- package/lib/module/modules/auth/profile/hooks/use-profile-form.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +6 -4
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js +2 -4
- package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +6 -4
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/contexts/reset-password-form-context.js +1 -1
- package/lib/module/modules/auth/reset-password/contexts/reset-password-form-context.js.map +1 -1
- package/lib/module/modules/auth/reset-password/hooks/use-reset-password-form.js +1 -1
- package/lib/module/modules/auth/reset-password/hooks/use-reset-password-form.js.map +1 -1
- package/lib/module/modules/auth/session/logout-session.js +24 -0
- package/lib/module/modules/auth/session/logout-session.js.map +1 -0
- package/lib/module/modules/auth/session/session-store.js +148 -0
- package/lib/module/modules/auth/session/session-store.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js +25 -41
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +13 -12
- 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 +4 -4
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/module/modules/auth/sign-in/contexts/login-form-context.js +1 -1
- package/lib/module/modules/auth/sign-in/contexts/login-form-context.js.map +1 -1
- package/lib/module/modules/auth/sign-in/hooks/use-login-form.js +1 -1
- package/lib/module/modules/auth/sign-in/hooks/use-login-form.js.map +1 -1
- package/lib/module/modules/bt-device/components/device-list-provider.js +5 -4
- package/lib/module/modules/bt-device/components/device-list-provider.js.map +1 -1
- package/lib/module/modules/bt-device/components/hooks/use-device-list.js +1 -1
- package/lib/module/modules/bt-device/components/hooks/use-device-list.js.map +1 -1
- package/lib/module/modules/bt-device/contexts/device-list-context.js +1 -4
- package/lib/module/modules/bt-device/contexts/device-list-context.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +175 -84
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider.js +3 -2
- package/lib/module/modules/bt-management/components/bt-provider.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js +144 -13
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-background-sync.js +17 -11
- package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bluetooth-permission.js +94 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-permission.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +13 -26
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bt-device.js +142 -0
- package/lib/module/modules/bt-management/hooks/use-bt-device.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js +11 -26
- package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-health-import.js +2 -73
- package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-measurements.js +44 -58
- package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +13 -17
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js +31 -12
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js +12 -54
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-scan-control.js +6 -4
- package/lib/module/modules/bt-management/hooks/use-scan-control.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +8 -1
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js +3 -2
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +31 -7
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +16 -26
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +27 -34
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.main-services.js +1 -1
- package/lib/module/modules/cms/hooks/use-cms-content.js +44 -0
- package/lib/module/modules/cms/hooks/use-cms-content.js.map +1 -0
- package/lib/module/modules/cms/hooks/use-cms-locale.js +16 -0
- package/lib/module/modules/cms/hooks/use-cms-locale.js.map +1 -0
- package/lib/module/modules/cms/hooks/use-cms-translations.js +45 -0
- package/lib/module/modules/cms/hooks/use-cms-translations.js.map +1 -0
- package/lib/module/modules/cms/index.js +6 -0
- package/lib/module/modules/cms/index.js.map +1 -0
- package/lib/module/modules/cms/merge-cms-translations.js +46 -0
- package/lib/module/modules/cms/merge-cms-translations.js.map +1 -0
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +23 -18
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js +18 -17
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-utils.js +16 -0
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-utils.js.map +1 -0
- package/lib/module/modules/data-sync/contexts/health-authorization-context.js +13 -0
- package/lib/module/modules/data-sync/contexts/health-authorization-context.js.map +1 -0
- package/lib/module/modules/data-sync/hooks/use-health-import.js +76 -0
- package/lib/module/modules/data-sync/hooks/use-health-import.js.map +1 -0
- package/lib/module/modules/data-sync/index.js +2 -0
- package/lib/module/modules/data-sync/index.js.map +1 -1
- package/lib/module/modules/helpers/hooks/use-shallow-stable-value.js +14 -0
- package/lib/module/modules/helpers/hooks/use-shallow-stable-value.js.map +1 -0
- package/lib/module/modules/language-switcher/components/language-switcher.js +11 -4
- package/lib/module/modules/language-switcher/components/language-switcher.js.map +1 -1
- package/lib/module/modules/language-switcher/components/option/context/language-option-context.js +1 -1
- package/lib/module/modules/language-switcher/components/option/context/language-option-context.js.map +1 -1
- package/lib/module/modules/language-switcher/components/option/language-switcher-option.js +5 -4
- package/lib/module/modules/language-switcher/components/option/language-switcher-option.js.map +1 -1
- package/lib/module/modules/socket/components/socket-provider.js +78 -73
- package/lib/module/modules/socket/components/socket-provider.js.map +1 -1
- package/lib/module/modules/tab/components/tab-provider.js +11 -1
- package/lib/module/modules/tab/components/tab-provider.js.map +1 -1
- package/lib/module/modules/tab/contexts/tab-context.js +1 -1
- package/lib/module/modules/tab/contexts/tab-context.js.map +1 -1
- package/lib/module/modules/tab/hooks/use-tab.js +1 -1
- package/lib/module/modules/tab/hooks/use-tab.js.map +1 -1
- package/lib/module/modules/ui/components/health-import-card.js +1 -2
- package/lib/module/modules/ui/components/health-import-card.js.map +1 -1
- package/lib/module/modules/ui/components/pairing-flow.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/default-translation.d.ts +53 -1
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-auth-action.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-auth-action.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-delete-account.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-delete-account.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +6 -4
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-out.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-out.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-social-sign-in.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-social-sign-in.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/contexts/profile-form-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/contexts/profile-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/hooks/use-profile-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/login-form-provider.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/auth/sign-in/contexts/login-form-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/components/device-list-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/components/hooks/use-device-list.d.ts +1 -5
- package/lib/typescript/commonjs/src/modules/bt-device/components/hooks/use-device-list.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/contexts/device-list-context.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/bt-device/contexts/device-list-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts +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/components/bt-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +40 -9
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts +31 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts +2 -15
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +3 -6
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +7 -17
- 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/bc01/bc01.device.d.ts +5 -2
- 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/bc01/bc01.main-services.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-props.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/cms/hooks/use-cms-content.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/cms/hooks/use-cms-content.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/cms/hooks/use-cms-locale.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/cms/hooks/use-cms-locale.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/cms/hooks/use-cms-translations.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/cms/hooks/use-cms-translations.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/cms/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/cms/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/cms/merge-cms-translations.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/cms/merge-cms-translations.d.ts.map +1 -0
- 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/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-utils.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/contexts/health-authorization-context.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/data-sync/contexts/health-authorization-context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-health-import.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/hooks/use-shallow-stable-value.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/helpers/hooks/use-shallow-stable-value.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/language-switcher/components/language-switcher.d.ts +6 -5
- package/lib/typescript/commonjs/src/modules/language-switcher/components/language-switcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/language-switcher/components/option/context/language-option-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/language-switcher/components/option/context/language-option-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/socket/components/socket-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tab/components/tab-provider.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/tab/components/tab-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tab/contexts/tab-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/tab/contexts/tab-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +1 -2
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.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/default-translation.d.ts +53 -1
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-auth-action.d.ts +13 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-auth-action.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-delete-account.d.ts +8 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-delete-account.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +6 -4
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.d.ts +24 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-out.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-out.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-social-sign-in.d.ts +14 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-social-sign-in.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/contexts/profile-form-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/profile/contexts/profile-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/hooks/use-profile-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts +6 -0
- package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +21 -0
- package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/login-form-provider.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/auth/sign-in/contexts/login-form-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/components/device-list-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/components/hooks/use-device-list.d.ts +1 -5
- package/lib/typescript/module/src/modules/bt-device/components/hooks/use-device-list.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/contexts/device-list-context.d.ts +3 -2
- package/lib/typescript/module/src/modules/bt-device/contexts/device-list-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts +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/components/bt-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +40 -9
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts +17 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts +31 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts +2 -15
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +6 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +3 -6
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +7 -17
- 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/bc01/bc01.device.d.ts +5 -2
- 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/bc01/bc01.main-services.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-props.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/cms/hooks/use-cms-content.d.ts +9 -0
- package/lib/typescript/module/src/modules/cms/hooks/use-cms-content.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/cms/hooks/use-cms-locale.d.ts +7 -0
- package/lib/typescript/module/src/modules/cms/hooks/use-cms-locale.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/cms/hooks/use-cms-translations.d.ts +10 -0
- package/lib/typescript/module/src/modules/cms/hooks/use-cms-translations.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/cms/index.d.ts +4 -0
- package/lib/typescript/module/src/modules/cms/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/cms/merge-cms-translations.d.ts +13 -0
- package/lib/typescript/module/src/modules/cms/merge-cms-translations.d.ts.map +1 -0
- 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/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-utils.d.ts +4 -0
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-utils.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/contexts/health-authorization-context.d.ts +17 -0
- package/lib/typescript/module/src/modules/data-sync/contexts/health-authorization-context.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/hooks/use-health-import.d.ts +17 -0
- package/lib/typescript/module/src/modules/data-sync/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/data-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +1 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/hooks/use-shallow-stable-value.d.ts +2 -0
- package/lib/typescript/module/src/modules/helpers/hooks/use-shallow-stable-value.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/language-switcher/components/language-switcher.d.ts +6 -5
- package/lib/typescript/module/src/modules/language-switcher/components/language-switcher.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/language-switcher/components/option/context/language-option-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/language-switcher/components/option/context/language-option-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/socket/components/socket-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tab/components/tab-provider.d.ts +2 -1
- package/lib/typescript/module/src/modules/tab/components/tab-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tab/contexts/tab-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/tab/contexts/tab-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +1 -2
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":";;AAAA,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,gCAA6B;AAC3C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,4BAAyB;AACvC,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,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,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,4BAAyB;AACvC,cAAc,gCAA6B;AAC3C,cAAc,+BAA4B;AAC1C,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,6BAA0B;AACxC,cAAc,gCAA6B;
|
|
1
|
+
{"version":3,"names":["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;AACrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,4BAAyB;AACvC,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,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,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,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,gCAA6B;;AAE3C;AACA,SACEA,eAAe,QACV,yCAAsC;;AAE7C;;AAIA,cAAc,6BAA0B","ignoreList":[]}
|
|
@@ -28,6 +28,7 @@ const RECORD_FLAGS_INDEX = 1;
|
|
|
28
28
|
const RECORD_LAST_OF_SET_BIT = 0x40;
|
|
29
29
|
const asHex = byte => (byte & 0xff).toString(16).padStart(2, "0");
|
|
30
30
|
const bc401Checksum = bytes => bytes.reduce((acc, byte) => acc + (byte & 0x7f), 0) & 0x7f;
|
|
31
|
+
const bc401ChecksumMatches = bytes => bytes.length > 1 && bytes[bytes.length - 1] === bc401Checksum(bytes.slice(0, -1));
|
|
31
32
|
const buildCommand = (opcode, arg) => [opcode, arg, bc401Checksum([opcode, arg])];
|
|
32
33
|
const buildResetCommand = () => [OP_RESET, 0x00];
|
|
33
34
|
const buildRequestVersionCommand = () => [OP_REQUEST_VERSION, bc401Checksum([OP_REQUEST_VERSION])];
|
|
@@ -49,9 +50,9 @@ const buildSetTimeCommand = (now, timezone = "local") => {
|
|
|
49
50
|
seconds: now.getSeconds(),
|
|
50
51
|
milliseconds: now.getMilliseconds()
|
|
51
52
|
};
|
|
52
|
-
const payload = [OP_SET_TIME, parts.year - 2000, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds, parts.milliseconds &
|
|
53
|
+
const payload = [OP_SET_TIME, parts.year - 2000, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds, parts.milliseconds & 0x7f, parts.milliseconds >> 8 & 0x7f];
|
|
53
54
|
return [...payload, bc401Checksum(payload)];
|
|
54
55
|
};
|
|
55
56
|
const buildDeleteCommand = () => [0x93, 0x13];
|
|
56
|
-
export { ACK_LAST_OF_SET, asHex, bc401Checksum, buildCommand, buildDeleteCommand, buildRequestVersionCommand, buildResetCommand, buildSetTimeCommand, FINAL_RECORD_DELAY_MS, OP_REQUEST_COUNT, OP_REQUEST_QUANTITATIVE_RECORDS, OP_REQUEST_RECORDS, RECORD_FLAGS_INDEX, RECORD_LAST_OF_SET_BIT, REQUEST_ALL, REQUEST_NEXT_RECORD_GROUP, RESET_DELAY_MS, RETRY_RECORD_GROUP, RX };
|
|
57
|
+
export { ACK_LAST_OF_SET, asHex, bc401Checksum, bc401ChecksumMatches, buildCommand, buildDeleteCommand, buildRequestVersionCommand, buildResetCommand, buildSetTimeCommand, FINAL_RECORD_DELAY_MS, OP_REQUEST_COUNT, OP_REQUEST_QUANTITATIVE_RECORDS, OP_REQUEST_RECORDS, RECORD_FLAGS_INDEX, RECORD_LAST_OF_SET_BIT, REQUEST_ALL, REQUEST_NEXT_RECORD_GROUP, RESET_DELAY_MS, RETRY_RECORD_GROUP, RX };
|
|
57
58
|
//# sourceMappingURL=bc01-command-builders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OP_RESET","OP_REQUEST_VERSION","OP_SET_TIME","OP_REQUEST_COUNT","OP_REQUEST_RECORDS","OP_REQUEST_QUANTITATIVE_RECORDS","ACK_LAST_OF_SET","REQUEST_ALL","REQUEST_NEXT_RECORD_GROUP","RETRY_RECORD_GROUP","FINAL_RECORD_DELAY_MS","RESET_DELAY_MS","RX","ACK","VERSION_REPLY","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","STORED_RECORD_PAGED","FINISH","STORED_QUANTITATIVE","STORED_QUANTITATIVE_PAGED","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","asHex","byte","toString","padStart","bc401Checksum","bytes","reduce","acc","buildCommand","opcode","arg","buildResetCommand","buildRequestVersionCommand","buildSetTimeCommand","now","timezone","parts","year","getUTCFullYear","month","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","payload","buildDeleteCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-builders.ts"],"mappings":";;AAAA;AACA,MAAMA,QAAQ,GAAG,IAAI;AACrB,MAAMC,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,WAAW,GAAG,IAAI;AACxB,MAAMC,gBAAgB,GAAG,IAAI;AAC7B,MAAMC,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,+BAA+B,GAAG,IAAI;AAE5C,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,WAAW,GAAG,IAAI;AACxB,MAAMC,yBAAyB,GAAG,IAAI;AACtC,MAAMC,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,qBAAqB,GAAG,GAAG;AACjC,MAAMC,cAAc,GAAG,GAAG;AAE1B,MAAMC,EAAE,GAAG;EACTC,GAAG,EAAE,IAAI;EACTC,aAAa,EAAE,IAAI;EACnBC,aAAa,EAAE,IAAI;EACnBC,WAAW,EAAE,IAAI;EACjBC,iBAAiB,EAAE,IAAI;EACvBC,mBAAmB,EAAE,IAAI;EACzBC,MAAM,EAAE,IAAI;EACZC,mBAAmB,EAAE,IAAI;EACzBC,yBAAyB,EAAE;AAC7B,CAAU;AAEV,MAAMC,kBAAkB,GAAG,CAAC;AAC5B,MAAMC,sBAAsB,GAAG,IAAI;AAEnC,MAAMC,KAAK,GAAIC,IAAY,IACzB,CAACA,IAAI,GAAG,IAAI,EAAEC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAE7C,MAAMC,aAAa,GAAIC,KAAwB,IAC7CA,KAAK,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEN,IAAI,KAAKM,GAAG,IAAIN,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;AAE5D,MAAMO,YAAY,GAAGA,CAACC,MAAc,EAAEC,GAAW,KAAe,CAC9DD,MAAM,EACNC,GAAG,
|
|
1
|
+
{"version":3,"names":["OP_RESET","OP_REQUEST_VERSION","OP_SET_TIME","OP_REQUEST_COUNT","OP_REQUEST_RECORDS","OP_REQUEST_QUANTITATIVE_RECORDS","ACK_LAST_OF_SET","REQUEST_ALL","REQUEST_NEXT_RECORD_GROUP","RETRY_RECORD_GROUP","FINAL_RECORD_DELAY_MS","RESET_DELAY_MS","RX","ACK","VERSION_REPLY","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","STORED_RECORD_PAGED","FINISH","STORED_QUANTITATIVE","STORED_QUANTITATIVE_PAGED","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","asHex","byte","toString","padStart","bc401Checksum","bytes","reduce","acc","bc401ChecksumMatches","length","slice","buildCommand","opcode","arg","buildResetCommand","buildRequestVersionCommand","buildSetTimeCommand","now","timezone","parts","year","getUTCFullYear","month","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","payload","buildDeleteCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-builders.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { isClockSyncEnabled } from "../../../types/clock-sync.js";
|
|
6
6
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
7
|
-
import { ACK_LAST_OF_SET, asHex, bc401Checksum, buildCommand, buildDeleteCommand, buildRequestVersionCommand, buildResetCommand, buildSetTimeCommand, FINAL_RECORD_DELAY_MS, OP_REQUEST_COUNT, OP_REQUEST_QUANTITATIVE_RECORDS, OP_REQUEST_RECORDS, RECORD_FLAGS_INDEX, RECORD_LAST_OF_SET_BIT, REQUEST_ALL, REQUEST_NEXT_RECORD_GROUP, RESET_DELAY_MS, RETRY_RECORD_GROUP, RX } from "./bc01-command-builders.js";
|
|
7
|
+
import { ACK_LAST_OF_SET, asHex, bc401Checksum, bc401ChecksumMatches, buildCommand, buildDeleteCommand, buildRequestVersionCommand, buildResetCommand, buildSetTimeCommand, FINAL_RECORD_DELAY_MS, OP_REQUEST_COUNT, OP_REQUEST_QUANTITATIVE_RECORDS, OP_REQUEST_RECORDS, RECORD_FLAGS_INDEX, RECORD_LAST_OF_SET_BIT, REQUEST_ALL, REQUEST_NEXT_RECORD_GROUP, RESET_DELAY_MS, RETRY_RECORD_GROUP, RX } from "./bc01-command-builders.js";
|
|
8
8
|
/**
|
|
9
9
|
* Walks the BC401 through its post-reset handshake and pulls every stored
|
|
10
10
|
* record.
|
|
@@ -30,6 +30,7 @@ export class Bc01CommandSequencer {
|
|
|
30
30
|
|
|
31
31
|
/** Five quantitative pages per request group; 5 means a new group. */
|
|
32
32
|
quantitativePage = 5;
|
|
33
|
+
sawQuantitativeRecord = false;
|
|
33
34
|
|
|
34
35
|
/** Injectable for tests; production reads `Date.now()`. */
|
|
35
36
|
|
|
@@ -43,14 +44,36 @@ export class Bc01CommandSequencer {
|
|
|
43
44
|
return undefined;
|
|
44
45
|
}
|
|
45
46
|
const opcode = hexToByte(frame[0] ?? "0");
|
|
47
|
+
if (!bc401ChecksumMatches(frame.map(hexToByte))) {
|
|
48
|
+
this.params.onError?.(`BC401 checksum failed for frame ${asHex(opcode)}`);
|
|
49
|
+
if (opcode === RX.STORED_RECORD_PAGED) {
|
|
50
|
+
this.standardPage = 10;
|
|
51
|
+
return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, RETRY_RECORD_GROUP))];
|
|
52
|
+
}
|
|
53
|
+
if (opcode === RX.STORED_QUANTITATIVE_PAGED) {
|
|
54
|
+
this.quantitativePage = 5;
|
|
55
|
+
return [this.commandFor(buildCommand(OP_REQUEST_QUANTITATIVE_RECORDS, RETRY_RECORD_GROUP))];
|
|
56
|
+
}
|
|
57
|
+
this.isDone = true;
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
46
60
|
switch (opcode) {
|
|
47
61
|
case RX.ACK:
|
|
48
62
|
return [this.commandFor(buildRequestVersionCommand())];
|
|
49
63
|
case RX.VERSION_REPLY:
|
|
50
64
|
return [this.commandFor(isClockSyncEnabled(this.params.clockSync) ? buildSetTimeCommand(this.clock(), this.params.clockSync?.timezone) : buildCommand(OP_REQUEST_COUNT, REQUEST_ALL))];
|
|
51
65
|
case RX.TIME_SYNC_ACK:
|
|
66
|
+
if (hexToByte(frame[1] ?? "0") !== 0) {
|
|
67
|
+
this.params.onError?.("BC401 rejected the time synchronization");
|
|
68
|
+
this.isDone = true;
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
52
71
|
return [this.commandFor(buildCommand(OP_REQUEST_COUNT, REQUEST_ALL))];
|
|
53
72
|
case RX.COUNT_REPLY:
|
|
73
|
+
if ((hexToByte(frame[4] ?? "0") & 0x7f | (hexToByte(frame[5] ?? "0") & 0x7f) << 7) === 0) {
|
|
74
|
+
this.isDone = true;
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
54
77
|
return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, REQUEST_ALL))];
|
|
55
78
|
case RX.STORED_RECORD_URS:
|
|
56
79
|
case RX.STORED_RECORD_PAGED:
|
|
@@ -68,7 +91,7 @@ export class Bc01CommandSequencer {
|
|
|
68
91
|
answerStoredRecord = (opcode, frame) => {
|
|
69
92
|
const flags = hexToByte(frame[RECORD_FLAGS_INDEX] ?? "0");
|
|
70
93
|
if (opcode === RX.STORED_RECORD_URS) {
|
|
71
|
-
return this.finishStoredRecords(
|
|
94
|
+
return this.finishStoredRecords();
|
|
72
95
|
}
|
|
73
96
|
const page = flags & 0x0f;
|
|
74
97
|
if (this.standardPage === 10) {
|
|
@@ -86,12 +109,13 @@ export class Bc01CommandSequencer {
|
|
|
86
109
|
return undefined;
|
|
87
110
|
}
|
|
88
111
|
this.standardPage = 10;
|
|
89
|
-
return this.finishStoredRecords(
|
|
112
|
+
return this.finishStoredRecords();
|
|
90
113
|
};
|
|
91
114
|
answerQuantitativeRecord = (opcode, frame) => {
|
|
115
|
+
this.sawQuantitativeRecord = true;
|
|
92
116
|
const flags = hexToByte(frame[RECORD_FLAGS_INDEX] ?? "0");
|
|
93
117
|
if (opcode === RX.STORED_QUANTITATIVE) {
|
|
94
|
-
return this.finishStoredRecords(
|
|
118
|
+
return this.finishStoredRecords();
|
|
95
119
|
}
|
|
96
120
|
const page = flags & 0x0f;
|
|
97
121
|
if (this.quantitativePage === 5) {
|
|
@@ -109,11 +133,11 @@ export class Bc01CommandSequencer {
|
|
|
109
133
|
return undefined;
|
|
110
134
|
}
|
|
111
135
|
this.quantitativePage = 5;
|
|
112
|
-
return this.finishStoredRecords(
|
|
136
|
+
return this.finishStoredRecords();
|
|
113
137
|
};
|
|
114
|
-
finishStoredRecords =
|
|
138
|
+
finishStoredRecords = () => {
|
|
115
139
|
this.isDone = true;
|
|
116
|
-
return [this.commandFor(buildCommand(
|
|
140
|
+
return [this.commandFor(buildCommand(OP_REQUEST_RECORDS, ACK_LAST_OF_SET)), ...(this.params.clearDeviceHistory && !this.sawQuantitativeRecord ? [this.commandFor(buildDeleteCommand(), FINAL_RECORD_DELAY_MS)] : [])];
|
|
117
141
|
};
|
|
118
142
|
commandFor = (bytes, delayBeforeWriteMs = 0) => ({
|
|
119
143
|
...this.params.write,
|
package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isClockSyncEnabled","hexToByte","ACK_LAST_OF_SET","asHex","bc401Checksum","buildCommand","buildDeleteCommand","buildRequestVersionCommand","buildResetCommand","buildSetTimeCommand","FINAL_RECORD_DELAY_MS","OP_REQUEST_COUNT","OP_REQUEST_QUANTITATIVE_RECORDS","OP_REQUEST_RECORDS","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","REQUEST_ALL","REQUEST_NEXT_RECORD_GROUP","RESET_DELAY_MS","RETRY_RECORD_GROUP","RX","Bc01CommandSequencer","isDone","standardPage","quantitativePage","constructor","params","clock","clockSync","now","Date","initialCommands","commandFor","nextCommand","frame","length","undefined","opcode","ACK","VERSION_REPLY","timezone","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","
|
|
1
|
+
{"version":3,"names":["isClockSyncEnabled","hexToByte","ACK_LAST_OF_SET","asHex","bc401Checksum","bc401ChecksumMatches","buildCommand","buildDeleteCommand","buildRequestVersionCommand","buildResetCommand","buildSetTimeCommand","FINAL_RECORD_DELAY_MS","OP_REQUEST_COUNT","OP_REQUEST_QUANTITATIVE_RECORDS","OP_REQUEST_RECORDS","RECORD_FLAGS_INDEX","RECORD_LAST_OF_SET_BIT","REQUEST_ALL","REQUEST_NEXT_RECORD_GROUP","RESET_DELAY_MS","RETRY_RECORD_GROUP","RX","Bc01CommandSequencer","isDone","standardPage","quantitativePage","sawQuantitativeRecord","constructor","params","clock","clockSync","now","Date","initialCommands","commandFor","nextCommand","frame","length","undefined","opcode","map","onError","STORED_RECORD_PAGED","STORED_QUANTITATIVE_PAGED","ACK","VERSION_REPLY","timezone","TIME_SYNC_ACK","COUNT_REPLY","STORED_RECORD_URS","answerStoredRecord","STORED_QUANTITATIVE","answerQuantitativeRecord","FINISH","flags","finishStoredRecords","page","clearDeviceHistory","bytes","delayBeforeWriteMs","write","bc01CommandSequencerInternals"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-command-sequencer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
4
|
+
import { bc401ChecksumMatches } from "./bc01-command-builders.js";
|
|
4
5
|
|
|
5
6
|
/** BC401 stored-record frame is always sixteen bytes: header, timestamp, analytes, checksum. */
|
|
6
7
|
const BC01_RECORD_LENGTH = 16;
|
|
7
8
|
|
|
8
|
-
/** The two opcodes the firmware uses for a stored
|
|
9
|
+
/** The two opcodes the firmware uses for a stored BC401 strip record. */
|
|
9
10
|
const BC01_URS_OPCODE = 0xe1;
|
|
10
11
|
const BC01_PAGED_URS_OPCODE = 0xe2;
|
|
11
12
|
|
|
@@ -28,16 +29,14 @@ const MINUTE_MASK = 0x3f;
|
|
|
28
29
|
const SECOND_MASK = 0x3f;
|
|
29
30
|
|
|
30
31
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* field the vendor's own catalog calls "vc" and no other name is documented.
|
|
32
|
+
* Pad names, in the exact order they occupy the packed 3-bit slots across
|
|
33
|
+
* bytes 8..14 (see PHMS M1/a.java), covering both 11- and 14-pad strips.
|
|
34
34
|
*/
|
|
35
|
-
const BC01_ANALYTE_ORDER = ["uro", "bld", "bil", "ket", "glu", "pro", "ph", "nit", "leu", "sg", "vc"];
|
|
35
|
+
const BC01_ANALYTE_ORDER = ["uro", "bld", "bil", "ket", "glu", "pro", "ph", "nit", "leu", "sg", "vc", "mal", "cr", "uca"];
|
|
36
36
|
/**
|
|
37
37
|
* BC401's packed values are colour-chart indexes, not measurements. These
|
|
38
38
|
* values mirror the tables in Contec's BC401 integration (PHMS M1/a.java):
|
|
39
39
|
* the index is zero-based and `7` remains the device's unmeasured sentinel.
|
|
40
|
-
* The pH table is the URS-7 strip scale, which includes half-point readings.
|
|
41
40
|
*/
|
|
42
41
|
const BC01_ANALYTE_VALUES = {
|
|
43
42
|
uro: [0.2, 2, 4, 8],
|
|
@@ -46,11 +45,14 @@ const BC01_ANALYTE_VALUES = {
|
|
|
46
45
|
ket: [0, 15, 40, 80],
|
|
47
46
|
glu: [0, 50, 100, 250, 500, 1000],
|
|
48
47
|
pro: [0, 15, 30, 100, 300],
|
|
49
|
-
ph: [5, 6,
|
|
48
|
+
ph: [5, 6, 7, 8, 9],
|
|
50
49
|
nit: [0, 1],
|
|
51
50
|
leu: [0, 15, 70, 125, 500],
|
|
52
51
|
sg: [1.005, 1.01, 1.015, 1.02, 1.025, 1.03],
|
|
53
|
-
vc: [0, 10, 25, 50, 100]
|
|
52
|
+
vc: [0, 10, 25, 50, 100],
|
|
53
|
+
mal: [1, 3, 8, 15],
|
|
54
|
+
cr: [10, 50, 100, 200, 300],
|
|
55
|
+
uca: [2, 5, 15, 50]
|
|
54
56
|
};
|
|
55
57
|
|
|
56
58
|
/** Where the packed analyte pairs start in a 16-byte E1/E2 frame. */
|
|
@@ -73,10 +75,8 @@ const readPad = (packed, slot) => slot === 0 ? packed & 0x07 : packed >> 3 & 0x0
|
|
|
73
75
|
* frame is a record or a heartbeat, and a frame that fails these checks is
|
|
74
76
|
* skipped rather than parsed into a plausible-looking wrong reading.
|
|
75
77
|
*
|
|
76
|
-
* The checksum byte is
|
|
77
|
-
*
|
|
78
|
-
* only land in [0, 7] anyway — a corrupt payload would fail the pad-value
|
|
79
|
-
* check before it made it into a measurement.
|
|
78
|
+
* The checksum byte is verified before any value is exposed; individual
|
|
79
|
+
* packed indexes could otherwise decode into plausible but incorrect results.
|
|
80
80
|
*/
|
|
81
81
|
const parseBc01Record = frame => {
|
|
82
82
|
if (frame.length < BC01_RECORD_LENGTH) {
|
|
@@ -86,6 +86,9 @@ const parseBc01Record = frame => {
|
|
|
86
86
|
if (opcode !== BC01_URS_OPCODE && opcode !== BC01_PAGED_URS_OPCODE) {
|
|
87
87
|
return undefined;
|
|
88
88
|
}
|
|
89
|
+
if (!bc401ChecksumMatches(frame.map(hexToByte))) {
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
89
92
|
const flags = hexToByte(frame[1] ?? "");
|
|
90
93
|
const yy = hexToByte(frame[2] ?? "") + YEAR_BASE;
|
|
91
94
|
const mm = hexToByte(frame[3] ?? "") & MONTH_MASK;
|
|
@@ -115,18 +118,5 @@ const parseBc01Record = frame => {
|
|
|
115
118
|
values
|
|
116
119
|
};
|
|
117
120
|
};
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* True when the buffer holds a complete BC401 stored record. Used by the
|
|
121
|
-
* driver's `validatePackage` hook so the SDK's read path only advances once
|
|
122
|
-
* the notification carries a whole 16-byte frame.
|
|
123
|
-
*/
|
|
124
|
-
const isBc01Record = frame => {
|
|
125
|
-
if (frame.length < BC01_RECORD_LENGTH) {
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
const opcode = hexToByte(frame[0] ?? "");
|
|
129
|
-
return opcode === BC01_URS_OPCODE || opcode === BC01_PAGED_URS_OPCODE;
|
|
130
|
-
};
|
|
131
|
-
export { BC01_ANALYTE_ORDER, BC01_ANALYTE_VALUES, BC01_LAST_OF_SET_BIT, BC01_PAGED_URS_OPCODE, BC01_RECORD_LENGTH, BC01_URS_OPCODE, isBc01Record, parseBc01Record };
|
|
121
|
+
export { BC01_ANALYTE_ORDER, BC01_ANALYTE_VALUES, BC01_LAST_OF_SET_BIT, BC01_PAGED_URS_OPCODE, BC01_RECORD_LENGTH, BC01_URS_OPCODE, parseBc01Record };
|
|
132
122
|
//# sourceMappingURL=bc01-frame-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hexToByte","BC01_RECORD_LENGTH","BC01_URS_OPCODE","BC01_PAGED_URS_OPCODE","BC01_LAST_OF_SET_BIT","UNMEASURED","YEAR_BASE","MONTH_MASK","DAY_MASK","HOUR_MASK","MINUTE_MASK","SECOND_MASK","BC01_ANALYTE_ORDER","BC01_ANALYTE_VALUES","uro","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","ANALYTES_START","readPad","packed","slot","parseBc01Record","frame","length","undefined","opcode","flags","yy","mm","dd","hh","mi","ss","timestamp","Date","values","forEach","analyte","position","byteIndex","Math","floor","level","value","lastOfSet","pageIndex"
|
|
1
|
+
{"version":3,"names":["hexToByte","bc401ChecksumMatches","BC01_RECORD_LENGTH","BC01_URS_OPCODE","BC01_PAGED_URS_OPCODE","BC01_LAST_OF_SET_BIT","UNMEASURED","YEAR_BASE","MONTH_MASK","DAY_MASK","HOUR_MASK","MINUTE_MASK","SECOND_MASK","BC01_ANALYTE_ORDER","BC01_ANALYTE_VALUES","uro","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","mal","cr","uca","ANALYTES_START","readPad","packed","slot","parseBc01Record","frame","length","undefined","opcode","map","flags","yy","mm","dd","hh","mi","ss","timestamp","Date","values","forEach","analyte","position","byteIndex","Math","floor","level","value","lastOfSet","pageIndex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-frame-parser.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,30 +6,9 @@ import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
|
6
6
|
import { BTManagedDevice } from "../bt-managed-device.js";
|
|
7
7
|
import { Bc01CommandSequencer } from "./bc01-command-sequencer.js";
|
|
8
8
|
import { BC01_ANALYTE_ORDER, parseBc01Record } from "./bc01-frame-parser.js";
|
|
9
|
-
import { Bc01FrameReader } from "./bc01.frame-reader.js";
|
|
9
|
+
import { Bc01FrameReader, bc01FrameLengths } from "./bc01.frame-reader.js";
|
|
10
10
|
import { bc01MainServices } from "./bc01.main-services.js";
|
|
11
11
|
|
|
12
|
-
/** Minimum bytes a complete frame carries, keyed by its opening opcode. */
|
|
13
|
-
const BC01_FRAME_MIN_LENGTH = {
|
|
14
|
-
0xf0: 2,
|
|
15
|
-
// ACK
|
|
16
|
-
0xf2: 8,
|
|
17
|
-
// Version reply (variable — 8 is the minimum PHMS reads before answering)
|
|
18
|
-
0xf3: 3,
|
|
19
|
-
// Time-sync ack
|
|
20
|
-
0xe0: 7,
|
|
21
|
-
// Record-count reply
|
|
22
|
-
0xe1: 16,
|
|
23
|
-
// Stored URS record
|
|
24
|
-
0xe2: 16,
|
|
25
|
-
// Paginated URS record
|
|
26
|
-
0xe3: 3,
|
|
27
|
-
// Finish
|
|
28
|
-
0xe4: 36,
|
|
29
|
-
// Quantitative record (optional path)
|
|
30
|
-
0xe5: 36 // Quantitative record (optional path)
|
|
31
|
-
};
|
|
32
|
-
|
|
33
12
|
/**
|
|
34
13
|
* Contec BC401 (BC01) urine analyzer driver.
|
|
35
14
|
*
|
|
@@ -41,12 +20,15 @@ const BC01_FRAME_MIN_LENGTH = {
|
|
|
41
20
|
* 16-byte E1/E2 frame on 0xFF02.
|
|
42
21
|
*/
|
|
43
22
|
export class BC01Device extends BTManagedDevice {
|
|
44
|
-
onStreamStart = () => {
|
|
23
|
+
onStreamStart = () => {
|
|
24
|
+
this.reportedTimestamps.clear();
|
|
25
|
+
};
|
|
26
|
+
reportedTimestamps = new Set();
|
|
45
27
|
mainServices = bc01MainServices;
|
|
46
28
|
frameReader = new Bc01FrameReader();
|
|
47
29
|
|
|
48
30
|
/**
|
|
49
|
-
* 90 s covers the maximum firmware-side reagent-pad settle time on a
|
|
31
|
+
* 90 s covers the maximum firmware-side reagent-pad settle time on a
|
|
50
32
|
* strip and leaves headroom for a bulk memory dump of every stored record.
|
|
51
33
|
* If the device does not push a frame within that window the data processor
|
|
52
34
|
* times out and the driver surfaces "device unreachable".
|
|
@@ -62,14 +44,18 @@ export class BC01Device extends BTManagedDevice {
|
|
|
62
44
|
* set. The parent's default `pollingSequencerFor` would only re-send the
|
|
63
45
|
* declared reset forever, which the firmware ignores after the first one.
|
|
64
46
|
*/
|
|
65
|
-
this.createCommandSequencer = () =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
47
|
+
this.createCommandSequencer = () => {
|
|
48
|
+
this.reportedTimestamps.clear();
|
|
49
|
+
return new Bc01CommandSequencer({
|
|
50
|
+
write: {
|
|
51
|
+
serviceUuid: bc01MainServices[0].uuid,
|
|
52
|
+
characteristicUuid: bc01MainServices[0].writeUuid.uuid
|
|
53
|
+
},
|
|
54
|
+
onError: reason => this.onError?.(new Error(`BC401: ${reason}`)),
|
|
55
|
+
clockSync: params.clockSync,
|
|
56
|
+
clearDeviceHistory: params.clearDeviceHistory
|
|
57
|
+
}, params.clockSync?.now);
|
|
58
|
+
};
|
|
73
59
|
}
|
|
74
60
|
|
|
75
61
|
/**
|
|
@@ -83,7 +69,7 @@ export class BC01Device extends BTManagedDevice {
|
|
|
83
69
|
return false;
|
|
84
70
|
}
|
|
85
71
|
const opcode = hexToByte(pkg[0] ?? "");
|
|
86
|
-
const minLength =
|
|
72
|
+
const minLength = bc01FrameLengths[opcode.toString(16).padStart(2, "0")];
|
|
87
73
|
if (minLength === undefined) {
|
|
88
74
|
return false;
|
|
89
75
|
}
|
|
@@ -114,7 +100,9 @@ export class BC01Device extends BTManagedDevice {
|
|
|
114
100
|
/**
|
|
115
101
|
* Nothing to do here for the BC401. Every reading arrives through the
|
|
116
102
|
* dependent-result path, and the state machine sees only the `OTHER`-typed
|
|
117
|
-
* echo we return from `handleDependentResult`.
|
|
103
|
+
* echo we return from `handleDependentResult`. Records are deduplicated by
|
|
104
|
+
* their second-resolution device timestamp for this transfer because a
|
|
105
|
+
* paged-group retry resends the earlier frames.
|
|
118
106
|
*/
|
|
119
107
|
handleSuccessResult() {
|
|
120
108
|
return;
|
|
@@ -135,6 +123,11 @@ export class BC01Device extends BTManagedDevice {
|
|
|
135
123
|
this.onError?.("feedback-messages.measurement.disturb-detected-error");
|
|
136
124
|
return;
|
|
137
125
|
}
|
|
126
|
+
const timestamp = parsed.timestamp.getTime();
|
|
127
|
+
if (this.reportedTimestamps.has(timestamp)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.reportedTimestamps.add(timestamp);
|
|
138
131
|
const reading = {
|
|
139
132
|
caseType: CaseType.RESULT,
|
|
140
133
|
measurementTypeKey: MeasurementTypeKey.uricAcid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","hexToByte","BTManagedDevice","Bc01CommandSequencer","BC01_ANALYTE_ORDER","parseBc01Record","Bc01FrameReader","
|
|
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","handleSuccessResult","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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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { CaseType } from "../../../types/case-type.js";
|
|
|
6
6
|
* Contec BC401 (a.k.a. BC01) urine analyzer — GATT profile.
|
|
7
7
|
*
|
|
8
8
|
* The BC401 uses Contec's proprietary FF12 service, shared across their
|
|
9
|
-
* consumer medical devices. Every stored
|
|
9
|
+
* consumer medical devices. Every stored urine-strip measurement is pushed as a
|
|
10
10
|
* 16-byte record on 0xFF02 after the host has walked the handshake documented
|
|
11
11
|
* in `bc01-command-sequencer.ts`.
|
|
12
12
|
*
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCmsDocument as useCoreCmsDocument, useCmsDocuments as useCoreCmsDocuments, useLegalPage as useCoreLegalPage, useReleaseNotes as useCoreReleaseNotes } from "@ovok/core";
|
|
4
|
+
import { useCmsLocale } from "./use-cms-locale.js";
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* The @ovok/core CMS hooks, reading in the app's i18next language unless
|
|
8
|
+
* `options.locale` is set, and again when that language changes.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const useCmsDocument = (collection, slug, options = {}) => {
|
|
12
|
+
const locale = useCmsLocale();
|
|
13
|
+
return useCoreCmsDocument(collection, slug, {
|
|
14
|
+
...options,
|
|
15
|
+
locale: options.locale || locale
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
const useCmsDocuments = (collection, options = {}) => {
|
|
19
|
+
const locale = useCmsLocale();
|
|
20
|
+
return useCoreCmsDocuments(collection, {
|
|
21
|
+
...options,
|
|
22
|
+
locale: options.locale || locale
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** With `tenantCode`, readable before sign-in. */
|
|
27
|
+
const useLegalPage = (slug, options = {}) => {
|
|
28
|
+
const locale = useCmsLocale();
|
|
29
|
+
return useCoreLegalPage(slug, {
|
|
30
|
+
...options,
|
|
31
|
+
locale: options.locale || locale
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/** Newest first unless `sort` says otherwise. Needs a session. */
|
|
36
|
+
const useReleaseNotes = (options = {}) => {
|
|
37
|
+
const locale = useCmsLocale();
|
|
38
|
+
return useCoreReleaseNotes({
|
|
39
|
+
...options,
|
|
40
|
+
locale: options.locale || locale
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
export { useCmsDocument, useCmsDocuments, useLegalPage, useReleaseNotes };
|
|
44
|
+
//# sourceMappingURL=use-cms-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCmsDocument","useCoreCmsDocument","useCmsDocuments","useCoreCmsDocuments","useLegalPage","useCoreLegalPage","useReleaseNotes","useCoreReleaseNotes","useCmsLocale","collection","slug","options","locale"],"sourceRoot":"../../../../../src","sources":["modules/cms/hooks/use-cms-content.ts"],"mappings":";;AAAA,SAMEA,cAAc,IAAIC,kBAAkB,EACpCC,eAAe,IAAIC,mBAAmB,EACtCC,YAAY,IAAIC,gBAAgB,EAChCC,eAAe,IAAIC,mBAAmB,QACjC,YAAY;AAEnB,SAASC,YAAY,QAAQ,qBAAkB;;AAE/C;AACA;AACA;AACA;;AAEA,MAAMR,cAAc,GAAGA,CACrBS,UAAkB,EAClBC,IAAwB,EACxBC,OAAuB,GAAG,CAAC,CAAC,KACJ;EACxB,MAAMC,MAAM,GAAGJ,YAAY,CAAC,CAAC;EAE7B,OAAOP,kBAAkB,CAAIQ,UAAU,EAAEC,IAAI,EAAE;IAAE,GAAGC,OAAO;IAAEC,MAAM,EAAED,OAAO,CAACC,MAAM,IAAIA;EAAO,CAAC,CAAC;AAClG,CAAC;AAED,MAAMV,eAAe,GAAGA,CACtBO,UAAkB,EAClBE,OAA2B,GAAG,CAAC,CAAC,KACK;EACrC,MAAMC,MAAM,GAAGJ,YAAY,CAAC,CAAC;EAE7B,OAAOL,mBAAmB,CAAIM,UAAU,EAAE;IAAE,GAAGE,OAAO;IAAEC,MAAM,EAAED,OAAO,CAACC,MAAM,IAAIA;EAAO,CAAC,CAAC;AAC7F,CAAC;;AAED;AACA,MAAMR,YAAY,GAAGA,CACnBM,IAAwB,EACxBC,OAAuB,GAAG,CAAC,CAAC,KACU;EACtC,MAAMC,MAAM,GAAGJ,YAAY,CAAC,CAAC;EAE7B,OAAOH,gBAAgB,CAACK,IAAI,EAAE;IAAE,GAAGC,OAAO;IAAEC,MAAM,EAAED,OAAO,CAACC,MAAM,IAAIA;EAAO,CAAC,CAAC;AACjF,CAAC;;AAED;AACA,MAAMN,eAAe,GAAGA,CAACK,OAA2B,GAAG,CAAC,CAAC,KAAoC;EAC3F,MAAMC,MAAM,GAAGJ,YAAY,CAAC,CAAC;EAE7B,OAAOD,mBAAmB,CAAC;IAAE,GAAGI,OAAO;IAAEC,MAAM,EAAED,OAAO,CAACC,MAAM,IAAIA;EAAO,CAAC,CAAC;AAC9E,CAAC;AAED,SAASZ,cAAc,EAAEE,eAAe,EAAEE,YAAY,EAAEE,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { toCmsLocale } from "@ovok/core";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The app's i18next language as an Ovok CMS locale ("de-DE" reads "de"; a
|
|
8
|
+
* language the CMS doesn't carry reads "en"). Follows `i18n.changeLanguage`.
|
|
9
|
+
*/
|
|
10
|
+
export const useCmsLocale = () => {
|
|
11
|
+
const {
|
|
12
|
+
i18n
|
|
13
|
+
} = useTranslation();
|
|
14
|
+
return toCmsLocale(i18n.resolvedLanguage ?? i18n.language);
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=use-cms-locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toCmsLocale","useTranslation","useCmsLocale","i18n","resolvedLanguage","language"],"sourceRoot":"../../../../../src","sources":["modules/cms/hooks/use-cms-locale.ts"],"mappings":";;AAAA,SAAwBA,WAAW,QAAQ,YAAY;AACvD,SAASC,cAAc,QAAQ,eAAe;;AAE9C;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAqB;EAC/C,MAAM;IAAEC;EAAK,CAAC,GAAGF,cAAc,CAAC,CAAC;EAEjC,OAAOD,WAAW,CAACG,IAAI,CAACC,gBAAgB,IAAID,IAAI,CAACE,QAAQ,CAAC;AAC5D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { toCmsLocale, useTranslations } from "@ovok/core";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
import { mergeCmsTranslations } from "../merge-cms-translations.js";
|
|
7
|
+
import { useCmsLocale } from "./use-cms-locale.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Loads the CMS `translations` collection into the app's i18next instance:
|
|
11
|
+
* read in the i18next language unless `options.locale` is set, and added under
|
|
12
|
+
* its CMS locale ("de", which a "de-DE" language still resolves through). The
|
|
13
|
+
* app's own strings still win; the CMS replaces the SDK's built-in English.
|
|
14
|
+
* Call it once, near the root; signed out, pass `tenantCode`.
|
|
15
|
+
*/
|
|
16
|
+
export const useCmsTranslations = (options = {}) => {
|
|
17
|
+
const {
|
|
18
|
+
i18n
|
|
19
|
+
} = useTranslation();
|
|
20
|
+
const cmsLocale = useCmsLocale();
|
|
21
|
+
const locale = toCmsLocale(options.locale || cmsLocale);
|
|
22
|
+
const state = useTranslations({
|
|
23
|
+
...options,
|
|
24
|
+
locale
|
|
25
|
+
});
|
|
26
|
+
const {
|
|
27
|
+
data
|
|
28
|
+
} = state;
|
|
29
|
+
const merged = React.useRef(undefined);
|
|
30
|
+
React.useEffect(() => {
|
|
31
|
+
// A language switch first renders with the previous language's tree still in `data`.
|
|
32
|
+
if (!data || data === merged.current) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
merged.current = data;
|
|
36
|
+
|
|
37
|
+
// Re-render through the event react-i18next listens to. Not changeLanguage: during a
|
|
38
|
+
// pending switch, changing back to the old language would revert the user's switch.
|
|
39
|
+
if (mergeCmsTranslations(i18n, locale, data)) {
|
|
40
|
+
i18n.emit("languageChanged", i18n.language);
|
|
41
|
+
}
|
|
42
|
+
}, [data, i18n, locale]);
|
|
43
|
+
return state;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=use-cms-translations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toCmsLocale","useTranslations","React","useTranslation","mergeCmsTranslations","useCmsLocale","useCmsTranslations","options","i18n","cmsLocale","locale","state","data","merged","useRef","undefined","useEffect","current","emit","language"],"sourceRoot":"../../../../../src","sources":["modules/cms/hooks/use-cms-translations.ts"],"mappings":";;AAAA,SAIEA,WAAW,EACXC,eAAe,QACV,YAAY;AACnB,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAE9C,SAASC,oBAAoB,QAAQ,8BAA2B;AAEhE,SAASC,YAAY,QAAQ,qBAAkB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,OAAuB,GAAG,CAAC,CAAC,KAAyC;EACtG,MAAM;IAAEC;EAAK,CAAC,GAAGL,cAAc,CAAC,CAAC;EACjC,MAAMM,SAAS,GAAGJ,YAAY,CAAC,CAAC;EAChC,MAAMK,MAAM,GAAGV,WAAW,CAACO,OAAO,CAACG,MAAM,IAAID,SAAS,CAAC;EACvD,MAAME,KAAK,GAAGV,eAAe,CAAC;IAAE,GAAGM,OAAO;IAAEG;EAAO,CAAC,CAAC;EACrD,MAAM;IAAEE;EAAK,CAAC,GAAGD,KAAK;EACtB,MAAME,MAAM,GAAGX,KAAK,CAACY,MAAM,CAA+BC,SAAS,CAAC;EAEpEb,KAAK,CAACc,SAAS,CAAC,MAAM;IACpB;IACA,IAAI,CAACJ,IAAI,IAAIA,IAAI,KAAKC,MAAM,CAACI,OAAO,EAAE;MACpC;IACF;IACAJ,MAAM,CAACI,OAAO,GAAGL,IAAI;;IAErB;IACA;IACA,IAAIR,oBAAoB,CAACI,IAAI,EAAEE,MAAM,EAAEE,IAAI,CAAC,EAAE;MAC5CJ,IAAI,CAACU,IAAI,CAAC,iBAAiB,EAAEV,IAAI,CAACW,QAAQ,CAAC;IAC7C;EACF,CAAC,EAAE,CAACP,IAAI,EAAEJ,IAAI,EAAEE,MAAM,CAAC,CAAC;EAExB,OAAOC,KAAK;AACd,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/cms/index.ts"],"mappings":";;AAAA,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,iCAA8B","ignoreList":[]}
|