react-native-rook-sdk 4.0.0 → 5.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 (332) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +35 -3
  3. package/RNRookSdk.podspec +22 -0
  4. package/android/build.gradle +21 -40
  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 +1709 -117
  8. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +26 -42
  9. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +34 -37
  10. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +8 -14
  11. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +8 -16
  12. package/android/src/main/java/com/rooksdk/utils/{DatasourcesUtils.kt → DatasourceUtils.kt} +10 -9
  13. package/android/src/main/java/com/rooksdk/utils/{PermissionConversion.kt → PermissionConvertions.kt} +1 -1
  14. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +0 -1
  15. package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +3 -0
  16. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +1 -0
  17. package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +0 -1
  18. package/android/src/main/java/com/rooksdk/utils/serializers/ZoneDateTimeSerializer.kt +18 -0
  19. package/ios/DateHelper.swift +4 -4
  20. package/ios/Encodable.swift +25 -0
  21. package/ios/EncodableDataSource.swift +2 -3
  22. package/ios/EncodableDataSourceAuthorizer.swift +2 -3
  23. package/ios/EncodableSDKState.swift +3 -2
  24. package/ios/{EncodableHeartRate.swift → HearRateMapper.swift} +3 -3
  25. package/ios/NutritionMapper.swift +3 -3
  26. package/ios/RookBackground.swift +5 -8
  27. package/ios/RookConfiguration.swift +33 -30
  28. package/ios/{RookLocalData.swift → RookData.swift} +76 -69
  29. package/ios/RookEntry.swift +62 -0
  30. package/ios/RookPermissions.swift +36 -40
  31. package/ios/RookSdk-Bridging-Header.h +12 -0
  32. package/ios/RookSdk.h +3 -3
  33. package/ios/RookSdk.mm +390 -134
  34. package/ios/RookSources.swift +60 -54
  35. package/ios/RookSync.swift +48 -78
  36. package/ios/boost-boost_privacy-Bridging-Header.h +4 -0
  37. package/lib/{commonjs/types/AppleHealthPermissions.js → module/NativeRookSdk.js} +50 -6
  38. package/lib/module/NativeRookSdk.js.map +1 -0
  39. package/lib/module/context/RookSyncGateContext.js +2 -0
  40. package/lib/module/context/RookSyncGateContext.js.map +1 -1
  41. package/lib/module/context/RookSyncGateProvider.js +17 -18
  42. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  43. package/lib/module/context/RookSyncGateReducer.js +2 -0
  44. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  45. package/lib/module/context/RookSyncGateTypes.js +2 -0
  46. package/lib/module/hooks/useRookAPISources.js +10 -16
  47. package/lib/module/hooks/useRookAPISources.js.map +1 -1
  48. package/lib/module/hooks/useRookAndroidBackgroundSteps.js +11 -12
  49. package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  50. package/lib/module/hooks/useRookAppleHealth.js +9 -10
  51. package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
  52. package/lib/module/hooks/useRookConfiguration.js +17 -22
  53. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  54. package/lib/module/hooks/useRookData.js +33 -38
  55. package/lib/module/hooks/useRookData.js.map +1 -1
  56. package/lib/module/hooks/useRookHealthConnect.js +9 -10
  57. package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
  58. package/lib/module/hooks/useRookPermissions.js +34 -45
  59. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  60. package/lib/module/hooks/useRookSamsungHealth.js +8 -20
  61. package/lib/module/hooks/useRookSamsungHealth.js.map +1 -1
  62. package/lib/module/hooks/useRookSync.js +23 -32
  63. package/lib/module/hooks/useRookSync.js.map +1 -1
  64. package/lib/module/hooks/useRookVariables.js +26 -29
  65. package/lib/module/hooks/useRookVariables.js.map +1 -1
  66. package/lib/module/index.js +18 -10
  67. package/lib/module/index.js.map +1 -1
  68. package/lib/module/modules/components/RookStateManager.js +31 -0
  69. package/lib/module/modules/components/RookStateManager.js.map +1 -0
  70. package/lib/module/modules/hook/useRookAutoSync.js +24 -36
  71. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  72. package/lib/module/modules/hook/useRookEmitter.js +61 -0
  73. package/lib/module/modules/hook/useRookEmitter.js.map +1 -0
  74. package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
  75. package/lib/module/modules/utils/errors.js +2 -0
  76. package/lib/module/modules/utils/errors.js.map +1 -1
  77. package/lib/module/package.json +1 -0
  78. package/lib/module/types/ActivityEvent.js +2 -0
  79. package/lib/module/types/AppleHealthNutritionEvent.js +2 -0
  80. package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -1
  81. package/lib/module/types/AppleHealthPermissions.js +2 -0
  82. package/lib/module/types/AppleHealthPermissions.js.map +1 -1
  83. package/lib/module/types/AuthorizedSources.js +2 -0
  84. package/lib/module/types/BodySummary.js +2 -0
  85. package/lib/module/types/DataSource.js +2 -0
  86. package/lib/module/types/DataSource.js.map +1 -1
  87. package/lib/module/types/HCMealData.js +3 -1
  88. package/lib/module/types/HCMealData.js.map +1 -1
  89. package/lib/module/types/HeartRateEvent.js +1 -1
  90. package/lib/module/types/PermissionsType.js +1 -1
  91. package/lib/module/types/PhysicalSummary.js +2 -0
  92. package/lib/module/types/Rook.js +2 -0
  93. package/lib/{commonjs/types/BodySummary.js.map → module/types/Rook.js.map} +1 -1
  94. package/lib/module/types/SDKSources.js +2 -0
  95. package/lib/module/types/SDKSources.js.map +1 -1
  96. package/lib/module/types/SamsungHealthPermissions.js +3 -0
  97. package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
  98. package/lib/module/types/SleepSummary.js +2 -0
  99. package/lib/module/types/SummaryTypes.js +1 -1
  100. package/lib/module/types/SyncTypes.js +2 -0
  101. package/lib/module/types/SyncTypes.js.map +1 -1
  102. package/lib/module/types/WriteNutrition.js +2 -0
  103. package/lib/module/types/WriteNutrition.js.map +1 -1
  104. package/lib/module/utils/isModuleReady.js +2 -0
  105. package/lib/module/utils/isModuleReady.js.map +1 -1
  106. package/lib/module/utils/isRunningOnAndroid.js +2 -0
  107. package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
  108. package/lib/module/utils/isRunningOniOS.js +2 -0
  109. package/lib/module/utils/isRunningOniOS.js.map +1 -1
  110. package/lib/module/utils/isValidDate.js +2 -0
  111. package/lib/module/utils/isValidDate.js.map +1 -1
  112. package/lib/typescript/package.json +1 -0
  113. package/lib/typescript/src/NativeRookSdk.d.ts +705 -0
  114. package/lib/typescript/src/NativeRookSdk.d.ts.map +1 -0
  115. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
  116. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  117. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  118. package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -1
  119. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
  120. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
  121. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +1 -1
  122. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  123. package/lib/typescript/src/hooks/useRookData.d.ts +1 -1
  124. package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
  125. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
  126. package/lib/typescript/src/hooks/useRookPermissions.d.ts +1 -1
  127. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  128. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +0 -6
  129. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -1
  130. package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
  131. package/lib/typescript/src/hooks/useRookVariables.d.ts +1 -1
  132. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
  133. package/lib/typescript/src/index.d.ts +17 -8
  134. package/lib/typescript/src/index.d.ts.map +1 -1
  135. package/lib/typescript/src/modules/components/RookStateManager.d.ts +10 -0
  136. package/lib/typescript/src/modules/components/RookStateManager.d.ts.map +1 -0
  137. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  138. package/lib/typescript/src/modules/hook/useRookEmitter.d.ts +4 -0
  139. package/lib/typescript/src/modules/hook/useRookEmitter.d.ts.map +1 -0
  140. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -1
  141. package/lib/typescript/src/types/AuthorizedSources.d.ts +11 -0
  142. package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
  143. package/lib/typescript/src/types/HCMealData.d.ts.map +1 -1
  144. package/lib/typescript/src/types/HeartRateEvent.d.ts +2 -2
  145. package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -1
  146. package/lib/typescript/src/types/Rook.d.ts +9 -0
  147. package/lib/typescript/src/types/Rook.d.ts.map +1 -0
  148. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +1 -0
  149. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
  150. package/lib/typescript/src/types/SyncTypes.d.ts +5 -1
  151. package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
  152. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
  153. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  154. package/package.json +94 -98
  155. package/src/NativeRookSdk.ts +839 -0
  156. package/{lib/commonjs/context/RookSyncGateContext.js → src/context/RookSyncGateContext.ts} +10 -13
  157. package/src/context/RookSyncGateProvider.tsx +82 -0
  158. package/{lib/commonjs/context/RookSyncGateReducer.js → src/context/RookSyncGateReducer.ts} +14 -41
  159. package/src/context/RookSyncGateTypes.ts +40 -0
  160. package/{lib/commonjs/hooks/useRookAPISources.js → src/hooks/useRookAPISources.ts} +40 -36
  161. package/src/hooks/useRookAndroidBackgroundSteps.ts +81 -0
  162. package/src/hooks/useRookAppleHealth.ts +55 -0
  163. package/src/hooks/useRookConfiguration.ts +106 -0
  164. package/src/hooks/useRookData.ts +133 -0
  165. package/src/hooks/useRookHealthConnect.ts +59 -0
  166. package/src/hooks/useRookPermissions.ts +240 -0
  167. package/src/hooks/useRookSamsungHealth.ts +37 -0
  168. package/src/hooks/useRookSync.ts +157 -0
  169. package/src/hooks/useRookVariables.ts +98 -0
  170. package/src/index.tsx +28 -0
  171. package/src/modules/components/RookStateManager.tsx +41 -0
  172. package/{lib/commonjs/modules/hook/useRookAutoSync.js → src/modules/hook/useRookAutoSync.ts} +141 -95
  173. package/src/modules/hook/useRookEmitter.ts +94 -0
  174. package/src/modules/types/sendMessageBroadcast.ts +5 -0
  175. package/src/modules/utils/errors.ts +9 -0
  176. package/src/types/ActivityEvent.ts +159 -0
  177. package/src/types/AppleHealthNutritionEvent.ts +142 -0
  178. package/src/types/AppleHealthPermissions.ts +49 -0
  179. package/src/types/AuthorizedSources.ts +33 -0
  180. package/src/types/BodySummary.ts +116 -0
  181. package/src/types/DataSource.ts +16 -0
  182. package/{lib/commonjs/types/HCMealData.js → src/types/HCMealData.ts} +60 -11
  183. package/src/types/HeartRateEvent.ts +26 -0
  184. package/src/types/PermissionsType.ts +9 -0
  185. package/src/types/PhysicalSummary.ts +84 -0
  186. package/src/types/Rook.ts +8 -0
  187. package/src/types/SDKSources.ts +5 -0
  188. package/src/types/SamsungHealthPermissions.ts +16 -0
  189. package/src/types/SleepSummary.ts +66 -0
  190. package/src/types/SummaryTypes.ts +70 -0
  191. package/src/types/SyncTypes.ts +63 -0
  192. package/src/types/WriteNutrition.ts +66 -0
  193. package/{lib/commonjs/utils/isModuleReady.js → src/utils/isModuleReady.ts} +4 -10
  194. package/src/utils/isRunningOnAndroid.ts +10 -0
  195. package/src/utils/isRunningOniOS.ts +10 -0
  196. package/{lib/commonjs/utils/isValidDate.js → src/utils/isValidDate.ts} +12 -14
  197. package/android/src/main/AndroidManifestNew.xml +0 -36
  198. package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +0 -99
  199. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +0 -182
  200. package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +0 -301
  201. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +0 -359
  202. package/android/src/main/java/com/rooksdk/modules/RookSourcesModule.kt +0 -102
  203. package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +0 -119
  204. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +0 -551
  205. package/android/src/main/res/drawable/ic_health_connect.xml +0 -19
  206. package/android/src/main/res/values/themes.xml +0 -3
  207. package/ios/EncodableRookDataSource.swift +0 -36
  208. package/ios/EncodableStatusDataSources.swift +0 -47
  209. package/ios/RookBackgroundModule.h +0 -5
  210. package/ios/RookBackgroundModule.mm +0 -15
  211. package/ios/RookConfigurationModule.h +0 -5
  212. package/ios/RookConfigurationModule.mm +0 -22
  213. package/ios/RookExternalModule.h +0 -5
  214. package/ios/RookExternalModule.m +0 -31
  215. package/ios/RookPermissionsModule.h +0 -5
  216. package/ios/RookPermissionsModule.mm +0 -20
  217. package/ios/RookSourcesModule.h +0 -5
  218. package/ios/RookSourcesModule.mm +0 -18
  219. package/ios/RookSync.h +0 -5
  220. package/ios/RookSync.m +0 -35
  221. package/ios/SwiftTest.swift +0 -18
  222. package/ios/react-native-rook-sdk-Bridging-Header.h +0 -12
  223. package/lib/commonjs/context/RookSyncGateContext.js.map +0 -1
  224. package/lib/commonjs/context/RookSyncGateProvider.js +0 -108
  225. package/lib/commonjs/context/RookSyncGateProvider.js.map +0 -1
  226. package/lib/commonjs/context/RookSyncGateReducer.js.map +0 -1
  227. package/lib/commonjs/context/RookSyncGateTypes.js +0 -6
  228. package/lib/commonjs/context/RookSyncGateTypes.js.map +0 -1
  229. package/lib/commonjs/context/index.js +0 -14
  230. package/lib/commonjs/context/index.js.map +0 -1
  231. package/lib/commonjs/hooks/index.js +0 -76
  232. package/lib/commonjs/hooks/index.js.map +0 -1
  233. package/lib/commonjs/hooks/useRookAPISources.js.map +0 -1
  234. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +0 -88
  235. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +0 -1
  236. package/lib/commonjs/hooks/useRookAppleHealth.js +0 -63
  237. package/lib/commonjs/hooks/useRookAppleHealth.js.map +0 -1
  238. package/lib/commonjs/hooks/useRookConfiguration.js +0 -113
  239. package/lib/commonjs/hooks/useRookConfiguration.js.map +0 -1
  240. package/lib/commonjs/hooks/useRookData.js +0 -116
  241. package/lib/commonjs/hooks/useRookData.js.map +0 -1
  242. package/lib/commonjs/hooks/useRookHealthConnect.js +0 -70
  243. package/lib/commonjs/hooks/useRookHealthConnect.js.map +0 -1
  244. package/lib/commonjs/hooks/useRookPermissions.js +0 -211
  245. package/lib/commonjs/hooks/useRookPermissions.js.map +0 -1
  246. package/lib/commonjs/hooks/useRookSamsungHealth.js +0 -54
  247. package/lib/commonjs/hooks/useRookSamsungHealth.js.map +0 -1
  248. package/lib/commonjs/hooks/useRookSync.js +0 -148
  249. package/lib/commonjs/hooks/useRookSync.js.map +0 -1
  250. package/lib/commonjs/hooks/useRookVariables.js +0 -93
  251. package/lib/commonjs/hooks/useRookVariables.js.map +0 -1
  252. package/lib/commonjs/index.js +0 -121
  253. package/lib/commonjs/index.js.map +0 -1
  254. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +0 -1
  255. package/lib/commonjs/modules/types/sendMessageBroadcast.js +0 -2
  256. package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +0 -1
  257. package/lib/commonjs/modules/utils/errors.js +0 -12
  258. package/lib/commonjs/modules/utils/errors.js.map +0 -1
  259. package/lib/commonjs/types/ActivityEvent.js +0 -6
  260. package/lib/commonjs/types/ActivityEvent.js.map +0 -1
  261. package/lib/commonjs/types/AppleHealthNutritionEvent.js +0 -77
  262. package/lib/commonjs/types/AppleHealthNutritionEvent.js.map +0 -1
  263. package/lib/commonjs/types/AppleHealthPermissions.js.map +0 -1
  264. package/lib/commonjs/types/AuthorizedSources.js +0 -6
  265. package/lib/commonjs/types/AuthorizedSources.js.map +0 -1
  266. package/lib/commonjs/types/BodySummary.js +0 -6
  267. package/lib/commonjs/types/DataSource.js +0 -16
  268. package/lib/commonjs/types/DataSource.js.map +0 -1
  269. package/lib/commonjs/types/DiagnosticState.js +0 -2
  270. package/lib/commonjs/types/DiagnosticState.js.map +0 -1
  271. package/lib/commonjs/types/HCMealData.js.map +0 -1
  272. package/lib/commonjs/types/HeartRateEvent.js +0 -2
  273. package/lib/commonjs/types/HeartRateEvent.js.map +0 -1
  274. package/lib/commonjs/types/PermissionsType.js +0 -2
  275. package/lib/commonjs/types/PermissionsType.js.map +0 -1
  276. package/lib/commonjs/types/PhysicalSummary.js +0 -6
  277. package/lib/commonjs/types/PhysicalSummary.js.map +0 -1
  278. package/lib/commonjs/types/SDKSources.js +0 -13
  279. package/lib/commonjs/types/SDKSources.js.map +0 -1
  280. package/lib/commonjs/types/SamsungHealthPermissions.js +0 -23
  281. package/lib/commonjs/types/SamsungHealthPermissions.js.map +0 -1
  282. package/lib/commonjs/types/SleepSummary.js +0 -6
  283. package/lib/commonjs/types/SleepSummary.js.map +0 -1
  284. package/lib/commonjs/types/SummaryTypes.js +0 -2
  285. package/lib/commonjs/types/SummaryTypes.js.map +0 -1
  286. package/lib/commonjs/types/SyncTypes.js +0 -33
  287. package/lib/commonjs/types/SyncTypes.js.map +0 -1
  288. package/lib/commonjs/types/WriteNutrition.js +0 -18
  289. package/lib/commonjs/types/WriteNutrition.js.map +0 -1
  290. package/lib/commonjs/utils/getNativeModule.js +0 -29
  291. package/lib/commonjs/utils/getNativeModule.js.map +0 -1
  292. package/lib/commonjs/utils/getRookModule.js +0 -28
  293. package/lib/commonjs/utils/getRookModule.js.map +0 -1
  294. package/lib/commonjs/utils/isModuleReady.js.map +0 -1
  295. package/lib/commonjs/utils/isRunningOnAndroid.js +0 -15
  296. package/lib/commonjs/utils/isRunningOnAndroid.js.map +0 -1
  297. package/lib/commonjs/utils/isRunningOniOS.js +0 -15
  298. package/lib/commonjs/utils/isRunningOniOS.js.map +0 -1
  299. package/lib/commonjs/utils/isValidDate.js.map +0 -1
  300. package/lib/commonjs/utils/nativeModules.js +0 -29
  301. package/lib/commonjs/utils/nativeModules.js.map +0 -1
  302. package/lib/commonjs/utils/packageInfo.js +0 -13
  303. package/lib/commonjs/utils/packageInfo.js.map +0 -1
  304. package/lib/module/context/index.js +0 -2
  305. package/lib/module/context/index.js.map +0 -1
  306. package/lib/module/hooks/index.js +0 -11
  307. package/lib/module/hooks/index.js.map +0 -1
  308. package/lib/module/types/DiagnosticState.js +0 -2
  309. package/lib/module/types/DiagnosticState.js.map +0 -1
  310. package/lib/module/utils/getNativeModule.js +0 -23
  311. package/lib/module/utils/getNativeModule.js.map +0 -1
  312. package/lib/module/utils/getRookModule.js +0 -22
  313. package/lib/module/utils/getRookModule.js.map +0 -1
  314. package/lib/module/utils/nativeModules.js +0 -23
  315. package/lib/module/utils/nativeModules.js.map +0 -1
  316. package/lib/module/utils/packageInfo.js +0 -7
  317. package/lib/module/utils/packageInfo.js.map +0 -1
  318. package/lib/typescript/src/context/index.d.ts +0 -2
  319. package/lib/typescript/src/context/index.d.ts.map +0 -1
  320. package/lib/typescript/src/hooks/index.d.ts +0 -11
  321. package/lib/typescript/src/hooks/index.d.ts.map +0 -1
  322. package/lib/typescript/src/types/DiagnosticState.d.ts +0 -13
  323. package/lib/typescript/src/types/DiagnosticState.d.ts.map +0 -1
  324. package/lib/typescript/src/utils/getNativeModule.d.ts +0 -10
  325. package/lib/typescript/src/utils/getNativeModule.d.ts.map +0 -1
  326. package/lib/typescript/src/utils/getRookModule.d.ts +0 -9
  327. package/lib/typescript/src/utils/getRookModule.d.ts.map +0 -1
  328. package/lib/typescript/src/utils/nativeModules.d.ts +0 -24
  329. package/lib/typescript/src/utils/nativeModules.d.ts.map +0 -1
  330. package/lib/typescript/src/utils/packageInfo.d.ts +0 -6
  331. package/lib/typescript/src/utils/packageInfo.d.ts.map +0 -1
  332. package/react-native-rook-sdk.podspec +0 -45
