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,9 @@
1
+ export type RookConfig = {
2
+ environment: string;
3
+ clientUUID: string;
4
+ password: string;
5
+ enableLogs: boolean;
6
+ enableEventsBackgroundSync: boolean;
7
+ enableBackground: boolean;
8
+ };
9
+ //# sourceMappingURL=Rook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rook.d.ts","sourceRoot":"","sources":["../../../../src/types/Rook.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,0BAA0B,EAAE,OAAO,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum SamsungHealthPermission {
2
2
  ACTIVITY_SUMMARY = "ACTIVITY_SUMMARY",
3
+ BODY_TEMPERATURE = "BODY_TEMPERATURE",
3
4
  BLOOD_GLUCOSE = "BLOOD_GLUCOSE",
4
5
  BLOOD_OXYGEN = "BLOOD_OXYGEN",
5
6
  BLOOD_PRESSURE = "BLOOD_PRESSURE",
@@ -1 +1 @@
1
- {"version":3,"file":"SamsungHealthPermissions.d.ts","sourceRoot":"","sources":["../../../../src/types/SamsungHealthPermissions.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB;IACjC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,YAAY,iBAAiB;CAC9B"}
1
+ {"version":3,"file":"SamsungHealthPermissions.d.ts","sourceRoot":"","sources":["../../../../src/types/SamsungHealthPermissions.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB;IACjC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,YAAY,iBAAiB;CAC9B"}
@@ -6,8 +6,8 @@ export type SyncParams = {
6
6
  };
7
7
  export type SyncEventParams = {
8
8
  date: string;
9
- event: SyncEventType;
10
9
  sources: SDKDataSource[];
10
+ event: SharedHealthEvents | UniqueAppleHealthEvents | UniqueSamsungHealthEvents | UniqueHealthConnectEvents;
11
11
  };
12
12
  export type SyncSummaryType = 'sleep' | 'body' | 'physical';
13
13
  export type SyncResult = {
@@ -15,14 +15,37 @@ export type SyncResult = {
15
15
  appleHealth?: SyncSourceResult;
16
16
  samsungHealth?: SyncSourceResult;
17
17
  };
18
+ export type RookError = {
19
+ code: string;
20
+ message: string;
21
+ };
18
22
  export type SyncSourceResult = {
19
23
  status: boolean;
20
24
  error: Error | {
21
25
  domain: string;
22
- };
26
+ } | RookError;
23
27
  };
24
28
  export type Callback = (result: SyncResult) => void;
25
- type SyncEventType = 'activity' | 'blood_glucose' | 'blood_pressure' | 'body_metrics' | 'heart_rate' | 'hydration' | 'nutrition' | 'oxygenation' | 'temperature' | 'steps' | 'calories';
26
- export type SyncIOSEventType = 'activityEvent' | 'heartRate' | 'oxygenation' | 'temperature' | 'bloodPressure' | 'bloodGlucose' | 'bodyMetrics';
27
- export {};
29
+ export declare enum SharedHealthEvents {
30
+ ACTIVITY = "ACTIVITY",
31
+ HEART_RATE = "HEART_RATE",
32
+ OXYGENATION = "OXYGENATION",
33
+ BLOOD_PRESSURE = "BLOOD_PRESSURE",
34
+ BLOOD_GLUCOSE = "BLOOD_GLUCOSE",
35
+ CALORIES = "CALORIES",
36
+ STEPS = "STEPS",
37
+ BODY_METRICS = "BODY_METRICS"
38
+ }
39
+ export declare enum UniqueHealthConnectEvents {
40
+ TEMPERATURE = "TEMPERATURE",
41
+ HYDRATION = "HYDRATION",
42
+ NUTRITION = "NUTRITION"
43
+ }
44
+ export declare enum UniqueSamsungHealthEvents {
45
+ HYDRATION = "HYDRATION",
46
+ NUTRITION = "NUTRITION"
47
+ }
48
+ export declare enum UniqueAppleHealthEvents {
49
+ TEMPERATURE = "TEMPERATURE"
50
+ }
28
51
  //# sourceMappingURL=SyncTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncTypes.d.ts","sourceRoot":"","sources":["../../../../src/types/SyncTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;AAEpD,KAAK,aAAa,GACd,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,WAAW,GACX,aAAa,GACb,aAAa,GACb,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,WAAW,GACX,aAAa,GACb,aAAa,GACb,eAAe,GACf,cAAc,GACd,aAAa,CAAC"}
1
+ {"version":3,"file":"SyncTypes.d.ts","sourceRoot":"","sources":["../../../../src/types/SyncTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,KAAK,EACD,kBAAkB,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;AAEpD,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,YAAY,iBAAiB;CAC9B;AAED,oBAAY,yBAAyB;IACnC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,yBAAyB;IACnC,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,uBAAuB;IACjC,WAAW,gBAAgB;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"isModuleReady.d.ts","sourceRoot":"","sources":["../../../../src/utils/isModuleReady.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,IAM9C,CAAC"}
1
+ {"version":3,"file":"isModuleReady.d.ts","sourceRoot":"","sources":["../../../../src/utils/isModuleReady.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,IAM9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"isValidDate.d.ts","sourceRoot":"","sources":["../../../../src/utils/isValidDate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,SAQvC,CAAC"}
1
+ {"version":3,"file":"isValidDate.d.ts","sourceRoot":"","sources":["../../../../src/utils/isValidDate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,SAQvC,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,25 @@
1
1
  {
2
2
  "name": "react-native-rook-sdk",
3
- "version": "2.1.2",
4
- "description": "Rook sdk for apple health and health connect",
5
- "main": "lib/commonjs/index",
6
- "module": "lib/module/index",
7
- "types": "lib/typescript/src/index.d.ts",
3
+ "version": "4.0.0-beta.0",
4
+ "description": "Extract health data from health connect, apple health and samsung health to transform to a RookScore",
5
+ "main": "./lib/module/index.js",
6
+ "types": "./lib/typescript/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.tsx",
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
8
15
  "files": [
16
+ "src",
9
17
  "lib",
10
18
  "android",
11
19
  "ios",
12
20
  "cpp",
13
21
  "*.podspec",
22
+ "react-native.config.js",
14
23
  "!ios/build",
15
24
  "!android/build",
16
25
  "!android/gradle",
@@ -24,14 +33,12 @@
24
33
  ],
25
34
  "scripts": {
26
35
  "example": "yarn workspace react-native-rook-sdk-example",
27
- "test": "jest",
28
- "typecheck": "tsc --noEmit",
29
- "lint": "eslint \"**/*.{js,ts,tsx}\"",
30
36
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
31
37
  "prepare": "bob build",
32
- "release": "release-it",
33
- "prepare-deploy": "node prepare-deploy.js",
34
- "check-status": "git status && git stash"
38
+ "typecheck": "tsc",
39
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
40
+ "test": "jest",
41
+ "release": "release-it --only-version"
35
42
  },
36
43
  "keywords": [
37
44
  "react-native",
@@ -40,43 +47,41 @@
40
47
  ],
41
48
  "repository": {
42
49
  "type": "git",
43
- "url": "git+https://docs.tryrook.io/docs/category/reactnative.git"
50
+ "url": "git+https://github.com/RookeriesDevelopment/react_native_rook_sdk_demo_app/react-native-rook-sdk.git"
44
51
  },
45
- "author": "Rook <javier.villanueva@tryrook.io> (https://www.tryrook.io)",
52
+ "author": "ROOK <javier.villanueva@tryrook.io> (https://github.com/RookeriesDevelopment/react_native_rook_sdk_demo_app)",
46
53
  "license": "MIT",
47
54
  "bugs": {
48
- "url": "https://docs.tryrook.io/docs/category/reactnative/issues"
55
+ "url": "https://github.com/RookeriesDevelopment/react_native_rook_sdk_demo_app/react-native-rook-sdk/issues"
49
56
  },
50
- "homepage": "https://docs.tryrook.io/docs/category/reactnative#readme",
57
+ "homepage": "https://github.com/RookeriesDevelopment/react_native_rook_sdk_demo_app/react-native-rook-sdk#readme",
51
58
  "publishConfig": {
52
59
  "registry": "https://registry.npmjs.org/"
53
60
  },
54
61
  "devDependencies": {
55
- "@commitlint/config-conventional": "17.0.2",
56
- "@evilmartians/lefthook": "1.5.0",
57
- "@react-native/eslint-config": "0.73.1",
58
- "@release-it/conventional-changelog": "5.0.0",
59
- "@testing-library/react-native": "12.4.5",
60
- "@types/jest": "29.5.5",
61
- "@types/react": "18.2.44",
62
- "commitlint": "17.0.2",
63
- "cz-conventional-changelog": "3.3.0",
64
- "del-cli": "5.1.0",
65
- "eslint": "8.51.0",
66
- "eslint-config-prettier": "9.0.0",
67
- "eslint-plugin-prettier": "5.0.1",
68
- "jest": "29.7.0",
69
- "prettier": "3.0.3",
70
- "react": "18.2.0",
71
- "react-native": "0.73.6",
72
- "react-native-builder-bob": "0.23.2",
73
- "react-test-renderer": "18.2.0",
74
- "release-it": "15.0.0",
75
- "turbo": "1.10.7",
76
- "typescript": "5.2.2"
77
- },
78
- "resolutions": {
79
- "@types/react": "18.2.44"
62
+ "@commitlint/config-conventional": "^19.8.1",
63
+ "@eslint/compat": "^1.3.2",
64
+ "@eslint/eslintrc": "^3.3.1",
65
+ "@eslint/js": "^9.35.0",
66
+ "@react-native/babel-preset": "0.83.0",
67
+ "@react-native/eslint-config": "0.83.0",
68
+ "@release-it/conventional-changelog": "^10.0.1",
69
+ "@types/jest": "^29.5.14",
70
+ "@types/react": "^19.2.0",
71
+ "commitlint": "^19.8.1",
72
+ "del-cli": "^6.0.0",
73
+ "eslint": "^9.35.0",
74
+ "eslint-config-prettier": "^10.1.8",
75
+ "eslint-plugin-prettier": "^5.5.4",
76
+ "jest": "^29.7.0",
77
+ "lefthook": "^2.0.3",
78
+ "prettier": "3.0.0",
79
+ "react": "19.2.0",
80
+ "react-native": "0.83.0",
81
+ "react-native-builder-bob": "^0.40.17",
82
+ "release-it": "^19.0.4",
83
+ "turbo": "^2.5.6",
84
+ "typescript": "^5.9.2"
80
85
  },
81
86
  "peerDependencies": {
82
87
  "react": "*",
@@ -85,15 +90,45 @@
85
90
  "workspaces": [
86
91
  "example"
87
92
  ],
88
- "packageManager": "yarn@3.6.1",
93
+ "packageManager": "yarn@4.11.0",
94
+ "react-native-builder-bob": {
95
+ "source": "src",
96
+ "output": "lib",
97
+ "targets": [
98
+ [
99
+ "module",
100
+ {
101
+ "esm": true
102
+ }
103
+ ],
104
+ [
105
+ "typescript",
106
+ {
107
+ "project": "tsconfig.build.json"
108
+ }
109
+ ]
110
+ ]
111
+ },
112
+ "codegenConfig": {
113
+ "name": "RookSdkSpec",
114
+ "type": "modules",
115
+ "jsSrcsDir": "src",
116
+ "android": {
117
+ "javaPackageName": "com.rooksdk"
118
+ }
119
+ },
120
+ "prettier": {
121
+ "quoteProps": "consistent",
122
+ "singleQuote": true,
123
+ "tabWidth": 2,
124
+ "trailingComma": "es5",
125
+ "useTabs": false
126
+ },
89
127
  "jest": {
90
128
  "preset": "react-native",
91
129
  "modulePathIgnorePatterns": [
92
130
  "<rootDir>/example/node_modules",
93
131
  "<rootDir>/lib/"
94
- ],
95
- "setupFilesAfterEnv": [
96
- "<rootDir>/src/__mocks__/jest-mocks.js"
97
132
  ]
98
133
  },
99
134
  "commitlint": {
@@ -103,71 +138,32 @@
103
138
  },
104
139
  "release-it": {
105
140
  "git": {
106
- "commit": true,
107
- "tag": true,
108
- "commitMessage": "chore: release pipeline ${version}",
109
- "tagName": "v${version}",
110
- "push": true
141
+ "commitMessage": "chore: release ${version}",
142
+ "tagName": "v${version}"
111
143
  },
112
144
  "npm": {
113
145
  "publish": true
114
146
  },
115
147
  "github": {
116
- "release": false
148
+ "release": true
117
149
  },
118
150
  "plugins": {
119
151
  "@release-it/conventional-changelog": {
120
- "preset": "angular"
152
+ "preset": {
153
+ "name": "angular"
154
+ }
121
155
  }
122
156
  }
123
157
  },
124
- "eslintConfig": {
125
- "root": true,
126
- "extends": [
127
- "@react-native",
128
- "prettier"
158
+ "create-react-native-library": {
159
+ "type": "turbo-module",
160
+ "languages": "kotlin-objc",
161
+ "tools": [
162
+ "eslint",
163
+ "jest",
164
+ "lefthook",
165
+ "release-it"
129
166
  ],
130
- "rules": {
131
- "prettier/prettier": [
132
- "error",
133
- {
134
- "quoteProps": "consistent",
135
- "singleQuote": true,
136
- "tabWidth": 2,
137
- "trailingComma": "es5",
138
- "useTabs": false
139
- }
140
- ]
141
- }
142
- },
143
- "eslintIgnore": [
144
- "node_modules/",
145
- "lib/"
146
- ],
147
- "prettier": {
148
- "quoteProps": "consistent",
149
- "singleQuote": true,
150
- "tabWidth": 2,
151
- "trailingComma": "es5",
152
- "useTabs": false
153
- },
154
- "react-native-builder-bob": {
155
- "source": "src",
156
- "output": "lib",
157
- "targets": [
158
- "commonjs",
159
- "module",
160
- [
161
- "typescript",
162
- {
163
- "project": "tsconfig.build.json"
164
- }
165
- ]
166
- ]
167
- },
168
- "config": {
169
- "commitizen": {
170
- "path": "./node_modules/cz-conventional-changelog"
171
- }
167
+ "version": "0.56.0"
172
168
  }
173
169
  }
@@ -0,0 +1,282 @@
1
+ import type { TurboModule, CodegenTypes } from 'react-native';
2
+ import { TurboModuleRegistry, NativeModules } from 'react-native';
3
+
4
+ type RookConfig = {
5
+ environment: string;
6
+ clientUUID: string;
7
+ password: string;
8
+ enableLogs: boolean;
9
+ enableEventsBackgroundSync: boolean;
10
+ enableBackground: boolean;
11
+ };
12
+
13
+ enum APIDataSource {
14
+ GARMIN = 'Garmin',
15
+ OURA = 'Oura',
16
+ POLAR = 'Polar',
17
+ FITBIT = 'Fitbit',
18
+ WITHINGS = 'Withings',
19
+ WHOOP = 'Whoop',
20
+ }
21
+
22
+ type DataSourceProps = {
23
+ userID: string;
24
+ dataSource: APIDataSource;
25
+ redirectURL?: string;
26
+ };
27
+
28
+ type DataSourceAuthorizer = {
29
+ dataSource: string;
30
+ authorized: boolean;
31
+ authorizationUrl?: string;
32
+ };
33
+
34
+ type AuthorizedSource = {
35
+ name: string;
36
+ imageUrl: string;
37
+ authorized: boolean;
38
+ };
39
+
40
+ enum SDKDataSource {
41
+ HEALTH_CONNECT = 'HEALTH_CONNECT',
42
+ SAMSUNG_HEALTH = 'SAMSUNG_HEALTH',
43
+ APPLE_HEALTH = 'APPLE_HEALTH',
44
+ }
45
+
46
+ type RequestStatusPermissions = 'REQUEST_SENT' | 'ALREADY_GRANTED';
47
+
48
+ type BackgroundStatus =
49
+ | 'UNAVAILABLE'
50
+ | 'PERMISSION_NOT_GRANTED'
51
+ | 'PERMISSION_GRANTED';
52
+
53
+ type CheckAvailabilityResponse =
54
+ | 'INSTALLED'
55
+ | 'NOT_INSTALLED'
56
+ | 'DISABLED'
57
+ | 'NOT_READY'
58
+ | 'OUTDATED'
59
+ | 'NOT_SUPPORTED';
60
+
61
+ type PermissionStatus =
62
+ | 'PERMISSION_NOT_REQUESTED'
63
+ | 'PERMISSION_INDETERMINATE'
64
+ | 'PERMISSION_GRANTED';
65
+
66
+ enum SamsungHealthPermission {
67
+ ACTIVITY_SUMMARY = 'ACTIVITY_SUMMARY',
68
+ BODY_TEMPERATURE = 'BODY_TEMPERATURE',
69
+ BLOOD_GLUCOSE = 'BLOOD_GLUCOSE',
70
+ BLOOD_OXYGEN = 'BLOOD_OXYGEN',
71
+ BLOOD_PRESSURE = 'BLOOD_PRESSURE',
72
+ BODY_COMPOSITION = 'BODY_COMPOSITION',
73
+ EXERCISE = 'EXERCISE',
74
+ EXERCISE_LOCATION = 'EXERCISE_LOCATION',
75
+ FLOORS_CLIMBED = 'FLOORS_CLIMBED',
76
+ HEART_RATE = 'HEART_RATE',
77
+ NUTRITION = 'NUTRITION',
78
+ SLEEP = 'SLEEP',
79
+ STEPS = 'STEPS',
80
+ WATER_INTAKE = 'WATER_INTAKE',
81
+ }
82
+
83
+ enum AppleHealthPermission {
84
+ APPLE_EXERCISE_TIME = 'appleExerciseTime',
85
+ APPLE_MOVE_TIME = 'appleMoveTime',
86
+ APPLE_STAND_TIME = 'appleStandTime',
87
+ BASAL_ENERGY_BURNED = 'basalEnergyBurned',
88
+ ACTIVE_ENERGY_BURNED = 'activeEnergyBurned',
89
+ STEP_COUNT = 'stepCount',
90
+ DISTANCE_CYCLING = 'distanceCycling',
91
+ DISTANCE_WALKING_RUNNING = 'distanceWalkingRunning',
92
+ DISTANCE_SWIMMING = 'distanceSwimming',
93
+ SWIMMING_STROKE_COUNT = 'swimmingStrokeCount',
94
+ FLIGHTS_CLIMBED = 'flightsClimbed',
95
+ WALKING_SPEED = 'walkingSpeed',
96
+ WALKING_STEP_LENGTH = 'walkingStepLength',
97
+ RUNNING_POWER = 'runningPower',
98
+ RUNNING_SPEED = 'runningSpeed',
99
+ HEIGHT = 'height',
100
+ BODY_MASS = 'bodyMass',
101
+ BODY_MASS_INDEX = 'bodyMassIndex',
102
+ WAIST_CIRCUMFERENCE = 'waistCircumference',
103
+ BODY_FAT_PERCENTAGE = 'bodyFatPercentage',
104
+ BODY_TEMPERATURE = 'bodyTemperature',
105
+ BASAL_BODY_TEMPERATURE = 'basalBodyTemperature',
106
+ APPLE_SLEEPING_WRIST_TEMPERATURE = 'appleSleepingWristTemperature',
107
+ HEART_RATE = 'heartRate',
108
+ RESTING_HEART_RATE = 'restingHeartRate',
109
+ WALKING_HEART_RATE_AVERAGE = 'walkingHeartRateAverage',
110
+ HEART_RATE_VARIABILITY_SDNN = 'heartRateVariabilitySDNN',
111
+ ELECTROCARDIOGRAM = 'electrocardiogram',
112
+ WORKOUT = 'workout',
113
+ SLEEP_ANALYSIS = 'sleepAnalysis',
114
+ VO2_MAX = 'vo2Max',
115
+ OXYGEN_SATURATION = 'oxygenSaturation',
116
+ RESPIRATORY_RATE = 'respiratoryRate',
117
+ UV_EXPOSURE = 'uvExposure',
118
+ BIOLOGICAL_SEX = 'biologicalSex',
119
+ DATE_OF_BIRTH = 'dateOfBirth',
120
+ BLOOD_PRESSURE_SYSTOLIC = 'bloodPressureSystolic',
121
+ BLOOD_PRESSURE_DIASTOLIC = 'bloodPressureDiastolic',
122
+ BLOOD_GLUCOSE = 'bloodGlucose',
123
+ DIETARY_ENERGY_CONSUMED = 'dietaryEnergyConsumed',
124
+ DIETARY_PROTEIN = 'dietaryProtein',
125
+ DIETARY_SUGAR = 'dietarySugar',
126
+ DIETARY_FAT_TOTAL = 'dietaryFatTotal',
127
+ DIETARY_CARBOHYDRATES = 'dietaryCarbohydrates',
128
+ DIETARY_FIBER = 'dietaryFiber',
129
+ DIETARY_SODIUM = 'dietarySodium',
130
+ DIETARY_CHOLESTEROL = 'dietaryCholesterol',
131
+ }
132
+
133
+ type Calories = {
134
+ active: number;
135
+ basal: number;
136
+ };
137
+
138
+ type RookError = {
139
+ code: string;
140
+ message: string;
141
+ };
142
+
143
+ type Message = {
144
+ type: string;
145
+ value: boolean;
146
+ message?: string;
147
+ };
148
+
149
+ export interface Spec extends TurboModule {
150
+ initRook: (options: RookConfig) => Promise<boolean>;
151
+
152
+ // API Sources
153
+ revokeDataSource: (userid: string, type: APIDataSource) => Promise<boolean>;
154
+ getDataSourceAuthorizer: (
155
+ props: DataSourceProps
156
+ ) => Promise<DataSourceAuthorizer>;
157
+ getAuthorizedDataSourcesV2: (userid: string) => Promise<AuthorizedSource[]>;
158
+
159
+ // Configuration
160
+ getUserID: () => Promise<string>;
161
+ updateUserID: (userID: string) => Promise<boolean>;
162
+ removeUserFromRook: (sources: SDKDataSource[]) => Promise<boolean>;
163
+ syncUserTimeZone: () => Promise<boolean>;
164
+
165
+ // bg android steps
166
+ isStepsAvailable: () => Promise<boolean>;
167
+ enableBackgroundAndroidSteps: () => Promise<boolean>;
168
+ disableBackgroundAndroidSteps: () => Promise<boolean>;
169
+ isBackgroundAndroidStepsActive: () => Promise<boolean>;
170
+ syncTodayAndroidStepsCount: () => Promise<string>;
171
+ syncTodayHealthConnectStepsCount: () => Promise<string>;
172
+
173
+ //Apple health hook
174
+ enableBackGroundUpdates: () => Promise<boolean>;
175
+ disableBackGroundUpdates: () => Promise<boolean>;
176
+ isBackgroundUpdatesEnabled: () => Promise<boolean>;
177
+
178
+ // Permissions
179
+ checkHealthConnectAvailability: () => Promise<CheckAvailabilityResponse>;
180
+ checkSamsungAvailability: () => Promise<CheckAvailabilityResponse>;
181
+ healthConnectHasPermissions: () => Promise<boolean>;
182
+ healthConnectHasPartialPermissions: () => Promise<boolean>;
183
+ appleHealthHasPermissions: (
184
+ param: AppleHealthPermission
185
+ ) => Promise<PermissionStatus>;
186
+ samsungHealthHasPermissions: () => Promise<boolean>;
187
+ samsungHealthHasPartialPermissions: () => Promise<boolean>;
188
+ requestHealthConnectPermissions: () => Promise<RequestStatusPermissions>;
189
+ requestAppleHealthPermissions: (
190
+ permissions?: AppleHealthPermission[]
191
+ ) => Promise<boolean>;
192
+ requestSamsungHealthPermissions: (
193
+ permissions?: SamsungHealthPermission[]
194
+ ) => Promise<RequestStatusPermissions>;
195
+ openAppleHealthSettings: () => Promise<void>;
196
+ openHealthConnectSettings: () => Promise<void>;
197
+ requestAndroidBackgroundPermissions: () => Promise<RequestStatusPermissions>;
198
+ androidHasBackgroundPermissions: () => Promise<boolean>;
199
+ checkHealthConnectBackgroundReadStatus: () => Promise<BackgroundStatus>;
200
+ revokeHealthConnectPermissions: () => Promise<boolean>;
201
+
202
+ // Local data any in the response to avoid paste the complete object
203
+ getAppleHealthSleepSummary: (date: string) => Promise<any[]>;
204
+ getHealthConnectSleepSummary: (date: string) => Promise<string>;
205
+ getSamsungSleepSummary: (date: string) => Promise<string>;
206
+
207
+ getAppleHealthBodySummary: (date: string) => Promise<any>;
208
+ getHealthConnectBodySummary: (date: string) => Promise<string>;
209
+ getSamsungBodySummary: (date: string) => Promise<string>;
210
+
211
+ getAppleHealthPhysicalSummary: (date: string) => Promise<any>;
212
+ getHealthConnectPhysicalSummary: (date: string) => Promise<string>;
213
+ getSamsungPhysicalSummary: (date: string) => Promise<string>;
214
+
215
+ getAppleHealthActivityEvents: (date: string) => Promise<any[]>;
216
+ getHealthConnectActivityEvents: (date: string) => Promise<string>;
217
+ getSamsungActivityEvents: (date: string) => Promise<string>;
218
+
219
+ getTodayHeartRate: () => Promise<any>;
220
+
221
+ // samsung hook
222
+ enableSamsungSync: () => Promise<boolean>;
223
+ disableSamsungSync: () => Promise<boolean>;
224
+ isSamsungSyncEnabled: () => Promise<boolean>;
225
+
226
+ // health connect hook
227
+ scheduleBackgroundSync: (enableLogs: boolean) => Promise<boolean>;
228
+ cancelBackgroundSync: () => Promise<boolean>;
229
+ isBackgroundSyncEnabled: () => Promise<boolean>;
230
+
231
+ // variables
232
+ syncTodaySamsungHealthStepsCount: () => Promise<string>;
233
+ getTodayAppleHealthSteps: () => Promise<string>;
234
+ syncTodayCaloriesCount: () => Promise<Calories>;
235
+ syncSHTodayCaloriesCount: () => Promise<Calories>;
236
+
237
+ // sync
238
+ sync: (cb: (error: RookError, result: boolean) => void) => void;
239
+ syncByDate: (
240
+ date: string,
241
+ cb: (error: RookError, result: boolean) => void
242
+ ) => void;
243
+ syncByDefinition: (
244
+ summary: string,
245
+ date: string,
246
+ cb: (error: RookError, result: boolean) => void
247
+ ) => void;
248
+ syncEvent: (date: string, event: string) => Promise<any>;
249
+
250
+ shSync: (
251
+ enableLogs: boolean,
252
+ cb: (error: RookError, result: boolean) => void
253
+ ) => void;
254
+ shSyncByDate: (
255
+ date: string,
256
+ cb: (error: RookError, result: boolean) => void
257
+ ) => void;
258
+ shSyncByDefinition: (
259
+ summary: string,
260
+ date: string,
261
+ cb: (error: RookError, result: boolean) => void
262
+ ) => void;
263
+ shSyncEvent: (date: string, event: string) => Promise<any>;
264
+
265
+ // Notifications
266
+ sendMessage: (message: Message) => Promise<boolean>;
267
+ readonly onRookMessage: CodegenTypes.EventEmitter<Message>;
268
+ }
269
+ const MODULE_NAME = 'RNRookSdk';
270
+ const turboModule = TurboModuleRegistry.get<Spec>(MODULE_NAME);
271
+
272
+ console.log({ exists: turboModule !== null });
273
+
274
+ const RookSdk = turboModule ? turboModule : NativeModules[MODULE_NAME];
275
+
276
+ if (!RookSdk) {
277
+ throw new Error(
278
+ 'RNRookSdk module not found. Ensure you have linked the library and rebuilt the app.'
279
+ );
280
+ }
281
+
282
+ export default RookSdk;