react-native-rook-sdk 2.1.2 → 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 +3 -4
  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
@@ -0,0 +1,42 @@
1
+ //
2
+ // HearRateMapper.swift
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 18/12/25.
6
+ //
7
+
8
+ import RookSDK
9
+
10
+ struct HeartRateMapper {
11
+
12
+ private let dateHelper: DateHelper = DateHelper()
13
+
14
+ func map(_ data: RookHeartRate) -> [String: Any?] {
15
+ return [
16
+ "hrMaximumBPM" : data.hrMaximumBPM,
17
+ "hrMinimumBPM": data.hrMinimumBPM,
18
+ "hrAverageBPM": data.hrAverageBMP,
19
+ "hrRestingBPM": data.hrRestingBPM,
20
+ "hrvAverageRMSSD": data.hrvAverageRMSSD,
21
+ "hrvAverageSDNN": data.hrvAverageSDNN,
22
+ "hrGranularData": data.hrGranularData?.map({
23
+ [
24
+ "dateTime": dateHelper.getISO8601StringDate(date: $0.dateTime),
25
+ "hrBPM": $0.hrBPM
26
+ ]
27
+ }),
28
+ "hrvSDNNGranularData": data.hrvSDNNGranularData?.map({
29
+ [
30
+ "dateTime": dateHelper.getISO8601StringDate(date: $0.dateTime),
31
+ "hrvSDNN": $0.hrv
32
+ ]
33
+ }),
34
+ "hrvRMSSDGranularData": data.hrvRMSSDGranularData?.map({
35
+ [
36
+ "dateTime": dateHelper.getISO8601StringDate(date: $0.dateTime),
37
+ "hrvRmssd": $0.hrv
38
+ ]
39
+ })
40
+ ]
41
+ }
42
+ }
@@ -0,0 +1,35 @@
1
+ //
2
+ // File.swift
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 17/12/25.
6
+ //
7
+
8
+ import RookSDK
9
+ import React
10
+
11
+ @objcMembers public class RookBackground: NSObject {
12
+
13
+ public func enableBackGroundUpdates(
14
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
15
+ ) {
16
+ RookConnectConfigurationManager.shared.enableSync()
17
+ resolve(true)
18
+ }
19
+
20
+ public func disableBackGroundUpdates(
21
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
22
+ ){
23
+ RookConnectConfigurationManager.shared.disableSync()
24
+ resolve(true)
25
+ }
26
+
27
+ public func isBackgroundUpdatesEnabled(
28
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
29
+ ) {
30
+ let result = RookConnectConfigurationManager.shared.isSyncEnable()
31
+
32
+ resolve(result)
33
+ }
34
+
35
+ }
@@ -0,0 +1,116 @@
1
+ //
2
+ // File.swift
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 17/12/25.
6
+ //
7
+
8
+ import React
9
+ import RookSDK
10
+
11
+ @objcMembers public class RookConfiguration: NSObject {
12
+ lazy var userManager: UserManager = {
13
+ return UserManager()
14
+ }()
15
+
16
+ public func getUserID(
17
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
18
+ ) {
19
+ Task {
20
+ do {
21
+ let user = try await userManager.getUserId()
22
+
23
+ DispatchQueue.main.async {
24
+ resolve(user)
25
+ }
26
+ } catch {
27
+ if let rookError: RookError = error as? RookError {
28
+ DispatchQueue.main.async {
29
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
30
+ }
31
+ } else {
32
+ DispatchQueue.main.async {
33
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ public func updateUserID(
41
+ _ userID: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
42
+ ){
43
+ Task {
44
+ do {
45
+
46
+ let result = try await userManager.updateUserId(userID)
47
+
48
+ DispatchQueue.main.async {
49
+ resolve(result)
50
+ }
51
+
52
+ } catch {
53
+ if let rookError: RookError = error as? RookError {
54
+ DispatchQueue.main.async {
55
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
56
+ }
57
+ } else {
58
+ DispatchQueue.main.async {
59
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ public func removeUserFromRook(
67
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
68
+ ) {
69
+ Task {
70
+ do {
71
+
72
+ let result = try await userManager.removeUserFromRook()
73
+
74
+ DispatchQueue.main.async {
75
+ resolve(result)
76
+ }
77
+ } catch {
78
+ if let rookError: RookError = error as? RookError {
79
+ DispatchQueue.main.async {
80
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
81
+ }
82
+ } else {
83
+ DispatchQueue.main.async {
84
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+
91
+ public func syncUserTimeZone(
92
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
93
+ ){
94
+ Task {
95
+ do {
96
+
97
+ let result = try await userManager.syncUserTimeZone()
98
+
99
+ DispatchQueue.main.async {
100
+ resolve(result)
101
+ }
102
+
103
+ } catch {
104
+ if let rookError: RookError = error as? RookError {
105
+ DispatchQueue.main.async {
106
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
107
+ }
108
+ } else {
109
+ DispatchQueue.main.async {
110
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ }
@@ -0,0 +1,170 @@
1
+ //
2
+ // RookData.swift
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 18/12/25.
6
+ //
7
+
8
+ import RookSDK
9
+ import React
10
+
11
+ @objcMembers public class RookData: NSObject {
12
+
13
+ lazy var summaryManager: RookSummaryManager = {
14
+ return RookSummaryManager()
15
+ }()
16
+
17
+ lazy var eventManager: RookEventsManager = {
18
+ return RookEventsManager()
19
+ }()
20
+
21
+ lazy var dateHelper: DateHelper = {
22
+ return DateHelper()
23
+ }()
24
+
25
+ public func getAppleHealthSleepSummary(
26
+ _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
27
+ ) {
28
+ Task {
29
+ do {
30
+ guard let parsed: Date = dateHelper.getDateFromString(stringDate: date) else {
31
+ reject("AppleHealthGetPhysicalSummaryError", "Invalid date format", nil)
32
+ return
33
+ }
34
+
35
+ let sleepSummaries = try await summaryManager.getSleepSummary(date: parsed)
36
+ let dic = sleepSummaries.map { $0.toDictionary() }
37
+
38
+ DispatchQueue.main.async {
39
+ resolve(dic)
40
+ }
41
+ } catch {
42
+ if let rookError: RookError = error as? RookError {
43
+ DispatchQueue.main.async {
44
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
45
+ }
46
+ } else {
47
+ DispatchQueue.main.async {
48
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ public func getAppleHealthPhysicalSummary(
56
+ _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
57
+ ) {
58
+ Task {
59
+ do {
60
+ guard let parsed = dateHelper.getDateFromString(stringDate: date) else {
61
+ reject("AppleHealthGetPhysicalSummaryError", "Invalid date format", nil)
62
+ return
63
+ }
64
+
65
+ let physicalSummaries = try await summaryManager.getPhysicalSummary(date: parsed)
66
+ let dic = physicalSummaries.toDictionary()
67
+
68
+ DispatchQueue.main.async {
69
+ resolve(dic)
70
+ }
71
+
72
+ } catch {
73
+ if let rookError: RookError = error as? RookError {
74
+ DispatchQueue.main.async {
75
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
76
+ }
77
+ } else {
78
+ DispatchQueue.main.async {
79
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+
86
+ public func getAppleHealthBodySummary(
87
+ _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
88
+ ) {
89
+ Task {
90
+ do {
91
+ guard let parsed = dateHelper.getDateFromString(stringDate: date) else {
92
+ reject("AppleHealthGetBodySummaryError", "Invalid date format", nil)
93
+ return
94
+ }
95
+ let bodySummaries = try await summaryManager.getBodySummary(date: parsed)
96
+ let dic = bodySummaries.toDictionary()
97
+
98
+ DispatchQueue.main.async {
99
+ resolve(dic)
100
+ }
101
+
102
+ } catch {
103
+ if let rookError: RookError = error as? RookError {
104
+ DispatchQueue.main.async {
105
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
106
+ }
107
+ } else {
108
+ DispatchQueue.main.async {
109
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+
116
+ public func getAppleHealthActivityEvents(
117
+ _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
118
+ ) {
119
+ Task {
120
+ do {
121
+ guard let parsed = dateHelper.getDateFromString(stringDate: date) else {
122
+ reject("AppleHealthGetActivityEventsError", "Invalid date format", nil)
123
+ return
124
+ }
125
+
126
+ let activityEvents = try await eventManager.getActivityEvents(date: parsed)
127
+ let dic = activityEvents.map { $0.toDictionary() }
128
+
129
+ DispatchQueue.main.async {
130
+ resolve(dic)
131
+ }
132
+
133
+ } catch {
134
+ if let rookError: RookError = error as? RookError {
135
+ DispatchQueue.main.async {
136
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
137
+ }
138
+ } else {
139
+ DispatchQueue.main.async {
140
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
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
+ }
@@ -0,0 +1,61 @@
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 password = options["password"] as? String ?? ""
23
+ let eventsBackgroundSync = options["enableEventsBackgroundSync"] as? Bool ?? true
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
+ secretKey: password,
35
+ enableBackgroundSync: backgroundSync,
36
+ enableEventsBackgroundSync: eventsBackgroundSync)
37
+
38
+ let result = try await RookConnectConfigurationManager.shared.initRook()
39
+
40
+ DispatchQueue.main.async {
41
+ resolve(result)
42
+ }
43
+
44
+ } catch {
45
+ if let rookError: RookError = error as? RookError {
46
+ DispatchQueue.main.async {
47
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
48
+ }
49
+ } else {
50
+ DispatchQueue.main.async {
51
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ public func initBroadcast() {
59
+
60
+ }
61
+ }
@@ -0,0 +1,78 @@
1
+ //
2
+ // RookPermissions.swift
3
+ // RNRookSdk
4
+ //
5
+ // Created by Javier Villanueva on 17/12/25.
6
+ //
7
+
8
+ import React
9
+ import RookSDK
10
+
11
+ @objcMembers public class RookPermissions: NSObject {
12
+ lazy var permissionsManager: RookConnectPermissionsManager = {
13
+ return RookConnectPermissionsManager()
14
+ }()
15
+
16
+ public func checkPermissionsStatus(
17
+ _ type: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
18
+ ) {
19
+ Task {
20
+ do {
21
+
22
+ let result = await permissionsManager.checkPermissionStatus(type: type)
23
+
24
+ DispatchQueue.main.async {
25
+ resolve(result)
26
+ }
27
+
28
+ } catch {
29
+ if let rookError: RookError = error as? RookError {
30
+ DispatchQueue.main.async {
31
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
32
+ }
33
+ } else {
34
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ public func requestAppleHealthPermissions(
41
+ _ permissions: [String]?, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
42
+ ) {
43
+ Task {
44
+ do {
45
+ let perms = permissions ?? []
46
+ let healthTypes = perms.compactMap { HealthDataType(rawValue: $0) }
47
+
48
+ let result = try await permissionsManager.requestPermissions(healthTypes)
49
+
50
+ DispatchQueue.main.async {
51
+ resolve(result)
52
+ }
53
+ } catch {
54
+ if let rookError: RookError = error as? RookError {
55
+ DispatchQueue.main.async {
56
+ reject(String(rookError.code), rookError.errorDescription, error as NSError)
57
+ }
58
+ } else {
59
+ reject("1001", "An error ocurred with SDK try again", error as NSError)
60
+ }
61
+ }
62
+ }
63
+ }
64
+
65
+ public func openAppleHealthSettings(
66
+ _ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
67
+ ){
68
+ guard let urlSettings = URL(string: "x-apple-health://") else {
69
+ reject("1001", "An error ocurred with SDK try again", nil)
70
+ return
71
+ }
72
+
73
+ DispatchQueue.main.async {
74
+ UIApplication.shared.open(urlSettings, options: [:]) { success in
75
+ resolve(success)
76
+ }
77
+ }}
78
+ }
@@ -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,18 @@
1
- #import <React/RCTEventEmitter.h>
2
1
  #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTInitializing.h>
3
3
 
4
- @interface RookSdk : RCTEventEmitter <RCTBridgeModule>
4
+ #ifdef RCT_NEW_ARCH_ENABLED
5
+ #import <RookSdkSpec/RookSdkSpec.h>
6
+ #endif
7
+
8
+ #ifdef RCT_NEW_ARCH_ENABLED
9
+
10
+ // NEW ARCHITECTURE: Inherit from the generated Base class
11
+ @interface RNRookSdk : NativeRookSdkSpecBase <NativeRookSdkSpec, RCTInitializing>
12
+ #else
13
+
14
+ // OLD ARCHITECTURE: Inherit from NSObject and conform to RCTBridgeModule
15
+ @interface RNRookSdk : NSObject <RCTBridgeModule, RCTInitializing>
16
+ #endif
5
17
 
6
18
  @end