@@ -1,49 +1,33 @@
1
1
  package com.rooksdk
2
2
 
3
- import com.facebook.react.ReactPackage
3
+ import com.facebook.react.BaseReactPackage
4
4
  import com.facebook.react.bridge.NativeModule
5
5
  import com.facebook.react.bridge.ReactApplicationContext
6
- import com.facebook.react.uimanager.ViewManager
7
- import com.rookmotion.rook.sdk.RookConfigurationManager
8
- import com.rooksdk.modules.RookBackgroundSyncModule
9
- import com.rooksdk.modules.RookConfigurationModule
10
- import com.rooksdk.modules.RookLocalData
11
- import com.rooksdk.modules.RookPermissionsModule
12
- import com.rooksdk.modules.RookSourcesModule
13
- import com.rooksdk.modules.RookStepsModule
14
- import com.rooksdk.modules.RookSyncModule
15
- import io.tryrook.api.sources.RookApiSources
16
- import io.tryrook.sdk.samsung.RookSamsung
17
-
18
-
19
- class RookSdkPackage : ReactPackage {
20
- private var rookConfigurationManager: RookConfigurationManager? = null
21
- private var rookSamsung: RookSamsung? = null
22
- private var rookApiSources: RookApiSources? = null
23
-
24
- override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
25
- if (rookConfigurationManager == null)
26
- rookConfigurationManager = RookConfigurationManager(reactContext)
27
-
28
- if (rookSamsung == null)
29
- rookSamsung = RookSamsung(reactContext)
30
-
31
- if (rookApiSources == null)
32
- rookApiSources = RookApiSources(reactContext)
33
-
34
- return listOf(
35
- RookSdkModule(reactContext, rookConfigurationManager!!, rookSamsung!!, rookApiSources!!),
36
- RookPermissionsModule(reactContext, rookSamsung!!),
37
- RookConfigurationModule(reactContext, rookConfigurationManager!!, rookSamsung!!),
38
- RookSyncModule(reactContext, rookSamsung!!),
39
- RookBackgroundSyncModule(reactContext),
40
- RookStepsModule(reactContext),
41
- RookLocalData(reactContext, rookSamsung!!),
42
- RookSourcesModule(reactContext),
43
- )
44
- }
6
+ import com.facebook.react.module.model.ReactModuleInfo
7
+ import com.facebook.react.module.model.ReactModuleInfoProvider
8
+ import java.util.HashMap
9
+
10
+ class RookSdkPackage : BaseReactPackage() {
11
+ override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
12
+ return if (name == RookSdkModule.NAME) {
13
+ RookSdkModule(reactContext)
14
+ } else {
15
+ null
16
+ }
17
+ }
45
18
 
