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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +35 -3
  3. package/RNRookSdk.podspec +22 -0
  4. package/android/build.gradle +20 -41
  5. package/android/gradle.properties +5 -5
  6. package/android/src/main/AndroidManifest.xml +1 -2
  7. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +11 -222
  8. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +24 -33
  9. package/ios/DateHelper.swift +55 -0
  10. package/ios/Encodable.swift +25 -0
  11. package/ios/EncodableDataSource.swift +5 -6
  12. package/ios/EncodableDataSourceAuthorizer.swift +4 -5
  13. package/ios/HearRateMapper.swift +42 -0
  14. package/ios/RookBackground.swift +35 -0
  15. package/ios/RookConfiguration.swift +116 -0
  16. package/ios/RookData.swift +170 -0
  17. package/ios/RookEntry.swift +61 -0
  18. package/ios/RookPermissions.swift +78 -0
  19. package/ios/RookSdk-Bridging-Header.h +12 -0
  20. package/ios/RookSdk.h +14 -2
  21. package/ios/RookSdk.mm +549 -81
  22. package/ios/RookSources.swift +74 -116
  23. package/ios/RookSync.swift +126 -34
  24. package/ios/boost-boost_privacy-Bridging-Header.h +4 -0
  25. package/lib/module/NativeRookSdk.js +96 -0
  26. package/lib/module/NativeRookSdk.js.map +1 -0
  27. package/lib/module/context/RookSyncGateContext.js +2 -0
  28. package/lib/module/context/RookSyncGateContext.js.map +1 -1
  29. package/lib/module/context/RookSyncGateProvider.js +16 -15
  30. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  31. package/lib/module/context/RookSyncGateReducer.js +2 -0
  32. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  33. package/lib/module/context/RookSyncGateTypes.js +2 -0
  34. package/lib/module/hooks/useRookAPISources.js +66 -0
  35. package/lib/module/hooks/useRookAPISources.js.map +1 -0
  36. package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -25
  37. package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  38. package/lib/module/hooks/useRookAppleHealth.js +11 -23
  39. package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
  40. package/lib/module/hooks/useRookConfiguration.js +10 -109
  41. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  42. package/lib/module/hooks/useRookData.js +35 -33
  43. package/lib/module/hooks/useRookData.js.map +1 -1
  44. package/lib/module/hooks/useRookHealthConnect.js +9 -10
  45. package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
  46. package/lib/module/hooks/useRookPermissions.js +39 -77
  47. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  48. package/lib/module/hooks/useRookSamsungHealth.js +35 -0
  49. package/lib/module/hooks/useRookSamsungHealth.js.map +1 -0
  50. package/lib/module/hooks/useRookSync.js +23 -31
  51. package/lib/module/hooks/useRookSync.js.map +1 -1
  52. package/lib/module/hooks/useRookVariables.js +24 -18
  53. package/lib/module/hooks/useRookVariables.js.map +1 -1
  54. package/lib/module/index.js +18 -5
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/modules/hook/useRookAutoSync.js +22 -36
  57. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  58. package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
  59. package/lib/module/modules/utils/errors.js +2 -0
  60. package/lib/module/modules/utils/errors.js.map +1 -1
  61. package/lib/module/package.json +1 -0
  62. package/lib/module/types/ActivityEvent.js +2 -0
  63. package/lib/module/types/AppleHealthPermissions.js +53 -0
  64. package/lib/module/types/AppleHealthPermissions.js.map +1 -0
  65. package/lib/module/types/AuthorizedSources.js +2 -0
  66. package/lib/module/types/BodySummary.js +2 -0
  67. package/lib/module/types/DataSource.js +10 -0
  68. package/lib/module/types/DataSource.js.map +1 -1
  69. package/lib/module/types/HeartRateEvent.js +2 -0
  70. package/lib/{commonjs/types/DataSource.js.map → module/types/HeartRateEvent.js.map} +1 -1
  71. package/lib/module/types/PermissionsType.js +1 -1
  72. package/lib/module/types/PhysicalSummary.js +2 -0
  73. package/lib/module/types/Rook.js +2 -0
  74. package/lib/{commonjs/types/SyncTypes.js.map → module/types/Rook.js.map} +1 -1
  75. package/lib/module/types/SDKSources.js +2 -0
  76. package/lib/module/types/SDKSources.js.map +1 -1
  77. package/lib/module/types/SamsungHealthPermissions.js +3 -0
  78. package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
  79. package/lib/module/types/SleepSummary.js +2 -0
  80. package/lib/module/types/SummaryTypes.js +1 -1
  81. package/lib/module/types/SyncTypes.js +28 -1
  82. package/lib/module/types/SyncTypes.js.map +1 -1
  83. package/lib/module/utils/isModuleReady.js +2 -0
  84. package/lib/module/utils/isModuleReady.js.map +1 -1
  85. package/lib/module/utils/isRunningOnAndroid.js +2 -0
  86. package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
  87. package/lib/module/utils/isRunningOniOS.js +2 -0
  88. package/lib/module/utils/isRunningOniOS.js.map +1 -1
  89. package/lib/module/utils/isValidDate.js +2 -0
  90. package/lib/module/utils/isValidDate.js.map +1 -1
  91. package/lib/typescript/package.json +1 -0
  92. package/lib/typescript/src/NativeRookSdk.d.ts +190 -0
  93. package/lib/typescript/src/NativeRookSdk.d.ts.map +1 -0
  94. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
  95. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  96. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  97. package/lib/typescript/src/hooks/useRookAPISources.d.ts +15 -0
  98. package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -0
  99. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts +0 -1
  100. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
  101. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +1 -2
  102. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
  103. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +0 -8
  104. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  105. package/lib/typescript/src/hooks/useRookData.d.ts +2 -0
  106. package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
  107. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
  108. package/lib/typescript/src/hooks/useRookPermissions.d.ts +11 -12
  109. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  110. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +7 -0
  111. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -0
  112. package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
  113. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
  114. package/lib/typescript/src/index.d.ts +19 -4
  115. package/lib/typescript/src/index.d.ts.map +1 -1
  116. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  117. package/lib/typescript/src/types/AppleHealthPermissions.d.ts +50 -0
  118. package/lib/typescript/src/types/AppleHealthPermissions.d.ts.map +1 -0
  119. package/lib/typescript/src/types/AuthorizedSources.d.ts +3 -3
  120. package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
  121. package/lib/typescript/src/types/DataSource.d.ts +8 -1
  122. package/lib/typescript/src/types/DataSource.d.ts.map +1 -1
  123. package/lib/typescript/src/types/HeartRateEvent.d.ts +24 -0
  124. package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -0
  125. package/lib/typescript/src/types/PermissionsType.d.ts +0 -4
  126. package/lib/typescript/src/types/PermissionsType.d.ts.map +1 -1
  127. package/lib/typescript/src/types/Rook.d.ts +9 -0
  128. package/lib/typescript/src/types/Rook.d.ts.map +1 -0
  129. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +1 -0
  130. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
  131. package/lib/typescript/src/types/SyncTypes.d.ts +28 -5
  132. package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
  133. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
  134. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  135. package/package.json +94 -98
  136. package/src/NativeRookSdk.ts +282 -0
  137. package/{lib/commonjs/context/RookSyncGateContext.js → src/context/RookSyncGateContext.ts} +10 -13
  138. package/src/context/RookSyncGateProvider.tsx +78 -0
  139. package/{lib/commonjs/context/RookSyncGateReducer.js → src/context/RookSyncGateReducer.ts} +12 -33
  140. package/src/context/RookSyncGateTypes.ts +34 -0
  141. package/src/hooks/useRookAPISources.ts +83 -0
  142. package/src/hooks/useRookAndroidBackgroundSteps.ts +81 -0
  143. package/src/hooks/useRookAppleHealth.ts +55 -0
  144. package/src/hooks/useRookConfiguration.ts +82 -0
  145. package/src/hooks/useRookData.ts +122 -0
  146. package/src/hooks/useRookHealthConnect.ts +59 -0
  147. package/src/hooks/useRookPermissions.ts +224 -0
  148. package/src/hooks/useRookSamsungHealth.ts +37 -0
  149. package/src/hooks/useRookSync.ts +157 -0
  150. package/src/hooks/useRookVariables.ts +77 -0
  151. package/src/index.tsx +28 -0
  152. package/src/modules/hook/useRookAutoSync.ts +305 -0
  153. package/src/modules/types/sendMessageBroadcast.ts +5 -0
  154. package/src/modules/utils/errors.ts +9 -0
  155. package/src/types/ActivityEvent.ts +159 -0
  156. package/src/types/AppleHealthPermissions.ts +49 -0
  157. package/src/types/AuthorizedSources.ts +33 -0
  158. package/src/types/BodySummary.ts +116 -0
  159. package/src/types/DataSource.ts +16 -0
  160. package/src/types/HeartRateEvent.ts +26 -0
  161. package/src/types/PermissionsType.ts +9 -0
  162. package/src/types/PhysicalSummary.ts +84 -0
  163. package/src/types/Rook.ts +8 -0
  164. package/src/types/SDKSources.ts +5 -0
  165. package/src/types/SamsungHealthPermissions.ts +16 -0
  166. package/src/types/SleepSummary.ts +66 -0
  167. package/src/types/SummaryTypes.ts +70 -0
  168. package/src/types/SyncTypes.ts +63 -0
  169. package/{lib/commonjs/utils/isModuleReady.js → src/utils/isModuleReady.ts} +4 -10
  170. package/src/utils/isRunningOnAndroid.ts +10 -0
  171. package/src/utils/isRunningOniOS.ts +10 -0
  172. package/{lib/commonjs/utils/isValidDate.js → src/utils/isValidDate.ts} +5 -10
  173. package/android/src/main/AndroidManifestNew.xml +0 -36
  174. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +0 -65
  175. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +0 -70
  176. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +0 -52
  177. package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +0 -85
  178. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +0 -148
  179. package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +0 -247
  180. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +0 -309
  181. package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +0 -105
  182. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +0 -496
  183. package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +0 -63
  184. package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +0 -21
  185. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +0 -64
  186. package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +0 -20
  187. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +0 -21
  188. package/android/src/main/java/com/rooksdk/utils/Source.kt +0 -6
  189. package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +0 -58
  190. package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +0 -19
  191. package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +0 -21
  192. package/android/src/main/res/drawable/ic_health_connect.xml +0 -19
  193. package/android/src/main/res/values/themes.xml +0 -3
  194. package/ios/EncodableRookDataSource.swift +0 -36
  195. package/ios/EncodableStatusDataSources.swift +0 -47
  196. package/ios/RookBackgroundModule.h +0 -5
  197. package/ios/RookBackgroundModule.mm +0 -89
  198. package/ios/RookConfigurationModule.h +0 -5
  199. package/ios/RookConfigurationModule.mm +0 -163
  200. package/ios/RookExternalModule.h +0 -5
  201. package/ios/RookExternalModule.m +0 -27
  202. package/ios/RookLocalData.swift +0 -152
  203. package/ios/RookPermissionsModule.h +0 -5
  204. package/ios/RookPermissionsModule.mm +0 -180
  205. package/ios/RookSourcesModule.h +0 -5
  206. package/ios/RookSourcesModule.mm +0 -67
  207. package/ios/RookSync.h +0 -5
  208. package/ios/RookSync.m +0 -27
  209. package/ios/RookSyncModule.h +0 -5
  210. package/ios/RookSyncModule.mm +0 -476
  211. package/ios/SwiftTest.swift +0 -18
  212. package/ios/react-native-rook-sdk-Bridging-Header.h +0 -12
  213. package/lib/commonjs/context/RookSyncGateContext.js.map +0 -1
  214. package/lib/commonjs/context/RookSyncGateProvider.js +0 -98
  215. package/lib/commonjs/context/RookSyncGateProvider.js.map +0 -1
  216. package/lib/commonjs/context/RookSyncGateReducer.js.map +0 -1
  217. package/lib/commonjs/context/RookSyncGateTypes.js +0 -6
  218. package/lib/commonjs/context/RookSyncGateTypes.js.map +0 -1
  219. package/lib/commonjs/context/index.js +0 -14
  220. package/lib/commonjs/context/index.js.map +0 -1
  221. package/lib/commonjs/hooks/index.js +0 -90
  222. package/lib/commonjs/hooks/index.js.map +0 -1
  223. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +0 -100
  224. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +0 -1
  225. package/lib/commonjs/hooks/useRookAppleHealth.js +0 -74
  226. package/lib/commonjs/hooks/useRookAppleHealth.js.map +0 -1
  227. package/lib/commonjs/hooks/useRookAppleHealthVariables.js +0 -48
  228. package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +0 -1
  229. package/lib/commonjs/hooks/useRookConfiguration.js +0 -188
  230. package/lib/commonjs/hooks/useRookConfiguration.js.map +0 -1
  231. package/lib/commonjs/hooks/useRookData.js +0 -100
  232. package/lib/commonjs/hooks/useRookData.js.map +0 -1
  233. package/lib/commonjs/hooks/useRookDataSources.js +0 -118
  234. package/lib/commonjs/hooks/useRookDataSources.js.map +0 -1
  235. package/lib/commonjs/hooks/useRookEvents.js +0 -225
  236. package/lib/commonjs/hooks/useRookEvents.js.map +0 -1
  237. package/lib/commonjs/hooks/useRookHealthConnect.js +0 -70
  238. package/lib/commonjs/hooks/useRookHealthConnect.js.map +0 -1
  239. package/lib/commonjs/hooks/useRookPermissions.js +0 -226
  240. package/lib/commonjs/hooks/useRookPermissions.js.map +0 -1
  241. package/lib/commonjs/hooks/useRookSummaries.js +0 -85
  242. package/lib/commonjs/hooks/useRookSummaries.js.map +0 -1
  243. package/lib/commonjs/hooks/useRookSync.js +0 -147
  244. package/lib/commonjs/hooks/useRookSync.js.map +0 -1
  245. package/lib/commonjs/hooks/useRookVariables.js +0 -69
  246. package/lib/commonjs/hooks/useRookVariables.js.map +0 -1
  247. package/lib/commonjs/index.js +0 -56
  248. package/lib/commonjs/index.js.map +0 -1
  249. package/lib/commonjs/modules/hook/useRookAutoSync.js +0 -262
  250. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +0 -1
  251. package/lib/commonjs/modules/types/sendMessageBroadcast.js +0 -2
  252. package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +0 -1
  253. package/lib/commonjs/modules/utils/errors.js +0 -12
  254. package/lib/commonjs/modules/utils/errors.js.map +0 -1
  255. package/lib/commonjs/types/ActivityEvent.js +0 -6
  256. package/lib/commonjs/types/ActivityEvent.js.map +0 -1
  257. package/lib/commonjs/types/AuthorizedSources.js +0 -2
  258. package/lib/commonjs/types/AuthorizedSources.js.map +0 -1
  259. package/lib/commonjs/types/BodySummary.js +0 -6
  260. package/lib/commonjs/types/BodySummary.js.map +0 -1
  261. package/lib/commonjs/types/DataSource.js +0 -2
  262. package/lib/commonjs/types/PermissionsType.js +0 -2
  263. package/lib/commonjs/types/PermissionsType.js.map +0 -1
  264. package/lib/commonjs/types/PhysicalSummary.js +0 -6
  265. package/lib/commonjs/types/PhysicalSummary.js.map +0 -1
  266. package/lib/commonjs/types/SDKSources.js +0 -13
  267. package/lib/commonjs/types/SDKSources.js.map +0 -1
  268. package/lib/commonjs/types/SamsungHealthPermissions.js +0 -23
  269. package/lib/commonjs/types/SamsungHealthPermissions.js.map +0 -1
  270. package/lib/commonjs/types/SleepSummary.js +0 -6
  271. package/lib/commonjs/types/SleepSummary.js.map +0 -1
  272. package/lib/commonjs/types/SummaryTypes.js +0 -2
  273. package/lib/commonjs/types/SummaryTypes.js.map +0 -1
  274. package/lib/commonjs/types/SyncTypes.js +0 -6
  275. package/lib/commonjs/utils/credentials.js +0 -12
  276. package/lib/commonjs/utils/credentials.js.map +0 -1
  277. package/lib/commonjs/utils/getNativeModule.js +0 -29
  278. package/lib/commonjs/utils/getNativeModule.js.map +0 -1
  279. package/lib/commonjs/utils/getRookModule.js +0 -28
  280. package/lib/commonjs/utils/getRookModule.js.map +0 -1
  281. package/lib/commonjs/utils/isModuleReady.js.map +0 -1
  282. package/lib/commonjs/utils/isRunningOnAndroid.js +0 -15
  283. package/lib/commonjs/utils/isRunningOnAndroid.js.map +0 -1
  284. package/lib/commonjs/utils/isRunningOniOS.js +0 -15
  285. package/lib/commonjs/utils/isRunningOniOS.js.map +0 -1
  286. package/lib/commonjs/utils/isValidDate.js.map +0 -1
  287. package/lib/commonjs/utils/nativeModules.js +0 -28
  288. package/lib/commonjs/utils/nativeModules.js.map +0 -1
  289. package/lib/commonjs/utils/packageInfo.js +0 -13
  290. package/lib/commonjs/utils/packageInfo.js.map +0 -1
  291. package/lib/module/context/index.js +0 -2
  292. package/lib/module/context/index.js.map +0 -1
  293. package/lib/module/hooks/index.js +0 -13
  294. package/lib/module/hooks/index.js.map +0 -1
  295. package/lib/module/hooks/useRookAppleHealthVariables.js +0 -41
  296. package/lib/module/hooks/useRookAppleHealthVariables.js.map +0 -1
  297. package/lib/module/hooks/useRookDataSources.js +0 -110
  298. package/lib/module/hooks/useRookDataSources.js.map +0 -1
  299. package/lib/module/hooks/useRookEvents.js +0 -218
  300. package/lib/module/hooks/useRookEvents.js.map +0 -1
  301. package/lib/module/hooks/useRookSummaries.js +0 -78
  302. package/lib/module/hooks/useRookSummaries.js.map +0 -1
  303. package/lib/module/utils/credentials.js +0 -6
  304. package/lib/module/utils/credentials.js.map +0 -1
  305. package/lib/module/utils/getNativeModule.js +0 -23
  306. package/lib/module/utils/getNativeModule.js.map +0 -1
  307. package/lib/module/utils/getRookModule.js +0 -22
  308. package/lib/module/utils/getRookModule.js.map +0 -1
  309. package/lib/module/utils/nativeModules.js +0 -22
  310. package/lib/module/utils/nativeModules.js.map +0 -1
  311. package/lib/module/utils/packageInfo.js +0 -7
  312. package/lib/module/utils/packageInfo.js.map +0 -1
  313. package/lib/typescript/src/context/index.d.ts +0 -2
  314. package/lib/typescript/src/context/index.d.ts.map +0 -1
  315. package/lib/typescript/src/hooks/index.d.ts +0 -13
  316. package/lib/typescript/src/hooks/index.d.ts.map +0 -1
  317. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +0 -15
  318. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +0 -1
  319. package/lib/typescript/src/hooks/useRookDataSources.d.ts +0 -22
  320. package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +0 -1
  321. package/lib/typescript/src/hooks/useRookEvents.d.ts +0 -26
  322. package/lib/typescript/src/hooks/useRookEvents.d.ts.map +0 -1
  323. package/lib/typescript/src/hooks/useRookSummaries.d.ts +0 -14
  324. package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +0 -1
  325. package/lib/typescript/src/utils/credentials.d.ts +0 -5
  326. package/lib/typescript/src/utils/credentials.d.ts.map +0 -1
  327. package/lib/typescript/src/utils/getNativeModule.d.ts +0 -10
  328. package/lib/typescript/src/utils/getNativeModule.d.ts.map +0 -1
  329. package/lib/typescript/src/utils/getRookModule.d.ts +0 -9
  330. package/lib/typescript/src/utils/getRookModule.d.ts.map +0 -1
  331. package/lib/typescript/src/utils/nativeModules.d.ts +0 -23
  332. package/lib/typescript/src/utils/nativeModules.d.ts.map +0 -1
  333. package/lib/typescript/src/utils/packageInfo.d.ts +0 -6
  334. package/lib/typescript/src/utils/packageInfo.d.ts.map +0 -1
  335. package/react-native-rook-sdk.podspec +0 -45
