react-native-rook-sdk 4.0.0-beta.2 → 4.1.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.
Files changed (339) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -35
  3. package/android/build.gradle +45 -20
  4. package/android/gradle.properties +5 -5
  5. package/android/src/main/AndroidManifest.xml +2 -1
  6. package/android/src/main/AndroidManifestNew.xml +36 -0
  7. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +263 -11
  8. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +42 -26
  9. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +65 -0
  10. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +70 -0
  11. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +52 -0
  12. package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +99 -0
  13. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +182 -0
  14. package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +301 -0
  15. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +382 -0
  16. package/android/src/main/java/com/rooksdk/modules/RookSourcesModule.kt +102 -0
  17. package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +189 -0
  18. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +551 -0
  19. package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +34 -0
  20. package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +21 -0
  21. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +145 -0
  22. package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +26 -0
  23. package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +17 -0
  24. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +21 -0
  25. package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
  26. package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +41 -0
  27. package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +19 -0
  28. package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +21 -0
  29. package/android/src/main/res/drawable/ic_health_connect.xml +19 -0
  30. package/android/src/main/res/values/themes.xml +3 -0
  31. package/ios/DateHelper.swift +4 -4
  32. package/ios/EncodableDataSource.swift +3 -2
  33. package/ios/EncodableDataSourceAuthorizer.swift +3 -2
  34. package/ios/{HearRateMapper.swift → EncodableHeartRate.swift} +3 -3
  35. package/ios/EncodableRookDataSource.swift +36 -0
  36. package/ios/EncodableSDKState.swift +94 -0
  37. package/ios/EncodableStatusDataSources.swift +47 -0
  38. package/ios/NutritionMapper.swift +114 -0
  39. package/ios/RookBackground.swift +8 -5
  40. package/ios/RookBackgroundModule.h +5 -0
  41. package/ios/RookBackgroundModule.mm +15 -0
  42. package/ios/RookConfiguration.swift +34 -24
  43. package/ios/RookConfigurationModule.h +5 -0
  44. package/ios/RookConfigurationModule.mm +22 -0
  45. package/ios/RookExternalModule.h +5 -0
  46. package/ios/RookExternalModule.m +31 -0
  47. package/ios/{RookData.swift → RookLocalData.swift} +70 -48
  48. package/ios/RookPermissions.swift +33 -5
  49. package/ios/RookPermissionsModule.h +5 -0
  50. package/ios/RookPermissionsModule.mm +20 -0
  51. package/ios/RookSdk.h +2 -14
  52. package/ios/RookSdk.mm +97 -546
  53. package/ios/RookSources.swift +54 -60
  54. package/ios/RookSourcesModule.h +5 -0
  55. package/ios/RookSourcesModule.mm +18 -0
  56. package/ios/RookSync.h +5 -0
  57. package/ios/RookSync.m +35 -0
  58. package/ios/RookSync.swift +78 -48
  59. package/ios/SwiftTest.swift +18 -0
  60. package/ios/react-native-rook-sdk-Bridging-Header.h +12 -0
  61. package/{src/context/RookSyncGateContext.ts → lib/commonjs/context/RookSyncGateContext.js} +13 -10
  62. package/lib/commonjs/context/RookSyncGateContext.js.map +1 -0
  63. package/lib/commonjs/context/RookSyncGateProvider.js +108 -0
  64. package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -0
  65. package/{src/context/RookSyncGateReducer.ts → lib/commonjs/context/RookSyncGateReducer.js} +44 -13
  66. package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -0
  67. package/lib/commonjs/context/RookSyncGateTypes.js +6 -0
  68. package/lib/commonjs/context/RookSyncGateTypes.js.map +1 -0
  69. package/lib/commonjs/context/index.js +14 -0
  70. package/lib/commonjs/context/index.js.map +1 -0
  71. package/lib/commonjs/hooks/index.js +83 -0
  72. package/lib/commonjs/hooks/index.js.map +1 -0
  73. package/{src/hooks/useRookAPISources.ts → lib/commonjs/hooks/useRookAPISources.js} +36 -40
  74. package/lib/commonjs/hooks/useRookAPISources.js.map +1 -0
  75. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +88 -0
  76. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -0
  77. package/lib/commonjs/hooks/useRookAndroidStepCounter.js +56 -0
  78. package/lib/commonjs/hooks/useRookAndroidStepCounter.js.map +1 -0
  79. package/lib/commonjs/hooks/useRookAppleHealth.js +63 -0
  80. package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -0
  81. package/lib/commonjs/hooks/useRookConfiguration.js +113 -0
  82. package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -0
  83. package/lib/commonjs/hooks/useRookData.js +116 -0
  84. package/lib/commonjs/hooks/useRookData.js.map +1 -0
  85. package/lib/commonjs/hooks/useRookHealthConnect.js +70 -0
  86. package/lib/commonjs/hooks/useRookHealthConnect.js.map +1 -0
  87. package/lib/commonjs/hooks/useRookPermissions.js +223 -0
  88. package/lib/commonjs/hooks/useRookPermissions.js.map +1 -0
  89. package/lib/commonjs/hooks/useRookSamsungHealth.js +54 -0
  90. package/lib/commonjs/hooks/useRookSamsungHealth.js.map +1 -0
  91. package/lib/commonjs/hooks/useRookSync.js +148 -0
  92. package/lib/commonjs/hooks/useRookSync.js.map +1 -0
  93. package/lib/commonjs/hooks/useRookVariables.js +93 -0
  94. package/lib/commonjs/hooks/useRookVariables.js.map +1 -0
  95. package/lib/commonjs/index.js +121 -0
  96. package/lib/commonjs/index.js.map +1 -0
  97. package/lib/commonjs/modules/hook/useRookAutoSync.js +261 -0
  98. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -0
  99. package/lib/commonjs/modules/types/sendMessageBroadcast.js +2 -0
  100. package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +1 -0
  101. package/lib/commonjs/modules/utils/errors.js +12 -0
  102. package/lib/commonjs/modules/utils/errors.js.map +1 -0
  103. package/lib/commonjs/types/ActivityEvent.js +6 -0
  104. package/lib/commonjs/types/ActivityEvent.js.map +1 -0
  105. package/lib/commonjs/types/AppleHealthNutritionEvent.js +77 -0
  106. package/lib/commonjs/types/AppleHealthNutritionEvent.js.map +1 -0
  107. package/lib/commonjs/types/AppleHealthPermissions.js +57 -0
  108. package/lib/commonjs/types/AppleHealthPermissions.js.map +1 -0
  109. package/lib/commonjs/types/AuthorizedSources.js +6 -0
  110. package/lib/commonjs/types/AuthorizedSources.js.map +1 -0
  111. package/lib/commonjs/types/BodySummary.js +6 -0
  112. package/lib/{module/types/Rook.js.map → commonjs/types/BodySummary.js.map} +1 -1
  113. package/lib/commonjs/types/DataSource.js +16 -0
  114. package/lib/commonjs/types/DataSource.js.map +1 -0
  115. package/lib/commonjs/types/DiagnosticState.js +2 -0
  116. package/lib/commonjs/types/DiagnosticState.js.map +1 -0
  117. package/lib/commonjs/types/HCMealData.js +65 -0
  118. package/lib/commonjs/types/HCMealData.js.map +1 -0
  119. package/lib/commonjs/types/HeartRateEvent.js +2 -0
  120. package/lib/commonjs/types/HeartRateEvent.js.map +1 -0
  121. package/lib/commonjs/types/PermissionsType.js +2 -0
  122. package/lib/commonjs/types/PermissionsType.js.map +1 -0
  123. package/lib/commonjs/types/PhysicalSummary.js +6 -0
  124. package/lib/commonjs/types/PhysicalSummary.js.map +1 -0
  125. package/lib/commonjs/types/SDKSources.js +13 -0
  126. package/lib/commonjs/types/SDKSources.js.map +1 -0
  127. package/lib/commonjs/types/SamsungHealthPermissions.js +23 -0
  128. package/lib/commonjs/types/SamsungHealthPermissions.js.map +1 -0
  129. package/lib/commonjs/types/SleepSummary.js +6 -0
  130. package/lib/commonjs/types/SleepSummary.js.map +1 -0
  131. package/lib/commonjs/types/SummaryTypes.js +2 -0
  132. package/lib/commonjs/types/SummaryTypes.js.map +1 -0
  133. package/lib/commonjs/types/SyncTypes.js +33 -0
  134. package/lib/commonjs/types/SyncTypes.js.map +1 -0
  135. package/lib/commonjs/types/WriteNutrition.js +18 -0
  136. package/lib/commonjs/types/WriteNutrition.js.map +1 -0
  137. package/lib/commonjs/utils/getNativeModule.js +29 -0
  138. package/lib/commonjs/utils/getNativeModule.js.map +1 -0
  139. package/lib/commonjs/utils/getRookModule.js +28 -0
  140. package/lib/commonjs/utils/getRookModule.js.map +1 -0
  141. package/{src/utils/isModuleReady.ts → lib/commonjs/utils/isModuleReady.js} +10 -4
  142. package/lib/commonjs/utils/isModuleReady.js.map +1 -0
  143. package/lib/commonjs/utils/isRunningOnAndroid.js +15 -0
  144. package/lib/commonjs/utils/isRunningOnAndroid.js.map +1 -0
  145. package/lib/commonjs/utils/isRunningOniOS.js +15 -0
  146. package/lib/commonjs/utils/isRunningOniOS.js.map +1 -0
  147. package/lib/commonjs/utils/isValidDate.js +41 -0
  148. package/lib/commonjs/utils/isValidDate.js.map +1 -0
  149. package/lib/commonjs/utils/nativeModules.js +29 -0
  150. package/lib/commonjs/utils/nativeModules.js.map +1 -0
  151. package/lib/commonjs/utils/packageInfo.js +13 -0
  152. package/lib/commonjs/utils/packageInfo.js.map +1 -0
  153. package/lib/module/context/RookSyncGateContext.js +0 -2
  154. package/lib/module/context/RookSyncGateContext.js.map +1 -1
  155. package/lib/module/context/RookSyncGateProvider.js +31 -22
  156. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  157. package/lib/module/context/RookSyncGateReducer.js +12 -4
  158. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  159. package/lib/module/context/RookSyncGateTypes.js +0 -2
  160. package/lib/module/context/index.js +2 -0
  161. package/lib/module/context/index.js.map +1 -0
  162. package/lib/module/hooks/index.js +12 -0
  163. package/lib/module/hooks/index.js.map +1 -0
  164. package/lib/module/hooks/useRookAPISources.js +16 -10
  165. package/lib/module/hooks/useRookAPISources.js.map +1 -1
  166. package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -11
  167. package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  168. package/lib/module/hooks/useRookAndroidStepCounter.js +48 -0
  169. package/lib/module/hooks/useRookAndroidStepCounter.js.map +1 -0
  170. package/lib/module/hooks/useRookAppleHealth.js +10 -9
  171. package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
  172. package/lib/module/hooks/useRookConfiguration.js +34 -10
  173. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  174. package/lib/module/hooks/useRookData.js +45 -31
  175. package/lib/module/hooks/useRookData.js.map +1 -1
  176. package/lib/module/hooks/useRookHealthConnect.js +10 -9
  177. package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
  178. package/lib/module/hooks/useRookPermissions.js +63 -28
  179. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  180. package/lib/module/hooks/useRookSamsungHealth.js +20 -8
  181. package/lib/module/hooks/useRookSamsungHealth.js.map +1 -1
  182. package/lib/module/hooks/useRookSync.js +32 -23
  183. package/lib/module/hooks/useRookSync.js.map +1 -1
  184. package/lib/module/hooks/useRookVariables.js +37 -19
  185. package/lib/module/hooks/useRookVariables.js.map +1 -1
  186. package/lib/module/index.js +10 -18
  187. package/lib/module/index.js.map +1 -1
  188. package/lib/module/modules/hook/useRookAutoSync.js +40 -27
  189. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  190. package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
  191. package/lib/module/modules/utils/errors.js +0 -2
  192. package/lib/module/modules/utils/errors.js.map +1 -1
  193. package/lib/module/types/ActivityEvent.js +0 -2
  194. package/lib/module/types/AppleHealthNutritionEvent.js +70 -0
  195. package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -0
  196. package/lib/module/types/AppleHealthPermissions.js +0 -2
  197. package/lib/module/types/AppleHealthPermissions.js.map +1 -1
  198. package/lib/module/types/AuthorizedSources.js +0 -2
  199. package/lib/module/types/BodySummary.js +0 -2
  200. package/lib/module/types/DataSource.js +0 -2
  201. package/lib/module/types/DataSource.js.map +1 -1
  202. package/lib/module/types/DiagnosticState.js +2 -0
  203. package/lib/module/types/DiagnosticState.js.map +1 -0
  204. package/lib/module/types/HCMealData.js +59 -0
  205. package/lib/module/types/HCMealData.js.map +1 -0
  206. package/lib/module/types/HeartRateEvent.js +1 -1
  207. package/lib/module/types/PermissionsType.js +1 -1
  208. package/lib/module/types/PhysicalSummary.js +0 -2
  209. package/lib/module/types/SDKSources.js +0 -2
  210. package/lib/module/types/SDKSources.js.map +1 -1
  211. package/lib/module/types/SamsungHealthPermissions.js +0 -3
  212. package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
  213. package/lib/module/types/SleepSummary.js +0 -2
  214. package/lib/module/types/SummaryTypes.js +1 -1
  215. package/lib/module/types/SyncTypes.js +0 -2
  216. package/lib/module/types/SyncTypes.js.map +1 -1
  217. package/lib/module/types/WriteNutrition.js +12 -0
  218. package/lib/module/types/WriteNutrition.js.map +1 -0
  219. package/lib/module/utils/getNativeModule.js +23 -0
  220. package/lib/module/utils/getNativeModule.js.map +1 -0
  221. package/lib/module/utils/getRookModule.js +22 -0
  222. package/lib/module/utils/getRookModule.js.map +1 -0
  223. package/lib/module/utils/isModuleReady.js +0 -2
  224. package/lib/module/utils/isModuleReady.js.map +1 -1
  225. package/lib/module/utils/isRunningOnAndroid.js +0 -2
  226. package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
  227. package/lib/module/utils/isRunningOniOS.js +0 -2
  228. package/lib/module/utils/isRunningOniOS.js.map +1 -1
  229. package/lib/module/utils/isValidDate.js +20 -2
  230. package/lib/module/utils/isValidDate.js.map +1 -1
  231. package/lib/module/utils/nativeModules.js +23 -0
  232. package/lib/module/utils/nativeModules.js.map +1 -0
  233. package/lib/module/utils/packageInfo.js +7 -0
  234. package/lib/module/utils/packageInfo.js.map +1 -0
  235. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
  236. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  237. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  238. package/lib/typescript/src/context/RookSyncGateTypes.d.ts +14 -4
  239. package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -1
  240. package/lib/typescript/src/context/index.d.ts +2 -0
  241. package/lib/typescript/src/context/index.d.ts.map +1 -0
  242. package/lib/typescript/src/hooks/index.d.ts +12 -0
  243. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  244. package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -1
  245. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
  246. package/lib/typescript/src/hooks/useRookAndroidStepCounter.d.ts +9 -0
  247. package/lib/typescript/src/hooks/useRookAndroidStepCounter.d.ts.map +1 -0
  248. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
  249. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +3 -1
  250. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  251. package/lib/typescript/src/hooks/useRookData.d.ts +2 -2
  252. package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
  253. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
  254. package/lib/typescript/src/hooks/useRookPermissions.d.ts +6 -2
  255. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  256. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +6 -0
  257. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -1
  258. package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
  259. package/lib/typescript/src/hooks/useRookVariables.d.ts +2 -0
  260. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
  261. package/lib/typescript/src/index.d.ts +8 -17
  262. package/lib/typescript/src/index.d.ts.map +1 -1
  263. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  264. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts +76 -0
  265. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -0
  266. package/lib/typescript/src/types/AuthorizedSources.d.ts +0 -11
  267. package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
  268. package/lib/typescript/src/types/DiagnosticState.d.ts +13 -0
  269. package/lib/typescript/src/types/DiagnosticState.d.ts.map +1 -0
  270. package/lib/typescript/src/types/HCMealData.d.ts +60 -0
  271. package/lib/typescript/src/types/HCMealData.d.ts.map +1 -0
  272. package/lib/typescript/src/types/HeartRateEvent.d.ts +2 -2
  273. package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -1
  274. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +0 -1
  275. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
  276. package/lib/typescript/src/types/SyncTypes.d.ts +1 -5
  277. package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
  278. package/lib/typescript/src/types/WriteNutrition.d.ts +61 -0
  279. package/lib/typescript/src/types/WriteNutrition.d.ts.map +1 -0
  280. package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
  281. package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
  282. package/lib/typescript/src/utils/getRookModule.d.ts +9 -0
  283. package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -0
  284. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
  285. package/lib/typescript/src/utils/isValidDate.d.ts +8 -0
  286. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  287. package/lib/typescript/src/utils/nativeModules.d.ts +24 -0
  288. package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
  289. package/lib/typescript/src/utils/packageInfo.d.ts +6 -0
  290. package/lib/typescript/src/utils/packageInfo.d.ts.map +1 -0
  291. package/package.json +98 -94
  292. package/react-native-rook-sdk.podspec +45 -0
  293. package/RNRookSdk.podspec +0 -22
  294. package/ios/Encodable.swift +0 -25
  295. package/ios/RookEntry.swift +0 -61
  296. package/ios/RookSdk-Bridging-Header.h +0 -12
  297. package/ios/boost-boost_privacy-Bridging-Header.h +0 -4
  298. package/lib/module/NativeRookSdk.js +0 -13
  299. package/lib/module/NativeRookSdk.js.map +0 -1
  300. package/lib/module/package.json +0 -1
  301. package/lib/module/types/Rook.js +0 -2
  302. package/lib/typescript/package.json +0 -1
  303. package/lib/typescript/src/NativeRookSdk.d.ts +0 -116
  304. package/lib/typescript/src/NativeRookSdk.d.ts.map +0 -1
  305. package/lib/typescript/src/types/Rook.d.ts +0 -9
  306. package/lib/typescript/src/types/Rook.d.ts.map +0 -1
  307. package/src/NativeRookSdk.ts +0 -274
  308. package/src/context/RookSyncGateProvider.tsx +0 -78
  309. package/src/context/RookSyncGateTypes.ts +0 -34
  310. package/src/hooks/useRookAndroidBackgroundSteps.ts +0 -81
  311. package/src/hooks/useRookAppleHealth.ts +0 -55
  312. package/src/hooks/useRookConfiguration.ts +0 -82
  313. package/src/hooks/useRookData.ts +0 -122
  314. package/src/hooks/useRookHealthConnect.ts +0 -59
  315. package/src/hooks/useRookPermissions.ts +0 -224
  316. package/src/hooks/useRookSamsungHealth.ts +0 -37
  317. package/src/hooks/useRookSync.ts +0 -157
  318. package/src/hooks/useRookVariables.ts +0 -77
  319. package/src/index.tsx +0 -28
  320. package/src/modules/hook/useRookAutoSync.ts +0 -305
  321. package/src/modules/types/sendMessageBroadcast.ts +0 -5
  322. package/src/modules/utils/errors.ts +0 -9
  323. package/src/types/ActivityEvent.ts +0 -159
  324. package/src/types/AppleHealthPermissions.ts +0 -49
  325. package/src/types/AuthorizedSources.ts +0 -33
  326. package/src/types/BodySummary.ts +0 -116
  327. package/src/types/DataSource.ts +0 -16
  328. package/src/types/HeartRateEvent.ts +0 -26
  329. package/src/types/PermissionsType.ts +0 -9
  330. package/src/types/PhysicalSummary.ts +0 -84
  331. package/src/types/Rook.ts +0 -8
  332. package/src/types/SDKSources.ts +0 -5
  333. package/src/types/SamsungHealthPermissions.ts +0 -16
  334. package/src/types/SleepSummary.ts +0 -66
  335. package/src/types/SummaryTypes.ts +0 -70
  336. package/src/types/SyncTypes.ts +0 -63
  337. package/src/utils/isRunningOnAndroid.ts +0 -10
  338. package/src/utils/isRunningOniOS.ts +0 -10
  339. package/src/utils/isValidDate.ts +0 -15