46
- override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
47
- return emptyList()
19
+ override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
20
+ return ReactModuleInfoProvider {
21
+ val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
22
+ moduleInfos[RookSdkModule.NAME] = ReactModuleInfo(
23
+ RookSdkModule.NAME,
24
+ RookSdkModule.NAME,
25
+ canOverrideExistingModule = false, // canOverrideExistingModule
26
+ needsEagerInit = false, // needsEagerInit
27
+ isCxxModule = false, // isCxxModule
28
+ isTurboModule = true // isTurboModule
29
+ )
30
+ moduleInfos
31
+ }
48
32
  }
49
33
  }
@@ -5,7 +5,7 @@ import android.content.Context
5
5
  import android.content.Intent
6
6
  import com.facebook.react.bridge.Arguments
7
7
  import com.facebook.react.bridge.ReactApplicationContext
8
- import com.facebook.react.modules.core.DeviceEventManagerModule
8
+ import com.facebook.react.bridge.ReadableMap
9
9
  import com.rookmotion.rook.sdk.RookPermissionsManager
10
10
 
11
11
  /**
@@ -14,9 +14,10 @@ import com.rookmotion.rook.sdk.RookPermissionsManager
14
14
  * It listens for a broadcast containing permission status, then emits a corresponding event to JavaScript.
15
15
  */