@@ -1,58 +0,0 @@
1
- package com.rooksdk.utils
2
-
3
- import com.rookmotion.rook.sdk.domain.model.SyncType
4
- import io.tryrook.sdk.samsung.domain.model.SHSyncType
5
-
6
- object StringToSyncType {
7
-
8
- fun stringToSummary(type: String): SyncType.Summary {
9
- return when(type.lowercase()) {
10
- "sleep" -> SyncType.Summary.SLEEP
11
- "body" -> SyncType.Summary.BODY
12
- "physical" -> SyncType.Summary.PHYSICAL
13
- else -> SyncType.Summary.BODY
14
- }
15
- }
16
-
17
- fun stringToEvent(value: String): SyncType.Event {
18
- return when (value.lowercase()) {
19
- "activity" -> SyncType.Event.ACTIVITY
20
- "blood_glucose" -> SyncType.Event.BLOOD_GLUCOSE
21
- "blood_pressure" -> SyncType.Event.BLOOD_PRESSURE
22
- "body_metrics" -> SyncType.Event.BODY_METRICS
23
- "heart_rate" -> SyncType.Event.HEART_RATE
24
- "hydration" -> SyncType.Event.HYDRATION
25
- "nutrition" -> SyncType.Event.NUTRITION
26
- "oxygenation" -> SyncType.Event.OXYGENATION
27
- "temperature" -> SyncType.Event.TEMPERATURE
28
- "steps" -> SyncType.Event.STEPS
29
- "calories" -> SyncType.Event.CALORIES
30
- else -> SyncType.Event.STEPS
31
- }
32
- }
33
-
34
- fun stringToSamsungPillar(value: String): SHSyncType.Summary {
35
- return when(value.lowercase()) {
36
- "sleep" -> SHSyncType.Summary.SLEEP
37
- "body" -> SHSyncType.Summary.BODY
38
- "physical" -> SHSyncType.Summary.PHYSICAL
39
- else -> SHSyncType.Summary.BODY
40
- }
41
- }
42
-
43
- fun stringToSamsungEvent(value: String): SHSyncType.Event {
44
- return when (value.lowercase()) {
45
- "activity" -> SHSyncType.Event.ACTIVITY
46
- "blood_glucose" -> SHSyncType.Event.BLOOD_GLUCOSE
47
- "blood_pressure" -> SHSyncType.Event.BLOOD_PRESSURE
48
- "body_metrics" -> SHSyncType.Event.BODY_METRICS
49
- "heart_rate" -> SHSyncType.Event.HEART_RATE
50
- "hydration" -> SHSyncType.Event.HYDRATION
51
- "nutrition" -> SHSyncType.Event.NUTRITION
52
- "oxygenation" -> SHSyncType.Event.OXYGENATION
53
- "steps" -> SHSyncType.Event.STEPS
54
- "calories" -> SHSyncType.Event.CALORIES
55
- else -> SHSyncType.Event.STEPS
56
- }
57
- }
58
- }
@@ -1,19 +0,0 @@
1
- package com.rooksdk.utils.serializers
2
-
3
- import com.google.gson.JsonElement
4
- import com.google.gson.JsonPrimitive
5
- import com.google.gson.JsonSerializationContext
6
- import com.google.gson.JsonSerializer
7
- import java.time.Instant
8
- import java.lang.reflect.Type
9
-
10
- class InstantSerializer : JsonSerializer<Instant> {
11
- override fun serialize(
12
- src: Instant?,
13
- typeOfSrc: Type?,
14
- context: JsonSerializationContext?
15
- ): JsonElement {
16
- return JsonPrimitive(src?.toString())
17
- }
18
- }
19
-
@@ -1,21 +0,0 @@
1
- package com.rooksdk.utils.serializers
2
-
3
- import com.google.gson.JsonElement
4
- import com.google.gson.JsonPrimitive
5
- import com.google.gson.JsonSerializationContext
6
- import com.google.gson.JsonSerializer
7
- import java.lang.reflect.Type
8
- import java.time.LocalDate
9
- import java.time.format.DateTimeFormatter
10
-
11
- class LocalDateSerializer : JsonSerializer<LocalDate> {
12
- private val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
13
-
14
- override fun serialize(
15
- src: LocalDate?,
16
- typeOfSrc: Type?,
17
- context: JsonSerializationContext?
18
- ): JsonElement {
19
- return JsonPrimitive(src?.format(formatter))
20
- }
21
- }
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <vector xmlns:android="http://schemas.android.com/apk/res/android"
3
- android:width="200dp"
4
- android:height="200dp"
5
- android:viewportWidth="512"
6
- android:viewportHeight="512">
7
- <path
8
- android:fillColor="#4285F4"
9
- android:pathData="M258.3,431.3c-35.1,0 -68.1,-13.3 -92.9,-37.6l44.2,-45.4c26.9,26.2 70.6,26.2 97.6,0l94.4,-92c12.7,-12.4 19.8,-28.9 19.8,-46.3s-7,-33.9 -19.8,-46.3c-26.9,-26.2 -70.6,-26.2 -97.6,0l-17.1,16.7L242.6,135l17.1,-16.7c25,-24.3 58,-37.6 93,-37.6c35.1,0 68.1,13.3 92.9,37.6c25.1,24.4 38.9,57 38.9,91.7s-13.8,67.2 -38.9,91.7l-94.4,92.1C326.4,417.9 293.4,431.3 258.3,431.3z" />
10
- <path
11
- android:fillColor="#3DDB85"
12
- android:pathData="M165.6,393.7L66.5,302l-0.3,-0.3c-25.1,-24.4 -38.9,-57 -38.9,-91.7s13.8,-67.2 38.9,-91.7c24.9,-24.2 57.9,-37.6 92.9,-37.6c35.1,0 68.1,13.3 93,37.5l25.2,24.6l-44.2,45.4L208,163.7c-26.9,-26.2 -70.7,-26.2 -97.6,0c-12.7,12.4 -19.8,28.9 -19.8,46.3c0,17.3 6.9,33.7 19.5,46.1l98.5,91.2L165.6,393.7z" />
13
- <path
14
- android:fillColor="#4285F4"
15
- android:pathData="M165.3,393.7c-24.9,-24.2 -38.6,-56.5 -38.8,-90.9c-0.1,-35.1 13.9,-68.4 39.5,-93.7l0.2,-0.2l91.4,-88.5l44.1,45.5l-91.2,88.4c-13.4,13.3 -20.7,30.4 -20.6,48.3c0.1,17.3 7,33.5 19.6,45.8L165.3,393.7z" />
16
- <path
17
- android:fillColor="#3DDB85"
18
- android:pathData="M302.5,211.3a50.7,50.7 0,1 0,101.4 0a50.7,50.7 0,1 0,-101.4 0z" />
19
- </vector>
@@ -1,3 +0,0 @@
1
- <resources>
2
- <style name="HealthConnectTheme" parent="Theme.AppCompat.DayNight.NoActionBar"/>
3
- </resources>
@@ -1,36 +0,0 @@
1
- //
2
- // EncodableRookDataSource.swift
3
- // Pods
4
- //
5
- // Created by Javier Villanueva on 08/10/25.
6
- //
7
-
8
- import Foundation
9
- import RookSDK
10
-
11
- struct EncodableRookDataSource: Encodable {
12
-
13
- private let dataSource: RookSDK.RookDataSource
14
-
15
- init(_ dataSource: RookSDK.RookDataSource) {
16
- self.dataSource = dataSource
17
- }
18
-
19
- private enum CodingKeys: String, CodingKey {
20
- case name
21
- case description
22
- case imageUrl
23
- case connected
24
- case authorizationURL
25
- }
26
-
27
- func encode(to encoder: Encoder) throws {
28
- var container = encoder.container(keyedBy: CodingKeys.self)
29
-
30
- try container.encode(dataSource.name, forKey: .name)
31
- try container.encode(dataSource.description, forKey: .description)
32
- try container.encode(dataSource.imageUrl, forKey: .imageUrl)
33
- try container.encode(dataSource.connected, forKey: .connected)
34
- try container.encode(dataSource.authorizationURL, forKey: .authorizationURL)
35
- }
36
- }
@@ -1,47 +0,0 @@
1
- //
2
- // EncodableStatusDataSources.swift
3
- // react-native-rook-sdk
4
- //
5
- // Created by Javier Villanueva on 08/10/25.
6
- //
7
-
8
- import Foundation
9
- import RookSDK
10
-
11
- struct EncodableStatusDataSources: Encodable {
12
- private let status: RookSDK.StatusDataSources
13
-
14
- init(_ status: RookSDK.StatusDataSources) {
15
- self.status = status
16
- }
17
-
18
- private enum CodingKeys: String, CodingKey {
19
- case oura
20
- case polar
21
- case whoop
22
- case fitbit
23
- case garmin
24
- case withings
25
- case googleFit
26
- case appleHealth
27
- case healthConnect
28
- case android
29
- case dexcom
30
- }
31
-
32
- func encode(to encoder: Encoder) throws {
33
- var container = encoder.container(keyedBy: CodingKeys.self)
34
-
35
- try container.encode(status.oura, forKey: .oura)
36
- try container.encode(status.polar, forKey: .polar)
37
- try container.encode(status.whoop, forKey: .whoop)
38
- try container.encode(status.fitbit, forKey: .fitbit)
39
- try container.encode(status.garmin, forKey: .garmin)
40
- try container.encode(status.withings, forKey: .withings)
41
- try container.encode(status.googleFit, forKey: .googleFit)
42
- try container.encode(status.appleHealth, forKey: .appleHealth)
43
- try container.encode(status.healthConnect, forKey: .healthConnect)
44
- try container.encode(status.android, forKey: .android)
45
- try container.encode(status.dexcom, forKey: .dexcom)
46
- }
47
- }
@@ -1,5 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
-
3
- @interface RookBackgroundModule : NSObject<RCTBridgeModule>
4
-
5
- @end
@@ -1,89 +0,0 @@
1
- #import "RookBackgroundModule.h"
2
- #import "RookSDK/RookSDK-Swift.h"
3
-
4
- @implementation RookBackgroundModule
5
-
6
- RCT_EXPORT_MODULE()
7
-
8
- /**
9
- * Enable the background sync, this will automatically upload events and summaries
10
- * at the moment the user enables this feature.
11
- *
12
- * @param resolve A block called with a boolean value indicating whether the events were successfully sync.
13
- * @param reject A block called if an error occurs, such as Apple Health not being installed.
14
- */
15
- RCT_EXPORT_METHOD(enableBackGroundUpdates: (RCTPromiseResolveBlock) resolve
16
- reject:(RCTPromiseRejectBlock)reject) {
17
-
18
- [[RookBackGroundSync shared] enableBackGroundForSummaries];
19
- [[RookBackGroundSync shared] enableBackGroundForEvents];
20
- resolve(@(YES));
21
- }
22
-
23
- /**
24
- * Disable the background sync
25
- *
26
- * @param resolve A block called with a boolean value indicating whether the events were successfully sync.
27
- * @param reject A block called if an error occurs, such as Apple Health not being installed.
28
- */
29
- RCT_EXPORT_METHOD(disableBackGroundUpdates: (RCTPromiseResolveBlock) resolve
30
- reject:(RCTPromiseRejectBlock)reject) {
31
-
32
- [[RookBackGroundSync shared] disableBackGroundForSummaries];
33
-
34
- [[RookBackGroundSync shared] disableBackGroundForEvents];
35
-
36
- resolve(@(YES));
37
- }
38
-
39
- /**
40
- * Enable background sync for summaries only
41
- *
42
- * @param resolve A block called with a boolean value indicating whether the events were successfully sync.
43
- * @param reject A block called if an error occurs, such as Apple Health not being installed.
44
- */
45
- RCT_EXPORT_METHOD(enableBackGroundEventUpdates: (RCTPromiseResolveBlock) resolve
46
- reject:(RCTPromiseRejectBlock)reject) {
47
- [[RookBackGroundSync shared] enableBackGroundForEvents];
48
- resolve(@(YES));
49
- }
50
-
51
- /**
52
- * Disable the backGround sync just for events
53
- *
54
- * @param resolve A block called with a boolean value indicating whether the events were successfully sync.
55
- * @param reject A block called if an error occurs, such as Apple Health not being installed.
56
- */
57
- RCT_EXPORT_METHOD(disableBackGroundEventUpdates: (RCTPromiseResolveBlock) resolve
58
- reject:(RCTPromiseRejectBlock)reject) {
59
-
60
- [[RookBackGroundSync shared] disableBackGroundForEvents];
61
- }
62
-
63
- /**
64
- * Check if the background sync for summaries are enabled
65
- *
66
- * @param resolve A block called with a boolean value indicating whether the events were successfully sync.
67
- * @param reject A block called if an error occurs, such as Apple Health not being installed.
68
- */
69
- RCT_EXPORT_METHOD(isBackGroundForSummariesEnable: (RCTPromiseResolveBlock) resolve
70
- reject:(RCTPromiseRejectBlock)reject) {
71
-
72
- bool result = [[RookBackGroundSync shared] isBackGroundForSummariesEnable];
73
- resolve(@(result));
74
- }
75
-
76
- /**
77
- * Check if the background sync for events are enabled
78
- *
79
- * @param resolve A block called with a boolean value indicating whether the events were successfully sync.
80
- * @param reject A block called if an error occurs, such as Apple Health not being installed.
81
- */
82
- RCT_EXPORT_METHOD(isBackGroundForEventsEnable: (RCTPromiseResolveBlock) resolve
83
- reject:(RCTPromiseRejectBlock)reject) {
84
-
85
- bool result = [[RookBackGroundSync shared] isBackGroundForEventsEnable];
86
- resolve(@(result));
87
- }
88
-
89
- @end
@@ -1,5 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
-
3
- @interface RookConfigurationModule : NSObject<RCTBridgeModule>
4
-
5
- @end
@@ -1,163 +0,0 @@
1
- #import "RookConfigurationModule.h"
2
- #import "RookSDK/RookSDK-Swift.h"
3
-
4
- @implementation RookConfigurationModule
5
-
6
- RCT_EXPORT_MODULE()
7
-
8
- UserManager* userManager;
9
- RookConnectConfigurationManagerObjc *configShared;
10
-
11
- - (void) checkInstance {
12
- if (userManager == nil) userManager = [UserManager new];
13
- }
14
-
15
- /**
16
- * Enables background sync.
17
- *
18
- * @param resolve A block called upon successfully enabling sync.
19
- * @param reject A block called if an error occurs (not applicable here).
20
- */
21
- RCT_EXPORT_METHOD(enableSync: (RCTPromiseResolveBlock)resolve
22
- reject:(RCTPromiseRejectBlock)reject) {
23
-
24
- [configShared enableSync];
25
- resolve(@(YES));
26
-
27
- }
28
-
29
- /**
30
- * Disable background sync.
31
- *
32
- * @param resolve A block called upon successfully enabling sync.
33
- * @param reject A block called if an error occurs (not applicable here).
34
- */
35
- RCT_EXPORT_METHOD(disableSync: (RCTPromiseResolveBlock)resolve
36
- reject:(RCTPromiseRejectBlock)reject) {
37
-
38
- [configShared disableSync];
39
- resolve(@(YES));
40
- }
41
-
42
- /**
43
- * Checks if background sync is enabled.
44
- *
45
- * @param resolve A block called with a boolean value indicating whether sync is enabled.
46
- * @param reject A block called if an error occurs (not applicable here).
47
- */
48
- RCT_EXPORT_METHOD(isSyncEnable: (RCTPromiseResolveBlock)resolve
49
- reject:(RCTPromiseRejectBlock)reject) {
50
-
51
- bool result = [configShared isSyncEnable];
52
- resolve(@(result));
53
- }
54
-
55
- /**
56
- * Retrieves the user ID from the user manager.
57
- *
58
- * @param resolve A block called with the user ID if the operation is successful.
59
- * @param reject A block called if an error occurs while retrieving the user ID.
60
- */
61
- RCT_EXPORT_METHOD(getUserID: (RCTPromiseResolveBlock)resolve
62
- reject:(RCTPromiseRejectBlock)reject) {
63
- [self checkInstance];
64
-
65
- [userManager readUserIdWithCompletion:^(NSString * _Nullable userID, NSError * _Nullable error) {
66
-
67
- if(error != nil) {
68
- reject(error.description, error.localizedDescription, error);
69
- return;
70
- }
71
-
72
- resolve(userID);
73
-
74
- }];
75
-
76
- }
77
-
78
- /**
79
- * Update the user ID from the user manager.
80
- *
81
- * @param resolve A block called with the user ID if the operation is successful.
82
- * @param reject A block called if an error occurs while retrieving the user ID.
83
- */
84
- RCT_EXPORT_METHOD(updateUserID: (NSString *) userID
85
- resolve:(RCTPromiseResolveBlock)resolve
86
- reject:(RCTPromiseRejectBlock)reject) {
87
- [self checkInstance];
88
-
89
- [userManager updateUserId:userID completion:^(BOOL success, NSError * _Nullable error) {
90
-
91
- if(error != nil) {
92
- reject(error.description, error.localizedDescription, error);
93
- return;
94
- }
95
-
96
- resolve(@(success));
97
- }];
98
-
99
- }
100
-
101
- /**
102
- * Clear the user ID from the user manager.
103
- *
104
- * @param resolve A block called with the user ID if the operation is successful.
105
- * @param reject A block called if an error occurs while retrieving the user ID.
106
- */
107
- RCT_EXPORT_METHOD(clearUserID: (RCTPromiseResolveBlock)resolve
108
- reject:(RCTPromiseRejectBlock)reject) {
109
- [self checkInstance];
110
-
111
- [userManager clearUserWithCompletion:^(BOOL success, NSError * _Nullable error) {
112
- if(error != nil) {
113
- reject(error.description, error.localizedDescription, error);
114
- return;
115
- }
116
-
117
- resolve(@(success));
118
- }];
119
-
120
- }
121
-
122
- /**
123
- * Removes the user ID from the ROOK services.
124
- *
125
- * @param resolve A block called with the user ID if the operation is successful.
126
- * @param reject A block called if an error occurs while retrieving the user ID.
127
- */
128
- RCT_EXPORT_METHOD(removeUserFromRook: (RCTPromiseResolveBlock)resolve
129
- reject:(RCTPromiseRejectBlock)reject) {
130
- [self checkInstance];
131
-
132
- [userManager removeUserFromRookWithCompletion:^(BOOL success, NSError * _Nullable error) {
133
- if(error != nil) {
134
- reject(error.description, error.localizedDescription, error);
135
- return;
136
- }
137
-
138
- resolve(@(success));
139
- }];
140
-
141
- }
142
-
143
- /**
144
- * Synchronizes the user's time zone with the user manager.
145
- *
146
- * @param resolve A block called with a boolean value indicating whether the time zone sync was successful.
147
- * @param reject A block called if an error occurs during the sync process.
148
- */
149
- RCT_EXPORT_METHOD(syncUserTimeZone: (RCTPromiseResolveBlock)resolve
150
- reject:(RCTPromiseRejectBlock)reject) {
151
- [self checkInstance];
152
-
153
- [userManager syncUserTimeZoneWithCompletion:^(BOOL success, NSError * _Nullable error) {
154
- if(error != nil) {
155
- reject(error.description, error.localizedDescription, error);
156
- return;
157
- }
158
-
159
- resolve(@(success));
160
- }];
161
- }
162
-
163
- @end
@@ -1,5 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
-
3
- @interface RookExternalModule: NSObject<RCTBridgeModule>
4
-
5
- @end
@@ -1,27 +0,0 @@
1
- //
2
- // RookExternalModule.m
3
- // react-native-rook-sdk
4
- //
5
- // Created by Javier Villanueva on 10/09/25.
6
- //
7
- #import <Foundation/Foundation.h>
8
- #import <React/RCTBridgeModule.h>
9
-
10
- @interface RCT_EXTERN_MODULE(RookLocalData, NSObject)
11
-
12
- RCT_EXTERN_METHOD(getAppleHealthSleepSummary: (NSString *) date
13
- resolve:(RCTPromiseResolveBlock)resolve
14
- reject:(RCTPromiseRejectBlock)reject)
15
-
16
- RCT_EXTERN_METHOD(getAppleHealthPhysicalSummary: (NSString *) date
17
- resolve:(RCTPromiseResolveBlock)resolve
18
- reject:(RCTPromiseRejectBlock)reject)
19
-
20
- RCT_EXTERN_METHOD(getAppleHealthBodySummary: (NSString *) date
21
- resolve:(RCTPromiseResolveBlock)resolve
22
- reject:(RCTPromiseRejectBlock)reject)
23
-
24
- RCT_EXTERN_METHOD(getAppleHealthActivityEvents: (NSString *) date
25
- resolve:(RCTPromiseResolveBlock)resolve
26
- reject:(RCTPromiseRejectBlock)reject)
27
- @end
@@ -1,152 +0,0 @@
1
- //
2
- // RookLocalData.swift
3
- // react-native-rook-sdk
4
- //
5
- // Created by Javier Villanueva on 10/09/25.
6
- //
7
-
8
- import RookSDK
9
-
10
- @objc(RookLocalData)
11
- public class RookLocalData: NSObject {
12
-
13
- lazy var summaryManager: RookSummaryManager = {
14
- return RookSummaryManager()
15
- }()
16
-
17
- lazy var eventManager: RookEventsManager = {
18
- return RookEventsManager()
19
- }()
20
-
21
- func parseStringToDate(_ input: String) -> Date? {
22
- let dateFormatter = DateFormatter()
23
- dateFormatter.dateFormat = "yyyy-MM-dd"
24
- return dateFormatter.date(from: input)
25
- }
26
-
27
- @objc(getAppleHealthSleepSummary:resolve:reject:)
28
- public func getAppleHealthSleepSummary(
29
- _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
30
- ) {
31
- Task {
32
- do {
33
- guard let parsed = parseStringToDate(date) else {
34
- reject("AppleHealthGetSleepSummaryError", "Invalid date format", nil)
35
- return
36
- }
37
-
38
- let sleepSummaries = try await summaryManager.getSleepSummary(date: parsed)
39
- let dic = sleepSummaries.map { $0.toDictionary() }
40
-
41
- DispatchQueue.main.async {
42
- resolve(dic)
43
- }
44
- } catch {
45
-
46
- DispatchQueue.main.async {
47
- reject("AppleHealthGetSleepSummaryError", error.localizedDescription, error as NSError)
48
- }
49
- }
50
- }
51
- }
52
-
53
- @objc(getAppleHealthPhysicalSummary:resolve:reject:)
54
- public func getAppleHealthPhysicalSummary(
55
- _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
56
- ) {
57
- Task {
58
- do {
59
- guard let parsed = parseStringToDate(date) else {
60
- reject("AppleHealthGetPhysicalSummaryError", "Invalid date format", nil)
61
- return
62
- }
63
-
64
- let physicalSummaries = try await summaryManager.getPhysicalSummary(date: parsed)
65
- let dic = physicalSummaries.toDictionary()
66
-
67
- DispatchQueue.main.async {
68
- resolve(dic)
69
- }
70
-
71
- } catch {
72
-
73
- DispatchQueue.main.async {
74
- reject("AppleHealthGetBodySummaryError", error.localizedDescription, error as NSError)
75
- }
76
- }
77
- }
78
- }
79
-
80
- @objc(getAppleHealthBodySummary:resolve:reject:)
81
- public func getAppleHealthBodySummary(
82
- _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
83
- ) {
84
- Task {
85
- do {
86
- guard let parsed = parseStringToDate(date) else {
87
- reject("AppleHealthGetBodySummaryError", "Invalid date format", nil)
88
- return
89
- }
90
- let bodySummaries = try await summaryManager.getBodySummary(date: parsed)
91
- let dic = bodySummaries.toDictionary()
92
-
93
- DispatchQueue.main.async {
94
- resolve(dic)
95
- }
96
-
97
- } catch {
98
-
99
- DispatchQueue.main.async {
100
- reject("AppleHealthGetBodySummaryError", error.localizedDescription, error as NSError)
101
- }
102
- }
103
- }
104
- }
105
-
106
- @objc(getAppleHealthActivityEvents:resolve:reject:)
107
- public func getAppleHealthActivityEvents(
108
- _ date: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock
109
- ) {
110
- Task {
111
- do {
112
- guard let parsed = parseStringToDate(date) else {
113
- reject("AppleHealthGetActivityEventsError", "Invalid date format", nil)
114
- return
115
- }
116
-
117
- let activityEvents = try await eventManager.getActivityEvents(date: parsed)
118
- let dic = activityEvents.map { $0.toDictionary() }
119
-
120
- DispatchQueue.main.async {
121
- resolve(dic)
122
- }
123
-
124
- } catch {
125
-
126
- DispatchQueue.main.async {
127
- reject("AppleHealthGetActivityEvents", error.localizedDescription, error as NSError)
128
- }
129
- }
130
- }
131
- }
132
-
133
- }
134
-
135
- extension Encodable {
136
- func toDictionary() -> [String: Any] {
137
- let encoder = JSONEncoder()
138
-
139
- let dateFormatter = DateFormatter()
140
- dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
141
-
142
- encoder.dateEncodingStrategy = .formatted(dateFormatter)
143
-
144
- guard let data = try? encoder.encode(self),
145
- let dictionary = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any]
146
- else {
147
- return [:]
148
- }
149
-
150
- return dictionary
151
- }
152
- }
@@ -1,5 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
-
3
- @interface RookPermissionsModule : NSObject<RCTBridgeModule>
4
-
5
- @end