react-native-rook-sdk 4.0.0 → 5.0.0-beta.1

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 +18 -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 +29 -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,14 +1,14 @@
1
1
  //
2
- // RookLocalData.swift
3
- // react-native-rook-sdk
2
+ // RookData.swift
3
+ // RNRookSdk
4
4
  //
5
- // Created by Javier Villanueva on 10/09/25.
5
+ // Created by Javier Villanueva on 18/12/25.
6
6
  //
7
7
 
8
8
  import RookSDK
9
+ import React
9
10
 
10
- @objc(RookLocalData)
11
- public class RookLocalData: NSObject {
11
+ @objcMembers public class RookData: NSObject {
12
12
 
13
13
  lazy var summaryManager: RookSummaryManager = {
14
14
  return RookSummaryManager()
@@ -18,23 +18,20 @@ public class RookLocalData: NSObject {
18
18
  return RookEventsManager()
19
19
  }()
20
20
 
21
- func parseStringToDate(_ input: String) -> Date? {
22
- let dateFormatter = DateFormatter()
23
- dateFormatter.dateFormat = "yyyy-MM-dd"
24
- return dateFormatter.date(from: input)
25
- }
21
+ lazy var dateHelper: DateHelper = {
22
+ return DateHelper()
23
+ }()
26
24
 
27
- @objc(getAppleHealthSleepSummary:resolve:reject:)
28
25
  public func getAppleHealthSleepSummary(
29
26
  _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
30
27
  ) {
31
28
  Task {
32
29
  do {
33
- guard let parsed = parseStringToDate(date) else {
34
- reject("AppleHealthGetSleepSummaryError", "Invalid date format", nil)
30
+ guard let parsed: Date = dateHelper.getDateFromString(stringDate: date) else {
31
+ reject("AppleHealthGetPhysicalSummaryError", "Invalid date format", nil)
35
32
  return
36
33
  }
37
-
34
+
38
35
  let sleepSummaries = try await summaryManager.getSleepSummary(date: parsed)
39
36
  let dic = sleepSummaries.map { $0.toDictionary() }
40
37
 
@@ -47,19 +44,20 @@ public class RookLocalData: NSObject {
47
44
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
48
45
  }
49
46
  } else {
50
- reject("1001", "An error ocurred with SDK try again", error as NSError)
47
+ DispatchQueue.main.async {
48
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
49
+ }
51
50
  }
52
51
  }
53
52
  }
54
53
  }
55
54
 
56
- @objc(getAppleHealthPhysicalSummary:resolve:reject:)
57
55
  public func getAppleHealthPhysicalSummary(
58
56
  _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
59
57
  ) {
60
58
  Task {
61
59
  do {
62
- guard let parsed = parseStringToDate(date) else {
60
+ guard let parsed = dateHelper.getDateFromString(stringDate: date) else {
63
61
  reject("AppleHealthGetPhysicalSummaryError", "Invalid date format", nil)
64
62
  return
65
63
  }
@@ -77,19 +75,20 @@ public class RookLocalData: NSObject {
77
75
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
78
76
  }
79
77
  } else {
80
- reject("1001", "An error ocurred with SDK try again", error as NSError)
78
+ DispatchQueue.main.async {
79
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
80
+ }
81
81
  }
82
82
  }
83
83
  }
84
84
  }
85
85
 
86
- @objc(getAppleHealthBodySummary:resolve:reject:)
87
86
  public func getAppleHealthBodySummary(
88
87
  _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
89
88
  ) {
90
89
  Task {
91
90
  do {
92
- guard let parsed = parseStringToDate(date) else {
91
+ guard let parsed = dateHelper.getDateFromString(stringDate: date) else {
93
92
  reject("AppleHealthGetBodySummaryError", "Invalid date format", nil)
94
93
  return
95
94
  }
@@ -106,19 +105,20 @@ public class RookLocalData: NSObject {
106
105
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
107
106
  }
108
107
  } else {
109
- reject("1001", "An error ocurred with SDK try again", error as NSError)
108
+ DispatchQueue.main.async {
109
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
110
+ }
110
111
  }
111
112
  }
112
113
  }
113
114
  }
114
115
 
115
- @objc(getAppleHealthActivityEvents:resolve:reject:)
116
116
  public func getAppleHealthActivityEvents(
117
117
  _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
118
118
  ) {
119
119
  Task {
120
120
  do {
121
- guard let parsed = parseStringToDate(date) else {
121
+ guard let parsed = dateHelper.getDateFromString(stringDate: date) else {
122
122
  reject("AppleHealthGetActivityEventsError", "Invalid date format", nil)
123
123
  return
124
124
  }
@@ -136,57 +136,64 @@ public class RookLocalData: NSObject {
136
136
  reject(String(rookError.code), rookError.errorDescription, error as NSError)
137
137
  }
138
138
  } else {
139
- reject("1001", "An error ocurred with SDK try again", error as NSError)
140
- }
141
- }
142
- }
143
- }
144
-
145
- @objc(writeAppleHealthMealData:resolve:reject:)
146
- public func writeAppleHealthMealData(
147
- _ data: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
148
- ){
149
- guard let event = NutritionMapper.mapToNutritionInsertionEvent(data: data as! [String : Any]) else {
150
- reject("1001", "Could not parse nutrition data", nil)
151
- return
152
- }
153
-
154
- Task {
155
- do {
156
-
157
- let result = try await eventManager.writeNutritionEvent(event: event)
158
- DispatchQueue.main.async {
159
- resolve(result)
160
- }
161
-
162
- } catch {
163
- if let rookError: RookError = error as? RookError {
164
139
  DispatchQueue.main.async {
165
- reject(String(rookError.code), rookError.errorDescription, error as NSError)
140
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
166
141
  }
167
- } else {
168
- reject("1001", "An error ocurred with SDK try again", error as NSError)
169
142
  }
170
143
  }
171
144
  }
172
145
  }
173
- }
146
+
147
+ public func getTodayHeartRate(
148
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
149
+ ){
150
+ Task {
151
+ do {
152
+ let result = try await eventManager.getTodayHeartRate()
153
+ let mapper: HeartRateMapper = HeartRateMapper()
154
+ let data: [String: Any?] = mapper.map(result)
155
+
156
+ DispatchQueue.main.async {
157
+ resolve(data)
158
+ }
159
+ } catch {
160
+ if let rookError: RookError = error as? RookError {
161
+ DispatchQueue.main.async {
162
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
163
+ }
164
+ } else {
165
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
166
+ }
167
+ }
168
+ }
169
+ }
170
+
171
+ public func writeAppleHealthMealData(
172
+ _ data: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
173
+ ){
174
+ guard let event = NutritionMapper.mapToNutritionInsertionEvent(data: data as! [String : Any]) else {
175
+ reject("1001", "Could not parse nutrition data", nil)
176
+ return
177
+ }
178
+
179
+ Task {
180
+ do {
181
+
182
+ let result = try await eventManager.writeNutritionEvent(event: event)
183
+ DispatchQueue.main.async {
184
+ resolve(result)
185
+ }
174
186
 
175
- extension Encodable {
176
- func toDictionary() -> [String: Any] {
177
- let encoder = JSONEncoder()
178
-
179
- let dateFormatter = DateFormatter()
180
- dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
181
-
182
- encoder.dateEncodingStrategy = .formatted(dateFormatter)
183
-
184
- guard let data = try? encoder.encode(self),
185
- let dictionary = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any]
186
- else {
187
- return [:]
188
- }
189
-
190
- return dictionary
191
- }
187
+ } catch {
188
+ if let rookError: RookError = error as? RookError {
189
+ DispatchQueue.main.async {
190
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
191
+ }
192
+ } else {
193
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
194
+ }
195
+ }
196
+ }
197
+ }
198
+
192
199
  }
@@ -0,0 +1,62 @@
1
+ //
2
+ // RookSdk.swift
3
+ // Pods
4
+ //
5
+ // Created by Javier Villanueva on 15/12/25.
6
+ //
7
+
8
+ import React
9
+ import RookSDK
10
+
11
+ @objcMembers public class RookEntry: NSObject {
12
+ public let EVENT_NAME = EventNames.errorBackGround
13
+
14
+ public func initRook(
15
+ _ options: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
16
+ ){
17
+ Task {
18
+ do {
19
+
20
+ let environment = options["environment"] as? String ?? ""
21
+ let clientUUID = options["clientUUID"] as? String ?? ""
22
+ let secret = options["secret"] as? String ?? ""
23
+ let bundleId = options["bundleId"] as? String
24
+ let backgroundSync = options["enableBackground"] as? Bool ?? true
25
+
26
+ if (environment == "production") {
27
+ RookConnectConfigurationManager.shared.setEnvironment(.production)
28
+ } else {
29
+ RookConnectConfigurationManager.shared.setEnvironment(.sandbox)
30
+ }
31
+
32
+ RookConnectConfigurationManager.shared.setConfiguration(
33
+ clientUUID: clientUUID,
34
+ secret: secret,
35
+ bundleId: bundleId,
36
+ enableBackgroundSync: backgroundSync,
37
+ enableEventsBackgroundSync: backgroundSync)
38
+
39
+ let result = try await RookConnectConfigurationManager.shared.initRook()
40
+
41
+ DispatchQueue.main.async {
42
+ resolve(result)
43
+ }
44
+
45
+ } catch {
46
+ if let rookError: RookError = error as? RookError {
47
+ DispatchQueue.main.async {
48
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
49
+ }
50
+ } else {
51
+ DispatchQueue.main.async {
52
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
53
+ }
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ public func initBroadcast() {
60
+
61
+ }
62
+ }
@@ -1,26 +1,24 @@
1
1
  //
2
2
  // RookPermissions.swift
3
- // react-native-rook-sdk
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
+ import React
8
9
  import RookSDK
9
10
 
10
- @objc(RookPermissions)
11
- public class RookPermissions: NSObject {
12
-
11
+ @objcMembers public class RookPermissions: NSObject {
13
12
  lazy var permissionsManager: RookConnectPermissionsManager = {
14
13
  return RookConnectPermissionsManager()
15
14
  }()
16
-
17
- @objc(checkPermissionsStatus:resolve:reject:)
15
+
18
16
  public func checkPermissionsStatus(
19
17
  _ type: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
20
18
  ) {
21
19
  Task {
22
20
  do {
23
-
21
+
24
22
  let result = await permissionsManager.checkPermissionStatus(type: type)
25
23
 
26
24
  DispatchQueue.main.async {
@@ -38,8 +36,7 @@ public class RookPermissions: NSObject {
38
36
  }
39
37
  }
40
38
  }
41
-
42
- @objc(requestAppleHealthPermissions:resolve:reject:)
39
+
43
40
  public func requestAppleHealthPermissions(
44
41
  _ permissions: [String]?, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
45
42
  ) {
@@ -65,42 +62,41 @@ public class RookPermissions: NSObject {
65
62
  }
66
63
  }
67
64
 
68
- @objc(requestWriteNutritionPermission:reject:)
69
- public func requestWriteNutritionPermission(
70
- _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
71
- ) {
72
- Task {
73
- do {
74
-
75
- let result = try await permissionsManager.requestDietaryWritePermissions()
76
-
77
- DispatchQueue.main.async {
78
- resolve(result)
79
- }
80
- } catch {
81
- if let rookError: RookError = error as? RookError {
82
- DispatchQueue.main.async {
83
- reject(String(rookError.code), rookError.errorDescription, error as NSError)
84
- }
85
- } else {
86
- reject("1001", "An error ocurred with SDK try again", error as NSError)
87
- }
88
- }
89
- }
90
- }
91
-
92
- @objc(openAppleHealthSettings:reject:)
93
65
  public func openAppleHealthSettings(
94
66
  _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
95
67
  ){
96
68
  guard let urlSettings = URL(string: "x-apple-health://") else {
97
- reject("1001", "An error ocurred with SDK try again", nil)
98
- return
69
+ reject("1001", "An error ocurred with SDK try again", nil)
70
+ return
99
71
  }
100
72
 
101
73
  DispatchQueue.main.async {
102
- UIApplication.shared.open(urlSettings, options: [:]) { success in
103
- resolve(success)
74
+ UIApplication.shared.open(urlSettings, options: [:]) { success in
75
+ resolve(success)
76
+ }
77
+ }
78
+ }
79
+
80
+ public func requestWriteNutritionPermission(
81
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
82
+ ) {
83
+ Task {
84
+ do {
85
+
86
+ let result = try await permissionsManager.requestDietaryWritePermissions()
87
+
88
+ DispatchQueue.main.async {
89
+ resolve(result)
90
+ }
91
+ } catch {
92
+ if let rookError: RookError = error as? RookError {
93
+ DispatchQueue.main.async {
94
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
95
+ }
96
+ } else {
97
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
98
+ }
104
99
  }
105
- }}
100
+ }
101
+ }
106
102
  }
@@ -0,0 +1,12 @@
1
+ //
2
+ // RookSdk-Bridging-Header.h
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 15/12/25.
6
+ //
7
+
8
+ #ifndef RookSdk_Bridging_Header_h
9
+ #define RookSdk_Bridging_Header_h
10
+
11
+
12
+ #endif /* RookSdk_Bridging_Header_h */
package/ios/RookSdk.h CHANGED
@@ -1,6 +1,6 @@
1
- #import <React/RCTEventEmitter.h>
2
- #import <React/RCTBridgeModule.h>
1
+ #import <RookSdkSpec/RookSdkSpec.h>
2
+ #import <React/RCTInitializing.h>
3
3
 
4
- @interface RookSdk : RCTEventEmitter <RCTBridgeModule>
4
+ @interface RNRookSdk : NativeRookSdkSpecBase <NativeRookSdkSpec, RCTInitializing>
5
5
 
6
6
  @end