react-native-rook-sdk 4.0.0-beta.1 → 4.0.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 +3 -35
- package/android/build.gradle +45 -20
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +2 -1
- package/android/src/main/AndroidManifestNew.xml +36 -0
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +263 -11
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +42 -26
- package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +65 -0
- package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +70 -0
- package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +52 -0
- package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +99 -0
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +182 -0
- package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +301 -0
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +359 -0
- package/android/src/main/java/com/rooksdk/modules/RookSourcesModule.kt +102 -0
- package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +119 -0
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +551 -0
- package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +34 -0
- package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +21 -0
- package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +145 -0
- package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +26 -0
- package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +17 -0
- package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +21 -0
- package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
- package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +41 -0
- package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +19 -0
- package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +21 -0
- package/android/src/main/res/drawable/ic_health_connect.xml +19 -0
- package/android/src/main/res/values/themes.xml +3 -0
- package/ios/DateHelper.swift +4 -4
- package/ios/EncodableDataSource.swift +3 -2
- package/ios/EncodableDataSourceAuthorizer.swift +3 -2
- package/ios/{HearRateMapper.swift → EncodableHeartRate.swift} +3 -3
- package/ios/EncodableRookDataSource.swift +36 -0
- package/ios/EncodableSDKState.swift +94 -0
- package/ios/EncodableStatusDataSources.swift +47 -0
- package/ios/NutritionMapper.swift +114 -0
- package/ios/RookBackground.swift +8 -5
- package/ios/RookBackgroundModule.h +5 -0
- package/ios/RookBackgroundModule.mm +15 -0
- package/ios/RookConfiguration.swift +34 -24
- package/ios/RookConfigurationModule.h +5 -0
- package/ios/RookConfigurationModule.mm +22 -0
- package/ios/RookExternalModule.h +5 -0
- package/ios/RookExternalModule.m +31 -0
- package/ios/{RookData.swift → RookLocalData.swift} +70 -48
- package/ios/RookPermissions.swift +33 -5
- package/ios/RookPermissionsModule.h +5 -0
- package/ios/RookPermissionsModule.mm +20 -0
- package/ios/RookSdk.h +2 -14
- package/ios/RookSdk.mm +97 -546
- package/ios/RookSources.swift +54 -60
- package/ios/RookSourcesModule.h +5 -0
- package/ios/RookSourcesModule.mm +18 -0
- package/ios/RookSync.h +5 -0
- package/ios/RookSync.m +35 -0
- package/ios/RookSync.swift +78 -48
- package/ios/SwiftTest.swift +18 -0
- package/ios/react-native-rook-sdk-Bridging-Header.h +12 -0
- package/{src/context/RookSyncGateContext.ts → lib/commonjs/context/RookSyncGateContext.js} +13 -10
- package/lib/commonjs/context/RookSyncGateContext.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateProvider.js +108 -0
- package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -0
- package/{src/context/RookSyncGateReducer.ts → lib/commonjs/context/RookSyncGateReducer.js} +44 -13
- package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateTypes.js +6 -0
- package/lib/commonjs/context/RookSyncGateTypes.js.map +1 -0
- package/lib/commonjs/context/index.js +14 -0
- package/lib/commonjs/context/index.js.map +1 -0
- package/lib/commonjs/hooks/index.js +76 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/{src/hooks/useRookAPISources.ts → lib/commonjs/hooks/useRookAPISources.js} +36 -40
- package/lib/commonjs/hooks/useRookAPISources.js.map +1 -0
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +88 -0
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -0
- package/lib/commonjs/hooks/useRookAppleHealth.js +63 -0
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -0
- package/lib/commonjs/hooks/useRookConfiguration.js +113 -0
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -0
- package/lib/commonjs/hooks/useRookData.js +116 -0
- package/lib/commonjs/hooks/useRookData.js.map +1 -0
- package/lib/commonjs/hooks/useRookHealthConnect.js +70 -0
- package/lib/commonjs/hooks/useRookHealthConnect.js.map +1 -0
- package/lib/commonjs/hooks/useRookPermissions.js +211 -0
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -0
- package/lib/commonjs/hooks/useRookSamsungHealth.js +54 -0
- package/lib/commonjs/hooks/useRookSamsungHealth.js.map +1 -0
- package/lib/commonjs/hooks/useRookSync.js +148 -0
- package/lib/commonjs/hooks/useRookSync.js.map +1 -0
- package/lib/commonjs/hooks/useRookVariables.js +93 -0
- package/lib/commonjs/hooks/useRookVariables.js.map +1 -0
- package/lib/commonjs/index.js +121 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/modules/hook/useRookAutoSync.js +261 -0
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -0
- package/lib/commonjs/modules/types/sendMessageBroadcast.js +2 -0
- package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +1 -0
- package/lib/commonjs/modules/utils/errors.js +12 -0
- package/lib/commonjs/modules/utils/errors.js.map +1 -0
- package/lib/commonjs/types/ActivityEvent.js +6 -0
- package/lib/commonjs/types/ActivityEvent.js.map +1 -0
- package/lib/commonjs/types/AppleHealthNutritionEvent.js +77 -0
- package/lib/commonjs/types/AppleHealthNutritionEvent.js.map +1 -0
- package/lib/{module/NativeRookSdk.js → commonjs/types/AppleHealthPermissions.js} +7 -45
- package/lib/commonjs/types/AppleHealthPermissions.js.map +1 -0
- package/lib/commonjs/types/AuthorizedSources.js +6 -0
- package/lib/commonjs/types/AuthorizedSources.js.map +1 -0
- package/lib/commonjs/types/BodySummary.js +6 -0
- package/lib/{module/types/Rook.js.map → commonjs/types/BodySummary.js.map} +1 -1
- package/lib/commonjs/types/DataSource.js +16 -0
- package/lib/commonjs/types/DataSource.js.map +1 -0
- package/lib/commonjs/types/DiagnosticState.js +2 -0
- package/lib/commonjs/types/DiagnosticState.js.map +1 -0
- package/lib/commonjs/types/HCMealData.js +65 -0
- package/lib/commonjs/types/HCMealData.js.map +1 -0
- package/lib/commonjs/types/HeartRateEvent.js +2 -0
- package/lib/commonjs/types/HeartRateEvent.js.map +1 -0
- package/lib/commonjs/types/PermissionsType.js +2 -0
- package/lib/commonjs/types/PermissionsType.js.map +1 -0
- package/lib/commonjs/types/PhysicalSummary.js +6 -0
- package/lib/commonjs/types/PhysicalSummary.js.map +1 -0
- package/lib/commonjs/types/SDKSources.js +13 -0
- package/lib/commonjs/types/SDKSources.js.map +1 -0
- package/lib/commonjs/types/SamsungHealthPermissions.js +23 -0
- package/lib/commonjs/types/SamsungHealthPermissions.js.map +1 -0
- package/lib/commonjs/types/SleepSummary.js +6 -0
- package/lib/commonjs/types/SleepSummary.js.map +1 -0
- package/lib/commonjs/types/SummaryTypes.js +2 -0
- package/lib/commonjs/types/SummaryTypes.js.map +1 -0
- package/lib/commonjs/types/SyncTypes.js +33 -0
- package/lib/commonjs/types/SyncTypes.js.map +1 -0
- package/lib/commonjs/types/WriteNutrition.js +18 -0
- package/lib/commonjs/types/WriteNutrition.js.map +1 -0
- package/lib/commonjs/utils/getNativeModule.js +29 -0
- package/lib/commonjs/utils/getNativeModule.js.map +1 -0
- package/lib/commonjs/utils/getRookModule.js +28 -0
- package/lib/commonjs/utils/getRookModule.js.map +1 -0
- package/{src/utils/isModuleReady.ts → lib/commonjs/utils/isModuleReady.js} +10 -4
- package/lib/commonjs/utils/isModuleReady.js.map +1 -0
- package/lib/commonjs/utils/isRunningOnAndroid.js +15 -0
- package/lib/commonjs/utils/isRunningOnAndroid.js.map +1 -0
- package/lib/commonjs/utils/isRunningOniOS.js +15 -0
- package/lib/commonjs/utils/isRunningOniOS.js.map +1 -0
- package/lib/commonjs/utils/isValidDate.js +41 -0
- package/lib/commonjs/utils/isValidDate.js.map +1 -0
- package/lib/commonjs/utils/nativeModules.js +29 -0
- package/lib/commonjs/utils/nativeModules.js.map +1 -0
- package/lib/commonjs/utils/packageInfo.js +13 -0
- package/lib/commonjs/utils/packageInfo.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +0 -2
- package/lib/module/context/RookSyncGateContext.js.map +1 -1
- package/lib/module/context/RookSyncGateProvider.js +31 -22
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +12 -4
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/context/RookSyncGateTypes.js +0 -2
- package/lib/module/context/index.js +2 -0
- package/lib/module/context/index.js.map +1 -0
- package/lib/module/hooks/index.js +11 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useRookAPISources.js +16 -10
- package/lib/module/hooks/useRookAPISources.js.map +1 -1
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -11
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealth.js +10 -9
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +34 -10
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookData.js +45 -31
- package/lib/module/hooks/useRookData.js.map +1 -1
- package/lib/module/hooks/useRookHealthConnect.js +10 -9
- package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +49 -26
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSamsungHealth.js +20 -8
- package/lib/module/hooks/useRookSamsungHealth.js.map +1 -1
- package/lib/module/hooks/useRookSync.js +32 -23
- package/lib/module/hooks/useRookSync.js.map +1 -1
- package/lib/module/hooks/useRookVariables.js +37 -19
- package/lib/module/hooks/useRookVariables.js.map +1 -1
- package/lib/module/index.js +10 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +40 -27
- 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 +0 -2
- package/lib/module/modules/utils/errors.js.map +1 -1
- package/lib/module/types/ActivityEvent.js +0 -2
- package/lib/module/types/AppleHealthNutritionEvent.js +70 -0
- package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -0
- package/lib/module/types/AppleHealthPermissions.js +0 -2
- package/lib/module/types/AppleHealthPermissions.js.map +1 -1
- package/lib/module/types/AuthorizedSources.js +0 -2
- package/lib/module/types/BodySummary.js +0 -2
- package/lib/module/types/DataSource.js +0 -2
- package/lib/module/types/DataSource.js.map +1 -1
- package/lib/module/types/DiagnosticState.js +2 -0
- package/lib/module/types/DiagnosticState.js.map +1 -0
- package/lib/module/types/HCMealData.js +59 -0
- package/lib/module/types/HCMealData.js.map +1 -0
- package/lib/module/types/HeartRateEvent.js +1 -1
- package/lib/module/types/PermissionsType.js +1 -1
- package/lib/module/types/PhysicalSummary.js +0 -2
- package/lib/module/types/SDKSources.js +0 -2
- package/lib/module/types/SDKSources.js.map +1 -1
- package/lib/module/types/SamsungHealthPermissions.js +0 -3
- package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
- package/lib/module/types/SleepSummary.js +0 -2
- package/lib/module/types/SummaryTypes.js +1 -1
- package/lib/module/types/SyncTypes.js +0 -2
- package/lib/module/types/SyncTypes.js.map +1 -1
- package/lib/module/types/WriteNutrition.js +12 -0
- package/lib/module/types/WriteNutrition.js.map +1 -0
- package/lib/module/utils/getNativeModule.js +23 -0
- package/lib/module/utils/getNativeModule.js.map +1 -0
- package/lib/module/utils/getRookModule.js +22 -0
- package/lib/module/utils/getRookModule.js.map +1 -0
- package/lib/module/utils/isModuleReady.js +0 -2
- package/lib/module/utils/isModuleReady.js.map +1 -1
- package/lib/module/utils/isRunningOnAndroid.js +0 -2
- package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
- package/lib/module/utils/isRunningOniOS.js +0 -2
- package/lib/module/utils/isRunningOniOS.js.map +1 -1
- package/lib/module/utils/isValidDate.js +20 -2
- package/lib/module/utils/isValidDate.js.map +1 -1
- package/lib/module/utils/nativeModules.js +23 -0
- package/lib/module/utils/nativeModules.js.map +1 -0
- package/lib/module/utils/packageInfo.js +7 -0
- package/lib/module/utils/packageInfo.js.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/context/RookSyncGateTypes.d.ts +14 -4
- package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -1
- package/lib/typescript/src/context/index.d.ts +2 -0
- package/lib/typescript/src/context/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +11 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +3 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookData.d.ts +2 -2
- 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 +2 -0
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +6 -0
- package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookVariables.d.ts +2 -0
- package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +8 -17
- 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/AppleHealthNutritionEvent.d.ts +76 -0
- package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -0
- package/lib/typescript/src/types/AuthorizedSources.d.ts +0 -11
- package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
- package/lib/typescript/src/types/DiagnosticState.d.ts +13 -0
- package/lib/typescript/src/types/DiagnosticState.d.ts.map +1 -0
- package/lib/typescript/src/types/HCMealData.d.ts +60 -0
- package/lib/typescript/src/types/HCMealData.d.ts.map +1 -0
- package/lib/typescript/src/types/HeartRateEvent.d.ts +2 -2
- package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -1
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +0 -1
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
- package/lib/typescript/src/types/SyncTypes.d.ts +1 -5
- package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
- package/lib/typescript/src/types/WriteNutrition.d.ts +61 -0
- package/lib/typescript/src/types/WriteNutrition.d.ts.map +1 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/getRookModule.d.ts +9 -0
- package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
- package/lib/typescript/src/utils/isValidDate.d.ts +8 -0
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
- package/lib/typescript/src/utils/nativeModules.d.ts +24 -0
- package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
- package/lib/typescript/src/utils/packageInfo.d.ts +6 -0
- package/lib/typescript/src/utils/packageInfo.d.ts.map +1 -0
- package/package.json +98 -94
- package/react-native-rook-sdk.podspec +45 -0
- package/RNRookSdk.podspec +0 -22
- package/ios/Encodable.swift +0 -25
- package/ios/RookEntry.swift +0 -61
- package/ios/RookSdk-Bridging-Header.h +0 -12
- package/ios/boost-boost_privacy-Bridging-Header.h +0 -4
- package/lib/module/NativeRookSdk.js.map +0 -1
- package/lib/module/package.json +0 -1
- package/lib/module/types/Rook.js +0 -2
- package/lib/typescript/package.json +0 -1
- package/lib/typescript/src/NativeRookSdk.d.ts +0 -190
- package/lib/typescript/src/NativeRookSdk.d.ts.map +0 -1
- package/lib/typescript/src/types/Rook.d.ts +0 -9
- package/lib/typescript/src/types/Rook.d.ts.map +0 -1
- package/src/NativeRookSdk.ts +0 -281
- package/src/context/RookSyncGateProvider.tsx +0 -78
- package/src/context/RookSyncGateTypes.ts +0 -34
- package/src/hooks/useRookAndroidBackgroundSteps.ts +0 -81
- package/src/hooks/useRookAppleHealth.ts +0 -55
- package/src/hooks/useRookConfiguration.ts +0 -82
- package/src/hooks/useRookData.ts +0 -122
- package/src/hooks/useRookHealthConnect.ts +0 -59
- package/src/hooks/useRookPermissions.ts +0 -224
- package/src/hooks/useRookSamsungHealth.ts +0 -37
- package/src/hooks/useRookSync.ts +0 -157
- package/src/hooks/useRookVariables.ts +0 -77
- package/src/index.tsx +0 -28
- package/src/modules/hook/useRookAutoSync.ts +0 -305
- package/src/modules/types/sendMessageBroadcast.ts +0 -5
- package/src/modules/utils/errors.ts +0 -9
- package/src/types/ActivityEvent.ts +0 -159
- package/src/types/AppleHealthPermissions.ts +0 -49
- package/src/types/AuthorizedSources.ts +0 -33
- package/src/types/BodySummary.ts +0 -116
- package/src/types/DataSource.ts +0 -16
- package/src/types/HeartRateEvent.ts +0 -26
- package/src/types/PermissionsType.ts +0 -9
- package/src/types/PhysicalSummary.ts +0 -84
- package/src/types/Rook.ts +0 -8
- package/src/types/SDKSources.ts +0 -5
- package/src/types/SamsungHealthPermissions.ts +0 -16
- package/src/types/SleepSummary.ts +0 -66
- package/src/types/SummaryTypes.ts +0 -70
- package/src/types/SyncTypes.ts +0 -63
- package/src/utils/isRunningOnAndroid.ts +0 -10
- package/src/utils/isRunningOniOS.ts +0 -10
- package/src/utils/isValidDate.ts +0 -15
package/ios/RookSources.swift
CHANGED
|
@@ -1,106 +1,100 @@
|
|
|
1
1
|
//
|
|
2
2
|
// RookSources.swift
|
|
3
|
-
//
|
|
3
|
+
// react-native-rook-sdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 07/10/25.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
8
|
import RookSDK
|
|
9
|
-
import React
|
|
10
9
|
|
|
11
|
-
@
|
|
12
|
-
|
|
10
|
+
@objc(RookSources)
|
|
11
|
+
public class RookSources: NSObject {
|
|
12
|
+
|
|
13
13
|
lazy var dataSourceManager: DataSourcesManager = {
|
|
14
|
-
|
|
14
|
+
return DataSourcesManager()
|
|
15
15
|
}()
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
/**
|
|
18
18
|
* Revoke the access to a API source
|
|
19
19
|
*
|
|
20
20
|
* @param resolve A block called with a boolean value indicating whether the result is.
|
|
21
21
|
* @param reject A block called if an error occurs, such as Apple Health not being installed.
|
|
22
22
|
*/
|
|
23
|
+
@objc(revokeDataSource:source:resolve:reject:)
|
|
23
24
|
public func revokeDataSource(
|
|
24
25
|
_ userid: String, source: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
25
26
|
) {
|
|
26
27
|
Task {
|
|
27
28
|
do {
|
|
28
29
|
let result = try await self.dataSourceManager.revokeDataSource(userId: userid, dataSource: source)
|
|
29
|
-
|
|
30
|
-
DispatchQueue.main.async {
|
|
31
|
-
resolve(result)
|
|
32
|
-
}
|
|
30
|
+
resolve(result)
|
|
33
31
|
} catch {
|
|
34
32
|
if let rookError: RookError = error as? RookError {
|
|
35
33
|
DispatchQueue.main.async {
|
|
36
34
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
37
35
|
}
|
|
38
36
|
} else {
|
|
39
|
-
|
|
40
|
-
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
41
|
-
}
|
|
37
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
40
|
}
|
|
45
41
|
}
|
|
46
42
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
43
|
+
@objc(getDataSourceAuthorizer:resolve:reject:)
|
|
44
|
+
public func getDataSourceAuthorizer(
|
|
45
|
+
_ options: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
46
|
+
) {
|
|
47
|
+
Task {
|
|
48
|
+
do {
|
|
49
|
+
let source = options["dataSource"] as? String ?? ""
|
|
50
|
+
let redirect = options["redirectURL"] as? String ?? ""
|
|
51
|
+
let userid = options["userID"] as? String ?? ""
|
|
55
52
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
let result = try await self.dataSourceManager.getDataSourceAuthorizer(
|
|
54
|
+
userId: userid,
|
|
55
|
+
dataSource: source,
|
|
56
|
+
redirectUrl: redirect
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
let dic = EncodableDataSourceAuthorizer(result).toDictionary()
|
|
63
60
|
|
|
61
|
+
DispatchQueue.main.async {
|
|
62
|
+
resolve(dic)
|
|
63
|
+
}
|
|
64
|
+
} catch {
|
|
65
|
+
if let rookError: RookError = error as? RookError {
|
|
64
66
|
DispatchQueue.main.async {
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
} catch {
|
|
68
|
-
if let rookError: RookError = error as? RookError {
|
|
69
|
-
DispatchQueue.main.async {
|
|
70
|
-
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
DispatchQueue.main.async {
|
|
74
|
-
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
75
|
-
}
|
|
67
|
+
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
76
68
|
}
|
|
69
|
+
} else {
|
|
70
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
77
71
|
}
|
|
78
72
|
}
|
|
79
73
|
}
|
|
74
|
+
}
|
|
80
75
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
76
|
+
@objc(getAuthorizedDataSourcesV2:resolve:reject:)
|
|
77
|
+
public func getAuthorizedDataSourcesV2(
|
|
78
|
+
_ userid: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
79
|
+
){
|
|
80
|
+
Task {
|
|
81
|
+
do {
|
|
82
|
+
|
|
83
|
+
let result = try await self.dataSourceManager.getDataSourcesAuthorizedV2(userId: userid)
|
|
84
|
+
let dic = result.map{ EncodableDataSource($0).toDictionary() }
|
|
85
|
+
|
|
86
|
+
DispatchQueue.main.async {
|
|
87
|
+
resolve(dic)
|
|
88
|
+
}
|
|
89
|
+
} catch {
|
|
90
|
+
if let rookError: RookError = error as? RookError {
|
|
90
91
|
DispatchQueue.main.async {
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
} catch {
|
|
94
|
-
if let rookError: RookError = error as? RookError {
|
|
95
|
-
DispatchQueue.main.async {
|
|
96
|
-
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
97
|
-
}
|
|
98
|
-
} else {
|
|
99
|
-
DispatchQueue.main.async {
|
|
100
|
-
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
101
|
-
}
|
|
92
|
+
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
102
93
|
}
|
|
94
|
+
} else {
|
|
95
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
103
96
|
}
|
|
104
97
|
}
|
|
105
98
|
}
|
|
99
|
+
}
|
|
106
100
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#import "RookSourcesModule.h"
|
|
2
|
+
#import <React/RCTBridgeModule.h>
|
|
3
|
+
|
|
4
|
+
@interface RCT_EXTERN_MODULE(RookSources, NSObject)
|
|
5
|
+
|
|
6
|
+
RCT_EXTERN_METHOD(revokeDataSource: (NSString *) userid
|
|
7
|
+
source: (NSString *) source
|
|
8
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
9
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
10
|
+
|
|
11
|
+
RCT_EXTERN_METHOD(getDataSourceAuthorizer: (NSDictionary *) options
|
|
12
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
13
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
14
|
+
|
|
15
|
+
RCT_EXTERN_METHOD(getAuthorizedDataSourcesV2: (NSString *) userid
|
|
16
|
+
resolve: (RCTPromiseResolveBlock)resolve
|
|
17
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
18
|
+
@end
|
package/ios/RookSync.h
ADDED
package/ios/RookSync.m
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RookSync.m
|
|
3
|
+
// react-native-rook-sdk
|
|
4
|
+
//
|
|
5
|
+
// Created by Javier Villanueva on 15/09/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <React/RCTBridgeModule.h>
|
|
9
|
+
|
|
10
|
+
@interface RCT_EXTERN_MODULE(RookSync, NSObject)
|
|
11
|
+
|
|
12
|
+
RCT_EXTERN_METHOD(sync: (RCTResponseSenderBlock) callback)
|
|
13
|
+
|
|
14
|
+
RCT_EXTERN_METHOD(syncByDate: (NSString *) date
|
|
15
|
+
callback: (RCTResponseSenderBlock)callback)
|
|
16
|
+
|
|
17
|
+
RCT_EXTERN_METHOD(syncByDefinition: (NSString *) summary
|
|
18
|
+
syncDate: (NSString *) date
|
|
19
|
+
callback: (RCTResponseSenderBlock)callback)
|
|
20
|
+
|
|
21
|
+
RCT_EXTERN_METHOD(syncEvent:(NSString *) syncDate
|
|
22
|
+
event: (NSString *) event
|
|
23
|
+
resolve: (RCTPromiseResolveBlock) resolve
|
|
24
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
25
|
+
|
|
26
|
+
RCT_EXTERN_METHOD(getTodayAppleHealthSteps:(RCTPromiseResolveBlock) resolve
|
|
27
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
28
|
+
|
|
29
|
+
RCT_EXTERN_METHOD(syncTodayCaloriesCount:(RCTPromiseResolveBlock) resolve
|
|
30
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
31
|
+
|
|
32
|
+
RCT_EXTERN_METHOD(getTodayHeartRate:(RCTPromiseResolveBlock)resolve
|
|
33
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
34
|
+
|
|
35
|
+
@end
|
package/ios/RookSync.swift
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
2
|
+
// RookSyncModule.swift
|
|
3
|
+
// react-native-rook-sdk
|
|
4
4
|
//
|
|
5
|
-
// Created by Javier Villanueva on
|
|
5
|
+
// Created by Javier Villanueva on 15/09/25.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
|
-
import React
|
|
9
8
|
import RookSDK
|
|
10
9
|
|
|
11
|
-
@
|
|
10
|
+
@objc(RookSync)
|
|
11
|
+
public class RookSync: NSObject {
|
|
12
12
|
lazy var summaryManager: RookSummaryManager = {
|
|
13
13
|
return RookSummaryManager()
|
|
14
14
|
}()
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
lazy var eventManager: RookEventsManager = {
|
|
17
17
|
return RookEventsManager()
|
|
18
18
|
}()
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return DateHelper()
|
|
22
|
-
}()
|
|
23
|
-
|
|
19
|
+
|
|
20
|
+
@objc(sync:)
|
|
24
21
|
public func sync(_ callback: @escaping RCTResponseSenderBlock) {
|
|
25
22
|
Task {
|
|
26
23
|
do {
|
|
27
24
|
let result = try await summaryManager.sync()
|
|
28
|
-
|
|
25
|
+
|
|
29
26
|
DispatchQueue.main.async {
|
|
30
27
|
callback([NSNull(), result])
|
|
31
28
|
}
|
|
@@ -34,16 +31,15 @@ import RookSDK
|
|
|
34
31
|
"code": "1001",
|
|
35
32
|
"message": "An error ocurred with SDK try again"
|
|
36
33
|
]
|
|
37
|
-
|
|
34
|
+
|
|
38
35
|
if let rookError: RookError = error as? RookError {
|
|
39
36
|
errorInfo["code"] = String(rookError.code)
|
|
40
37
|
errorInfo["message"] = rookError.errorDescription
|
|
41
|
-
|
|
38
|
+
|
|
42
39
|
DispatchQueue.main.async {
|
|
43
40
|
callback([errorInfo, false])
|
|
44
41
|
}
|
|
45
42
|
} else {
|
|
46
|
-
errorInfo["message"] = error.localizedDescription
|
|
47
43
|
DispatchQueue.main.async {
|
|
48
44
|
callback([errorInfo, false])
|
|
49
45
|
}
|
|
@@ -51,41 +47,42 @@ import RookSDK
|
|
|
51
47
|
}
|
|
52
48
|
}
|
|
53
49
|
}
|
|
54
|
-
|
|
50
|
+
|
|
51
|
+
@objc(syncByDate:callback:)
|
|
55
52
|
public func syncByDate(_ date: String, callback: @escaping RCTResponseSenderBlock) {
|
|
56
53
|
Task {
|
|
57
54
|
do {
|
|
58
|
-
|
|
55
|
+
|
|
56
|
+
guard let parsed = parseStringToDate(date) else {
|
|
59
57
|
let error: [String: Any] = [
|
|
60
58
|
"code": "8",
|
|
61
59
|
"message": "The provided date is not in the allowed to fetch the summary",
|
|
62
60
|
]
|
|
63
|
-
|
|
61
|
+
|
|
64
62
|
callback([error, false])
|
|
65
63
|
return
|
|
66
64
|
}
|
|
67
|
-
|
|
65
|
+
|
|
68
66
|
let result = try await summaryManager.sync(parsed)
|
|
69
|
-
|
|
67
|
+
|
|
70
68
|
DispatchQueue.main.async {
|
|
71
69
|
callback([NSNull(), result])
|
|
72
70
|
}
|
|
73
|
-
|
|
71
|
+
|
|
74
72
|
} catch {
|
|
75
73
|
var errorInfo = [
|
|
76
74
|
"code": "1001",
|
|
77
75
|
"message": "An error ocurred with SDK try again"
|
|
78
76
|
]
|
|
79
|
-
|
|
77
|
+
|
|
80
78
|
if let rookError: RookError = error as? RookError {
|
|
81
79
|
errorInfo["code"] = String(rookError.code)
|
|
82
80
|
errorInfo["message"] = rookError.errorDescription
|
|
83
|
-
|
|
81
|
+
|
|
84
82
|
DispatchQueue.main.async {
|
|
85
83
|
callback([errorInfo, false])
|
|
86
84
|
}
|
|
87
85
|
} else {
|
|
88
|
-
errorInfo["message"] = error.localizedDescription
|
|
89
86
|
DispatchQueue.main.async {
|
|
90
87
|
callback([errorInfo, false])
|
|
91
88
|
}
|
|
@@ -93,11 +90,12 @@ import RookSDK
|
|
|
93
90
|
}
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
|
-
|
|
93
|
+
|
|
94
|
+
@objc(syncByDefinition:syncDate:callback:)
|
|
97
95
|
public func syncByDefinition(_ summary: String, syncDate date: String, callback: @escaping RCTResponseSenderBlock) {
|
|
98
96
|
Task {
|
|
99
97
|
do {
|
|
100
|
-
guard let parsed =
|
|
98
|
+
guard let parsed = parseStringToDate(date) else {
|
|
101
99
|
let error: [String: Any] = [
|
|
102
100
|
"code": "8",
|
|
103
101
|
"message": "The provided date is not in the allowed to fetch the summary",
|
|
@@ -106,38 +104,37 @@ import RookSDK
|
|
|
106
104
|
callback([error, false])
|
|
107
105
|
return
|
|
108
106
|
}
|
|
109
|
-
|
|
107
|
+
|
|
110
108
|
guard let type = RookSDK.SummaryTypeToUpload(rawValue: summary) else {
|
|
111
109
|
let error: [String: Any] = [
|
|
112
110
|
"code": "8",
|
|
113
111
|
"message": "The provided date is not in the allowed to fetch the summary",
|
|
114
112
|
]
|
|
115
|
-
|
|
113
|
+
|
|
116
114
|
callback([error, false])
|
|
117
115
|
return
|
|
118
116
|
}
|
|
119
|
-
|
|
117
|
+
|
|
120
118
|
let result = try await summaryManager.sync(parsed, [type])
|
|
121
|
-
|
|
119
|
+
|
|
122
120
|
DispatchQueue.main.async {
|
|
123
121
|
callback([NSNull(), result])
|
|
124
122
|
}
|
|
125
|
-
|
|
123
|
+
|
|
126
124
|
} catch {
|
|
127
125
|
var errorInfo = [
|
|
128
126
|
"code": "1001",
|
|
129
127
|
"message": "An error ocurred with SDK try again"
|
|
130
128
|
]
|
|
131
|
-
|
|
129
|
+
|
|
132
130
|
if let rookError: RookError = error as? RookError {
|
|
133
131
|
errorInfo["code"] = String(rookError.code)
|
|
134
132
|
errorInfo["message"] = rookError.errorDescription
|
|
135
|
-
|
|
133
|
+
|
|
136
134
|
DispatchQueue.main.async {
|
|
137
135
|
callback([errorInfo, false])
|
|
138
136
|
}
|
|
139
137
|
} else {
|
|
140
|
-
errorInfo["message"] = error.localizedDescription
|
|
141
138
|
DispatchQueue.main.async {
|
|
142
139
|
callback([errorInfo, false])
|
|
143
140
|
}
|
|
@@ -145,20 +142,21 @@ import RookSDK
|
|
|
145
142
|
}
|
|
146
143
|
}
|
|
147
144
|
}
|
|
148
|
-
|
|
145
|
+
|
|
146
|
+
@objc(syncEvent:event:resolve:reject:)
|
|
149
147
|
public func syncEvent(
|
|
150
148
|
_ syncDate: String, event: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
151
149
|
) {
|
|
152
|
-
guard let parsed =
|
|
150
|
+
guard let parsed = parseStringToDate(syncDate) else {
|
|
153
151
|
reject("9", "The provided date is not in the allowed range to extract events.", nil)
|
|
154
152
|
return
|
|
155
153
|
}
|
|
156
|
-
|
|
154
|
+
|
|
157
155
|
guard let type = RookSDK.EventTypeToUpload(rawValue: event) else {
|
|
158
156
|
reject("1001", "Invalid event type", nil)
|
|
159
157
|
return
|
|
160
158
|
}
|
|
161
|
-
|
|
159
|
+
|
|
162
160
|
Task {
|
|
163
161
|
do {
|
|
164
162
|
let result = try await eventManager.syncEvents(date: parsed, eventType: type)
|
|
@@ -169,13 +167,14 @@ import RookSDK
|
|
|
169
167
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
170
168
|
}
|
|
171
169
|
} else {
|
|
172
|
-
reject("1001", error
|
|
170
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
173
171
|
}
|
|
174
172
|
}
|
|
175
173
|
}
|
|
176
|
-
|
|
174
|
+
|
|
177
175
|
}
|
|
178
|
-
|
|
176
|
+
|
|
177
|
+
@objc(getTodayAppleHealthSteps:reject:)
|
|
179
178
|
public func getTodayAppleHealthSteps(
|
|
180
179
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
181
180
|
) {
|
|
@@ -189,27 +188,26 @@ import RookSDK
|
|
|
189
188
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
190
189
|
}
|
|
191
190
|
} else {
|
|
192
|
-
|
|
193
|
-
reject("1001", error.localizedDescription, error as NSError)
|
|
194
|
-
}
|
|
191
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
195
192
|
}
|
|
196
193
|
}
|
|
197
194
|
}
|
|
198
195
|
}
|
|
199
|
-
|
|
196
|
+
|
|
197
|
+
@objc(syncTodayCaloriesCount:reject:)
|
|
200
198
|
public func syncTodayCaloriesCount(
|
|
201
199
|
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
202
200
|
) {
|
|
203
201
|
Task {
|
|
204
202
|
do {
|
|
205
203
|
let result = try await eventManager.getTodayCalories()
|
|
206
|
-
|
|
204
|
+
|
|
207
205
|
let dic = [
|
|
208
206
|
"active": result.activeCalories,
|
|
209
207
|
"basal": result.basalCalories,
|
|
210
208
|
"total": result.totalCalories
|
|
211
209
|
]
|
|
212
|
-
|
|
210
|
+
|
|
213
211
|
resolve(dic)
|
|
214
212
|
} catch {
|
|
215
213
|
if let rookError: RookError = error as? RookError {
|
|
@@ -217,11 +215,43 @@ import RookSDK
|
|
|
217
215
|
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
218
216
|
}
|
|
219
217
|
} else {
|
|
218
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
@objc(getTodayHeartRate:reject:)
|
|
225
|
+
public func getTodayHeartRate(
|
|
226
|
+
_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
|
|
227
|
+
){
|
|
228
|
+
Task {
|
|
229
|
+
do {
|
|
230
|
+
let result = try await eventManager.getTodayHeartRate()
|
|
231
|
+
let mapper: HeartRateMapper = HeartRateMapper()
|
|
232
|
+
let data: [String: Any?] = mapper.map(result)
|
|
233
|
+
|
|
234
|
+
DispatchQueue.main.async {
|
|
235
|
+
resolve(data)
|
|
236
|
+
}
|
|
237
|
+
} catch {
|
|
238
|
+
if let rookError: RookError = error as? RookError {
|
|
220
239
|
DispatchQueue.main.async {
|
|
221
|
-
reject(
|
|
240
|
+
reject(String(rookError.code), rookError.errorDescription, error as NSError)
|
|
222
241
|
}
|
|
242
|
+
} else {
|
|
243
|
+
reject("1001", "An error ocurred with SDK try again", error as NSError)
|
|
223
244
|
}
|
|
224
245
|
}
|
|
225
246
|
}
|
|
226
247
|
}
|
|
248
|
+
|
|
249
|
+
func parseStringToDate(_ input: String) -> Date? {
|
|
250
|
+
let dateFormatter = DateFormatter()
|
|
251
|
+
dateFormatter.dateFormat = "yyyy-MM-dd"
|
|
252
|
+
return dateFormatter.date(from: input)
|
|
253
|
+
}
|
|
227
254
|
}
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
// La clase debe heredar de NSObject y tener @objc para ser visible
|
|
4
|
+
@objc(SwiftTest)
|
|
5
|
+
public class SwiftTest: NSObject {
|
|
6
|
+
|
|
7
|
+
// Un método estático (de clase) que también debe ser @objc
|
|
8
|
+
@objc
|
|
9
|
+
public static func getGreeting(name: String) -> String {
|
|
10
|
+
return "Hello, \(name) from Swift! 👋"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Un método de instancia
|
|
14
|
+
@objc
|
|
15
|
+
public func showMessage() {
|
|
16
|
+
print("This is a message from a Swift instance.")
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//
|
|
2
|
+
// react-native-rook-sdk-Bridging-Header.h
|
|
3
|
+
// Pods
|
|
4
|
+
//
|
|
5
|
+
// Created by Javier Villanueva on 04/09/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#ifndef react_native_rook_sdk_Bridging_Header_h
|
|
9
|
+
#define react_native_rook_sdk_Bridging_Header_h
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#endif /* react_native_rook_sdk_Bridging_Header_h */
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useRookSyncGateContext = exports.RookSyncGateContext = void 0;
|
|
7
|
+
var _react = require("react");
|
|
1
8
|
// RookSyncGateContext.tsx
|
|
2
|
-
import { createContext, useContext, type Dispatch } from 'react';
|
|
3
|
-
import type { RookSyncGateState, Action } from './RookSyncGateTypes';
|
|
4
9
|
|
|
5
10
|
/* This line of code is creating a context using the `createContext` function provided by React. The
|
|
6
11
|
context being created is named `RookSyncGateContext` and it is defined to hold an object with two
|
|
7
12
|
properties: `state` of type `RookSyncGateState` and `dispatch` of type `Dispatch<Action>`. The
|
|
8
13
|
`Dispatch` type is a generic type that represents a function to dispatch actions. */
|
|
9
|
-
|
|
10
|
-
{ state: RookSyncGateState; dispatch: Dispatch<Action> } | undefined
|
|
11
|
-
>(undefined);
|
|
14
|
+
const RookSyncGateContext = exports.RookSyncGateContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
12
15
|
|
|
13
16
|
/**
|
|
14
17
|
* The function `useRookSyncGateContext` ensures that it is used within the `RookSyncGateProvider`
|
|
@@ -17,12 +20,12 @@ export const RookSyncGateContext = createContext<
|
|
|
17
20
|
* `RookSyncGateContext` using the `useContext` hook. If the context is not found, it throws an error
|
|
18
21
|
* indicating that `useRookSyncGateContext` should be used inside `RookSyncGateProvider`.
|
|
19
22
|
*/
|
|
20
|
-
|
|
21
|
-
const context = useContext(RookSyncGateContext);
|
|
23
|
+
const useRookSyncGateContext = () => {
|
|
24
|
+
const context = (0, _react.useContext)(RookSyncGateContext);
|
|
22
25
|
if (!context) {
|
|
23
|
-
throw new Error(
|
|
24
|
-
'useRookSyncGateContext should be used inside RookSyncGateProvider'
|
|
25
|
-
);
|
|
26
|
+
throw new Error('useRookSyncGateContext should be used inside RookSyncGateProvider');
|
|
26
27
|
}
|
|
27
28
|
return context;
|
|
28
29
|
};
|
|
30
|
+
exports.useRookSyncGateContext = useRookSyncGateContext;
|
|
31
|
+
//# sourceMappingURL=RookSyncGateContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","RookSyncGateContext","exports","createContext","undefined","useRookSyncGateContext","context","useContext","Error"],"sourceRoot":"../../../src","sources":["context/RookSyncGateContext.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AADA;;AAIA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,oBAAa,EAE9CC,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EAC1C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACN,mBAAmB,CAAC;EAC/C,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CACb,mEACF,CAAC;EACH;EACA,OAAOF,OAAO;AAChB,CAAC;AAACJ,OAAA,CAAAG,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|