react-native-rook-sdk 2.1.2 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +35 -3
- package/RNRookSdk.podspec +22 -0
- package/android/build.gradle +20 -41
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +11 -222
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +24 -33
- package/ios/DateHelper.swift +55 -0
- package/ios/Encodable.swift +25 -0
- package/ios/EncodableDataSource.swift +5 -6
- package/ios/EncodableDataSourceAuthorizer.swift +3 -4
- package/ios/HearRateMapper.swift +42 -0
- package/ios/RookBackground.swift +35 -0
- package/ios/RookConfiguration.swift +116 -0
- package/ios/RookData.swift +170 -0
- package/ios/RookEntry.swift +61 -0
- package/ios/RookPermissions.swift +78 -0
- package/ios/RookSdk-Bridging-Header.h +12 -0
- package/ios/RookSdk.h +14 -2
- package/ios/RookSdk.mm +549 -81
- package/ios/RookSources.swift +74 -116
- package/ios/RookSync.swift +126 -34
- package/ios/boost-boost_privacy-Bridging-Header.h +4 -0
- package/lib/module/NativeRookSdk.js +96 -0
- package/lib/module/NativeRookSdk.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +2 -0
- package/lib/module/context/RookSyncGateContext.js.map +1 -1
- package/lib/module/context/RookSyncGateProvider.js +16 -15
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +2 -0
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/context/RookSyncGateTypes.js +2 -0
- package/lib/module/hooks/useRookAPISources.js +66 -0
- package/lib/module/hooks/useRookAPISources.js.map +1 -0
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -25
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealth.js +11 -23
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +10 -109
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookData.js +35 -33
- package/lib/module/hooks/useRookData.js.map +1 -1
- package/lib/module/hooks/useRookHealthConnect.js +9 -10
- package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +39 -77
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSamsungHealth.js +35 -0
- package/lib/module/hooks/useRookSamsungHealth.js.map +1 -0
- package/lib/module/hooks/useRookSync.js +23 -31
- package/lib/module/hooks/useRookSync.js.map +1 -1
- package/lib/module/hooks/useRookVariables.js +24 -18
- package/lib/module/hooks/useRookVariables.js.map +1 -1
- package/lib/module/index.js +18 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +22 -36
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
- package/lib/module/modules/utils/errors.js +2 -0
- package/lib/module/modules/utils/errors.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/types/ActivityEvent.js +2 -0
- package/lib/module/types/AppleHealthPermissions.js +53 -0
- package/lib/module/types/AppleHealthPermissions.js.map +1 -0
- package/lib/module/types/AuthorizedSources.js +2 -0
- package/lib/module/types/BodySummary.js +2 -0
- package/lib/module/types/DataSource.js +10 -0
- package/lib/module/types/DataSource.js.map +1 -1
- package/lib/module/types/HeartRateEvent.js +2 -0
- package/lib/{commonjs/types/DataSource.js.map → module/types/HeartRateEvent.js.map} +1 -1
- package/lib/module/types/PermissionsType.js +1 -1
- package/lib/module/types/PhysicalSummary.js +2 -0
- package/lib/module/types/Rook.js +2 -0
- package/lib/{commonjs/types/SyncTypes.js.map → module/types/Rook.js.map} +1 -1
- package/lib/module/types/SDKSources.js +2 -0
- package/lib/module/types/SDKSources.js.map +1 -1
- package/lib/module/types/SamsungHealthPermissions.js +3 -0
- package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
- package/lib/module/types/SleepSummary.js +2 -0
- package/lib/module/types/SummaryTypes.js +1 -1
- package/lib/module/types/SyncTypes.js +28 -1
- package/lib/module/types/SyncTypes.js.map +1 -1
- package/lib/module/utils/isModuleReady.js +2 -0
- package/lib/module/utils/isModuleReady.js.map +1 -1
- package/lib/module/utils/isRunningOnAndroid.js +2 -0
- package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
- package/lib/module/utils/isRunningOniOS.js +2 -0
- package/lib/module/utils/isRunningOniOS.js.map +1 -1
- package/lib/module/utils/isValidDate.js +2 -0
- package/lib/module/utils/isValidDate.js.map +1 -1
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeRookSdk.d.ts +190 -0
- package/lib/typescript/src/NativeRookSdk.d.ts.map +1 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAPISources.d.ts +15 -0
- package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts +0 -1
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +1 -2
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +0 -8
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookData.d.ts +2 -0
- package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts +11 -12
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +7 -0
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +19 -4
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
- package/lib/typescript/src/types/AppleHealthPermissions.d.ts +50 -0
- package/lib/typescript/src/types/AppleHealthPermissions.d.ts.map +1 -0
- package/lib/typescript/src/types/AuthorizedSources.d.ts +3 -3
- package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
- package/lib/typescript/src/types/DataSource.d.ts +8 -1
- package/lib/typescript/src/types/DataSource.d.ts.map +1 -1
- package/lib/typescript/src/types/HeartRateEvent.d.ts +24 -0
- package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -0
- package/lib/typescript/src/types/PermissionsType.d.ts +0 -4
- package/lib/typescript/src/types/PermissionsType.d.ts.map +1 -1
- package/lib/typescript/src/types/Rook.d.ts +9 -0
- package/lib/typescript/src/types/Rook.d.ts.map +1 -0
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +1 -0
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
- package/lib/typescript/src/types/SyncTypes.d.ts +28 -5
- package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
- package/package.json +94 -98
- package/src/NativeRookSdk.ts +282 -0
- package/{lib/commonjs/context/RookSyncGateContext.js → src/context/RookSyncGateContext.ts} +10 -13
- package/src/context/RookSyncGateProvider.tsx +78 -0
- package/{lib/commonjs/context/RookSyncGateReducer.js → src/context/RookSyncGateReducer.ts} +12 -33
- package/src/context/RookSyncGateTypes.ts +34 -0
- package/src/hooks/useRookAPISources.ts +83 -0
- package/src/hooks/useRookAndroidBackgroundSteps.ts +81 -0
- package/src/hooks/useRookAppleHealth.ts +55 -0
- package/src/hooks/useRookConfiguration.ts +82 -0
- package/src/hooks/useRookData.ts +122 -0
- package/src/hooks/useRookHealthConnect.ts +59 -0
- package/src/hooks/useRookPermissions.ts +224 -0
- package/src/hooks/useRookSamsungHealth.ts +37 -0
- package/src/hooks/useRookSync.ts +157 -0
- package/src/hooks/useRookVariables.ts +77 -0
- package/src/index.tsx +28 -0
- package/src/modules/hook/useRookAutoSync.ts +305 -0
- package/src/modules/types/sendMessageBroadcast.ts +5 -0
- package/src/modules/utils/errors.ts +9 -0
- package/src/types/ActivityEvent.ts +159 -0
- package/src/types/AppleHealthPermissions.ts +49 -0
- package/src/types/AuthorizedSources.ts +33 -0
- package/src/types/BodySummary.ts +116 -0
- package/src/types/DataSource.ts +16 -0
- package/src/types/HeartRateEvent.ts +26 -0
- package/src/types/PermissionsType.ts +9 -0
- package/src/types/PhysicalSummary.ts +84 -0
- package/src/types/Rook.ts +8 -0
- package/src/types/SDKSources.ts +5 -0
- package/src/types/SamsungHealthPermissions.ts +16 -0
- package/src/types/SleepSummary.ts +66 -0
- package/src/types/SummaryTypes.ts +70 -0
- package/src/types/SyncTypes.ts +63 -0
- package/{lib/commonjs/utils/isModuleReady.js → src/utils/isModuleReady.ts} +4 -10
- package/src/utils/isRunningOnAndroid.ts +10 -0
- package/src/utils/isRunningOniOS.ts +10 -0
- package/{lib/commonjs/utils/isValidDate.js → src/utils/isValidDate.ts} +5 -10
- package/android/src/main/AndroidManifestNew.xml +0 -36
- package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +0 -65
- package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +0 -70
- package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +0 -52
- package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +0 -85
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +0 -148
- package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +0 -247
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +0 -309
- package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +0 -105
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +0 -496
- package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +0 -63
- package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +0 -21
- package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +0 -64
- package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +0 -20
- package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +0 -21
- package/android/src/main/java/com/rooksdk/utils/Source.kt +0 -6
- package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +0 -58
- package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +0 -19
- package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +0 -21
- package/android/src/main/res/drawable/ic_health_connect.xml +0 -19
- package/android/src/main/res/values/themes.xml +0 -3
- package/ios/EncodableRookDataSource.swift +0 -36
- package/ios/EncodableStatusDataSources.swift +0 -47
- package/ios/RookBackgroundModule.h +0 -5
- package/ios/RookBackgroundModule.mm +0 -89
- package/ios/RookConfigurationModule.h +0 -5
- package/ios/RookConfigurationModule.mm +0 -163
- package/ios/RookExternalModule.h +0 -5
- package/ios/RookExternalModule.m +0 -27
- package/ios/RookLocalData.swift +0 -152
- package/ios/RookPermissionsModule.h +0 -5
- package/ios/RookPermissionsModule.mm +0 -180
- package/ios/RookSourcesModule.h +0 -5
- package/ios/RookSourcesModule.mm +0 -67
- package/ios/RookSync.h +0 -5
- package/ios/RookSync.m +0 -27
- package/ios/RookSyncModule.h +0 -5
- package/ios/RookSyncModule.mm +0 -476
- package/ios/SwiftTest.swift +0 -18
- package/ios/react-native-rook-sdk-Bridging-Header.h +0 -12
- package/lib/commonjs/context/RookSyncGateContext.js.map +0 -1
- package/lib/commonjs/context/RookSyncGateProvider.js +0 -98
- package/lib/commonjs/context/RookSyncGateProvider.js.map +0 -1
- package/lib/commonjs/context/RookSyncGateReducer.js.map +0 -1
- package/lib/commonjs/context/RookSyncGateTypes.js +0 -6
- package/lib/commonjs/context/RookSyncGateTypes.js.map +0 -1
- package/lib/commonjs/context/index.js +0 -14
- package/lib/commonjs/context/index.js.map +0 -1
- package/lib/commonjs/hooks/index.js +0 -90
- package/lib/commonjs/hooks/index.js.map +0 -1
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +0 -100
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +0 -1
- package/lib/commonjs/hooks/useRookAppleHealth.js +0 -74
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +0 -1
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js +0 -48
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +0 -1
- package/lib/commonjs/hooks/useRookConfiguration.js +0 -188
- package/lib/commonjs/hooks/useRookConfiguration.js.map +0 -1
- package/lib/commonjs/hooks/useRookData.js +0 -100
- package/lib/commonjs/hooks/useRookData.js.map +0 -1
- package/lib/commonjs/hooks/useRookDataSources.js +0 -118
- package/lib/commonjs/hooks/useRookDataSources.js.map +0 -1
- package/lib/commonjs/hooks/useRookEvents.js +0 -225
- package/lib/commonjs/hooks/useRookEvents.js.map +0 -1
- package/lib/commonjs/hooks/useRookHealthConnect.js +0 -70
- package/lib/commonjs/hooks/useRookHealthConnect.js.map +0 -1
- package/lib/commonjs/hooks/useRookPermissions.js +0 -226
- package/lib/commonjs/hooks/useRookPermissions.js.map +0 -1
- package/lib/commonjs/hooks/useRookSummaries.js +0 -85
- package/lib/commonjs/hooks/useRookSummaries.js.map +0 -1
- package/lib/commonjs/hooks/useRookSync.js +0 -147
- package/lib/commonjs/hooks/useRookSync.js.map +0 -1
- package/lib/commonjs/hooks/useRookVariables.js +0 -69
- package/lib/commonjs/hooks/useRookVariables.js.map +0 -1
- package/lib/commonjs/index.js +0 -56
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/modules/hook/useRookAutoSync.js +0 -262
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +0 -1
- package/lib/commonjs/modules/types/sendMessageBroadcast.js +0 -2
- package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +0 -1
- package/lib/commonjs/modules/utils/errors.js +0 -12
- package/lib/commonjs/modules/utils/errors.js.map +0 -1
- package/lib/commonjs/types/ActivityEvent.js +0 -6
- package/lib/commonjs/types/ActivityEvent.js.map +0 -1
- package/lib/commonjs/types/AuthorizedSources.js +0 -2
- package/lib/commonjs/types/AuthorizedSources.js.map +0 -1
- package/lib/commonjs/types/BodySummary.js +0 -6
- package/lib/commonjs/types/BodySummary.js.map +0 -1
- package/lib/commonjs/types/DataSource.js +0 -2
- package/lib/commonjs/types/PermissionsType.js +0 -2
- package/lib/commonjs/types/PermissionsType.js.map +0 -1
- package/lib/commonjs/types/PhysicalSummary.js +0 -6
- package/lib/commonjs/types/PhysicalSummary.js.map +0 -1
- package/lib/commonjs/types/SDKSources.js +0 -13
- package/lib/commonjs/types/SDKSources.js.map +0 -1
- package/lib/commonjs/types/SamsungHealthPermissions.js +0 -23
- package/lib/commonjs/types/SamsungHealthPermissions.js.map +0 -1
- package/lib/commonjs/types/SleepSummary.js +0 -6
- package/lib/commonjs/types/SleepSummary.js.map +0 -1
- package/lib/commonjs/types/SummaryTypes.js +0 -2
- package/lib/commonjs/types/SummaryTypes.js.map +0 -1
- package/lib/commonjs/types/SyncTypes.js +0 -6
- package/lib/commonjs/utils/credentials.js +0 -12
- package/lib/commonjs/utils/credentials.js.map +0 -1
- package/lib/commonjs/utils/getNativeModule.js +0 -29
- package/lib/commonjs/utils/getNativeModule.js.map +0 -1
- package/lib/commonjs/utils/getRookModule.js +0 -28
- package/lib/commonjs/utils/getRookModule.js.map +0 -1
- package/lib/commonjs/utils/isModuleReady.js.map +0 -1
- package/lib/commonjs/utils/isRunningOnAndroid.js +0 -15
- package/lib/commonjs/utils/isRunningOnAndroid.js.map +0 -1
- package/lib/commonjs/utils/isRunningOniOS.js +0 -15
- package/lib/commonjs/utils/isRunningOniOS.js.map +0 -1
- package/lib/commonjs/utils/isValidDate.js.map +0 -1
- package/lib/commonjs/utils/nativeModules.js +0 -28
- package/lib/commonjs/utils/nativeModules.js.map +0 -1
- package/lib/commonjs/utils/packageInfo.js +0 -13
- package/lib/commonjs/utils/packageInfo.js.map +0 -1
- package/lib/module/context/index.js +0 -2
- package/lib/module/context/index.js.map +0 -1
- package/lib/module/hooks/index.js +0 -13
- package/lib/module/hooks/index.js.map +0 -1
- package/lib/module/hooks/useRookAppleHealthVariables.js +0 -41
- package/lib/module/hooks/useRookAppleHealthVariables.js.map +0 -1
- package/lib/module/hooks/useRookDataSources.js +0 -110
- package/lib/module/hooks/useRookDataSources.js.map +0 -1
- package/lib/module/hooks/useRookEvents.js +0 -218
- package/lib/module/hooks/useRookEvents.js.map +0 -1
- package/lib/module/hooks/useRookSummaries.js +0 -78
- package/lib/module/hooks/useRookSummaries.js.map +0 -1
- package/lib/module/utils/credentials.js +0 -6
- package/lib/module/utils/credentials.js.map +0 -1
- package/lib/module/utils/getNativeModule.js +0 -23
- package/lib/module/utils/getNativeModule.js.map +0 -1
- package/lib/module/utils/getRookModule.js +0 -22
- package/lib/module/utils/getRookModule.js.map +0 -1
- package/lib/module/utils/nativeModules.js +0 -22
- package/lib/module/utils/nativeModules.js.map +0 -1
- package/lib/module/utils/packageInfo.js +0 -7
- package/lib/module/utils/packageInfo.js.map +0 -1
- package/lib/typescript/src/context/index.d.ts +0 -2
- package/lib/typescript/src/context/index.d.ts.map +0 -1
- package/lib/typescript/src/hooks/index.d.ts +0 -13
- package/lib/typescript/src/hooks/index.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +0 -15
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useRookDataSources.d.ts +0 -22
- package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useRookEvents.d.ts +0 -26
- package/lib/typescript/src/hooks/useRookEvents.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useRookSummaries.d.ts +0 -14
- package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +0 -1
- package/lib/typescript/src/utils/credentials.d.ts +0 -5
- package/lib/typescript/src/utils/credentials.d.ts.map +0 -1
- package/lib/typescript/src/utils/getNativeModule.d.ts +0 -10
- package/lib/typescript/src/utils/getNativeModule.d.ts.map +0 -1
- package/lib/typescript/src/utils/getRookModule.d.ts +0 -9
- package/lib/typescript/src/utils/getRookModule.d.ts.map +0 -1
- package/lib/typescript/src/utils/nativeModules.d.ts +0 -23
- package/lib/typescript/src/utils/nativeModules.d.ts.map +0 -1
- package/lib/typescript/src/utils/packageInfo.d.ts +0 -6
- package/lib/typescript/src/utils/packageInfo.d.ts.map +0 -1
- package/react-native-rook-sdk.podspec +0 -45
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isRunningOniOS","_packageInfo","_nativeModules","_SamsungHealthPermissions","e","__esModule","default","useRookPermissions","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","PERMISSIONS","ios","state","ready","dispatch","useRookSyncGateContext","checkAvailability","isModuleReady","packageInfo","isAndroid","current","Promise","resolve","checkSamsungAvailability","isRunningOnAndroid","healthConnectHasPermissions","checkPermissions","healthConnectHasPartialPermissions","checkHealthConnectPermissionsPartially","appleHealthHasPermissions","param","isRunningOniOS","checkPermissionsStatus","type","samsungHealthHasPermissions","checkSamsungHealthPermissions","samsungHealthHasPartialPermissions","checkSamsungHealthPermissionsPartially","requestAllAppleHealthPermissions","requestAllPermissions","requestAllHealthConnectPermissions","response","requestAppleHealthPermissions","permissions","result","requestPermissions","requestSamsungHealthPermissions","bridge","Object","values","SamsungHealthPermission","requestSamsungPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","androidHasBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions","checkBackgroundReadStatus","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useRookSummaries = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _RookSyncGateContext = require("../context/RookSyncGateContext");
|
|
10
|
-
var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
|
|
11
|
-
var _isModuleReady = require("../utils/isModuleReady");
|
|
12
|
-
var _isValidDate = require("../utils/isValidDate");
|
|
13
|
-
var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
/**
|
|
16
|
-
* @deprecated The `useRookSummaries` hook provides methods to sync various types of summaries and handle
|
|
17
|
-
* failed syncs using a Rook module
|
|
18
|
-
* @returns The `useRookSummaries` hook returns an object with the properties and methods that allows the user to
|
|
19
|
-
* sync summaries with ROOK
|
|
20
|
-
*/
|
|
21
|
-
const useRookSummaries = () => {
|
|
22
|
-
const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
23
|
-
android: () => _nativeModules.default.android.SYNC,
|
|
24
|
-
default: () => _nativeModules.default.ios.SYNC
|
|
25
|
-
})()));
|
|
26
|
-
const {
|
|
27
|
-
state: {
|
|
28
|
-
ready
|
|
29
|
-
}
|
|
30
|
-
} = (0, _RookSyncGateContext.useRookSyncGateContext)();
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @deprecated The function `syncSleepSummary` sync sleep summary for the specific date.
|
|
34
|
-
* @param {string} date - The `date` parameter is a string that represents a specific date for which
|
|
35
|
-
* the sleep summary is being requested, should have the YYYY-MM-DD format.
|
|
36
|
-
* @returns A Promise that resolves to a boolean value thats means success or failure.
|
|
37
|
-
*/
|
|
38
|
-
const syncSleepSummary = date => {
|
|
39
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
40
|
-
(0, _isValidDate.isValidDate)(date);
|
|
41
|
-
return rookSync.current.syncSleepSummary(date);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated The function `syncPhysicalSummary` sync physical summary for the specific date.
|
|
46
|
-
* @param {string} date - The `date` parameter is a string that represents a specific date for which
|
|
47
|
-
* the physical summary is being requested, should have the YYYY-MM-DD format.
|
|
48
|
-
* @returns A Promise that resolves to a boolean value thats means success or failure.
|
|
49
|
-
*/
|
|
50
|
-
const syncPhysicalSummary = date => {
|
|
51
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
52
|
-
(0, _isValidDate.isValidDate)(date);
|
|
53
|
-
return rookSync.current.syncPhysicalSummary(date);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* @deprecated The function `syncBodySummary` sync body summary for the specific date.
|
|
58
|
-
* @param {string} date - The `date` parameter is a string that represents a specific date for which
|
|
59
|
-
* the body summary is being requested, should have the YYYY-MM-DD format.
|
|
60
|
-
* @returns A Promise that resolves to a boolean value thats means success or failure.
|
|
61
|
-
*/
|
|
62
|
-
const syncBodySummary = date => {
|
|
63
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
64
|
-
(0, _isValidDate.isValidDate)(date);
|
|
65
|
-
return rookSync.current.syncBodySummary(date);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* @deprecated The function `reSyncFailedSummaries` syncs pending summaries that for some reason failed to upload.
|
|
70
|
-
* @returns The function `reSyncFailedSummaries` is returning a `Promise<boolean>`.
|
|
71
|
-
*/
|
|
72
|
-
const reSyncFailedSummaries = () => {
|
|
73
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
74
|
-
return rookSync.current.syncPendingSummaries();
|
|
75
|
-
};
|
|
76
|
-
return {
|
|
77
|
-
ready,
|
|
78
|
-
reSyncFailedSummaries,
|
|
79
|
-
syncSleepSummary,
|
|
80
|
-
syncPhysicalSummary,
|
|
81
|
-
syncBodySummary
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
exports.useRookSummaries = useRookSummaries;
|
|
85
|
-
//# sourceMappingURL=useRookSummaries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isValidDate","_nativeModules","e","__esModule","default","useRookSummaries","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","state","ready","useRookSyncGateContext","syncSleepSummary","date","isModuleReady","isValidDate","current","syncPhysicalSummary","syncBodySummary","reSyncFailedSummaries","syncPendingSummaries","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookSummaries.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAH,sBAAA,CAAAJ,OAAA;AAAmD,SAAAI,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EACrB,IAAAC,wBAAe,EACbC,qBAAQ,CAACC,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMC,sBAAa,CAACD,OAAO,CAACE,IAAI;IACzCT,OAAO,EAAEA,CAAA,KAAMQ,sBAAa,CAACE,GAAG,CAACD;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJE,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAG,IAAAC,2CAAsB,EAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,gBAAgB,GAAIC,IAAY,IAAuB;IAC3D,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IACpB,IAAAK,wBAAW,EAACF,IAAI,CAAC;IAEjB,OAAOb,QAAQ,CAACgB,OAAO,CAACJ,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMI,mBAAmB,GAAIJ,IAAY,IAAuB;IAC9D,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IACpB,IAAAK,wBAAW,EAACF,IAAI,CAAC;IAEjB,OAAOb,QAAQ,CAACgB,OAAO,CAACC,mBAAmB,CAACJ,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMK,eAAe,GAAIL,IAAY,IAAuB;IAC1D,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IACpB,IAAAK,wBAAW,EAACF,IAAI,CAAC;IAEjB,OAAOb,QAAQ,CAACgB,OAAO,CAACE,eAAe,CAACL,IAAI,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMM,qBAAqB,GAAGA,CAAA,KAAwB;IACpD,IAAAL,4BAAa,EAACJ,KAAK,CAAC;IACpB,OAAOV,QAAQ,CAACgB,OAAO,CAACI,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,OAAO;IACLV,KAAK;IACLS,qBAAqB;IACrBP,gBAAgB;IAChBK,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAAtB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useRookSync = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
|
|
10
|
-
var _isModuleReady = require("../utils/isModuleReady");
|
|
11
|
-
var _isValidDate = require("../utils/isValidDate");
|
|
12
|
-
var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
|
|
13
|
-
var _SDKSources = require("../types/SDKSources");
|
|
14
|
-
var _RookSyncGateContext = require("../context/RookSyncGateContext");
|
|
15
|
-
var _packageInfo = require("../utils/packageInfo");
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
const useRookSync = () => {
|
|
18
|
-
const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
19
|
-
android: () => _nativeModules.default.android.SYNC,
|
|
20
|
-
default: () => _nativeModules.default.ios.MANUAL_SYNC
|
|
21
|
-
})()));
|
|
22
|
-
const {
|
|
23
|
-
state: {
|
|
24
|
-
ready,
|
|
25
|
-
enableLogs
|
|
26
|
-
}
|
|
27
|
-
} = (0, _RookSyncGateContext.useRookSyncGateContext)();
|
|
28
|
-
const createResultPayload = result => {
|
|
29
|
-
if (!result) {
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
status: result.result,
|
|
34
|
-
error: result.error
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
const convertToPromise = (params, toPromise) => {
|
|
38
|
-
return new Promise(resolve => {
|
|
39
|
-
toPromise(...params, (error, result) => {
|
|
40
|
-
resolve({
|
|
41
|
-
error,
|
|
42
|
-
result
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
const syncWithOutParams = async callback => {
|
|
48
|
-
if (_packageInfo.packageInfo.isAndroid) {
|
|
49
|
-
const hcResult = await convertToPromise([enableLogs], rookSync.current.sync);
|
|
50
|
-
rookSync.current.shSync(enableLogs, (err, result) => {
|
|
51
|
-
callback({
|
|
52
|
-
healthConnect: {
|
|
53
|
-
status: hcResult.result,
|
|
54
|
-
error: hcResult.error
|
|
55
|
-
},
|
|
56
|
-
samsungHealth: {
|
|
57
|
-
status: result,
|
|
58
|
-
error: err
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
rookSync.current.sync((error, result) => {
|
|
65
|
-
callback({
|
|
66
|
-
appleHealth: {
|
|
67
|
-
status: result,
|
|
68
|
-
error
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
const syncWithParams = async (params, callback) => {
|
|
74
|
-
(0, _isValidDate.isValidDate)(params.date);
|
|
75
|
-
const promisesToRun = [];
|
|
76
|
-
const {
|
|
77
|
-
sources,
|
|
78
|
-
summary,
|
|
79
|
-
date
|
|
80
|
-
} = params;
|
|
81
|
-
const {
|
|
82
|
-
isAndroid
|
|
83
|
-
} = _packageInfo.packageInfo;
|
|
84
|
-
const args = [date];
|
|
85
|
-
let bridgeMethod = 'syncByDate';
|
|
86
|
-
let shBridgeMethod = 'shSyncByDate';
|
|
87
|
-
if (summary) {
|
|
88
|
-
args.unshift(summary);
|
|
89
|
-
bridgeMethod = 'syncByDefinition';
|
|
90
|
-
shBridgeMethod = 'shSyncByDefinition';
|
|
91
|
-
}
|
|
92
|
-
const shouldSyncSO = sources.includes(_SDKSources.SDKDataSource.APPLE_HEALTH) || sources.includes(_SDKSources.SDKDataSource.HEALTH_CONNECT);
|
|
93
|
-
const shouldSyncSH = sources.includes(_SDKSources.SDKDataSource.SAMSUNG_HEALTH) && isAndroid;
|
|
94
|
-
if (shouldSyncSO) {
|
|
95
|
-
promisesToRun.push(convertToPromise(args, rookSync.current[bridgeMethod]));
|
|
96
|
-
}
|
|
97
|
-
if (shouldSyncSH) {
|
|
98
|
-
promisesToRun.push(convertToPromise(args, rookSync.current[shBridgeMethod]));
|
|
99
|
-
}
|
|
100
|
-
const results = await Promise.all(promisesToRun);
|
|
101
|
-
const SOResult = shouldSyncSO ? results.shift() : null;
|
|
102
|
-
const shResult = shouldSyncSH ? results.shift() : null;
|
|
103
|
-
callback({
|
|
104
|
-
appleHealth: !isAndroid ? createResultPayload(SOResult) : undefined,
|
|
105
|
-
healthConnect: isAndroid ? createResultPayload(SOResult) : undefined,
|
|
106
|
-
samsungHealth: createResultPayload(shResult)
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
const sync = (callback, params) => {
|
|
110
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
111
|
-
if (!params) {
|
|
112
|
-
syncWithOutParams(callback);
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (params && params.summary && !params.date) {
|
|
116
|
-
throw new Error('Date is missing');
|
|
117
|
-
}
|
|
118
|
-
syncWithParams(params, callback);
|
|
119
|
-
};
|
|
120
|
-
const syncEvents = async params => {
|
|
121
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
122
|
-
const {
|
|
123
|
-
date,
|
|
124
|
-
event,
|
|
125
|
-
sources
|
|
126
|
-
} = params;
|
|
127
|
-
const {
|
|
128
|
-
isAndroid
|
|
129
|
-
} = _packageInfo.packageInfo;
|
|
130
|
-
const promisesToRun = [];
|
|
131
|
-
const shouldSyncSO = sources.includes(_SDKSources.SDKDataSource.APPLE_HEALTH) || sources.includes(_SDKSources.SDKDataSource.HEALTH_CONNECT);
|
|
132
|
-
const shouldSyncSH = sources.includes(_SDKSources.SDKDataSource.SAMSUNG_HEALTH) && isAndroid;
|
|
133
|
-
if (shouldSyncSO) {
|
|
134
|
-
if (['hydration', 'nutrition'].includes(params.event) && !_packageInfo.packageInfo.isAndroid) throw new Error(`${params.event} is not available on iOS`);
|
|
135
|
-
promisesToRun.push(rookSync.current.syncEvent(date, event));
|
|
136
|
-
}
|
|
137
|
-
if (shouldSyncSH) promisesToRun.push(rookSync.current.shSyncEvent(date, event));
|
|
138
|
-
await Promise.all(promisesToRun);
|
|
139
|
-
return true;
|
|
140
|
-
};
|
|
141
|
-
return {
|
|
142
|
-
sync,
|
|
143
|
-
syncEvents
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
exports.useRookSync = useRookSync;
|
|
147
|
-
//# sourceMappingURL=useRookSync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_getNativeModule","_interopRequireDefault","_isModuleReady","_isValidDate","_nativeModules","_SDKSources","_RookSyncGateContext","_packageInfo","e","__esModule","default","useRookSync","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","MANUAL_SYNC","state","ready","enableLogs","useRookSyncGateContext","createResultPayload","result","undefined","status","error","convertToPromise","params","toPromise","Promise","resolve","syncWithOutParams","callback","packageInfo","isAndroid","hcResult","current","sync","shSync","err","healthConnect","samsungHealth","appleHealth","syncWithParams","isValidDate","date","promisesToRun","sources","summary","args","bridgeMethod","shBridgeMethod","unshift","shouldSyncSO","includes","SDKDataSource","APPLE_HEALTH","HEALTH_CONNECT","shouldSyncSH","SAMSUNG_HEALTH","push","results","all","SOResult","shift","shResult","isModuleReady","Error","syncEvents","event","syncEvent","shSyncEvent","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookSync.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useRookVariables = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _RookSyncGateContext = require("../context/RookSyncGateContext");
|
|
10
|
-
var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
|
|
11
|
-
var _isModuleReady = require("../utils/isModuleReady");
|
|
12
|
-
var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
|
|
13
|
-
var _packageInfo = require("../utils/packageInfo");
|
|
14
|
-
var _SDKSources = require("../types/SDKSources");
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
/**
|
|
17
|
-
* The `useRookVariables` hook returns an object with a `ready` boolean and an
|
|
18
|
-
* asynchronous function `getTodaySteps` that retrieves the number of steps taken today.
|
|
19
|
-
* @returns The `useRookVariable` hook is returning an object with two properties:
|
|
20
|
-
* 1. `ready`: This property is coming from the `useRookSyncGateContext` hook and represents the state
|
|
21
|
-
* of readiness.
|
|
22
|
-
* 2. `getTodaySteps`: This property is a function that retrieves the number of steps taken today
|
|
23
|
-
* asynchronously and returns a Promise<string> representing the number of steps taken today.
|
|
24
|
-
* 3. `getTodayCalories`: This property is a function that retrieves the number of calories burned today
|
|
25
|
-
* asynchronously and returns a Promise<string> representing the number of calories burned today.
|
|
26
|
-
*/
|
|
27
|
-
const useRookVariables = () => {
|
|
28
|
-
const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
29
|
-
android: () => _nativeModules.default.android.SYNC,
|
|
30
|
-
default: () => _nativeModules.default.ios.SYNC
|
|
31
|
-
})()));
|
|
32
|
-
const {
|
|
33
|
-
state: {
|
|
34
|
-
ready
|
|
35
|
-
}
|
|
36
|
-
} = (0, _RookSyncGateContext.useRookSyncGateContext)();
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* The function `getTodaySteps` retrieves the number of steps taken today asynchronously.
|
|
40
|
-
* @returns The function `getTodaySteps` is returning a string representing the number of steps taken today.
|
|
41
|
-
*/
|
|
42
|
-
const getTodaySteps = async source => {
|
|
43
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
44
|
-
if (_packageInfo.packageInfo.isAndroid && source === _SDKSources.SDKDataSource.HEALTH_CONNECT) {
|
|
45
|
-
return rookSync.current.syncTodayHealthConnectStepsCount();
|
|
46
|
-
}
|
|
47
|
-
if (_packageInfo.packageInfo.isAndroid && source === _SDKSources.SDKDataSource.SAMSUNG_HEALTH) {
|
|
48
|
-
return rookSync.current.syncTodaySamsungHealthStepsCount();
|
|
49
|
-
}
|
|
50
|
-
return rookSync.current.getTodaySteps();
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* The function `syncTodayCaloriesCount` retrieves the number of calories burned today asynchronously as string
|
|
55
|
-
* @returns The function `syncTodayCaloriesCount` is returning the result of calling
|
|
56
|
-
*/
|
|
57
|
-
const getTodayCalories = async source => {
|
|
58
|
-
(0, _isModuleReady.isModuleReady)(ready);
|
|
59
|
-
if ([_SDKSources.SDKDataSource.HEALTH_CONNECT, _SDKSources.SDKDataSource.APPLE_HEALTH].includes(source)) return rookSync.current.syncTodayCaloriesCount();
|
|
60
|
-
return rookSync.current.syncSHTodayCaloriesCount();
|
|
61
|
-
};
|
|
62
|
-
return {
|
|
63
|
-
ready,
|
|
64
|
-
getTodaySteps,
|
|
65
|
-
getTodayCalories
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
exports.useRookVariables = useRookVariables;
|
|
69
|
-
//# sourceMappingURL=useRookVariables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_nativeModules","_packageInfo","_SDKSources","e","__esModule","default","useRookVariables","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","state","ready","useRookSyncGateContext","getTodaySteps","source","isModuleReady","packageInfo","isAndroid","SDKDataSource","HEALTH_CONNECT","current","syncTodayHealthConnectStepsCount","SAMSUNG_HEALTH","syncTodaySamsungHealthStepsCount","getTodayCalories","APPLE_HEALTH","includes","syncTodayCaloriesCount","syncSHTodayCaloriesCount","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookVariables.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAAoD,SAAAI,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EACrB,IAAAC,wBAAe,EACbC,qBAAQ,CAACC,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMC,sBAAa,CAACD,OAAO,CAACE,IAAI;IACzCT,OAAO,EAAEA,CAAA,KAAMQ,sBAAa,CAACE,GAAG,CAACD;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJE,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAG,IAAAC,2CAAsB,EAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMC,aAAa,GAAG,MAAOC,MAAqB,IAAsB;IACtE,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IAEpB,IAAIK,wBAAW,CAACC,SAAS,IAAIH,MAAM,KAAKI,yBAAa,CAACC,cAAc,EAAE;MACpE,OAAOlB,QAAQ,CAACmB,OAAO,CAACC,gCAAgC,CAAC,CAAC;IAC5D;IAEA,IAAIL,wBAAW,CAACC,SAAS,IAAIH,MAAM,KAAKI,yBAAa,CAACI,cAAc,EAAE;MACpE,OAAOrB,QAAQ,CAACmB,OAAO,CAACG,gCAAgC,CAAC,CAAC;IAC5D;IAEA,OAAOtB,QAAQ,CAACmB,OAAO,CAACP,aAAa,CAAC,CAAC;EACzC,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMW,gBAAgB,GAAG,MAAOV,MAAqB,IAAwB;IAC3E,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IAEpB,IACE,CAACO,yBAAa,CAACC,cAAc,EAAED,yBAAa,CAACO,YAAY,CAAC,CAACC,QAAQ,CACjEZ,MACF,CAAC,EAED,OAAOb,QAAQ,CAACmB,OAAO,CAACO,sBAAsB,CAAC,CAAC;IAElD,OAAO1B,QAAQ,CAACmB,OAAO,CAACQ,wBAAwB,CAAC,CAAC;EACpD,CAAC;EAED,OAAO;IACLjB,KAAK;IACLE,aAAa;IACbW;EACF,CAAC;AACH,CAAC;AAACK,OAAA,CAAA7B,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
package/lib/commonjs/index.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
getRookModule: true,
|
|
8
|
-
SDKDataSource: true,
|
|
9
|
-
SamsungHealthPermission: true
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "SDKDataSource", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: function () {
|
|
14
|
-
return _SDKSources.SDKDataSource;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(exports, "SamsungHealthPermission", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () {
|
|
20
|
-
return _SamsungHealthPermissions.SamsungHealthPermission;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports, "getRookModule", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
get: function () {
|
|
26
|
-
return _getRookModule.getRookModule;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
var _getRookModule = require("./utils/getRookModule");
|
|
30
|
-
var _context = require("./context");
|
|
31
|
-
Object.keys(_context).forEach(function (key) {
|
|
32
|
-
if (key === "default" || key === "__esModule") return;
|
|
33
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
34
|
-
if (key in exports && exports[key] === _context[key]) return;
|
|
35
|
-
Object.defineProperty(exports, key, {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
get: function () {
|
|
38
|
-
return _context[key];
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
var _hooks = require("./hooks");
|
|
43
|
-
Object.keys(_hooks).forEach(function (key) {
|
|
44
|
-
if (key === "default" || key === "__esModule") return;
|
|
45
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
46
|
-
if (key in exports && exports[key] === _hooks[key]) return;
|
|
47
|
-
Object.defineProperty(exports, key, {
|
|
48
|
-
enumerable: true,
|
|
49
|
-
get: function () {
|
|
50
|
-
return _hooks[key];
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
var _SDKSources = require("./types/SDKSources");
|
|
55
|
-
var _SamsungHealthPermissions = require("./types/SamsungHealthPermissions");
|
|
56
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_getRookModule","require","_context","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks","_SDKSources","_SamsungHealthPermissions"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,WAAA,GAAAf,OAAA;AACA,IAAAgB,yBAAA,GAAAhB,OAAA","ignoreList":[]}
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useRookAutoSync = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _errors = require("../utils/errors");
|
|
10
|
-
var _getNativeModule = _interopRequireDefault(require("../../utils/getNativeModule"));
|
|
11
|
-
var _nativeModules = _interopRequireDefault(require("../../utils/nativeModules"));
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
/* eslint-disable react-hooks/exhaustive-deps */
|
|
14
|
-
|
|
15
|
-
const MESSAGE_TYPE = 'ROOK_BACKGROUND_ENABLED';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* The above TypeScript code defines a function `useRookAutoSync` that handles background
|
|
19
|
-
* synchronization, including user ID validation and error messaging.
|
|
20
|
-
* @property {boolean} enableBackground - The `enableBackground` property in the `useRookAutoSync`
|
|
21
|
-
* function determines whether background synchronization should be enabled. If `enableBackground` is
|
|
22
|
-
* set to `true`, the function will listen for changes in the app state and trigger the
|
|
23
|
-
* `startBackgroundSync` function when the app transitions from
|
|
24
|
-
* @property {boolean} enableLogs - The `enableLogs` property in the `useRookAutoSync` function is a
|
|
25
|
-
* boolean value that determines whether logging should be enabled or not. If `enableLogs` is set to
|
|
26
|
-
* `true`, logging messages will be displayed in the console to provide information about the
|
|
27
|
-
* background synchronization process. If `
|
|
28
|
-
* @property {RookSyncGateState} state - The `state` property in the `useRookAutoSync` function
|
|
29
|
-
* represents the current state of the RookSyncGate. It includes information such as whether the state
|
|
30
|
-
* is ready, the permissions status, and the user ID associated with the state. This state is used to
|
|
31
|
-
* determine when to start the
|
|
32
|
-
*/
|
|
33
|
-
const useRookAutoSync = ({
|
|
34
|
-
enableBackground,
|
|
35
|
-
enableLogs,
|
|
36
|
-
state
|
|
37
|
-
}) => {
|
|
38
|
-
const appState = (0, _react.useRef)(_reactNative.AppState.currentState);
|
|
39
|
-
const [changeAppState, setChangeState] = (0, _react.useState)(0);
|
|
40
|
-
(0, _react.useEffect)(() => {
|
|
41
|
-
if (!enableBackground) return;
|
|
42
|
-
const subscription = _reactNative.AppState.addEventListener('change', nextAppState => {
|
|
43
|
-
if (
|
|
44
|
-
// Check previous state to check if he app was inactive or in background
|
|
45
|
-
// and then pass to be active
|
|
46
|
-
appState.current.match(/inactive|background/) && nextAppState === 'active') {
|
|
47
|
-
setChangeState(prev => prev + 1);
|
|
48
|
-
}
|
|
49
|
-
appState.current = nextAppState;
|
|
50
|
-
});
|
|
51
|
-
return () => {
|
|
52
|
-
subscription.remove();
|
|
53
|
-
};
|
|
54
|
-
}, []);
|
|
55
|
-
(0, _react.useEffect)(() => {
|
|
56
|
-
if (!state.ready || !enableBackground) return;
|
|
57
|
-
startBackgroundServices();
|
|
58
|
-
}, [state, changeAppState]);
|
|
59
|
-
const startBackgroundServices = () => {
|
|
60
|
-
const {
|
|
61
|
-
clientUUID,
|
|
62
|
-
password,
|
|
63
|
-
ready
|
|
64
|
-
} = state;
|
|
65
|
-
if (!ready || !clientUUID || !password) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (_reactNative.Platform.OS === 'android') {
|
|
69
|
-
startAndroidBackgroundSync();
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
startIOSBackgroundSync();
|
|
73
|
-
};
|
|
74
|
-
const isValidUser = async () => {
|
|
75
|
-
try {
|
|
76
|
-
const rookModule = (0, _getNativeModule.default)(_nativeModules.default.android.CONFIGURATION);
|
|
77
|
-
const userID = await rookModule.getUserID();
|
|
78
|
-
if (userID) return true;
|
|
79
|
-
if (enableLogs) console.error(_errors.errors.noUserIDAndroidBackground);
|
|
80
|
-
throw new Error(_errors.errors.noUserIDAndroidBackground);
|
|
81
|
-
} catch (error) {
|
|
82
|
-
sendMessageToBroadcast({
|
|
83
|
-
type: 'ROOK_BACKGROUND_ENABLED',
|
|
84
|
-
message: 'There is not a user id',
|
|
85
|
-
value: false
|
|
86
|
-
});
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const tryToStartBackgroundSync = async () => {
|
|
91
|
-
try {
|
|
92
|
-
const rookPermissions = (0, _getNativeModule.default)(_nativeModules.default.android.PERMISSIONS);
|
|
93
|
-
const backgroundStatus = await rookPermissions.checkBackgroundReadStatus();
|
|
94
|
-
if (backgroundStatus !== 'PERMISSION_GRANTED') throw new Error('No permission granted or not available');
|
|
95
|
-
const rookBackground = (0, _getNativeModule.default)(_nativeModules.default.android.BACKGROUND);
|
|
96
|
-
const result = await rookBackground.scheduleBackgroundSync(enableLogs);
|
|
97
|
-
return result;
|
|
98
|
-
} catch (error) {
|
|
99
|
-
sendMessageToBroadcast({
|
|
100
|
-
type: 'ROOK_BACKGROUND_ENABLED',
|
|
101
|
-
message: 'Health Connect background is not available on the device or the user does not grants permission',
|
|
102
|
-
value: false
|
|
103
|
-
});
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
const tryToStartForegroundSync = async () => {
|
|
108
|
-
try {
|
|
109
|
-
const rookPermissionsModule = (0, _getNativeModule.default)(_nativeModules.default.android.PERMISSIONS);
|
|
110
|
-
const hasHCPermissions = await rookPermissionsModule.checkPermissions();
|
|
111
|
-
const hasAndroidPermissions = await rookPermissionsModule.hasAndroidBackgroundPermissions();
|
|
112
|
-
if (!hasHCPermissions || !hasAndroidPermissions) {
|
|
113
|
-
if (enableLogs) console.error(_errors.errors.autoStartAndroidBackgroundSync);
|
|
114
|
-
throw new Error(_errors.errors.autoStartAndroidBackgroundSync);
|
|
115
|
-
}
|
|
116
|
-
const rookSyncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
|
|
117
|
-
const rookStepsModule = (0, _getNativeModule.default)(_nativeModules.default.android.STEPS);
|
|
118
|
-
if (_reactNative.AppState.currentState === 'active' && appState.current === 'active') {
|
|
119
|
-
await rookSyncModule.scheduleYesterdaySync();
|
|
120
|
-
await rookStepsModule.enableBackgroundAndroidSteps();
|
|
121
|
-
return true;
|
|
122
|
-
}
|
|
123
|
-
return false;
|
|
124
|
-
} catch (error) {
|
|
125
|
-
sendMessageToBroadcast({
|
|
126
|
-
type: 'ROOK_BACKGROUND_ENABLED',
|
|
127
|
-
value: false,
|
|
128
|
-
message: error.message
|
|
129
|
-
});
|
|
130
|
-
return false;
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
const tryToStartSamsungHealthSync = async () => {
|
|
134
|
-
try {
|
|
135
|
-
const rookPermissionsModule = (0, _getNativeModule.default)(_nativeModules.default.android.PERMISSIONS);
|
|
136
|
-
const isAvailable = await rookPermissionsModule.checkSamsungAvailability();
|
|
137
|
-
if (isAvailable !== 'INSTALLED') return false;
|
|
138
|
-
const rookSyncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
|
|
139
|
-
await rookSyncModule.enableSamsungSync();
|
|
140
|
-
return true;
|
|
141
|
-
} catch (error) {
|
|
142
|
-
sendMessageToBroadcast({
|
|
143
|
-
type: 'ROOK_BACKGROUND_ENABLED',
|
|
144
|
-
value: false,
|
|
145
|
-
message: error.message
|
|
146
|
-
});
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* The function `startAndroidBackgroundSync` in TypeScript initiates background synchronization for an
|
|
153
|
-
* Android app, handling user ID validation and error messaging.
|
|
154
|
-
* @returns If the `userID` is not available, an error message is logged and a message is sent to
|
|
155
|
-
* broadcast with `value` set to `false`. If an error occurs during the process, a message is sent to
|
|
156
|
-
* broadcast with `value` set to `false` and an error message is logged.
|
|
157
|
-
*/
|
|
158
|
-
const startAndroidBackgroundSync = async () => {
|
|
159
|
-
const {
|
|
160
|
-
clientUUID,
|
|
161
|
-
password,
|
|
162
|
-
ready
|
|
163
|
-
} = state;
|
|
164
|
-
if (!ready || !clientUUID || !password) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
try {
|
|
168
|
-
const enabledSources = [];
|
|
169
|
-
const isValid = await isValidUser();
|
|
170
|
-
if (!isValid) return;
|
|
171
|
-
const isSamsungEnabled = await tryToStartSamsungHealthSync();
|
|
172
|
-
const isEnabled = await tryToStartBackgroundSync();
|
|
173
|
-
if (isSamsungEnabled) enabledSources.push('Samsung Health');
|
|
174
|
-
if (isEnabled) enabledSources.push('Health Connect');
|
|
175
|
-
if (!isEnabled) {
|
|
176
|
-
const isForegroundEnabled = await tryToStartForegroundSync();
|
|
177
|
-
if (!isForegroundEnabled && !isSamsungEnabled) throw new Error("We couldn't start background sync");
|
|
178
|
-
if (isForegroundEnabled) enabledSources.push('Foreground Service');
|
|
179
|
-
}
|
|
180
|
-
sendMessageToBroadcast({
|
|
181
|
-
type: 'ROOK_BACKGROUND_ENABLED',
|
|
182
|
-
value: true,
|
|
183
|
-
message: `via: ${enabledSources.join(', ')}`
|
|
184
|
-
});
|
|
185
|
-
if (enableLogs) console.log('ROOK - Background enabled successfully');
|
|
186
|
-
} catch (error) {
|
|
187
|
-
sendMessageToBroadcast({
|
|
188
|
-
type: 'ROOK_BACKGROUND_ENABLED',
|
|
189
|
-
value: false
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* The function `startIOSBackgroundSync` in TypeScript initiates background synchronization for an
|
|
196
|
-
* iOS app, handling user ID validation and error messaging.
|
|
197
|
-
* @returns If the `userID` is not available, an error message is logged and a message is sent to
|
|
198
|
-
* broadcast with `value` set to `false`. If an error occurs during the process, a message is sent to
|
|
199
|
-
* broadcast with `value` set to `false` and an error message is logged.
|
|
200
|
-
*/
|
|
201
|
-
const startIOSBackgroundSync = async () => {
|
|
202
|
-
try {
|
|
203
|
-
const rookPermissions = (0, _getNativeModule.default)(_nativeModules.default.ios.PERMISSIONS);
|
|
204
|
-
const rookBackground = (0, _getNativeModule.default)(_nativeModules.default.ios.BACKGROUND);
|
|
205
|
-
const rookConfigModule = (0, _getNativeModule.default)(_nativeModules.default.ios.CONFIGURATION);
|
|
206
|
-
const rookSync = (0, _getNativeModule.default)(_nativeModules.default.ios.SYNC);
|
|
207
|
-
const userID = await rookConfigModule.getUserID();
|
|
208
|
-
if (!userID) {
|
|
209
|
-
if (enableLogs) console.error(_errors.errors.noUserIDAndroidBackground);
|
|
210
|
-
sendMessageToBroadcast({
|
|
211
|
-
type: MESSAGE_TYPE,
|
|
212
|
-
value: false,
|
|
213
|
-
message: _errors.errors.noUserIDAndroidBackground
|
|
214
|
-
});
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
const status = await rookPermissions.checkPermissionsStatus(null);
|
|
218
|
-
if (status === 'PERMISSION_NOT_REQUESTED') throw new Error('Permissions required');
|
|
219
|
-
await rookBackground.enableBackGroundUpdates();
|
|
220
|
-
rookSync.sync(() => {
|
|
221
|
-
sendMessageToBroadcast({
|
|
222
|
-
type: MESSAGE_TYPE,
|
|
223
|
-
value: true,
|
|
224
|
-
message: 'Some data has already uploaded'
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
sendMessageToBroadcast({
|
|
228
|
-
type: MESSAGE_TYPE,
|
|
229
|
-
value: true
|
|
230
|
-
});
|
|
231
|
-
if (enableLogs) console.log('ROOK - Background enabled successfully');
|
|
232
|
-
} catch (err) {
|
|
233
|
-
const error = err;
|
|
234
|
-
sendMessageToBroadcast({
|
|
235
|
-
type: MESSAGE_TYPE,
|
|
236
|
-
value: false,
|
|
237
|
-
message: _errors.errors.autoStartIOSBackgroundSync
|
|
238
|
-
});
|
|
239
|
-
if (enableLogs) {
|
|
240
|
-
if (error.message && error.message.includes('emptyUserId')) console.error(_errors.errors.noUserIDAndroidBackground);else console.error(_errors.errors.autoStartIOSBackgroundSync);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* The function `sendMessageToBroadcast` sends a message to be broadcasted using a Rook module.
|
|
247
|
-
* @param {Message} message - The `message` parameter is of type `Message`, which is likely an object
|
|
248
|
-
* containing information to be sent as a broadcast message.
|
|
249
|
-
*/
|
|
250
|
-
const sendMessageToBroadcast = message => {
|
|
251
|
-
const rookSyncModule = (0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
252
|
-
android: () => _nativeModules.default.android.MAIN,
|
|
253
|
-
default: () => _nativeModules.default.ios.MAIN
|
|
254
|
-
})());
|
|
255
|
-
rookSyncModule.sendMessageToBroadcast(message).then().catch();
|
|
256
|
-
};
|
|
257
|
-
return {
|
|
258
|
-
startBackgroundServices
|
|
259
|
-
};
|
|
260
|
-
};
|
|
261
|
-
exports.useRookAutoSync = useRookAutoSync;
|
|
262
|
-
//# sourceMappingURL=useRookAutoSync.js.map
|