react-native-rook-sdk 4.0.0-beta.2 → 4.1.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 (339) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -35
  3. package/android/build.gradle +45 -20
  4. package/android/gradle.properties +5 -5
  5. package/android/src/main/AndroidManifest.xml +2 -1
  6. package/android/src/main/AndroidManifestNew.xml +36 -0
  7. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +263 -11
  8. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +42 -26
  9. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +65 -0
  10. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +70 -0
  11. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +52 -0
  12. package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +99 -0
  13. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +182 -0
  14. package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +301 -0
  15. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +382 -0
  16. package/android/src/main/java/com/rooksdk/modules/RookSourcesModule.kt +102 -0
  17. package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +189 -0
  18. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +551 -0
  19. package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +34 -0
  20. package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +21 -0
  21. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +145 -0
  22. package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +26 -0
  23. package/android/src/main/java/com/rooksdk/utils/RookGsonBuilder.kt +17 -0
  24. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +21 -0
  25. package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
  26. package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +41 -0
  27. package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +19 -0
  28. package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +21 -0
  29. package/android/src/main/res/drawable/ic_health_connect.xml +19 -0
  30. package/android/src/main/res/values/themes.xml +3 -0
  31. package/ios/DateHelper.swift +4 -4
  32. package/ios/EncodableDataSource.swift +3 -2
  33. package/ios/EncodableDataSourceAuthorizer.swift +3 -2
  34. package/ios/{HearRateMapper.swift → EncodableHeartRate.swift} +3 -3
  35. package/ios/EncodableRookDataSource.swift +36 -0
  36. package/ios/EncodableSDKState.swift +94 -0
  37. package/ios/EncodableStatusDataSources.swift +47 -0
  38. package/ios/NutritionMapper.swift +114 -0
  39. package/ios/RookBackground.swift +8 -5
  40. package/ios/RookBackgroundModule.h +5 -0
  41. package/ios/RookBackgroundModule.mm +15 -0
  42. package/ios/RookConfiguration.swift +34 -24
  43. package/ios/RookConfigurationModule.h +5 -0
  44. package/ios/RookConfigurationModule.mm +22 -0
  45. package/ios/RookExternalModule.h +5 -0
  46. package/ios/RookExternalModule.m +31 -0
  47. package/ios/{RookData.swift → RookLocalData.swift} +70 -48
  48. package/ios/RookPermissions.swift +33 -5
  49. package/ios/RookPermissionsModule.h +5 -0
  50. package/ios/RookPermissionsModule.mm +20 -0
  51. package/ios/RookSdk.h +2 -14
  52. package/ios/RookSdk.mm +97 -546
  53. package/ios/RookSources.swift +54 -60
  54. package/ios/RookSourcesModule.h +5 -0
  55. package/ios/RookSourcesModule.mm +18 -0
  56. package/ios/RookSync.h +5 -0
  57. package/ios/RookSync.m +35 -0
  58. package/ios/RookSync.swift +78 -48
  59. package/ios/SwiftTest.swift +18 -0
  60. package/ios/react-native-rook-sdk-Bridging-Header.h +12 -0
  61. package/{src/context/RookSyncGateContext.ts → lib/commonjs/context/RookSyncGateContext.js} +13 -10
  62. package/lib/commonjs/context/RookSyncGateContext.js.map +1 -0
  63. package/lib/commonjs/context/RookSyncGateProvider.js +108 -0
  64. package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -0
  65. package/{src/context/RookSyncGateReducer.ts → lib/commonjs/context/RookSyncGateReducer.js} +44 -13
  66. package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -0
  67. package/lib/commonjs/context/RookSyncGateTypes.js +6 -0
  68. package/lib/commonjs/context/RookSyncGateTypes.js.map +1 -0
  69. package/lib/commonjs/context/index.js +14 -0
  70. package/lib/commonjs/context/index.js.map +1 -0
  71. package/lib/commonjs/hooks/index.js +83 -0
  72. package/lib/commonjs/hooks/index.js.map +1 -0
  73. package/{src/hooks/useRookAPISources.ts → lib/commonjs/hooks/useRookAPISources.js} +36 -40
  74. package/lib/commonjs/hooks/useRookAPISources.js.map +1 -0
  75. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +88 -0
  76. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -0
  77. package/lib/commonjs/hooks/useRookAndroidStepCounter.js +56 -0
  78. package/lib/commonjs/hooks/useRookAndroidStepCounter.js.map +1 -0
  79. package/lib/commonjs/hooks/useRookAppleHealth.js +63 -0
  80. package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -0
  81. package/lib/commonjs/hooks/useRookConfiguration.js +113 -0
  82. package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -0
  83. package/lib/commonjs/hooks/useRookData.js +116 -0
  84. package/lib/commonjs/hooks/useRookData.js.map +1 -0
  85. package/lib/commonjs/hooks/useRookHealthConnect.js +70 -0
  86. package/lib/commonjs/hooks/useRookHealthConnect.js.map +1 -0
  87. package/lib/commonjs/hooks/useRookPermissions.js +223 -0
  88. package/lib/commonjs/hooks/useRookPermissions.js.map +1 -0
  89. package/lib/commonjs/hooks/useRookSamsungHealth.js +54 -0
  90. package/lib/commonjs/hooks/useRookSamsungHealth.js.map +1 -0
  91. package/lib/commonjs/hooks/useRookSync.js +148 -0
  92. package/lib/commonjs/hooks/useRookSync.js.map +1 -0
  93. package/lib/commonjs/hooks/useRookVariables.js +93 -0
  94. package/lib/commonjs/hooks/useRookVariables.js.map +1 -0
  95. package/lib/commonjs/index.js +121 -0
  96. package/lib/commonjs/index.js.map +1 -0
  97. package/lib/commonjs/modules/hook/useRookAutoSync.js +261 -0
  98. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -0
  99. package/lib/commonjs/modules/types/sendMessageBroadcast.js +2 -0
  100. package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +1 -0
  101. package/lib/commonjs/modules/utils/errors.js +12 -0
  102. package/lib/commonjs/modules/utils/errors.js.map +1 -0
  103. package/lib/commonjs/types/ActivityEvent.js +6 -0
  104. package/lib/commonjs/types/ActivityEvent.js.map +1 -0
  105. package/lib/commonjs/types/AppleHealthNutritionEvent.js +77 -0
  106. package/lib/commonjs/types/AppleHealthNutritionEvent.js.map +1 -0
  107. package/lib/commonjs/types/AppleHealthPermissions.js +57 -0
  108. package/lib/commonjs/types/AppleHealthPermissions.js.map +1 -0
  109. package/lib/commonjs/types/AuthorizedSources.js +6 -0
  110. package/lib/commonjs/types/AuthorizedSources.js.map +1 -0
  111. package/lib/commonjs/types/BodySummary.js +6 -0
  112. package/lib/{module/types/Rook.js.map → commonjs/types/BodySummary.js.map} +1 -1
  113. package/lib/commonjs/types/DataSource.js +16 -0
  114. package/lib/commonjs/types/DataSource.js.map +1 -0
  115. package/lib/commonjs/types/DiagnosticState.js +2 -0
  116. package/lib/commonjs/types/DiagnosticState.js.map +1 -0
  117. package/lib/commonjs/types/HCMealData.js +65 -0
  118. package/lib/commonjs/types/HCMealData.js.map +1 -0
  119. package/lib/commonjs/types/HeartRateEvent.js +2 -0
  120. package/lib/commonjs/types/HeartRateEvent.js.map +1 -0
  121. package/lib/commonjs/types/PermissionsType.js +2 -0
  122. package/lib/commonjs/types/PermissionsType.js.map +1 -0
  123. package/lib/commonjs/types/PhysicalSummary.js +6 -0
  124. package/lib/commonjs/types/PhysicalSummary.js.map +1 -0
  125. package/lib/commonjs/types/SDKSources.js +13 -0
  126. package/lib/commonjs/types/SDKSources.js.map +1 -0
  127. package/lib/commonjs/types/SamsungHealthPermissions.js +23 -0
  128. package/lib/commonjs/types/SamsungHealthPermissions.js.map +1 -0
  129. package/lib/commonjs/types/SleepSummary.js +6 -0
  130. package/lib/commonjs/types/SleepSummary.js.map +1 -0
  131. package/lib/commonjs/types/SummaryTypes.js +2 -0
  132. package/lib/commonjs/types/SummaryTypes.js.map +1 -0
  133. package/lib/commonjs/types/SyncTypes.js +33 -0
  134. package/lib/commonjs/types/SyncTypes.js.map +1 -0
  135. package/lib/commonjs/types/WriteNutrition.js +18 -0
  136. package/lib/commonjs/types/WriteNutrition.js.map +1 -0
  137. package/lib/commonjs/utils/getNativeModule.js +29 -0
  138. package/lib/commonjs/utils/getNativeModule.js.map +1 -0
  139. package/lib/commonjs/utils/getRookModule.js +28 -0
  140. package/lib/commonjs/utils/getRookModule.js.map +1 -0
  141. package/{src/utils/isModuleReady.ts → lib/commonjs/utils/isModuleReady.js} +10 -4
  142. package/lib/commonjs/utils/isModuleReady.js.map +1 -0
  143. package/lib/commonjs/utils/isRunningOnAndroid.js +15 -0
  144. package/lib/commonjs/utils/isRunningOnAndroid.js.map +1 -0
  145. package/lib/commonjs/utils/isRunningOniOS.js +15 -0
  146. package/lib/commonjs/utils/isRunningOniOS.js.map +1 -0
  147. package/lib/commonjs/utils/isValidDate.js +41 -0
  148. package/lib/commonjs/utils/isValidDate.js.map +1 -0
  149. package/lib/commonjs/utils/nativeModules.js +29 -0
  150. package/lib/commonjs/utils/nativeModules.js.map +1 -0
  151. package/lib/commonjs/utils/packageInfo.js +13 -0
  152. package/lib/commonjs/utils/packageInfo.js.map +1 -0
  153. package/lib/module/context/RookSyncGateContext.js +0 -2
  154. package/lib/module/context/RookSyncGateContext.js.map +1 -1
  155. package/lib/module/context/RookSyncGateProvider.js +31 -22
  156. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  157. package/lib/module/context/RookSyncGateReducer.js +12 -4
  158. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  159. package/lib/module/context/RookSyncGateTypes.js +0 -2
  160. package/lib/module/context/index.js +2 -0
  161. package/lib/module/context/index.js.map +1 -0
  162. package/lib/module/hooks/index.js +12 -0
  163. package/lib/module/hooks/index.js.map +1 -0
  164. package/lib/module/hooks/useRookAPISources.js +16 -10
  165. package/lib/module/hooks/useRookAPISources.js.map +1 -1
  166. package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -11
  167. package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  168. package/lib/module/hooks/useRookAndroidStepCounter.js +48 -0
  169. package/lib/module/hooks/useRookAndroidStepCounter.js.map +1 -0
  170. package/lib/module/hooks/useRookAppleHealth.js +10 -9
  171. package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
  172. package/lib/module/hooks/useRookConfiguration.js +34 -10
  173. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  174. package/lib/module/hooks/useRookData.js +45 -31
  175. package/lib/module/hooks/useRookData.js.map +1 -1
  176. package/lib/module/hooks/useRookHealthConnect.js +10 -9
  177. package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
  178. package/lib/module/hooks/useRookPermissions.js +63 -28
  179. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  180. package/lib/module/hooks/useRookSamsungHealth.js +20 -8
  181. package/lib/module/hooks/useRookSamsungHealth.js.map +1 -1
  182. package/lib/module/hooks/useRookSync.js +32 -23
  183. package/lib/module/hooks/useRookSync.js.map +1 -1
  184. package/lib/module/hooks/useRookVariables.js +37 -19
  185. package/lib/module/hooks/useRookVariables.js.map +1 -1
  186. package/lib/module/index.js +10 -18
  187. package/lib/module/index.js.map +1 -1
  188. package/lib/module/modules/hook/useRookAutoSync.js +40 -27
  189. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  190. package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
  191. package/lib/module/modules/utils/errors.js +0 -2
  192. package/lib/module/modules/utils/errors.js.map +1 -1
  193. package/lib/module/types/ActivityEvent.js +0 -2
  194. package/lib/module/types/AppleHealthNutritionEvent.js +70 -0
  195. package/lib/module/types/AppleHealthNutritionEvent.js.map +1 -0
  196. package/lib/module/types/AppleHealthPermissions.js +0 -2
  197. package/lib/module/types/AppleHealthPermissions.js.map +1 -1
  198. package/lib/module/types/AuthorizedSources.js +0 -2
  199. package/lib/module/types/BodySummary.js +0 -2
  200. package/lib/module/types/DataSource.js +0 -2
  201. package/lib/module/types/DataSource.js.map +1 -1
  202. package/lib/module/types/DiagnosticState.js +2 -0
  203. package/lib/module/types/DiagnosticState.js.map +1 -0
  204. package/lib/module/types/HCMealData.js +59 -0
  205. package/lib/module/types/HCMealData.js.map +1 -0
  206. package/lib/module/types/HeartRateEvent.js +1 -1
  207. package/lib/module/types/PermissionsType.js +1 -1
  208. package/lib/module/types/PhysicalSummary.js +0 -2
  209. package/lib/module/types/SDKSources.js +0 -2
  210. package/lib/module/types/SDKSources.js.map +1 -1
  211. package/lib/module/types/SamsungHealthPermissions.js +0 -3
  212. package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
  213. package/lib/module/types/SleepSummary.js +0 -2
  214. package/lib/module/types/SummaryTypes.js +1 -1
  215. package/lib/module/types/SyncTypes.js +0 -2
  216. package/lib/module/types/SyncTypes.js.map +1 -1
  217. package/lib/module/types/WriteNutrition.js +12 -0
  218. package/lib/module/types/WriteNutrition.js.map +1 -0
  219. package/lib/module/utils/getNativeModule.js +23 -0
  220. package/lib/module/utils/getNativeModule.js.map +1 -0
  221. package/lib/module/utils/getRookModule.js +22 -0
  222. package/lib/module/utils/getRookModule.js.map +1 -0
  223. package/lib/module/utils/isModuleReady.js +0 -2
  224. package/lib/module/utils/isModuleReady.js.map +1 -1
  225. package/lib/module/utils/isRunningOnAndroid.js +0 -2
  226. package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
  227. package/lib/module/utils/isRunningOniOS.js +0 -2
  228. package/lib/module/utils/isRunningOniOS.js.map +1 -1
  229. package/lib/module/utils/isValidDate.js +20 -2
  230. package/lib/module/utils/isValidDate.js.map +1 -1
  231. package/lib/module/utils/nativeModules.js +23 -0
  232. package/lib/module/utils/nativeModules.js.map +1 -0
  233. package/lib/module/utils/packageInfo.js +7 -0
  234. package/lib/module/utils/packageInfo.js.map +1 -0
  235. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
  236. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  237. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  238. package/lib/typescript/src/context/RookSyncGateTypes.d.ts +14 -4
  239. package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -1
  240. package/lib/typescript/src/context/index.d.ts +2 -0
  241. package/lib/typescript/src/context/index.d.ts.map +1 -0
  242. package/lib/typescript/src/hooks/index.d.ts +12 -0
  243. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  244. package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -1
  245. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
  246. package/lib/typescript/src/hooks/useRookAndroidStepCounter.d.ts +9 -0
  247. package/lib/typescript/src/hooks/useRookAndroidStepCounter.d.ts.map +1 -0
  248. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
  249. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +3 -1
  250. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  251. package/lib/typescript/src/hooks/useRookData.d.ts +2 -2
  252. package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
  253. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
  254. package/lib/typescript/src/hooks/useRookPermissions.d.ts +6 -2
  255. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  256. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +6 -0
  257. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -1
  258. package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
  259. package/lib/typescript/src/hooks/useRookVariables.d.ts +2 -0
  260. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
  261. package/lib/typescript/src/index.d.ts +8 -17
  262. package/lib/typescript/src/index.d.ts.map +1 -1
  263. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  264. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts +76 -0
  265. package/lib/typescript/src/types/AppleHealthNutritionEvent.d.ts.map +1 -0
  266. package/lib/typescript/src/types/AuthorizedSources.d.ts +0 -11
  267. package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
  268. package/lib/typescript/src/types/DiagnosticState.d.ts +13 -0
  269. package/lib/typescript/src/types/DiagnosticState.d.ts.map +1 -0
  270. package/lib/typescript/src/types/HCMealData.d.ts +60 -0
  271. package/lib/typescript/src/types/HCMealData.d.ts.map +1 -0
  272. package/lib/typescript/src/types/HeartRateEvent.d.ts +2 -2
  273. package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -1
  274. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +0 -1
  275. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
  276. package/lib/typescript/src/types/SyncTypes.d.ts +1 -5
  277. package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
  278. package/lib/typescript/src/types/WriteNutrition.d.ts +61 -0
  279. package/lib/typescript/src/types/WriteNutrition.d.ts.map +1 -0
  280. package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
  281. package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
  282. package/lib/typescript/src/utils/getRookModule.d.ts +9 -0
  283. package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -0
  284. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
  285. package/lib/typescript/src/utils/isValidDate.d.ts +8 -0
  286. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  287. package/lib/typescript/src/utils/nativeModules.d.ts +24 -0
  288. package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
  289. package/lib/typescript/src/utils/packageInfo.d.ts +6 -0
  290. package/lib/typescript/src/utils/packageInfo.d.ts.map +1 -0
  291. package/package.json +98 -94
  292. package/react-native-rook-sdk.podspec +45 -0
  293. package/RNRookSdk.podspec +0 -22
  294. package/ios/Encodable.swift +0 -25
  295. package/ios/RookEntry.swift +0 -61
  296. package/ios/RookSdk-Bridging-Header.h +0 -12
  297. package/ios/boost-boost_privacy-Bridging-Header.h +0 -4
  298. package/lib/module/NativeRookSdk.js +0 -13
  299. package/lib/module/NativeRookSdk.js.map +0 -1
  300. package/lib/module/package.json +0 -1
  301. package/lib/module/types/Rook.js +0 -2
  302. package/lib/typescript/package.json +0 -1
  303. package/lib/typescript/src/NativeRookSdk.d.ts +0 -116
  304. package/lib/typescript/src/NativeRookSdk.d.ts.map +0 -1
  305. package/lib/typescript/src/types/Rook.d.ts +0 -9
  306. package/lib/typescript/src/types/Rook.d.ts.map +0 -1
  307. package/src/NativeRookSdk.ts +0 -274
  308. package/src/context/RookSyncGateProvider.tsx +0 -78
  309. package/src/context/RookSyncGateTypes.ts +0 -34
  310. package/src/hooks/useRookAndroidBackgroundSteps.ts +0 -81
  311. package/src/hooks/useRookAppleHealth.ts +0 -55
  312. package/src/hooks/useRookConfiguration.ts +0 -82
  313. package/src/hooks/useRookData.ts +0 -122
  314. package/src/hooks/useRookHealthConnect.ts +0 -59
  315. package/src/hooks/useRookPermissions.ts +0 -224
  316. package/src/hooks/useRookSamsungHealth.ts +0 -37
  317. package/src/hooks/useRookSync.ts +0 -157
  318. package/src/hooks/useRookVariables.ts +0 -77
  319. package/src/index.tsx +0 -28
  320. package/src/modules/hook/useRookAutoSync.ts +0 -305
  321. package/src/modules/types/sendMessageBroadcast.ts +0 -5
  322. package/src/modules/utils/errors.ts +0 -9
  323. package/src/types/ActivityEvent.ts +0 -159
  324. package/src/types/AppleHealthPermissions.ts +0 -49
  325. package/src/types/AuthorizedSources.ts +0 -33
  326. package/src/types/BodySummary.ts +0 -116
  327. package/src/types/DataSource.ts +0 -16
  328. package/src/types/HeartRateEvent.ts +0 -26
  329. package/src/types/PermissionsType.ts +0 -9
  330. package/src/types/PhysicalSummary.ts +0 -84
  331. package/src/types/Rook.ts +0 -8
  332. package/src/types/SDKSources.ts +0 -5
  333. package/src/types/SamsungHealthPermissions.ts +0 -16
  334. package/src/types/SleepSummary.ts +0 -66
  335. package/src/types/SummaryTypes.ts +0 -70
  336. package/src/types/SyncTypes.ts +0 -63
  337. package/src/utils/isRunningOnAndroid.ts +0 -10
  338. package/src/utils/isRunningOniOS.ts +0 -10
  339. package/src/utils/isValidDate.ts +0 -15