16
16
  class AndroidPermissionsReceiverTransmitter: BroadcastReceiver() {
17
+ var onActionReceived: ((ReadableMap) -> Unit)? = null
17
18
  private var reactApplicationContext: ReactApplicationContext? = null
18
19
 
19
- /**
20
+ /**
20
21
  * This method is called when a broadcast is received.
21
22
  * It checks whether the broadcast includes the permission status and emits an event to the React Native
22
23
  * JavaScript layer with the results.
@@ -24,42 +25,38 @@ class AndroidPermissionsReceiverTransmitter: BroadcastReceiver() {
24
25
  * @param context The context in which the receiver is running.
25
26
  * @param intent The intent containing permission-related data.
26
27
  */
27
- override fun onReceive(context: Context?, intent: Intent?) {
28
- val permissionsGranted = intent?.getBooleanExtra(
29
- /* name = */ RookPermissionsManager.EXTRA_ANDROID_PERMISSIONS_GRANTED,
30
- /* defaultValue = */ false
31
- ) ?: false
32
-
33
- val dialogDisplayed = intent?.getBooleanExtra(
34
- RookPermissionsManager.EXTRA_ANDROID_PERMISSIONS_DIALOG_DISPLAYED,
35
- false
36
- ) ?: false
37
-
38
- reactApplicationContext?.also { reactContext ->
39
- val events = listOf(
40
- "ROOK_BACKGROUND_ANDROID_PERMISSIONS" to permissionsGranted,
41
- "ROOK_BACKGROUND_ANDROID_PERMISSIONS_DIALOG_DISPLAYED" to dialogDisplayed
42
- )
43
-
44
- val emitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
45
-
46
- events.forEach { (type, value) ->
47
- Arguments.createMap().apply {
48
- putString("type", type)
49
- putBoolean("value", value)
50
- emitter.emit("ROOK_NOTIFICATION", this)
51
- }
52
- }
53
- }
54
- }
28
+ override fun onReceive(context: Context?, intent: Intent?) {
29
+ val permissionsGranted = intent?.getBooleanExtra(
30
+ /* name = */ RookPermissionsManager.EXTRA_ANDROID_PERMISSIONS_GRANTED,
31
+ /* defaultValue = */ false
32
+ ) ?: false
33
+
34
+ val dialogDisplayed = intent?.getBooleanExtra(
35
+ RookPermissionsManager.EXTRA_ANDROID_PERMISSIONS_DIALOG_DISPLAYED,
36
+ false
37
+ ) ?: false
38
+
39
+ if (reactApplicationContext == null || reactApplicationContext?.hasReactInstance() == false)
40
+ return
41
+
42
+ val events = listOf(
43
+ "ROOK_BACKGROUND_ANDROID_PERMISSIONS" to permissionsGranted,
44
+ "ROOK_BACKGROUND_ANDROID_PERMISSIONS_DIALOG_DISPLAYED" to dialogDisplayed
45
+ )
46
+
47
+ events.forEach { (type, value) ->
48
+ Arguments.createMap().apply {
49
+ putString("type", type)
50
+ putBoolean("value", value)
51
+ onActionReceived?.invoke(this)
52
+ }
53
+ }
54
+ }
55
55
 
56
- /**
57
- * Sets the ReactApplicationContext to be used for emitting events to the React Native side.
58
- *
59
- * @param context The ReactApplicationContext provided by React Native.
60
- */
61
- fun setReactApplicationContext(context: ReactApplicationContext) {
62
- this.reactApplicationContext = context
56
+ fun setConfig(ctx: ReactApplicationContext, emit: (ReadableMap) -> Unit) {
57
+ this.reactApplicationContext = ctx
58
+ this.onActionReceived = emit
63
59
  }
64
60
 
65
61
  }
62
+
@@ -5,7 +5,7 @@ import android.content.Context
5
5
  import android.content.Intent
6
6
  import com.facebook.react.bridge.Arguments
7
7
  import com.facebook.react.bridge.ReactApplicationContext
8
- import com.facebook.react.modules.core.DeviceEventManagerModule
8
+ import com.facebook.react.bridge.ReadableMap
9
9
  import com.rookmotion.rook.sdk.RookPermissionsManager
10
10
 
11
11
  /**
@@ -14,6 +14,7 @@ import com.rookmotion.rook.sdk.RookPermissionsManager
14
14
  * It listens for a broadcast containing permission status, then emits a corresponding event to JavaScript.
15
15
  */
16
16
  class HealthConnectPermissionsReceiverTransmitter: BroadcastReceiver() {
17
+ var onActionReceived: ((ReadableMap) -> Unit)? = null
17
18
  private var reactApplicationContext: ReactApplicationContext? = null
18
19
 
19
20
  /**
@@ -40,31 +41,24 @@ class HealthConnectPermissionsReceiverTransmitter: BroadcastReceiver() {
40
41
  false
41
42
  ) ?: false
42
43
 
43
- reactApplicationContext?.also { reactContext ->
44
44
  val events = listOf(
45
45
  "ROOK_HEALTH_CONNECT_PERMISSIONS" to permissionsGranted,
46
46
  "ROOK_HEALTH_CONNECT_PERMISSIONS_PARTIALLY_GRANTED" to partiallyGranted,
47
47
  "ROOK_HEALTH_CONNECT_BACKGROUND_PERMISSIONS" to backgroundReadStatus,
48
48
  )
49
49
 
50
- val emitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
51
-
52
50
  events.forEach { (type, value) ->
53
51
  Arguments.createMap().apply {
54
52
  putString("type", type)
55
53
  putBoolean("value", value)
56
- emitter.emit("ROOK_NOTIFICATION", this)
54
+ onActionReceived?.invoke(this)
57
55
  }
58
56
  }
59
57
  }
60
- }
61
58
 
62
- /**
63
- * Sets the ReactApplicationContext to be used for emitting events to the React Native side.
64
- *
65
- * @param context The ReactApplicationContext provided by React Native.
66
- */
67
- fun setReactApplicationContext(context: ReactApplicationContext) {
68
- this.reactApplicationContext = context
59
+ fun setConfig(ctx: ReactApplicationContext,emit: (ReadableMap) -> Unit) {
60
+ this.reactApplicationContext = ctx
61
+ this.onActionReceived = emit
62
+ }
69
63
  }
70
- }
64
+
@@ -5,21 +5,12 @@ import android.content.Context
5
5
  import android.content.Intent
6
6
  import com.facebook.react.bridge.Arguments
7
7
  import com.facebook.react.bridge.ReactApplicationContext
8
- import com.facebook.react.modules.core.DeviceEventManagerModule
8
+ import com.facebook.react.bridge.ReadableMap
9
9
  import io.tryrook.sdk.samsung.domain.enums.SamsungHealthPermission
10
-
11
10
  class SamsungHealthPermissionsReceiverTransmitter: BroadcastReceiver() {
11
+ var onActionReceived: ((ReadableMap) -> Unit)? = null
12
12
  private var reactApplicationContext: ReactApplicationContext? = null
13
13
 
14
- /**
15
- * Sets the ReactApplicationContext to be used for emitting events to the React Native side.
16
- *
17
- * @param context The ReactApplicationContext provided by React Native.
18
- */
19
- fun setReactApplicationContext(context: ReactApplicationContext) {
20
- this.reactApplicationContext = context
21
- }
22
-
23
14
  override fun onReceive(conext: Context?, intent: Intent?) {
24
15
  val allPermissionsGranted = intent?.getBooleanExtra(
25
16
  /* name = */ SamsungHealthPermission.EXTRA_SAMSUNG_HEALTH_PERMISSIONS_GRANTED,
@@ -31,22 +22,23 @@ class SamsungHealthPermissionsReceiverTransmitter: BroadcastReceiver() {
31
22
  /* defaultValue = */ false
32
23
  ) ?: false
33
24
 
34
- reactApplicationContext?.also { reactContext ->
35
25
  val events = listOf(
36
26
  "ROOK_SAMSUNG_HEALTH_PERMISSIONS" to allPermissionsGranted,
37
27
  "ROOK_SAMSUNG_HEALTH_PERMISSIONS_PARTIALLY_GRANTED" to permissionsPartiallyGranted,
38
28
  )
39
29
 
40
- val emitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
41
-
42
30
  events.forEach { (type, value) ->
43
31
  Arguments.createMap().apply {
44
32
  putString("type", type)
45
33
  putBoolean("value", value)
46
- emitter.emit("ROOK_NOTIFICATION", this)
34
+ onActionReceived?.invoke(this)
47
35
  }
48
36
  }
49
- }
37
+ }
50
38
 
39
+ fun setConfig(ctx: ReactApplicationContext, emit: (ReadableMap) -> Unit) {
40
+ this.reactApplicationContext = ctx
41
+ this.onActionReceived = emit
51
42
  }
52
43
  }
44
+
@@ -3,7 +3,7 @@ package com.rooksdk.utils
3
3
  import com.facebook.react.bridge.ReadableArray
4
4
  import io.tryrook.api.sources.domain.enums.DataSourceType
5
5
 
6
- object DatasourcesUtils {
6
+ object DatasourceUtils {
7
7
 
8
8
  /**
9
9
  * Maps a data source string to its corresponding DataSourceType enum.
@@ -12,7 +12,7 @@ object DatasourcesUtils {
12
12
  */
13
13
  fun mapToDataSourceType(source: String): DataSourceType? {
14
14
  return try {
15
- DataSourceType.valueOf(source)
15
+ DataSourceType.valueOf(source.uppercase())
16
16
  } catch (e: IllegalArgumentException) {
17
17
  null
18
18
  }
@@ -22,13 +22,14 @@ object DatasourcesUtils {
22
22
  val rawList = sources.toArrayList()
23
23
 
24
24
  return rawList
25
- .mapNotNull { it as? String }
26
- .mapNotNull {
27
- try {
28
- Source.valueOf(it)
29
- } catch (e: IllegalArgumentException) {
30
- null
31
- }
25
+ .mapNotNull { it as? String }
26
+ .mapNotNull {
27
+ try {
28
+ Source.valueOf(it)
29
+ } catch (e: IllegalArgumentException) {
30
+ null
32
31
  }
32
+ }
33
33
  }
34
34
  }
35
+
@@ -5,7 +5,7 @@ import io.tryrook.sdk.samsung.domain.enums.SamsungHealthPermission
5
5
 
6
6
  object PermissionConversion {
7
7
 
8
- fun parseSamsungPermissions(rawPermissions: ReadableArray): Set<SamsungHealthPermission> {
8
+ fun parseSamsungPermissions(rawPermissions: ReadableArray): Set<SamsungHealthPermission> {
9
9
  val rawList = rawPermissions.toArrayList()
10
10
 
11
11
  return rawList
@@ -1,7 +1,6 @@
1
1
  package com.rooksdk.utils
2
2
 
3
3
  import com.facebook.react.bridge.Arguments
4
- import com.facebook.react.bridge.Promise
5
4
  import com.facebook.react.bridge.ReadableMap
6
5
  import com.facebook.react.bridge.ReadableType
7
6
  import com.facebook.react.bridge.WritableMap
@@ -4,14 +4,17 @@ import com.google.gson.Gson
4
4
  import com.google.gson.GsonBuilder
5
5
  import com.rooksdk.utils.serializers.InstantSerializer
6
6
  import com.rooksdk.utils.serializers.LocalDateSerializer
7
+ import com.rooksdk.utils.serializers.ZonedDateTimeAdapter
7
8
  import java.time.Instant
8
9
  import java.time.LocalDate
10
+ import java.time.ZonedDateTime
9
11
 
10
12
  object RookGsonBuilder {
11
13
  fun getGsonBuilder(): Gson {
12
14
  return GsonBuilder()
13
15
  .registerTypeAdapter(Instant::class.java, InstantSerializer())
14
16
  .registerTypeAdapter(LocalDate::class.java, LocalDateSerializer())
17
+ .registerTypeAdapter(ZonedDateTime::class.java, ZonedDateTimeAdapter())
15
18
  .create()
16
19
  }
17
20
  }
@@ -19,3 +19,4 @@ object SamsungAvailability {
19
19
  return availability == SamsungHealthAvailability.INSTALLED
20
20
  }
21
21
  }
22
+
@@ -16,4 +16,3 @@ class InstantSerializer : JsonSerializer<Instant> {
16
16
  return JsonPrimitive(src?.toString())
17
17
  }
18
18
  }
19
-
@@ -0,0 +1,18 @@
1
+ package com.rooksdk.utils.serializers
2
+
3
+ import com.google.gson.*
4
+ import java.lang.reflect.Type
5
+ import java.time.ZonedDateTime
6
+ import java.time.format.DateTimeFormatter
7
+
8
+ class ZonedDateTimeAdapter : JsonSerializer<ZonedDateTime>, JsonDeserializer<ZonedDateTime> {
9
+ private val formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME
10
+
11
+ override fun serialize(src: ZonedDateTime, typeOfSrc: Type, context: JsonSerializationContext): JsonElement {
12
+ return JsonPrimitive(formatter.format(src))
13
+ }
14
+
15
+ override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): ZonedDateTime {
16
+ return ZonedDateTime.parse(json.asString, formatter)
17
+ }
18
+ }
@@ -1,8 +1,8 @@
1
1
  //
2
- // DateHelper.swift
3
- // react-native-rook-sdk
2
+ // File.swift
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 08/12/25.
5
+ // Created by Javier Villanueva on 18/12/25.
6
6
  //
7
7
 
8
8
  import Foundation
@@ -16,7 +16,7 @@ struct DateHelper: DateHelperProtocol {
16
16
 
17
17
  private static let dateISOFormatterDateLocal: DateFormatter = {
18
18
  let dateFormatter = DateFormatter()
19
- dateFormatter.locale = Locale(identifier: "en_US_POSIX")
19
+ dateFormatter.locale = Locale(identifier: Locale.preferredLanguages[0])
20
20
  dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
21
21
  return dateFormatter
22
22
  }()
@@ -0,0 +1,25 @@
1
+ //
2
+ // Encodable.swift
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 17/12/25.
6
+ //
7
+
8
+ extension Encodable {
9
+ func toDictionary() -> [String: Any] {
10
+ let encoder = JSONEncoder()
11
+
12
+ let dateFormatter = DateFormatter()
13
+ dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
14
+
15
+ encoder.dateEncodingStrategy = .formatted(dateFormatter)
16
+
17
+ guard let data = try? encoder.encode(self),
18
+ let dictionary = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any]
19
+ else {
20
+ return [:]
21
+ }
22
+
23
+ return dictionary
24
+ }
25
+ }
@@ -1,11 +1,10 @@
1
1
  //
2
2
  // EncodableDataSource.swift
3
- // react-native-rook-sdk
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 09/10/25.
5
+ // Created by Javier Villanueva on 17/12/25.
6
6
  //
7
7
 
8
- import Foundation
9
8
  import RookSDK
10
9
 
11
10
  struct EncodableDataSource: Encodable {
@@ -1,10 +1,9 @@
1
1
  //
2
2
  // EncodableDataSourceAuthorizer.swift
3
- // react-native-rook-sdk
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 08/10/25.
5
+ // Created by Javier Villanueva on 17/12/25.
6
6
  //
7
-
8
7
  import RookSDK
9
8
  import Foundation
10
9
 
@@ -1,10 +1,11 @@
1
1
  //
2
2
  // EncodableSDKState.swift
3
- // react-native-rook-sdk
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 10/03/26.
5
+ // Created by Javier Villanueva on 07/04/26.
6
6
  //
7
7
 
8
+ import Foundation
8
9
  import RookSDK
9
10
 
10
11
  private struct DateTransformer {
@@ -1,8 +1,8 @@
1
1
  //
2
- // EncodableHeartRate.swift
3
- // react-native-rook-sdk
2
+ // HearRateMapper.swift
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 08/12/25.
5
+ // Created by Javier Villanueva on 18/12/25.
6
6
  //
7
7
 
8
8
  import RookSDK
@@ -1,11 +1,11 @@
1
1
  //
2
2
  // NutritionMapper.swift
3
- // react-native-rook-sdk
3
+ // Pods
4
4
  //
5
- // Created by Javier Villanueva on 24/02/26.
5
+ // Created by Javier Villanueva on 07/04/26.
6
6
  //
7
7
 
8
- import Foundation
8
+
9
9
  import RookSDK
10
10
 
11
11
  class NutritionMapper {
@@ -1,16 +1,15 @@
1
1
  //
2
- // RookBackground.swift
3
- // Pods
2
+ // File.swift
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 03/12/25.
5
+ // Created by Javier Villanueva on 17/12/25.
6
6
  //
7
7
 
8
8
  import RookSDK
9
+ import React
9
10
 
10
- @objc(RookBackground)
11
- public class RookBackground: NSObject {
11
+ @objcMembers public class RookBackground: NSObject {
12
12
 
13
- @objc(enableBackGroundUpdates:reject:)
14
13
  public func enableBackGroundUpdates(
15
14
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
16
15
  ) {
@@ -18,7 +17,6 @@ public class RookBackground: NSObject {
18
17
  resolve(true)
19
18
  }
20
19
 
21
- @objc(disableBackGroundUpdates:reject:)
22
20
  public func disableBackGroundUpdates(
23
21
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
24
22
  ){
@@ -26,7 +24,6 @@ public class RookBackground: NSObject {
26
24
  resolve(true)
27
25
  }
28
26
 
29
- @objc(isBackgroundUpdatesEnabled:reject:)
30
27
  public func isBackgroundUpdatesEnabled(
31
28
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
32
29
  ) {
@@ -1,19 +1,18 @@
1
1
  //
2
- // RookConfiguration.swift
3
- // Pods
2
+ // File.swift
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 03/12/25.
5
+ // Created by Javier Villanueva on 17/12/25.
6
6
  //
7
+
8
+ import React
7
9
  import RookSDK
8
10
 
9
- @objc(RookConfiguration)
10
- public class RookConfiguration: NSObject {
11
-
11
+ @objcMembers public class RookConfiguration: NSObject {
12
12
  lazy var userManager: UserManager = {
13
- return UserManager()
14
- }()
15
-
16
- @objc(getUserID:reject:)
13
+ return UserManager()
14
+ }()
15
+
17
16
  public func getUserID(
18
17
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
19
18
  ) {
@@ -30,13 +29,14 @@ public class RookConfiguration: NSObject {
30
29
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
31
30
  }
32
31
  } else {
33
- reject("1001", "An error ocurred with SDK try again", error as NSError)
32
+ DispatchQueue.main.async {
33
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
34
+ }
34
35
  }
35
36
  }
36
37
  }
37
38
  }
38
-
39
- @objc(updateUserID:resolve:reject:)
39
+
40
40
  public func updateUserID(
41
41
  _ userID: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
42
42
  ){
@@ -55,13 +55,14 @@ public class RookConfiguration: NSObject {
55
55
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
56
56
  }
57
57
  } else {
58
- reject("1001", "An error ocurred with SDK try again", error as NSError)
58
+ DispatchQueue.main.async {
59
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
60
+ }
59
61
  }
60
62
  }
61
63
  }
62
64
  }
63
-
64
- @objc(removeUserFromRook:reject:)
65
+
65
66
  public func removeUserFromRook(
66
67
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
67
68
  ) {
@@ -79,13 +80,14 @@ public class RookConfiguration: NSObject {
79
80
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
80
81
  }
81
82
  } else {
82
- reject("1001", "An error ocurred with SDK try again", error as NSError)
83
+ DispatchQueue.main.async {
84
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
85
+ }
83
86
  }
84
87
  }
85
88
  }
86
89
  }
87
-
88
- @objc(syncUserTimeZone:reject:)
90
+
89
91
  public func syncUserTimeZone(
90
92
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
91
93
  ){
@@ -104,23 +106,24 @@ public class RookConfiguration: NSObject {
104
106
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
105
107
  }
106
108
  } else {
107
- reject("1001", "An error ocurred with SDK try again", error as NSError)
109
+ DispatchQueue.main.async {
110
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
111
+ }
108
112
  }
109
113
  }
110
114
  }
111
115
  }
112
116
 
113
- @objc(getDiagnosticState:reject:)
114
117
  public func getDiagnosticState(
115
- _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
116
- ){
117
- Task {
118
- var result = await RookConnectConfigurationManager.shared.getDiagnosticState()
119
- let dic = EncodableSDKState(result).toDictionary()
120
-
121
- DispatchQueue.main.async {
122
- resolve(dic)
118
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
119
+ ){
120
+ Task {
121
+ var result = await RookConnectConfigurationManager.shared.getDiagnosticState()
122
+ let dic = EncodableSDKState(result).toDictionary()
123
+
124
+ DispatchQueue.main.async {
125
+ resolve(dic)
126
+ }
123
127
  }
124
128
  }
125
- }
126
129
  }