react-native-rook-sdk 2.1.1 → 4.0.0-beta.0

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