@@ -1,116 +0,0 @@
1
- import type {
2
- HrGranularData,
3
- HrvRmssdGranularData,
4
- HrvSdnnGranularData,
5
- SaturationGranularData,
6
- TemperatureGranularData,
7
- TemperatureObject,
8
- Vo2GranularData,
9
- } from './SummaryTypes';
10
-
11
- // --- Definiciones completas para nuevos tipos ---
12
- export interface BloodGlucoseGranularData {
13
- dateTime: string;
14
- bloodGlucoseMgPerDl: number;
15
- }
16
-
17
- export interface BloodPressureObject {
18
- systolicMmHg: number;
19
- diastolicMmHg: number;
20
- }
21
-
22
- export interface BloodPressureGranularData {
23
- dateTime: string;
24
- systolicMmHg: number;
25
- diastolicMmHg: number;
26
- }
27
-
28
- export interface HydrationAmountGranularData {
29
- dateTime: string;
30
- intervalDurationSeconds: number;
31
- hydrationAmountMl: number;
32
- }
33
-
34
- export interface HydrationLevelGranularData {
35
- dateTime: string;
36
- intervalDurationSeconds: number;
37
- hydrationLevelPercentage: number;
38
- }
39
-
40
- export interface MoodGranularData {
41
- dateTime: string;
42
- intervalDurationSeconds: number;
43
- moodScale: number;
44
- }
45
-
46
- export interface MenstruationFlowGranularData {
47
- dateTime: string;
48
- flowMl: number;
49
- }
50
-
51
- // --- Interfaz SHBodySummary Completa ---
52
- export interface BodySummary {
53
- dateTime: string;
54
- sourceOfData: string;
55
- wasTheUserUnderPhysicalActivity: boolean;
56
- waistCircumferenceCm: number | null;
57
- hipCircumferenceCm: number | null;
58
- chestCircumferenceCm: number | null;
59
- boneCompositionPercentage: number | null;
60
- muscleCompositionPercentage: number | null;
61
- waterCompositionPercentage: number | null;
62
- weightKg: number | null;
63
- heightCm: number | null;
64
- bmi: number | null;
65
- bloodGlucoseAvgMgPerDl: number | null;
66
- bloodGlucoseGranularData: BloodGlucoseGranularData[] | null;
67
- bloodPressureAvg: BloodPressureObject | null;
68
- bloodPressureGranularData: BloodPressureGranularData[] | null;
69
- waterTotalConsumptionMl: number | null;
70
- hydrationAmountGranularData: HydrationAmountGranularData[] | null;
71
- hydrationLevelGranularData: HydrationLevelGranularData[] | null;
72
- hrMaximumBpm: number | null;
73
- hrMinimumBpm: number | null;
74
- hrAvgBpm: number | null;
75
- hrRestingBpm: number | null;
76
- hrGranularData: HrGranularData[] | null;
77
- hrvAvgRmssd: number | null;
78
- hrvAvgSdnn: number | null;
79
- hrvSdnnGranularData: HrvSdnnGranularData[] | null;
80
- hrvRmssdGranularData: HrvRmssdGranularData[] | null;
81
- moodMinimumScale: number | null;
82
- moodAvgScale: number | null;
83
- moodMaximumScale: number | null;
84
- moodGranularData: MoodGranularData[] | null;
85
- moodDeltaScale: number | null;
86
- foodIntake: number | null;
87
- caloriesIntakeKcal: number | null;
88
- proteinIntakeG: number | null;
89
- sugarIntakeG: number | null;
90
- fatIntakeG: number | null;
91
- transFatIntakeG: number | null;
92
- carbohydratesIntakeG: number | null;
93
- fiberIntakeG: number | null;
94
- alcoholIntakeG: number | null;
95
- sodiumIntakeMg: number | null;
96
- cholesterolIntakeMg: number | null;
97
- saturationAvgPercentage: number | null;
98
- saturationGranularData: SaturationGranularData[] | null;
99
- vo2MaxMlPerMinPerKg: number | null;
100
- vo2GranularData: Vo2GranularData[] | null;
101
- temperatureMinimum: TemperatureObject | null;
102
- temperatureAvg: TemperatureObject | null;
103
- temperatureMaximum: TemperatureObject | null;
104
- temperatureGranularData: TemperatureGranularData[] | null;
105
- temperatureDelta: TemperatureObject | null;
106
- lastUpdatedDatetime: string | null;
107
- periodStartDate: string | null;
108
- cycleDay: number | null;
109
- cycleLengthDays: number | null;
110
- predictedCycleLengthDays: number | null;
111
- currentPhase: string | null;
112
- lengthOfCurrentPhaseDays: number | null;
113
- daysUntilNextPhase: number | null;
114
- isAPredictedCycle: boolean | null;
115
- menstruationFlowGranularData: MenstruationFlowGranularData[] | null;
116
- }
@@ -1,16 +0,0 @@
1
- export interface DataSource {
2
- name: string;
3
- authorizationURL: string;
4
- imageUrl: string;
5
- description: string;
6
- connected: boolean;
7
- }
8
-
9
- export enum APIDataSource {
10
- GARMIN = 'Garmin',
11
- OURA = 'Oura',
12
- POLAR = 'Polar',
13
- FITBIT = 'Fitbit',
14
- WITHINGS = 'Withings',
15
- WHOOP = 'Whoop',
16
- }
@@ -1,26 +0,0 @@
1
- export interface HrGranularDataItem {
2
- dateTime: string;
3
- hrBPM: number;
4
- }
5
-
6
- export interface HrvSDNNGranularData {
7
- dateTime: string;
8
- hrvSDNN: number;
9
- }
10
-
11
- export interface HrvSDNNGranularData {
12
- dateTime: string;
13
- hrvRmssd: number;
14
- }
15
-
16
- export interface HeartRateData {
17
- hrAverageBPM: number;
18
- hrvSDNNGranularData: HrvSDNNGranularData[] | null;
19
- hrGranularData: HrGranularDataItem[];
20
- hrMinimumBPM: number;
21
- hrRestingBPM: number | null;
22
- hrMaximumBPM: number;
23
- hrvAverageSDNN: number | null;
24
- hrvRMSSDGranularData: HrvSDNNGranularData[] | null;
25
- hrvAverageRMSSD: number | null;
26
- }
@@ -1,9 +0,0 @@
1
- export type PermissionStatus =
2
- | 'PERMISSION_NOT_REQUESTED'
3
- | 'PERMISSION_INDETERMINATE'
4
- | 'PERMISSION_GRANTED';
5
-
6
- export type BackgroundStatus =
7
- | 'UNAVAILABLE'
8
- | 'PERMISSION_NOT_GRANTED'
9
- | 'PERMISSION_GRANTED';
@@ -1,84 +0,0 @@
1
- import type {
2
- ActivityLevelGranularData,
3
- ElevationGranularData,
4
- FloorsClimbedGranularData,
5
- HrGranularData,
6
- SaturationGranularData,
7
- HrvRmssdGranularData,
8
- HrvSdnnGranularData,
9
- TraveledDistanceGranularData,
10
- StepsGranularData,
11
- SwimmingDistanceGranularData,
12
- Vo2GranularData,
13
- } from './SummaryTypes';
14
-
15
- export interface ActiveStepsGranularData {
16
- dateTime: string;
17
- intervalDurationSeconds: number;
18
- activeSteps: number;
19
- }
20
-
21
- export interface StressGranularData {
22
- dateTime: string;
23
- stressScore: number;
24
- }
25
-
26
- export interface PhysicalSummary {
27
- dateTime: string;
28
- sourceOfData: string;
29
- wasTheUserUnderPhysicalActivity: boolean;
30
- activeSeconds: number | null;
31
- restSeconds: number | null;
32
- lowIntensitySeconds: number | null;
33
- moderateIntensitySeconds: number | null;
34
- vigorousIntensitySeconds: number | null;
35
- inactivitySeconds: number | null;
36
- activityLevelGranularData: ActivityLevelGranularData[] | null;
37
- continuousInactivePeriods: number | null;
38
- caloriesNetIntakeKcal: number | null;
39
- caloriesExpenditureKcal: number | null;
40
- caloriesNetActiveKcal: number | null;
41
- caloriesBasalMetabolicRateKcal: number | null;
42
- steps: number | null;
43
- stepsGranularData: StepsGranularData[] | null;
44
- activeSteps: number | null;
45
- activeStepsGranularData: ActiveStepsGranularData[] | null;
46
- walkedDistanceMeters: number | null;
47
- traveledDistanceMeters: number | null;
48
- traveledDistanceGranularData: TraveledDistanceGranularData[] | null;
49
- floorsClimbed: number | null;
50
- floorsClimbedGranularData: FloorsClimbedGranularData[] | null;
51
- elevationAvgAltitudeMeters: number | null;
52
- elevationMinimumAltitudeMeters: number | null;
53
- elevationMaximumAltitudeMeters: number | null;
54
- elevationLossActualAltitudeMeters: number | null;
55
- elevationGainActualAltitudeMeters: number | null;
56
- elevationPlannedGainMeters: number | null;
57
- elevationGranularData: ElevationGranularData[] | null;
58
- swimmingNumStrokes: number | null;
59
- swimmingNumLaps: number | null;
60
- swimmingPoolLengthMeters: number | null;
61
- swimmingTotalDistanceMeters: number | null;
62
- swimmingDistanceGranularData: SwimmingDistanceGranularData[] | null;
63
- hrMaximumBpm: number | null;
64
- hrMinimumBpm: number | null;
65
- hrAvgBpm: number | null;
66
- hrRestingBpm: number | null;
67
- hrGranularData: HrGranularData[] | null;
68
- hrvAvgRmssd: number | null;
69
- hrvAvgSdnn: number | null;
70
- hrvSdnnGranularData: HrvSdnnGranularData[] | null;
71
- hrvRmssdGranularData: HrvRmssdGranularData[] | null;
72
- saturationAvgPercentage: number | null;
73
- saturationGranularData: SaturationGranularData[] | null;
74
- vo2MaxMlPerMinPerKg: number | null;
75
- vo2GranularData: Vo2GranularData[] | null;
76
- stressAtRestDurationSeconds: number | null;
77
- stressDurationSeconds: number | null;
78
- lowStressDurationSeconds: number | null;
79
- mediumStressDurationSeconds: number | null;
80
- highStressDurationSeconds: number | null;
81
- stressGranularData: StressGranularData[] | null;
82
- stressAvgLevel: number | null;
83
- stressMaximumLevel: number | null;
84
- }
package/src/types/Rook.ts DELETED
@@ -1,8 +0,0 @@
1
- export type RookConfig = {
2
- environment: string;
3
- clientUUID: string;
4
- password: string;
5
- enableLogs: boolean;
6
- enableEventsBackgroundSync: boolean;
7
- enableBackground: boolean;
8
- };
@@ -1,5 +0,0 @@
1
- export enum SDKDataSource {
2
- HEALTH_CONNECT = 'HEALTH_CONNECT',
3
- SAMSUNG_HEALTH = 'SAMSUNG_HEALTH',
4
- APPLE_HEALTH = 'APPLE_HEALTH',
5
- }
@@ -1,16 +0,0 @@
1
- export enum SamsungHealthPermission {
2
- ACTIVITY_SUMMARY = 'ACTIVITY_SUMMARY',
3
- BODY_TEMPERATURE = 'BODY_TEMPERATURE',
4
- BLOOD_GLUCOSE = 'BLOOD_GLUCOSE',
5
- BLOOD_OXYGEN = 'BLOOD_OXYGEN',
6
- BLOOD_PRESSURE = 'BLOOD_PRESSURE',
7
- BODY_COMPOSITION = 'BODY_COMPOSITION',
8
- EXERCISE = 'EXERCISE',
9
- EXERCISE_LOCATION = 'EXERCISE_LOCATION',
10
- FLOORS_CLIMBED = 'FLOORS_CLIMBED',
11
- HEART_RATE = 'HEART_RATE',
12
- NUTRITION = 'NUTRITION',
13
- SLEEP = 'SLEEP',
14
- STEPS = 'STEPS',
15
- WATER_INTAKE = 'WATER_INTAKE',
16
- }
@@ -1,66 +0,0 @@
1
- import type {
2
- HrGranularData,
3
- SaturationGranularData,
4
- HrvRmssdGranularData,
5
- HrvSdnnGranularData,
6
- TemperatureObject,
7
- TemperatureGranularData,
8
- } from './SummaryTypes';
9
-
10
- export interface BreathingGranularData {
11
- dateTime: string;
12
- breathsPerMin: number;
13
- }
14
-
15
- export interface SnoringGranularData {
16
- dateTime: string;
17
- intervalDurationSeconds: number;
18
- snoringEventsCount: number;
19
- }
20
-
21
- export interface SleepSummary {
22
- dateTime: string;
23
- sourceOfData: string;
24
- wasTheUserUnderPhysicalActivity: boolean;
25
- sleepStartDateTime: string;
26
- sleepEndDateTime: string;
27
- sleepDate: string;
28
- sleepDurationSeconds: number | null;
29
- timeInBedSeconds: number | null;
30
- lightSleepDurationSeconds: number | null;
31
- remSleepDurationSeconds: number | null;
32
- deepSleepDurationSeconds: number | null;
33
- timeToFallAsleepSeconds: number | null;
34
- timeAwakeDuringSleepSeconds: number | null;
35
- sleepQualityRating1To5Score: number | null;
36
- sleepEfficiency1To100Score: number | null;
37
- sleepGoalSeconds: number | null;
38
- sleepContinuity1To5Score: number | null;
39
- sleepContinuity1To5Rating: number | null;
40
- hrMaximumBpm: number | null;
41
- hrMinimumBpm: number | null;
42
- hrAvgBpm: number | null;
43
- hrRestingBpm: number | null;
44
- hrBasalBpm: number | null;
45
- hrGranularData: HrGranularData[] | null;
46
- hrvAvgRmssd: number | null;
47
- hrvAvgSdnn: number | null;
48
- hrvSdnnGranularData: HrvSdnnGranularData[] | null;
49
- hrvRmssdGranularData: HrvRmssdGranularData[] | null;
50
- temperatureMinimum: TemperatureObject | null;
51
- temperatureAvg: TemperatureObject | null;
52
- temperatureMaximum: TemperatureObject | null;
53
- temperatureGranularData: TemperatureGranularData[] | null;
54
- temperatureDelta: TemperatureObject | null;
55
- breathsMinimumPerMin: number | null;
56
- breathsAvgPerMin: number | null;
57
- breathsMaximumPerMin: number | null;
58
- breathingGranularData: BreathingGranularData[] | null;
59
- snoringEventsCount: number | null;
60
- snoringDurationTotalSeconds: number | null;
61
- snoringGranularData: SnoringGranularData[] | null;
62
- saturationAvgPercentage: number | null;
63
- saturationMinimumPercentage: number | null;
64
- saturationMaximumPercentage: number | null;
65
- saturationGranularData: SaturationGranularData[] | null;
66
- }
@@ -1,70 +0,0 @@
1
- export interface ActivityLevelGranularData {
2
- dateTime: string;
3
- activityLevel: number;
4
- }
5
-
6
- export interface ElevationGranularData {
7
- dateTime: string;
8
- intervalDurationSeconds: number;
9
- elevationChangeMeters: number;
10
- }
11
-
12
- export interface FloorsClimbedGranularData {
13
- dateTime: string;
14
- intervalDurationSeconds: number;
15
- floorsClimbed: number;
16
- }
17
-
18
- export interface HrGranularData {
19
- dateTime: string;
20
- hrBpm: number;
21
- }
22
-
23
- export interface HrvSdnnGranularData {
24
- dateTime: string;
25
- hrvSdnn: number;
26
- }
27
-
28
- export interface HrvRmssdGranularData {
29
- dateTime: string;
30
- hrvRmssd: number;
31
- }
32
-
33
- export interface SaturationGranularData {
34
- dateTime: string;
35
- saturationPercentage: number;
36
- }
37
-
38
- export interface Vo2GranularData {
39
- dateTime: string;
40
- vo2MlPerMinPerKg: number;
41
- }
42
-
43
- export interface TemperatureObject {
44
- temperatureCelsius: number;
45
- measurementType: string;
46
- }
47
-
48
- export interface TemperatureGranularData {
49
- dateTime: string;
50
- temperatureCelsius: number;
51
- measurementType: string;
52
- }
53
-
54
- export interface TraveledDistanceGranularData {
55
- dateTime: string;
56
- intervalDurationSeconds: number;
57
- traveledDistanceMeters: number;
58
- }
59
-
60
- export interface StepsGranularData {
61
- dateTime: string;
62
- intervalDurationSeconds: number;
63
- steps: number;
64
- }
65
-
66
- export interface SwimmingDistanceGranularData {
67
- dateTime: string;
68
- intervalDurationSeconds: number;
69
- swimmingDistanceMeters: number;
70
- }
@@ -1,63 +0,0 @@
1
- import { SDKDataSource } from './SDKSources';
2
-
3
- export type SyncParams = {
4
- date: string;
5
- summary?: SyncSummaryType;
6
- sources: SDKDataSource[];
7
- };
8
-
9
- export type SyncEventParams = {
10
- date: string;
11
- sources: SDKDataSource[];
12
- event:
13
- | SharedHealthEvents
14
- | UniqueAppleHealthEvents
15
- | UniqueSamsungHealthEvents
16
- | UniqueHealthConnectEvents;
17
- };
18
-
19
- export type SyncSummaryType = 'sleep' | 'body' | 'physical';
20
-
21
- export type SyncResult = {
22
- healthConnect?: SyncSourceResult;
23
- appleHealth?: SyncSourceResult;
24
- samsungHealth?: SyncSourceResult;
25
- };
26
-
27
- export type RookError = {
28
- code: string;
29
- message: string;
30
- };
31
-
32
- export type SyncSourceResult = {
33
- status: boolean;
34
- error: Error | { domain: string } | RookError;
35
- };
36
-
37
- export type Callback = (result: SyncResult) => void;
38
-
39
- export enum SharedHealthEvents {
40
- ACTIVITY = 'ACTIVITY',
41
- HEART_RATE = 'HEART_RATE',
42
- OXYGENATION = 'OXYGENATION',
43
- BLOOD_PRESSURE = 'BLOOD_PRESSURE',
44
- BLOOD_GLUCOSE = 'BLOOD_GLUCOSE',
45
- CALORIES = 'CALORIES',
46
- STEPS = 'STEPS',
47
- BODY_METRICS = 'BODY_METRICS',
48
- }
49
-
50
- export enum UniqueHealthConnectEvents {
51
- TEMPERATURE = 'TEMPERATURE',
52
- HYDRATION = 'HYDRATION',
53
- NUTRITION = 'NUTRITION',
54
- }
55
-
56
- export enum UniqueSamsungHealthEvents {
57
- HYDRATION = 'HYDRATION',
58
- NUTRITION = 'NUTRITION',
59
- }
60
-
61
- export enum UniqueAppleHealthEvents {
62
- TEMPERATURE = 'TEMPERATURE',
63
- }
@@ -1,10 +0,0 @@
1
- import { Platform } from 'react-native';
2
-
3
- const ERROR_MESSAGE =
4
- 'This method is only available on Android because it is not supported on iOS';
5
-
6
- export default () => {
7
- if (Platform.OS !== 'android') {
8
- throw new Error(ERROR_MESSAGE);
9
- }
10
- };
@@ -1,10 +0,0 @@
1
- import { Platform } from 'react-native';
2
-
3
- const ERROR_MESSAGE =
4
- 'This method is only available on iOS because it is not supported on Android';
5
-
6
- export const isRunningOniOS = () => {
7
- if (Platform.OS !== 'ios') {
8
- throw new Error(ERROR_MESSAGE);
9
- }
10
- };
@@ -1,15 +0,0 @@
1
- /**
2
- * The isValidDate function in TypeScript validates if a given date string is in the format YYYY-MM-DD.
3
- * @param {string} date - The `isValidDate` function you provided checks if a given date string is in
4
- * the format `YYYY-MM-DD`. If the date string does not match this format, it throws an error
5
- * indicating the correct format.
6
- */
7
- export const isValidDate = (date: string) => {
8
- const regex = /^\d{4}-\d{2}-\d{2}$/;
9
-
10
- if (!regex.test(date)) {
11
- throw new Error(
12
- `Invalid format: ${date}, the correct format is YYYY-MM-DD`
13
- );
14
- }
15
- };