@@ -1,8 +1,11 @@
1
- "use strict";
2
-
3
- import RookSdk from "../NativeRookSdk.js";
4
- import { useRookSyncGateContext } from "../context/RookSyncGateContext.js";
5
- import { isModuleReady } from "../utils/isModuleReady.js";
1
+ import { useRef } from 'react';
2
+ import { Platform } from 'react-native';
3
+ import { useRookSyncGateContext } from '../context/RookSyncGateContext';
4
+ import getNativeModule from '../utils/getNativeModule';
5
+ import { isModuleReady } from '../utils/isModuleReady';
6
+ import nativeModules from '../utils/nativeModules';
7
+ import { packageInfo } from '../utils/packageInfo';
8
+ import { SDKDataSource } from '../types/SDKSources';
6
9
  /**
7
10
  * The `useRookConfiguration` hook provides various asynchronous methods for managing the configuration
8
11
  * of the ROOK SDK
@@ -10,6 +13,10 @@ import { isModuleReady } from "../utils/isModuleReady.js";
10
13
  * the SDK
11
14
  */
12
15
  export const useRookConfiguration = () => {
16
+ const rookSync = useRef(getNativeModule(Platform.select({
17
+ android: () => nativeModules.android.CONFIGURATION,
18
+ default: () => nativeModules.ios.CONFIGURATION
19
+ })()));
13
20
  const {
14
21
  state: {
15
22
  ready
@@ -23,7 +30,7 @@ export const useRookConfiguration = () => {
23
30
  */
24
31
  const getUserID = async () => {
25
32
  isModuleReady(ready);
26
- const result = await RookSdk.getUserID();
33
+ const result = await rookSync.current.getUserID();
27
34
  if (result) dispatch({
28
35
  type: 'SET_USER_ID',
29
36
  userID: result
@@ -40,7 +47,7 @@ export const useRookConfiguration = () => {
40
47
  */
41
48
  const updateUserID = async userID => {
42
49
  isModuleReady(ready);
43
- const result = await RookSdk.updateUserID(userID);
50
+ const result = await rookSync.current.updateUserID(userID);
44
51
  dispatch({
45
52
  type: 'SET_USER_ID',
46
53
  userID
@@ -54,7 +61,7 @@ export const useRookConfiguration = () => {
54
61
  */
55
62
  const syncUserTimeZone = async () => {
56
63
  isModuleReady(ready);
57
- const result = await RookSdk.syncUserTimeZone();
64
+ const result = await rookSync.current.syncUserTimeZone();
58
65
  return result;
59
66
  };
60
67
 
@@ -68,14 +75,31 @@ export const useRookConfiguration = () => {
68
75
  type: 'SET_USER_ID',
69
76
  userID: ''
70
77
  });
71
- return RookSdk.removeUserFromRook(sources);
78
+ if (!packageInfo.isAndroid) return rookSync.current.removeUserFromRook();
79
+ return rookSync.current.removeUserFromRook(sources);
80
+ };
81
+ const getDiagnosticState = async source => {
82
+ isModuleReady(ready);
83
+ if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
84
+ const value = await rookSync.current.getHealthConnectDiagnosticState();
85
+ return JSON.parse(value);
86
+ }
87
+ if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
88
+ const value = rookSync.current.getSamsungHealthDiagnosticState();
89
+ return JSON.parse(value);
90
+ }
91
+ if (!packageInfo.isAndroid && source === SDKDataSource.APPLE_HEALTH) {
92
+ return rookSync.current.getDiagnosticState();
93
+ }
94
+ throw new Error('Check the datasource');
72
95
  };
73
96
  return {
74
97
  ready,
75
98
  getUserID,
76
99
  updateUserID,
77
100
  removeUserFromRook,
78
- syncUserTimeZone
101
+ syncUserTimeZone,
102
+ getDiagnosticState
79
103
  };
80
104
  };
81
105
  //# sourceMappingURL=useRookConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RookSdk","useRookSyncGateContext","isModuleReady","useRookConfiguration","state","ready","dispatch","getUserID","result","type","userID","updateUserID","syncUserTimeZone","removeUserFromRook","sources"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAM,qBAAkB;AAEtC,SAASC,sBAAsB,QAAQ,mCAAgC;AACvE,SAASC,aAAa,QAAQ,2BAAwB;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM,CAAC;IAChBC;EACF,CAAC,GAAGL,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMM,SAAS,GAAG,MAAAA,CAAA,KAA6B;IAC7CL,aAAa,CAACG,KAAK,CAAC;IAEpB,MAAMG,MAAM,GAAG,MAAMR,OAAO,CAACO,SAAS,CAAC,CAAC;IAExC,IAAIC,MAAM,EAAEF,QAAQ,CAAC;MAAEG,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAEF;IAAO,CAAC,CAAC;IAE7D,OAAOA,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,YAAY,GAAG,MAAOD,MAAc,IAAuB;IAC/DR,aAAa,CAACG,KAAK,CAAC;IAEpB,MAAMG,MAAe,GAAG,MAAMR,OAAO,CAACW,YAAY,CAACD,MAAM,CAAC;IAE1DJ,QAAQ,CAAC;MAAEG,IAAI,EAAE,aAAa;MAAEC;IAAO,CAAC,CAAC;IAEzC,OAAOF,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMI,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrDV,aAAa,CAACG,KAAK,CAAC;IAEpB,MAAMG,MAAe,GAAG,MAAMR,OAAO,CAACY,gBAAgB,CAAC,CAAC;IACxD,OAAOJ,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMK,kBAAkB,GAAG,MACzBC,OAAwB,IACH;IACrBZ,aAAa,CAACG,KAAK,CAAC;IAEpBC,QAAQ,CAAC;MAAEG,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,OAAOV,OAAO,CAACa,kBAAkB,CAACC,OAAO,CAAC;EAC5C,CAAC;EAED,OAAO;IACLT,KAAK;IACLE,SAAS;IACTI,YAAY;IACZE,kBAAkB;IAClBD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","nativeModules","packageInfo","SDKDataSource","useRookConfiguration","rookSync","select","android","CONFIGURATION","default","ios","state","ready","dispatch","getUserID","result","current","type","userID","updateUserID","syncUserTimeZone","removeUserFromRook","sources","isAndroid","getDiagnosticState","source","HEALTH_CONNECT","value","getHealthConnectDiagnosticState","JSON","parse","SAMSUNG_HEALTH","getSamsungHealthDiagnosticState","APPLE_HEALTH","Error"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,19 @@
1
- "use strict";
2
-
3
- import RookSdk from "../NativeRookSdk.js";
1
+ import { useRef } from 'react';
4
2
  import { Platform } from 'react-native';
5
- import { isModuleReady } from "../utils/isModuleReady.js";
6
- import { isValidDate } from "../utils/isValidDate.js";
7
- import { useRookSyncGateContext } from "../context/RookSyncGateContext.js";
8
- import { SDKDataSource } from "../types/SDKSources.js";
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import { isValidDate, isValidZonedDateTime } from '../utils/isValidDate';
6
+ import nativeModules from '../utils/nativeModules';
7
+ import { useRookSyncGateContext } from '../context/RookSyncGateContext';
8
+ import { SDKDataSource } from '../types/SDKSources';
9
+ import { packageInfo } from '../utils/packageInfo';
10
+ import { parseWriteNutritionToHC } from '../types/HCMealData';
11
+ import { parseWriteNutritionToAH } from '../types/AppleHealthNutritionEvent';
9
12
  export const useRookData = () => {
13
+ const rookData = useRef(getNativeModule(Platform.select({
14
+ android: () => nativeModules.android.LOCAL_DATA,
15
+ default: () => nativeModules.ios.LOCAL_DATA
16
+ })()));
10
17
  const {
11
18
  state: {
12
19
  ready
@@ -18,15 +25,15 @@ export const useRookData = () => {
18
25
  }) => {
19
26
  isModuleReady(ready);
20
27
  isValidDate(date);
21
- if (Platform.OS === 'android' && source === SDKDataSource.SAMSUNG_HEALTH) {
22
- const result = await RookSdk.getSamsungSleepSummary(date);
28
+ if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
29
+ const result = await rookData.current.getSamsungSleepSummary(date);
23
30
  return JSON.parse(result);
24
31
  }
25
- if (Platform.OS === 'android' && source === SDKDataSource.HEALTH_CONNECT) {
26
- const result = await RookSdk.getHealthConnectSleepSummary(date);
32
+ if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
33
+ const result = await rookData.current.getHealthConnectSleepSummary(date);
27
34
  return JSON.parse(result);
28
35
  }
29
- return RookSdk.getAppleHealthSleepSummary(date);
36
+ return rookData.current.getAppleHealthSleepSummary(date);
30
37
  };
31
38
  const getPhysicalSummary = async ({
32
39
  date,
@@ -34,15 +41,15 @@ export const useRookData = () => {
34
41
  }) => {
35
42
  isModuleReady(ready);
36
43
  isValidDate(date);
37
- if (Platform.OS === 'android' && source === SDKDataSource.SAMSUNG_HEALTH) {
38
- const result = await RookSdk.getSamsungPhysicalSummary(date);
44
+ if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
45
+ const result = await rookData.current.getSamsungPhysicalSummary(date);
39
46
  return JSON.parse(result);
40
47
  }
41
- if (Platform.OS === 'android' && source === SDKDataSource.HEALTH_CONNECT) {
42
- const result = await RookSdk.getHealthConnectPhysicalSummary(date);
48
+ if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
49
+ const result = await rookData.current.getHealthConnectPhysicalSummary(date);
43
50
  return JSON.parse(result);
44
51
  }
45
- return RookSdk.getAppleHealthPhysicalSummary(date);
52
+ return rookData.current.getAppleHealthPhysicalSummary(date);
46
53
  };
47
54
  const getBodySummary = async ({
48
55
  date,
@@ -50,15 +57,15 @@ export const useRookData = () => {
50
57
  }) => {
51
58
  isModuleReady(ready);
52
59
  isValidDate(date);
53
- if (Platform.OS === 'android' && source === SDKDataSource.SAMSUNG_HEALTH) {
54
- const result = await RookSdk.getSamsungBodySummary(date);
60
+ if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
61
+ const result = await rookData.current.getSamsungBodySummary(date);
55
62
  return JSON.parse(result);
56
63
  }
57
- if (Platform.OS === 'android' && source === SDKDataSource.HEALTH_CONNECT) {
58
- const result = await RookSdk.getHealthConnectBodySummary(date);
64
+ if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
65
+ const result = await rookData.current.getHealthConnectBodySummary(date);
59
66
  return JSON.parse(result);
60
67
  }
61
- return RookSdk.getAppleHealthBodySummary(date);
68
+ return rookData.current.getAppleHealthBodySummary(date);
62
69
  };
63
70
  const getActivityEvents = async ({
64
71
  date,
@@ -66,19 +73,26 @@ export const useRookData = () => {
66
73
  }) => {
67
74
  isModuleReady(ready);
68
75
  isValidDate(date);
69
- if (Platform.OS === 'android' && source === SDKDataSource.SAMSUNG_HEALTH) {
70
- const result = await RookSdk.getSamsungActivityEvents(date);
76
+ if (packageInfo.isAndroid && source === SDKDataSource.SAMSUNG_HEALTH) {
77
+ const result = await rookData.current.getSamsungActivityEvents(date);
71
78
  return JSON.parse(result);
72
79
  }
73
- if (Platform.OS === 'android' && source === SDKDataSource.HEALTH_CONNECT) {
74
- const result = await RookSdk.getHealthConnectActivityEvents(date);
80
+ if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
81
+ const result = await rookData.current.getHealthConnectActivityEvents(date);
75
82
  return JSON.parse(result);
76
83
  }
77
- return RookSdk.getAppleHealthActivityEvents(date);
84
+ return rookData.current.getAppleHealthActivityEvents(date);
78
85
  };
79
- const getTodayHeartRate = async source => {
80
- if (Platform.OS !== 'android' && source === SDKDataSource.APPLE_HEALTH) {
81
- return RookSdk.getTodayHeartRate();
86
+ const writeNutritionData = async (data, source) => {
87
+ isModuleReady(ready);
88
+ isValidZonedDateTime(data.date);
89
+ if (packageInfo.isAndroid && source === SDKDataSource.HEALTH_CONNECT) {
90
+ const event = parseWriteNutritionToHC(data);
91
+ return rookData.current.writeHealthConnectMealData(event);
92
+ }
93
+ if (!packageInfo.isAndroid && source === SDKDataSource.APPLE_HEALTH) {
94
+ const event = parseWriteNutritionToAH(data);
95
+ return rookData.current.writeAppleHealthMealData(event);
82
96
  }
83
97
  throw new Error('Please check the data source');
84
98
  };
@@ -88,7 +102,7 @@ export const useRookData = () => {
88
102
  getPhysicalSummary,
89
103
  getBodySummary,
90
104
  getActivityEvents,
91
- getTodayHeartRate
105
+ writeNutritionData
92
106
  };
93
107
  };
94
108
  //# sourceMappingURL=useRookData.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RookSdk","Platform","isModuleReady","isValidDate","useRookSyncGateContext","SDKDataSource","useRookData","state","ready","getSleepSummary","date","source","OS","SAMSUNG_HEALTH","result","getSamsungSleepSummary","JSON","parse","HEALTH_CONNECT","getHealthConnectSleepSummary","getAppleHealthSleepSummary","getPhysicalSummary","getSamsungPhysicalSummary","getHealthConnectPhysicalSummary","getAppleHealthPhysicalSummary","getBodySummary","getSamsungBodySummary","getHealthConnectBodySummary","getAppleHealthBodySummary","getActivityEvents","getSamsungActivityEvents","getHealthConnectActivityEvents","getAppleHealthActivityEvents","getTodayHeartRate","APPLE_HEALTH","Error"],"sourceRoot":"../../../src","sources":["hooks/useRookData.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","Platform","getNativeModule","isModuleReady","isValidDate","isValidZonedDateTime","nativeModules","useRookSyncGateContext","SDKDataSource","packageInfo","parseWriteNutritionToHC","parseWriteNutritionToAH","useRookData","rookData","select","android","LOCAL_DATA","default","ios","state","ready","getSleepSummary","date","source","isAndroid","SAMSUNG_HEALTH","result","current","getSamsungSleepSummary","JSON","parse","HEALTH_CONNECT","getHealthConnectSleepSummary","getAppleHealthSleepSummary","getPhysicalSummary","getSamsungPhysicalSummary","getHealthConnectPhysicalSummary","getAppleHealthPhysicalSummary","getBodySummary","getSamsungBodySummary","getHealthConnectBodySummary","getAppleHealthBodySummary","getActivityEvents","getSamsungActivityEvents","getHealthConnectActivityEvents","getAppleHealthActivityEvents","writeNutritionData","data","event","writeHealthConnectMealData","APPLE_HEALTH","writeAppleHealthMealData","Error"],"sourceRoot":"../../../src","sources":["hooks/useRookData.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
- "use strict";
2
-
3
- import RookSdk from "../NativeRookSdk.js";
4
- import { useRookSyncGateContext } from "../context/RookSyncGateContext.js";
5
- import { isModuleReady } from "../utils/isModuleReady.js";
6
- import isRunningOnAndroid from "../utils/isRunningOnAndroid.js";
1
+ import { useRef } from 'react';
2
+ import { useRookSyncGateContext } from '../context/RookSyncGateContext';
3
+ import getNativeModule from '../utils/getNativeModule';
4
+ import { isModuleReady } from '../utils/isModuleReady';
5
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
6
+ import nativeModules from '../utils/nativeModules';
7
7
  export const useRookHealthConnect = () => {
8
+ const rookSync = useRef(getNativeModule(nativeModules.android.BACKGROUND));
8
9
  const {
9
10
  state: {
10
11
  ready,
@@ -27,7 +28,7 @@ export const useRookHealthConnect = () => {
27
28
  const scheduleBackgroundSync = () => {
28
29
  isRunningOnAndroid();
29
30
  isModuleReady(ready);
30
- return RookSdk.scheduleBackgroundSync(enableLogs);
31
+ return rookSync.current.scheduleBackgroundSync(enableLogs);
31
32
  };
32
33
 
33
34
  /**
@@ -44,12 +45,12 @@ export const useRookHealthConnect = () => {
44
45
  const cancelBackgroundSync = () => {
45
46
  isRunningOnAndroid();
46
47
  isModuleReady(ready);
47
- return RookSdk.cancelBackgroundSync();
48
+ return rookSync.current.cancelBackgroundSync();
48
49
  };
49
50
  const isBackgroundSyncEnabled = () => {
50
51
  isRunningOnAndroid();
51
52
  isModuleReady(ready);
52
- return RookSdk.isBackgroundSyncEnabled();
53
+ return rookSync.current.isBackgroundSyncEnabled();
53
54
  };
54
55
  return {
55
56
  ready,
@@ -1 +1 @@
1
- {"version":3,"names":["RookSdk","useRookSyncGateContext","isModuleReady","isRunningOnAndroid","useRookHealthConnect","state","ready","enableLogs","scheduleBackgroundSync","cancelBackgroundSync","isBackgroundSyncEnabled"],"sourceRoot":"../../../src","sources":["hooks/useRookHealthConnect.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAM,qBAAkB;AACtC,SAASC,sBAAsB,QAAQ,mCAAgC;AACvE,SAASC,aAAa,QAAQ,2BAAwB;AACtD,OAAOC,kBAAkB,MAAM,gCAA6B;AAE5D,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC,KAAK;MAAEC;IAAW;EAC7B,CAAC,GAAGN,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMO,sBAAsB,GAAGA,CAAA,KAAwB;IACrDL,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACI,KAAK,CAAC;IACpB,OAAON,OAAO,CAACQ,sBAAsB,CAACD,UAAU,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAME,oBAAoB,GAAGA,CAAA,KAAwB;IACnDN,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACI,KAAK,CAAC;IACpB,OAAON,OAAO,CAACS,oBAAoB,CAAC,CAAC;EACvC,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAwB;IACtDP,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAON,OAAO,CAACU,uBAAuB,CAAC,CAAC;EAC1C,CAAC;EAED,OAAO;IACLJ,KAAK;IACLE,sBAAsB;IACtBC,oBAAoB;IACpBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","nativeModules","useRookHealthConnect","rookSync","android","BACKGROUND","state","ready","enableLogs","scheduleBackgroundSync","current","cancelBackgroundSync","isBackgroundSyncEnabled"],"sourceRoot":"../../../src","sources":["hooks/useRookHealthConnect.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,6BAA6B;AAC5D,OAAOC,aAAa,MAAM,wBAAwB;AAElD,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAGP,MAAM,CAACE,eAAe,CAACG,aAAa,CAACG,OAAO,CAACC,UAAU,CAAC,CAAC;EAC1E,MAAM;IACJC,KAAK,EAAE;MAAEC,KAAK;MAAEC;IAAW;EAC7B,CAAC,GAAGX,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMY,sBAAsB,GAAGA,CAAA,KAAwB;IACrDT,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IACpB,OAAOJ,QAAQ,CAACO,OAAO,CAACD,sBAAsB,CAACD,UAAU,CAAC;EAC5D,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,oBAAoB,GAAGA,CAAA,KAAwB;IACnDX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IACpB,OAAOJ,QAAQ,CAACO,OAAO,CAACC,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAwB;IACtDZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,OAAOJ,QAAQ,CAACO,OAAO,CAACE,uBAAuB,CAAC,CAAC;EACnD,CAAC;EAED,OAAO;IACLL,KAAK;IACLE,sBAAsB;IACtBE,oBAAoB;IACpBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,12 +1,13 @@
1
- "use strict";
2
-
3
- import RookSdk from "../NativeRookSdk.js";
4
- import { useRookSyncGateContext } from "../context/RookSyncGateContext.js";
5
- import { isModuleReady } from "../utils/isModuleReady.js";
6
- import isRunningOnAndroid from "../utils/isRunningOnAndroid.js";
7
- import { isRunningOniOS } from "../utils/isRunningOniOS.js";
8
- import { SamsungHealthPermission } from "../types/SamsungHealthPermissions.js";
9
- import { AppleHealthPermission } from "../types/AppleHealthPermissions.js";
1
+ import { useRef } from 'react';
2
+ import { Platform } from 'react-native';
3
+ import { useRookSyncGateContext } from '../context/RookSyncGateContext';
4
+ import getNativeModule from '../utils/getNativeModule';
5
+ import { isModuleReady } from '../utils/isModuleReady';
6
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
7
+ import { isRunningOniOS } from '../utils/isRunningOniOS';
8
+ import nativeModules from '../utils/nativeModules';
9
+ import { SamsungHealthPermission } from '../types/SamsungHealthPermissions';
10
+ import { AppleHealthPermission } from '../types/AppleHealthPermissions';
10
11
  /**
11
12
  * The `useRookPermissions` hook manages permissions for accessing Apple Health and Health Connect data,
12
13
  * including requesting various types of permissions and checking their status.
@@ -15,6 +16,10 @@ import { AppleHealthPermission } from "../types/AppleHealthPermissions.js";
15
16
  * following properties and functions:
16
17
  */
17
18
  export const useRookPermissions = () => {
19
+ const rookSync = useRef(getNativeModule(Platform.select({
20
+ android: () => nativeModules.android.PERMISSIONS,
21
+ default: () => nativeModules.ios.PERMISSIONS
22
+ })()));
18
23
  const {
19
24
  state: {
20
25
  ready
@@ -30,12 +35,12 @@ export const useRookPermissions = () => {
30
35
  const checkHealthConnectAvailability = () => {
31
36
  isModuleReady(ready);
32
37
  isRunningOnAndroid();
33
- return RookSdk.checkHealthConnectAvailability();
38
+ return rookSync.current.checkHealthConnectAvailability();
34
39
  };
35
40
  const checkSamsungAvailability = () => {
36
41
  isModuleReady(ready);
37
42
  isRunningOnAndroid();
38
- return RookSdk.checkSamsungAvailability();
43
+ return rookSync.current.checkSamsungAvailability();
39
44
  };
40
45
 
41
46
  /**
@@ -46,7 +51,7 @@ export const useRookPermissions = () => {
46
51
  const healthConnectHasPermissions = () => {
47
52
  isRunningOnAndroid();
48
53
  isModuleReady(ready);
49
- return RookSdk.healthConnectHasPermissions();
54
+ return rookSync.current.checkHealthConnectPermissions();
50
55
  };
51
56
 
52
57
  /**
@@ -57,7 +62,7 @@ export const useRookPermissions = () => {
57
62
  const healthConnectHasPartialPermissions = () => {
58
63
  isRunningOnAndroid();
59
64
  isModuleReady(ready);
60
- return RookSdk.healthConnectHasPartialPermissions();
65
+ return rookSync.current.checkHealthConnectPermissionsPartially();
61
66
  };
62
67
 
63
68
  /**
@@ -68,17 +73,27 @@ export const useRookPermissions = () => {
68
73
  const appleHealthHasPermissions = param => {
69
74
  isRunningOniOS();
70
75
  isModuleReady(ready);
71
- return RookSdk.appleHealthHasPermissions(param);
76
+ return rookSync.current.checkPermissionsStatus(param ? param : null);
72
77
  };
73
78
  const samsungHealthHasPermissions = () => {
74
79
  isRunningOnAndroid();
75
80
  isModuleReady(ready);
76
- return RookSdk.samsungHealthHasPermissions();
81
+ return rookSync.current.checkSamsungHealthPermissions();
77
82
  };
78
83
  const samsungHealthHasPartialPermissions = () => {
79
84
  isRunningOnAndroid();
80
85
  isModuleReady(ready);
81
- return RookSdk.samsungHealthHasPartialPermissions();
86
+ return rookSync.current.checkSamsungHealthPermissionsPartially();
87
+ };
88
+ const androidHasAlarmPermissions = () => {
89
+ isRunningOnAndroid();
90
+ isModuleReady(ready);
91
+ return rookSync.current.androidHasAlarmPermissions();
92
+ };
93
+ const requestAndroidAlarmPermissions = () => {
94
+ isRunningOnAndroid();
95
+ isModuleReady(ready);
96
+ return rookSync.current.requestAndroidAlarmPermissions();
82
97
  };
83
98
 
84
99
  /**
@@ -87,13 +102,13 @@ export const useRookPermissions = () => {
87
102
  const requestHealthConnectPermissions = async () => {
88
103
  isRunningOnAndroid();
89
104
  isModuleReady(ready);
90
- return RookSdk.requestHealthConnectPermissions();
105
+ return rookSync.current.requestHealthConnectPermissions();
91
106
  };
92
107
  const requestAppleHealthPermissions = async permissions => {
93
108
  isModuleReady(ready);
94
109
  isRunningOniOS();
95
110
  const bridge = permissions || Object.values(AppleHealthPermission);
96
- const result = await RookSdk.requestAppleHealthPermissions(bridge);
111
+ const result = await rookSync.current.requestAppleHealthPermissions(bridge);
97
112
  dispatch({
98
113
  type: 'SET_PERMISSIONS'
99
114
  });
@@ -103,9 +118,14 @@ export const useRookPermissions = () => {
103
118
  isRunningOnAndroid();
104
119
  isModuleReady(ready);
105
120
  const bridge = permissions || Object.values(SamsungHealthPermission);
106
- const result = await RookSdk.requestSamsungHealthPermissions(bridge);
121
+ const result = await rookSync.current.requestSamsungPermissions(bridge);
107
122
  return result;
108
123
  };
124
+ const requestWriteNutritionPermission = async () => {
125
+ isRunningOniOS();
126
+ isModuleReady(ready);
127
+ return rookSync.current.requestWriteNutritionPermission();
128
+ };
109
129
 
110
130
  /**
111
131
  * The function `openAppleHealthSettings` opens the apple health settings
@@ -113,7 +133,7 @@ export const useRookPermissions = () => {
113
133
  const openAppleHealthSettings = async () => {
114
134
  isRunningOniOS();
115
135
  isModuleReady(ready);
116
- return RookSdk.openAppleHealthSettings();
136
+ return rookSync.current.openAppleHealthSettings();
117
137
  };
118
138
 
119
139
  /**
@@ -122,7 +142,7 @@ export const useRookPermissions = () => {
122
142
  const openHealthConnectSettings = async () => {
123
143
  isRunningOnAndroid();
124
144
  isModuleReady(ready);
125
- return RookSdk.openHealthConnectSettings();
145
+ return rookSync.current.openHealthConnectSettings();
126
146
  };
127
147
 
128
148
  /**
@@ -133,7 +153,7 @@ export const useRookPermissions = () => {
133
153
  const requestAndroidBackgroundPermissions = () => {
134
154
  isRunningOnAndroid();
135
155
  isModuleReady(ready);
136
- return RookSdk.requestAndroidBackgroundPermissions();
156
+ return rookSync.current.requestAndroidBackgroundPermissions();
137
157
  };
138
158
 
139
159
  /**
@@ -145,36 +165,51 @@ export const useRookPermissions = () => {
145
165
  const androidHasBackgroundPermissions = () => {
146
166
  isRunningOnAndroid();
147
167
  isModuleReady(ready);
148
- return RookSdk.androidHasBackgroundPermissions();
168
+ return rookSync.current.hasAndroidBackgroundPermissions();
149
169
  };
150
170
  const checkHealthConnectBackgroundReadStatus = () => {
151
171
  isRunningOnAndroid();
152
172
  isModuleReady(ready);
153
- return RookSdk.checkHealthConnectBackgroundReadStatus();
173
+ return rookSync.current.checkHealthConnectBackgroundReadStatus();
174
+ };
175
+
176
+ /**
177
+ * The function `shouldRequestPermissions` checks if permissions should be requested.
178
+ * @returns The function `shouldRequestPermissions` returns a `Promise` that resolves to a `boolean`
179
+ * value.
180
+ */
181
+ const shouldRequestAndroidBackgroundPermissions = () => {
182
+ isRunningOnAndroid();
183
+ isModuleReady(ready);
184
+ return rookSync.current.shouldRequestAndroidBackgroundPermissions();
154
185
  };
155
186
  const revokeHealthConnectPermissions = () => {
156
187
  isRunningOnAndroid();
157
188
  isModuleReady(ready);
158
- return RookSdk.revokeHealthConnectPermissions();
189
+ return rookSync.current.revokeHealthConnectPermissions();
159
190
  };
160
191
  return {
161
192
  ready,
162
193
  androidHasBackgroundPermissions,
194
+ androidHasAlarmPermissions,
163
195
  appleHealthHasPermissions,
164
196
  checkHealthConnectAvailability,
165
197
  checkHealthConnectBackgroundReadStatus,
166
198
  checkSamsungAvailability,
167
199
  healthConnectHasPartialPermissions,
168
200
  healthConnectHasPermissions,
201
+ samsungHealthHasPermissions,
202
+ samsungHealthHasPartialPermissions,
169
203
  openAppleHealthSettings,
170
204
  openHealthConnectSettings,
171
205
  requestAndroidBackgroundPermissions,
206
+ requestAndroidAlarmPermissions,
172
207
  requestAppleHealthPermissions,
173
208
  requestHealthConnectPermissions,
174
209
  requestSamsungHealthPermissions,
175
- samsungHealthHasPartialPermissions,
176
- samsungHealthHasPermissions,
177
- revokeHealthConnectPermissions
210
+ requestWriteNutritionPermission,
211
+ revokeHealthConnectPermissions,
212
+ shouldRequestAndroidBackgroundPermissions
178
213
  };
179
214
  };
180
215
  //# sourceMappingURL=useRookPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RookSdk","useRookSyncGateContext","isModuleReady","isRunningOnAndroid","isRunningOniOS","SamsungHealthPermission","AppleHealthPermission","useRookPermissions","state","ready","dispatch","checkHealthConnectAvailability","checkSamsungAvailability","healthConnectHasPermissions","healthConnectHasPartialPermissions","appleHealthHasPermissions","param","samsungHealthHasPermissions","samsungHealthHasPartialPermissions","requestHealthConnectPermissions","requestAppleHealthPermissions","permissions","bridge","Object","values","result","type","requestSamsungHealthPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","androidHasBackgroundPermissions","checkHealthConnectBackgroundReadStatus","revokeHealthConnectPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","nativeModules","SamsungHealthPermission","AppleHealthPermission","useRookPermissions","rookSync","select","android","PERMISSIONS","default","ios","state","ready","dispatch","checkHealthConnectAvailability","current","checkSamsungAvailability","healthConnectHasPermissions","checkHealthConnectPermissions","healthConnectHasPartialPermissions","checkHealthConnectPermissionsPartially","appleHealthHasPermissions","param","checkPermissionsStatus","samsungHealthHasPermissions","checkSamsungHealthPermissions","samsungHealthHasPartialPermissions","checkSamsungHealthPermissionsPartially","androidHasAlarmPermissions","requestAndroidAlarmPermissions","requestHealthConnectPermissions","requestAppleHealthPermissions","permissions","bridge","Object","values","result","type","requestSamsungHealthPermissions","requestSamsungPermissions","requestWriteNutritionPermission","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","androidHasBackgroundPermissions","hasAndroidBackgroundPermissions","checkHealthConnectBackgroundReadStatus","shouldRequestAndroidBackgroundPermissions","revokeHealthConnectPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,6BAA6B;AAC5D,SAASC,cAAc,QAAQ,yBAAyB;AACxD,OAAOC,aAAa,MAAM,wBAAwB;AAClD,SAASC,uBAAuB,QAAQ,mCAAmC;AAC3E,SAASC,qBAAqB,QAAQ,iCAAiC;AAevE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGX,MAAM,CACrBG,eAAe,CACbF,QAAQ,CAACW,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACM,OAAO,CAACC,WAAW;IAChDC,OAAO,EAAEA,CAAA,KAAMR,aAAa,CAACS,GAAG,CAACF;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EACD,MAAM;IACJG,KAAK,EAAE;MAAEC;IAAM,CAAC;IAChBC;EACF,CAAC,GAAGjB,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;EACE,MAAMkB,8BAA8B,GAClCA,CAAA,KAA0C;IACxChB,aAAa,CAACc,KAAK,CAAC;IACpBb,kBAAkB,CAAC,CAAC;IAEpB,OAAOM,QAAQ,CAACU,OAAO,CAACD,8BAA8B,CAAC,CAAC;EAC1D,CAAC;EAEH,MAAME,wBAAwB,GAAGA,CAAA,KAA0C;IACzElB,aAAa,CAACc,KAAK,CAAC;IACpBb,kBAAkB,CAAC,CAAC;IAEpB,OAAOM,QAAQ,CAACU,OAAO,CAACC,wBAAwB,CAAC,CAAC;EACpD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,2BAA2B,GAAGA,CAAA,KAAwB;IAC1DlB,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACG,6BAA6B,CAAC,CAAC;EACzD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,kCAAkC,GAAGA,CAAA,KAAwB;IACjEpB,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACK,sCAAsC,CAAC,CAAC;EAClE,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,yBAAyB,GAC7BC,KAA4B,IACE;IAC9BtB,cAAc,CAAC,CAAC;IAChBF,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACQ,sBAAsB,CAACD,KAAK,GAAGA,KAAK,GAAG,IAAI,CAAC;EACtE,CAAC;EAED,MAAME,2BAA2B,GAAGA,CAAA,KAAwB;IAC1DzB,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACU,6BAA6B,CAAC,CAAC;EACzD,CAAC;EAED,MAAMC,kCAAkC,GAAGA,CAAA,KAAwB;IACjE3B,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACY,sCAAsC,CAAC,CAAC;EAClE,CAAC;EAED,MAAMC,0BAA0B,GAAGA,CAAA,KAAwB;IACzD7B,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACa,0BAA0B,CAAC,CAAC;EACtD,CAAC;EAED,MAAMC,8BAA8B,GAAGA,CAAA,KAAqB;IAC1D9B,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACc,8BAA8B,CAAC,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;EACE,MAAMC,+BAA+B,GACnC,MAAAA,CAAA,KAA+C;IAC7C/B,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACe,+BAA+B,CAAC,CAAC;EAC3D,CAAC;EAEH,MAAMC,6BAA6B,GAAG,MACpCC,WAAqC,IAChB;IACrBlC,aAAa,CAACc,KAAK,CAAC;IACpBZ,cAAc,CAAC,CAAC;IAEhB,MAAMiC,MAAM,GAAGD,WAAW,IAAIE,MAAM,CAACC,MAAM,CAAChC,qBAAqB,CAAC;IAClE,MAAMiC,MAAM,GAAG,MAAM/B,QAAQ,CAACU,OAAO,CAACgB,6BAA6B,CAACE,MAAM,CAAC;IAE3EpB,QAAQ,CAAC;MAAEwB,IAAI,EAAE;IAAkB,CAAC,CAAC;IAErC,OAAOD,MAAM;EACf,CAAC;EAED,MAAME,+BAA+B,GAAG,MACtCN,WAAuC,IACD;IACtCjC,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,MAAMqB,MAAM,GAAGD,WAAW,IAAIE,MAAM,CAACC,MAAM,CAACjC,uBAAuB,CAAC;IACpE,MAAMkC,MAAM,GAAG,MAAM/B,QAAQ,CAACU,OAAO,CAACwB,yBAAyB,CAACN,MAAM,CAAC;IAEvE,OAAOG,MAAM;EACf,CAAC;EAED,MAAMI,+BAA+B,GAAG,MAAAA,CAAA,KAA2B;IACjExC,cAAc,CAAC,CAAC;IAChBF,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACyB,+BAA+B,CAAC,CAAC;EAC3D,CAAC;;EAED;AACF;AACA;EACE,MAAMC,uBAAuB,GAAG,MAAAA,CAAA,KAA2B;IACzDzC,cAAc,CAAC,CAAC;IAChBF,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAAC0B,uBAAuB,CAAC,CAAC;EACnD,CAAC;;EAED;AACF;AACA;EACE,MAAMC,yBAAyB,GAAG,MAAAA,CAAA,KAA2B;IAC3D3C,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAAC2B,yBAAyB,CAAC,CAAC;EACrD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,mCAAmC,GACvCA,CAAA,KAAyC;IACvC5C,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAAC4B,mCAAmC,CAAC,CAAC;EAC/D,CAAC;;EAEH;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,+BAA+B,GAAGA,CAAA,KAAwB;IAC9D7C,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAAC8B,+BAA+B,CAAC,CAAC;EAC3D,CAAC;EAED,MAAMC,sCAAsC,GAC1CA,CAAA,KAAiC;IAC/B/C,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAAC+B,sCAAsC,CAAC,CAAC;EAClE,CAAC;;EAEH;AACF;AACA;AACA;AACA;EACE,MAAMC,yCAAyC,GAAGA,CAAA,KAAwB;IACxEhD,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACgC,yCAAyC,CAAC,CAAC;EACrE,CAAC;EAED,MAAMC,8BAA8B,GAAGA,CAAA,KAAwB;IAC7DjD,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOP,QAAQ,CAACU,OAAO,CAACiC,8BAA8B,CAAC,CAAC;EAC1D,CAAC;EAED,OAAO;IACLpC,KAAK;IACLgC,+BAA+B;IAC/BhB,0BAA0B;IAC1BP,yBAAyB;IACzBP,8BAA8B;IAC9BgC,sCAAsC;IACtC9B,wBAAwB;IACxBG,kCAAkC;IAClCF,2BAA2B;IAC3BO,2BAA2B;IAC3BE,kCAAkC;IAClCe,uBAAuB;IACvBC,yBAAyB;IACzBC,mCAAmC;IACnCd,8BAA8B;IAC9BE,6BAA6B;IAC7BD,+BAA+B;IAC/BQ,+BAA+B;IAC/BE,+BAA+B;IAC/BQ,8BAA8B;IAC9BD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,10 +1,22 @@
1
- "use strict";
1
+ import { useRef } from 'react';
2
+ import { Platform } from 'react-native';
3
+ import { useRookSyncGateContext } from '../context/RookSyncGateContext';
4
+ import getNativeModule from '../utils/getNativeModule';
5
+ import { isModuleReady } from '../utils/isModuleReady';
6
+ import isRunningOnAndroid from '../utils/isRunningOnAndroid';
7
+ import nativeModules from '../utils/nativeModules';
2
8
 
3
- import RookSdk from "../NativeRookSdk.js";
4
- import { useRookSyncGateContext } from "../context/RookSyncGateContext.js";
5
- import { isModuleReady } from "../utils/isModuleReady.js";
6
- import isRunningOnAndroid from "../utils/isRunningOnAndroid.js";
9
+ /**
10
+ * The `useRookSamsungHealth` hook provides various asynchronous methods for managing the configuration
11
+ * of the samsung health integration
12
+ * @returns The `useRookSamsungHealth` function returns an object containing that allow the user to configure
13
+ * the SDK
14
+ */
7
15
  export const useRookSamsungHealth = () => {
16
+ const rookSync = useRef(getNativeModule(Platform.select({
17
+ android: () => nativeModules.android.SYNC,
18
+ default: () => nativeModules.ios.CONFIGURATION
19
+ })()));
8
20
  const {
9
21
  state: {
10
22
  ready
@@ -13,17 +25,17 @@ export const useRookSamsungHealth = () => {
13
25
  const enableSamsungSync = async () => {
14
26
  isRunningOnAndroid();
15
27
  isModuleReady(ready);
16
- return RookSdk.enableSamsungSync();
28
+ return rookSync.current.enableSamsungSync();
17
29
  };
18
30
  const isSamsungSyncEnabled = async () => {
19
31
  isRunningOnAndroid();
20
32
  isModuleReady(ready);
21
- return RookSdk.isSamsungSyncEnabled();
33
+ return rookSync.current.isSamsungSyncEnabled();
22
34
  };
23
35
  const disableSamsungSync = async () => {
24
36
  isRunningOnAndroid();
25
37
  isModuleReady(ready);
26
- return RookSdk.disableSamsungSync();
38
+ return rookSync.current.disableSamsungSync();
27
39
  };
28
40
  return {
29
41
  ready,
@@ -1 +1 @@
1
- {"version":3,"names":["RookSdk","useRookSyncGateContext","isModuleReady","isRunningOnAndroid","useRookSamsungHealth","state","ready","enableSamsungSync","isSamsungSyncEnabled","disableSamsungSync"],"sourceRoot":"../../../src","sources":["hooks/useRookSamsungHealth.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAM,qBAAkB;AACtC,SAASC,sBAAsB,QAAQ,mCAAgC;AACvE,SAASC,aAAa,QAAQ,2BAAwB;AACtD,OAAOC,kBAAkB,MAAM,gCAA6B;AAE5D,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGL,sBAAsB,CAAC,CAAC;EAE5B,MAAMM,iBAAiB,GAAG,MAAAA,CAAA,KAA8B;IACtDJ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAON,OAAO,CAACO,iBAAiB,CAAC,CAAC;EACpC,CAAC;EAED,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA8B;IACzDL,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAON,OAAO,CAACQ,oBAAoB,CAAC,CAAC;EACvC,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvDN,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAON,OAAO,CAACS,kBAAkB,CAAC,CAAC;EACrC,CAAC;EACD,OAAO;IACLH,KAAK;IACLC,iBAAiB;IACjBE,kBAAkB;IAClBD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","nativeModules","useRookSamsungHealth","rookSync","select","android","SYNC","default","ios","CONFIGURATION","state","ready","enableSamsungSync","current","isSamsungSyncEnabled","disableSamsungSync"],"sourceRoot":"../../../src","sources":["hooks/useRookSamsungHealth.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,6BAA6B;AAC5D,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAGR,MAAM,CACrBG,eAAe,CACbF,QAAQ,CAACQ,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMJ,aAAa,CAACI,OAAO,CAACC,IAAI;IACzCC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACO,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EACD,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGd,sBAAsB,CAAC,CAAC;EAE5B,MAAMe,iBAAiB,GAAG,MAAAA,CAAA,KAA8B;IACtDZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACY,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACU,OAAO,CAACD,iBAAiB,CAAC,CAAC;EAC7C,CAAC;EAED,MAAME,oBAAoB,GAAG,MAAAA,CAAA,KAA8B;IACzDd,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACY,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACU,OAAO,CAACC,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvDf,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACY,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACU,OAAO,CAACE,kBAAkB,CAAC,CAAC;EAC9C,CAAC;EAED,OAAO;IACLJ,KAAK;IACLC,iBAAiB;IACjBG,kBAAkB;IAClBD;EACF,CAAC;AACH,CAAC","ignoreList":[]}