@kingstinct/react-native-healthkit 8.7.2 → 9.0.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 (449) hide show
  1. package/ReactNativeHealthkit.podspec +36 -0
  2. package/app.plugin.js +43 -33
  3. package/ios/Bridge.h +8 -0
  4. package/ios/CategoryTypeModule.swift +128 -0
  5. package/ios/CharacteristicTypeModule.swift +78 -0
  6. package/ios/Constants.swift +2 -0
  7. package/ios/CoreModule.swift +376 -0
  8. package/ios/CorrelationTypeModule.swift +153 -0
  9. package/ios/HeartbeatSeriesModule.swift +189 -0
  10. package/ios/Helpers.swift +529 -251
  11. package/ios/QuantityTypeModule.swift +461 -0
  12. package/ios/Serializers.swift +211 -124
  13. package/ios/SourceProxy.swift +35 -0
  14. package/ios/StateOfMindModule.swift +160 -0
  15. package/ios/WorkoutProxy.swift +405 -0
  16. package/ios/WorkoutSessionModule.swift +182 -0
  17. package/ios/WorkoutsModule.swift +357 -0
  18. package/package.json +43 -127
  19. package/react-native.config.js +16 -0
  20. package/src/hooks/useHealthkitAuthorization.test.ts +47 -29
  21. package/src/hooks/useHealthkitAuthorization.ts +21 -15
  22. package/src/hooks/useIsHealthDataAvailable.test.ts +17 -7
  23. package/src/hooks/useIsHealthDataAvailable.ts +7 -7
  24. package/src/hooks/useMostRecentCategorySample.ts +10 -12
  25. package/src/hooks/useMostRecentQuantitySample.ts +17 -36
  26. package/src/hooks/useMostRecentWorkout.ts +16 -38
  27. package/src/hooks/useSources.ts +8 -12
  28. package/src/hooks/useStatisticsForQuantity.ts +19 -14
  29. package/src/hooks/useSubscribeToChanges.ts +9 -13
  30. package/src/index.ios.ts +232 -0
  31. package/src/index.ts +444 -0
  32. package/src/modules.ts +43 -0
  33. package/src/specs/CategoryTypeModule.nitro.ts +64 -0
  34. package/src/specs/CharacteristicTypeModule.nitro.ts +22 -0
  35. package/src/specs/CoreModule.nitro.ts +107 -0
  36. package/src/specs/CorrelationTypeModule.nitro.ts +23 -0
  37. package/src/specs/HeartbeatSeriesModule.nitro.ts +19 -0
  38. package/src/specs/QuantityTypeModule.nitro.ts +60 -0
  39. package/src/specs/SourceProxy.nitro.ts +13 -0
  40. package/src/specs/StateOfMindModule.nitro.ts +23 -0
  41. package/src/specs/WorkoutProxy.nitro.ts +18 -0
  42. package/src/specs/WorkoutSessionModule.nitro.ts +71 -0
  43. package/src/specs/WorkoutsModule.nitro.ts +32 -0
  44. package/src/test-setup.ts +68 -54
  45. package/src/test-utils.ts +3 -2
  46. package/src/types/Auth.ts +17 -0
  47. package/src/types/Background.ts +9 -0
  48. package/src/types/CategoryType.ts +249 -0
  49. package/src/types/CategoryTypeIdentifier.ts +99 -0
  50. package/src/types/Characteristics.ts +53 -0
  51. package/src/types/Constants.ts +25 -0
  52. package/src/types/CorrelationType.ts +31 -0
  53. package/src/types/Device.ts +13 -0
  54. package/src/types/HeartbeatSeries.ts +29 -0
  55. package/src/types/InterfaceVerification.ts +164 -0
  56. package/src/types/InterfaceVerificationExample.ts +89 -0
  57. package/src/types/QuantitySample.ts +30 -0
  58. package/src/types/QuantityType.ts +192 -0
  59. package/src/types/QuantityTypeIdentifier.ts +758 -0
  60. package/src/types/QueryOptions.ts +69 -0
  61. package/src/types/README-InterfaceVerification.md +103 -0
  62. package/src/types/Shared.ts +79 -0
  63. package/src/types/Source.ts +11 -0
  64. package/src/types/StateOfMind.ts +110 -0
  65. package/src/types/Subscriptons.ts +10 -0
  66. package/src/types/Units.ts +190 -0
  67. package/src/types/WeatherCondition.ts +31 -0
  68. package/src/types/WorkoutKit.ts +18 -0
  69. package/src/types/Workouts.ts +282 -0
  70. package/src/utils/getMostRecentCategorySample.ts +7 -11
  71. package/src/utils/getMostRecentQuantitySample.ts +8 -18
  72. package/src/utils/getMostRecentWorkout.ts +7 -17
  73. package/src/utils/getPreferredUnit.ts +12 -8
  74. package/src/utils/subscribeToChanges.ts +9 -26
  75. package/LICENSE +0 -21
  76. package/README.md +0 -179
  77. package/ios/ReactNativeHealthkit-Bridging-Header.h +0 -2
  78. package/ios/ReactNativeHealthkit.m +0 -271
  79. package/ios/ReactNativeHealthkit.swift +0 -2333
  80. package/ios/ReactNativeHealthkit.xcodeproj/project.pbxproj +0 -279
  81. package/kingstinct-react-native-healthkit.podspec +0 -21
  82. package/lib/commonjs/hooks/useHealthkitAuthorization.js +0 -39
  83. package/lib/commonjs/hooks/useHealthkitAuthorization.js.map +0 -1
  84. package/lib/commonjs/hooks/useHealthkitAuthorization.test.js +0 -72
  85. package/lib/commonjs/hooks/useHealthkitAuthorization.test.js.map +0 -1
  86. package/lib/commonjs/hooks/useIsHealthDataAvailable.js +0 -27
  87. package/lib/commonjs/hooks/useIsHealthDataAvailable.js.map +0 -1
  88. package/lib/commonjs/hooks/useIsHealthDataAvailable.test.js +0 -41
  89. package/lib/commonjs/hooks/useIsHealthDataAvailable.test.js.map +0 -1
  90. package/lib/commonjs/hooks/useMostRecentCategorySample.js +0 -23
  91. package/lib/commonjs/hooks/useMostRecentCategorySample.js.map +0 -1
  92. package/lib/commonjs/hooks/useMostRecentQuantitySample.js +0 -37
  93. package/lib/commonjs/hooks/useMostRecentQuantitySample.js.map +0 -1
  94. package/lib/commonjs/hooks/useMostRecentWorkout.js +0 -48
  95. package/lib/commonjs/hooks/useMostRecentWorkout.js.map +0 -1
  96. package/lib/commonjs/hooks/useSources.js +0 -22
  97. package/lib/commonjs/hooks/useSources.js.map +0 -1
  98. package/lib/commonjs/hooks/useStatisticsForQuantity.js +0 -28
  99. package/lib/commonjs/hooks/useStatisticsForQuantity.js.map +0 -1
  100. package/lib/commonjs/hooks/useSubscribeToChanges.js +0 -28
  101. package/lib/commonjs/hooks/useSubscribeToChanges.js.map +0 -1
  102. package/lib/commonjs/index.ios.js +0 -531
  103. package/lib/commonjs/index.ios.js.map +0 -1
  104. package/lib/commonjs/index.js +0 -22
  105. package/lib/commonjs/index.js.map +0 -1
  106. package/lib/commonjs/index.native.js +0 -235
  107. package/lib/commonjs/index.native.js.map +0 -1
  108. package/lib/commonjs/index.web.js +0 -22
  109. package/lib/commonjs/index.web.js.map +0 -1
  110. package/lib/commonjs/native-types.js +0 -1575
  111. package/lib/commonjs/native-types.js.map +0 -1
  112. package/lib/commonjs/test-setup.js +0 -57
  113. package/lib/commonjs/test-setup.js.map +0 -1
  114. package/lib/commonjs/test-utils.js +0 -18
  115. package/lib/commonjs/test-utils.js.map +0 -1
  116. package/lib/commonjs/types.js +0 -17
  117. package/lib/commonjs/types.js.map +0 -1
  118. package/lib/commonjs/utils/deleteQuantitySample.js +0 -11
  119. package/lib/commonjs/utils/deleteQuantitySample.js.map +0 -1
  120. package/lib/commonjs/utils/deleteSamples.js +0 -18
  121. package/lib/commonjs/utils/deleteSamples.js.map +0 -1
  122. package/lib/commonjs/utils/deleteWorkoutSample.js +0 -11
  123. package/lib/commonjs/utils/deleteWorkoutSample.js.map +0 -1
  124. package/lib/commonjs/utils/deserializeCategorySample.js +0 -13
  125. package/lib/commonjs/utils/deserializeCategorySample.js.map +0 -1
  126. package/lib/commonjs/utils/deserializeCategorySample.test.js +0 -26
  127. package/lib/commonjs/utils/deserializeCategorySample.test.js.map +0 -1
  128. package/lib/commonjs/utils/deserializeCorrelation.js +0 -26
  129. package/lib/commonjs/utils/deserializeCorrelation.js.map +0 -1
  130. package/lib/commonjs/utils/deserializeHeartbeatSeriesSample.js +0 -15
  131. package/lib/commonjs/utils/deserializeHeartbeatSeriesSample.js.map +0 -1
  132. package/lib/commonjs/utils/deserializeSample.js +0 -15
  133. package/lib/commonjs/utils/deserializeSample.js.map +0 -1
  134. package/lib/commonjs/utils/deserializeWorkout.js +0 -15
  135. package/lib/commonjs/utils/deserializeWorkout.js.map +0 -1
  136. package/lib/commonjs/utils/ensureMetadata.js +0 -11
  137. package/lib/commonjs/utils/ensureMetadata.js.map +0 -1
  138. package/lib/commonjs/utils/ensureTotals.js +0 -11
  139. package/lib/commonjs/utils/ensureTotals.js.map +0 -1
  140. package/lib/commonjs/utils/ensureUnit.js +0 -17
  141. package/lib/commonjs/utils/ensureUnit.js.map +0 -1
  142. package/lib/commonjs/utils/getDateOfBirth.js +0 -14
  143. package/lib/commonjs/utils/getDateOfBirth.js.map +0 -1
  144. package/lib/commonjs/utils/getMostRecentCategorySample.js +0 -17
  145. package/lib/commonjs/utils/getMostRecentCategorySample.js.map +0 -1
  146. package/lib/commonjs/utils/getMostRecentQuantitySample.js +0 -21
  147. package/lib/commonjs/utils/getMostRecentQuantitySample.js.map +0 -1
  148. package/lib/commonjs/utils/getMostRecentWorkout.js +0 -19
  149. package/lib/commonjs/utils/getMostRecentWorkout.js.map +0 -1
  150. package/lib/commonjs/utils/getPreferredUnit.js +0 -14
  151. package/lib/commonjs/utils/getPreferredUnit.js.map +0 -1
  152. package/lib/commonjs/utils/getPreferredUnits.js +0 -14
  153. package/lib/commonjs/utils/getPreferredUnits.js.map +0 -1
  154. package/lib/commonjs/utils/getPreferredUnitsTyped.js +0 -33
  155. package/lib/commonjs/utils/getPreferredUnitsTyped.js.map +0 -1
  156. package/lib/commonjs/utils/getRequestStatusForAuthorization.js +0 -21
  157. package/lib/commonjs/utils/getRequestStatusForAuthorization.js.map +0 -1
  158. package/lib/commonjs/utils/getWorkoutPlanById.js +0 -13
  159. package/lib/commonjs/utils/getWorkoutPlanById.js.map +0 -1
  160. package/lib/commonjs/utils/prepareOptions.js +0 -25
  161. package/lib/commonjs/utils/prepareOptions.js.map +0 -1
  162. package/lib/commonjs/utils/queryCategorySamples.js +0 -17
  163. package/lib/commonjs/utils/queryCategorySamples.js.map +0 -1
  164. package/lib/commonjs/utils/queryCategorySamplesWithAnchor.js +0 -21
  165. package/lib/commonjs/utils/queryCategorySamplesWithAnchor.js.map +0 -1
  166. package/lib/commonjs/utils/queryCorrelationSamples.js +0 -17
  167. package/lib/commonjs/utils/queryCorrelationSamples.js.map +0 -1
  168. package/lib/commonjs/utils/queryHeartbeatSeriesSamples.js +0 -17
  169. package/lib/commonjs/utils/queryHeartbeatSeriesSamples.js.map +0 -1
  170. package/lib/commonjs/utils/queryHeartbeatSeriesSamplesWithAnchor.js +0 -21
  171. package/lib/commonjs/utils/queryHeartbeatSeriesSamplesWithAnchor.js.map +0 -1
  172. package/lib/commonjs/utils/queryQuantitySamples.js +0 -19
  173. package/lib/commonjs/utils/queryQuantitySamples.js.map +0 -1
  174. package/lib/commonjs/utils/queryQuantitySamplesWithAnchor.js +0 -23
  175. package/lib/commonjs/utils/queryQuantitySamplesWithAnchor.js.map +0 -1
  176. package/lib/commonjs/utils/querySources.js +0 -14
  177. package/lib/commonjs/utils/querySources.js.map +0 -1
  178. package/lib/commonjs/utils/queryStateOfMindSamples.js +0 -22
  179. package/lib/commonjs/utils/queryStateOfMindSamples.js.map +0 -1
  180. package/lib/commonjs/utils/queryStatisticsCollectionForQuantity.js +0 -16
  181. package/lib/commonjs/utils/queryStatisticsCollectionForQuantity.js.map +0 -1
  182. package/lib/commonjs/utils/queryStatisticsForQuantity.js +0 -29
  183. package/lib/commonjs/utils/queryStatisticsForQuantity.js.map +0 -1
  184. package/lib/commonjs/utils/queryWorkoutSamplesWithAnchor.js +0 -26
  185. package/lib/commonjs/utils/queryWorkoutSamplesWithAnchor.js.map +0 -1
  186. package/lib/commonjs/utils/queryWorkouts.js +0 -22
  187. package/lib/commonjs/utils/queryWorkouts.js.map +0 -1
  188. package/lib/commonjs/utils/requestAuthorization.js +0 -22
  189. package/lib/commonjs/utils/requestAuthorization.js.map +0 -1
  190. package/lib/commonjs/utils/saveCategorySample.js +0 -20
  191. package/lib/commonjs/utils/saveCategorySample.js.map +0 -1
  192. package/lib/commonjs/utils/saveCorrelationSample.js +0 -35
  193. package/lib/commonjs/utils/saveCorrelationSample.js.map +0 -1
  194. package/lib/commonjs/utils/saveQuantitySample.js +0 -16
  195. package/lib/commonjs/utils/saveQuantitySample.js.map +0 -1
  196. package/lib/commonjs/utils/saveStateOfMindSample.js +0 -17
  197. package/lib/commonjs/utils/saveStateOfMindSample.js.map +0 -1
  198. package/lib/commonjs/utils/saveWorkoutRoute.js +0 -26
  199. package/lib/commonjs/utils/saveWorkoutRoute.js.map +0 -1
  200. package/lib/commonjs/utils/saveWorkoutSample.js +0 -36
  201. package/lib/commonjs/utils/saveWorkoutSample.js.map +0 -1
  202. package/lib/commonjs/utils/serializeDate.js +0 -9
  203. package/lib/commonjs/utils/serializeDate.js.map +0 -1
  204. package/lib/commonjs/utils/serializeDate.test.js +0 -17
  205. package/lib/commonjs/utils/serializeDate.test.js.map +0 -1
  206. package/lib/commonjs/utils/startWatchApp.js +0 -11
  207. package/lib/commonjs/utils/startWatchApp.js.map +0 -1
  208. package/lib/commonjs/utils/subscribeToChanges.js +0 -27
  209. package/lib/commonjs/utils/subscribeToChanges.js.map +0 -1
  210. package/lib/module/hooks/useHealthkitAuthorization.js +0 -32
  211. package/lib/module/hooks/useHealthkitAuthorization.js.map +0 -1
  212. package/lib/module/hooks/useHealthkitAuthorization.test.js +0 -68
  213. package/lib/module/hooks/useHealthkitAuthorization.test.js.map +0 -1
  214. package/lib/module/hooks/useIsHealthDataAvailable.js +0 -21
  215. package/lib/module/hooks/useIsHealthDataAvailable.js.map +0 -1
  216. package/lib/module/hooks/useIsHealthDataAvailable.test.js +0 -37
  217. package/lib/module/hooks/useIsHealthDataAvailable.test.js.map +0 -1
  218. package/lib/module/hooks/useMostRecentCategorySample.js +0 -16
  219. package/lib/module/hooks/useMostRecentCategorySample.js.map +0 -1
  220. package/lib/module/hooks/useMostRecentQuantitySample.js +0 -30
  221. package/lib/module/hooks/useMostRecentQuantitySample.js.map +0 -1
  222. package/lib/module/hooks/useMostRecentWorkout.js +0 -41
  223. package/lib/module/hooks/useMostRecentWorkout.js.map +0 -1
  224. package/lib/module/hooks/useSources.js +0 -15
  225. package/lib/module/hooks/useSources.js.map +0 -1
  226. package/lib/module/hooks/useStatisticsForQuantity.js +0 -21
  227. package/lib/module/hooks/useStatisticsForQuantity.js.map +0 -1
  228. package/lib/module/hooks/useSubscribeToChanges.js +0 -21
  229. package/lib/module/hooks/useSubscribeToChanges.js.map +0 -1
  230. package/lib/module/index.ios.js +0 -209
  231. package/lib/module/index.ios.js.map +0 -1
  232. package/lib/module/index.js +0 -4
  233. package/lib/module/index.js.map +0 -1
  234. package/lib/module/index.native.js +0 -160
  235. package/lib/module/index.native.js.map +0 -1
  236. package/lib/module/index.web.js +0 -4
  237. package/lib/module/index.web.js.map +0 -1
  238. package/lib/module/native-types.js +0 -1606
  239. package/lib/module/native-types.js.map +0 -1
  240. package/lib/module/test-setup.js +0 -54
  241. package/lib/module/test-setup.js.map +0 -1
  242. package/lib/module/test-utils.js +0 -11
  243. package/lib/module/test-utils.js.map +0 -1
  244. package/lib/module/types.js +0 -67
  245. package/lib/module/types.js.map +0 -1
  246. package/lib/module/utils/deleteQuantitySample.js +0 -4
  247. package/lib/module/utils/deleteQuantitySample.js.map +0 -1
  248. package/lib/module/utils/deleteSamples.js +0 -11
  249. package/lib/module/utils/deleteSamples.js.map +0 -1
  250. package/lib/module/utils/deleteWorkoutSample.js +0 -4
  251. package/lib/module/utils/deleteWorkoutSample.js.map +0 -1
  252. package/lib/module/utils/deserializeCategorySample.js +0 -7
  253. package/lib/module/utils/deserializeCategorySample.js.map +0 -1
  254. package/lib/module/utils/deserializeCategorySample.test.js +0 -22
  255. package/lib/module/utils/deserializeCategorySample.test.js.map +0 -1
  256. package/lib/module/utils/deserializeCorrelation.js +0 -19
  257. package/lib/module/utils/deserializeCorrelation.js.map +0 -1
  258. package/lib/module/utils/deserializeHeartbeatSeriesSample.js +0 -9
  259. package/lib/module/utils/deserializeHeartbeatSeriesSample.js.map +0 -1
  260. package/lib/module/utils/deserializeSample.js +0 -9
  261. package/lib/module/utils/deserializeSample.js.map +0 -1
  262. package/lib/module/utils/deserializeWorkout.js +0 -9
  263. package/lib/module/utils/deserializeWorkout.js.map +0 -1
  264. package/lib/module/utils/ensureMetadata.js +0 -5
  265. package/lib/module/utils/ensureMetadata.js.map +0 -1
  266. package/lib/module/utils/ensureTotals.js +0 -5
  267. package/lib/module/utils/ensureTotals.js.map +0 -1
  268. package/lib/module/utils/ensureUnit.js +0 -10
  269. package/lib/module/utils/ensureUnit.js.map +0 -1
  270. package/lib/module/utils/getDateOfBirth.js +0 -7
  271. package/lib/module/utils/getDateOfBirth.js.map +0 -1
  272. package/lib/module/utils/getMostRecentCategorySample.js +0 -10
  273. package/lib/module/utils/getMostRecentCategorySample.js.map +0 -1
  274. package/lib/module/utils/getMostRecentQuantitySample.js +0 -14
  275. package/lib/module/utils/getMostRecentQuantitySample.js.map +0 -1
  276. package/lib/module/utils/getMostRecentWorkout.js +0 -12
  277. package/lib/module/utils/getMostRecentWorkout.js.map +0 -1
  278. package/lib/module/utils/getPreferredUnit.js +0 -7
  279. package/lib/module/utils/getPreferredUnit.js.map +0 -1
  280. package/lib/module/utils/getPreferredUnits.js +0 -7
  281. package/lib/module/utils/getPreferredUnits.js.map +0 -1
  282. package/lib/module/utils/getPreferredUnitsTyped.js +0 -26
  283. package/lib/module/utils/getPreferredUnitsTyped.js.map +0 -1
  284. package/lib/module/utils/getRequestStatusForAuthorization.js +0 -14
  285. package/lib/module/utils/getRequestStatusForAuthorization.js.map +0 -1
  286. package/lib/module/utils/getWorkoutPlanById.js +0 -6
  287. package/lib/module/utils/getWorkoutPlanById.js.map +0 -1
  288. package/lib/module/utils/prepareOptions.js +0 -18
  289. package/lib/module/utils/prepareOptions.js.map +0 -1
  290. package/lib/module/utils/queryCategorySamples.js +0 -10
  291. package/lib/module/utils/queryCategorySamples.js.map +0 -1
  292. package/lib/module/utils/queryCategorySamplesWithAnchor.js +0 -14
  293. package/lib/module/utils/queryCategorySamplesWithAnchor.js.map +0 -1
  294. package/lib/module/utils/queryCorrelationSamples.js +0 -10
  295. package/lib/module/utils/queryCorrelationSamples.js.map +0 -1
  296. package/lib/module/utils/queryHeartbeatSeriesSamples.js +0 -10
  297. package/lib/module/utils/queryHeartbeatSeriesSamples.js.map +0 -1
  298. package/lib/module/utils/queryHeartbeatSeriesSamplesWithAnchor.js +0 -14
  299. package/lib/module/utils/queryHeartbeatSeriesSamplesWithAnchor.js.map +0 -1
  300. package/lib/module/utils/queryQuantitySamples.js +0 -12
  301. package/lib/module/utils/queryQuantitySamples.js.map +0 -1
  302. package/lib/module/utils/queryQuantitySamplesWithAnchor.js +0 -16
  303. package/lib/module/utils/queryQuantitySamplesWithAnchor.js.map +0 -1
  304. package/lib/module/utils/querySources.js +0 -7
  305. package/lib/module/utils/querySources.js.map +0 -1
  306. package/lib/module/utils/queryStateOfMindSamples.js +0 -14
  307. package/lib/module/utils/queryStateOfMindSamples.js.map +0 -1
  308. package/lib/module/utils/queryStatisticsCollectionForQuantity.js +0 -9
  309. package/lib/module/utils/queryStatisticsCollectionForQuantity.js.map +0 -1
  310. package/lib/module/utils/queryStatisticsForQuantity.js +0 -22
  311. package/lib/module/utils/queryStatisticsForQuantity.js.map +0 -1
  312. package/lib/module/utils/queryWorkoutSamplesWithAnchor.js +0 -19
  313. package/lib/module/utils/queryWorkoutSamplesWithAnchor.js.map +0 -1
  314. package/lib/module/utils/queryWorkouts.js +0 -15
  315. package/lib/module/utils/queryWorkouts.js.map +0 -1
  316. package/lib/module/utils/requestAuthorization.js +0 -15
  317. package/lib/module/utils/requestAuthorization.js.map +0 -1
  318. package/lib/module/utils/saveCategorySample.js +0 -13
  319. package/lib/module/utils/saveCategorySample.js.map +0 -1
  320. package/lib/module/utils/saveCorrelationSample.js +0 -28
  321. package/lib/module/utils/saveCorrelationSample.js.map +0 -1
  322. package/lib/module/utils/saveQuantitySample.js +0 -9
  323. package/lib/module/utils/saveQuantitySample.js.map +0 -1
  324. package/lib/module/utils/saveStateOfMindSample.js +0 -10
  325. package/lib/module/utils/saveStateOfMindSample.js.map +0 -1
  326. package/lib/module/utils/saveWorkoutRoute.js +0 -19
  327. package/lib/module/utils/saveWorkoutRoute.js.map +0 -1
  328. package/lib/module/utils/saveWorkoutSample.js +0 -29
  329. package/lib/module/utils/saveWorkoutSample.js.map +0 -1
  330. package/lib/module/utils/serializeDate.js +0 -3
  331. package/lib/module/utils/serializeDate.js.map +0 -1
  332. package/lib/module/utils/serializeDate.test.js +0 -14
  333. package/lib/module/utils/serializeDate.test.js.map +0 -1
  334. package/lib/module/utils/startWatchApp.js +0 -4
  335. package/lib/module/utils/startWatchApp.js.map +0 -1
  336. package/lib/module/utils/subscribeToChanges.js +0 -20
  337. package/lib/module/utils/subscribeToChanges.js.map +0 -1
  338. package/lib/typescript/example-expo/App.d.ts +0 -2
  339. package/lib/typescript/src/hooks/useHealthkitAuthorization.d.ts +0 -8
  340. package/lib/typescript/src/hooks/useHealthkitAuthorization.test.d.ts +0 -1
  341. package/lib/typescript/src/hooks/useIsHealthDataAvailable.d.ts +0 -7
  342. package/lib/typescript/src/hooks/useIsHealthDataAvailable.test.d.ts +0 -1
  343. package/lib/typescript/src/hooks/useMostRecentCategorySample.d.ts +0 -7
  344. package/lib/typescript/src/hooks/useMostRecentQuantitySample.d.ts +0 -7
  345. package/lib/typescript/src/hooks/useMostRecentWorkout.d.ts +0 -10
  346. package/lib/typescript/src/hooks/useSources.d.ts +0 -3
  347. package/lib/typescript/src/hooks/useStatisticsForQuantity.d.ts +0 -4
  348. package/lib/typescript/src/hooks/useSubscribeToChanges.d.ts +0 -3
  349. package/lib/typescript/src/index.d.ts +0 -3
  350. package/lib/typescript/src/index.ios.d.ts +0 -198
  351. package/lib/typescript/src/index.native.d.ts +0 -41
  352. package/lib/typescript/src/index.web.d.ts +0 -3
  353. package/lib/typescript/src/native-types.d.ts +0 -1764
  354. package/lib/typescript/src/test-setup.d.ts +0 -1
  355. package/lib/typescript/src/test-utils.d.ts +0 -2
  356. package/lib/typescript/src/types.d.ts +0 -111
  357. package/lib/typescript/src/utils/deleteQuantitySample.d.ts +0 -4
  358. package/lib/typescript/src/utils/deleteSamples.d.ts +0 -8
  359. package/lib/typescript/src/utils/deleteWorkoutSample.d.ts +0 -3
  360. package/lib/typescript/src/utils/deserializeCategorySample.d.ts +0 -4
  361. package/lib/typescript/src/utils/deserializeCategorySample.test.d.ts +0 -1
  362. package/lib/typescript/src/utils/deserializeCorrelation.d.ts +0 -4
  363. package/lib/typescript/src/utils/deserializeHeartbeatSeriesSample.d.ts +0 -4
  364. package/lib/typescript/src/utils/deserializeSample.d.ts +0 -4
  365. package/lib/typescript/src/utils/deserializeWorkout.d.ts +0 -4
  366. package/lib/typescript/src/utils/ensureMetadata.d.ts +0 -2
  367. package/lib/typescript/src/utils/ensureTotals.d.ts +0 -2
  368. package/lib/typescript/src/utils/ensureUnit.d.ts +0 -3
  369. package/lib/typescript/src/utils/getDateOfBirth.d.ts +0 -2
  370. package/lib/typescript/src/utils/getMostRecentCategorySample.d.ts +0 -4
  371. package/lib/typescript/src/utils/getMostRecentQuantitySample.d.ts +0 -4
  372. package/lib/typescript/src/utils/getMostRecentWorkout.d.ts +0 -5
  373. package/lib/typescript/src/utils/getPreferredUnit.d.ts +0 -4
  374. package/lib/typescript/src/utils/getPreferredUnits.d.ts +0 -4
  375. package/lib/typescript/src/utils/getPreferredUnitsTyped.d.ts +0 -9
  376. package/lib/typescript/src/utils/getRequestStatusForAuthorization.d.ts +0 -3
  377. package/lib/typescript/src/utils/getWorkoutPlanById.d.ts +0 -5
  378. package/lib/typescript/src/utils/prepareOptions.d.ts +0 -9
  379. package/lib/typescript/src/utils/queryCategorySamples.d.ts +0 -5
  380. package/lib/typescript/src/utils/queryCategorySamplesWithAnchor.d.ts +0 -10
  381. package/lib/typescript/src/utils/queryCorrelationSamples.d.ts +0 -5
  382. package/lib/typescript/src/utils/queryHeartbeatSeriesSamples.d.ts +0 -10
  383. package/lib/typescript/src/utils/queryHeartbeatSeriesSamplesWithAnchor.d.ts +0 -10
  384. package/lib/typescript/src/utils/queryQuantitySamples.d.ts +0 -7
  385. package/lib/typescript/src/utils/queryQuantitySamplesWithAnchor.d.ts +0 -12
  386. package/lib/typescript/src/utils/querySources.d.ts +0 -4
  387. package/lib/typescript/src/utils/queryStateOfMindSamples.d.ts +0 -7
  388. package/lib/typescript/src/utils/queryStatisticsCollectionForQuantity.d.ts +0 -3
  389. package/lib/typescript/src/utils/queryStatisticsForQuantity.d.ts +0 -14
  390. package/lib/typescript/src/utils/queryWorkoutSamplesWithAnchor.d.ts +0 -9
  391. package/lib/typescript/src/utils/queryWorkouts.d.ts +0 -4
  392. package/lib/typescript/src/utils/requestAuthorization.d.ts +0 -4
  393. package/lib/typescript/src/utils/saveCategorySample.d.ts +0 -11
  394. package/lib/typescript/src/utils/saveCorrelationSample.d.ts +0 -8
  395. package/lib/typescript/src/utils/saveQuantitySample.d.ts +0 -7
  396. package/lib/typescript/src/utils/saveStateOfMindSample.d.ts +0 -11
  397. package/lib/typescript/src/utils/saveWorkoutRoute.d.ts +0 -3
  398. package/lib/typescript/src/utils/saveWorkoutSample.d.ts +0 -11
  399. package/lib/typescript/src/utils/serializeDate.d.ts +0 -2
  400. package/lib/typescript/src/utils/serializeDate.test.d.ts +0 -1
  401. package/lib/typescript/src/utils/startWatchApp.d.ts +0 -3
  402. package/lib/typescript/src/utils/subscribeToChanges.d.ts +0 -3
  403. package/src/index.ios.tsx +0 -292
  404. package/src/index.native.tsx +0 -233
  405. package/src/index.tsx +0 -5
  406. package/src/index.web.tsx +0 -5
  407. package/src/native-types.ts +0 -2471
  408. package/src/types.ts +0 -156
  409. package/src/utils/deleteQuantitySample.ts +0 -14
  410. package/src/utils/deleteSamples.ts +0 -23
  411. package/src/utils/deleteWorkoutSample.ts +0 -7
  412. package/src/utils/deserializeCategorySample.test.ts +0 -24
  413. package/src/utils/deserializeCategorySample.ts +0 -12
  414. package/src/utils/deserializeCorrelation.ts +0 -28
  415. package/src/utils/deserializeHeartbeatSeriesSample.ts +0 -12
  416. package/src/utils/deserializeSample.ts +0 -17
  417. package/src/utils/deserializeWorkout.ts +0 -14
  418. package/src/utils/ensureMetadata.ts +0 -5
  419. package/src/utils/ensureTotals.ts +0 -5
  420. package/src/utils/ensureUnit.ts +0 -19
  421. package/src/utils/getDateOfBirth.ts +0 -8
  422. package/src/utils/getPreferredUnits.ts +0 -14
  423. package/src/utils/getPreferredUnitsTyped.ts +0 -38
  424. package/src/utils/getRequestStatusForAuthorization.ts +0 -21
  425. package/src/utils/getWorkoutPlanById.ts +0 -7
  426. package/src/utils/prepareOptions.ts +0 -19
  427. package/src/utils/queryCategorySamples.ts +0 -29
  428. package/src/utils/queryCategorySamplesWithAnchor.ts +0 -39
  429. package/src/utils/queryCorrelationSamples.ts +0 -29
  430. package/src/utils/queryHeartbeatSeriesSamples.ts +0 -29
  431. package/src/utils/queryHeartbeatSeriesSamplesWithAnchor.ts +0 -33
  432. package/src/utils/queryQuantitySamples.ts +0 -38
  433. package/src/utils/queryQuantitySamplesWithAnchor.ts +0 -46
  434. package/src/utils/querySources.ts +0 -21
  435. package/src/utils/queryStateOfMindSamples.ts +0 -14
  436. package/src/utils/queryStatisticsCollectionForQuantity.ts +0 -38
  437. package/src/utils/queryStatisticsForQuantity.ts +0 -38
  438. package/src/utils/queryWorkoutSamplesWithAnchor.ts +0 -46
  439. package/src/utils/queryWorkouts.ts +0 -28
  440. package/src/utils/requestAuthorization.ts +0 -19
  441. package/src/utils/saveCategorySample.ts +0 -31
  442. package/src/utils/saveCorrelationSample.ts +0 -43
  443. package/src/utils/saveQuantitySample.ts +0 -29
  444. package/src/utils/saveStateOfMindSample.ts +0 -38
  445. package/src/utils/saveWorkoutRoute.ts +0 -21
  446. package/src/utils/saveWorkoutSample.ts +0 -42
  447. package/src/utils/serializeDate.test.ts +0 -16
  448. package/src/utils/serializeDate.ts +0 -5
  449. package/src/utils/startWatchApp.ts +0 -7
@@ -1,46 +0,0 @@
1
- import deserializeQuantitySample from './deserializeSample'
2
- import ensureUnit from './ensureUnit'
3
- import prepareOptions from './prepareOptions'
4
- import Native from '../native-types'
5
-
6
- import type { HKQuantityTypeIdentifier, UnitForIdentifier, DeletedQuantitySampleRaw } from '../native-types'
7
- import type { GenericQueryOptions, HKQuantitySample } from '../types'
8
-
9
- export type QueryQuantitySamplesWithAnchorResponse<T extends HKQuantityTypeIdentifier> = {
10
- readonly samples: readonly HKQuantitySample<T>[],
11
- readonly deletedSamples: readonly DeletedQuantitySampleRaw<T>[],
12
- readonly newAnchor: string
13
- }
14
-
15
- export type QueryQuantitySamplesWithAnchorFn = <
16
- TIdentifier extends HKQuantityTypeIdentifier,
17
- TUnit extends UnitForIdentifier<TIdentifier>
18
- >(
19
- identifier: TIdentifier,
20
- options: Omit<GenericQueryOptions, 'ascending'> & { readonly unit?: TUnit }
21
- ) => Promise<QueryQuantitySamplesWithAnchorResponse<TIdentifier>>;
22
-
23
- const queryQuantitySamplesWithAnchor: QueryQuantitySamplesWithAnchorFn = async (
24
- identifier,
25
- options,
26
- ) => {
27
- const unit = await ensureUnit(identifier, options.unit)
28
- const opts = prepareOptions(options)
29
-
30
- const result = await Native.queryQuantitySamplesWithAnchor(
31
- identifier,
32
- unit,
33
- opts.from,
34
- opts.to,
35
- opts.limit,
36
- opts.anchor,
37
- )
38
-
39
- return {
40
- deletedSamples: result.deletedSamples,
41
- newAnchor: result.newAnchor,
42
- samples: result.samples.map(deserializeQuantitySample),
43
- }
44
- }
45
-
46
- export default queryQuantitySamplesWithAnchor
@@ -1,21 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type {
4
- HKQuantityTypeIdentifier,
5
- HKSource,
6
- HKCategoryTypeIdentifier,
7
- } from '../native-types'
8
-
9
- export type QuerySourcesFn = <
10
- TIdentifier extends HKCategoryTypeIdentifier | HKQuantityTypeIdentifier
11
- >(
12
- identifier: TIdentifier
13
- ) => Promise<readonly HKSource[]>;
14
-
15
- const querySources: QuerySourcesFn = async (identifier) => {
16
- const quantitySamples = await Native.querySources(identifier)
17
-
18
- return quantitySamples
19
- }
20
-
21
- export default querySources
@@ -1,14 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- export const queryStateOfMindSamples = async ({
4
- from, to, limit, ascending,
5
- }: { readonly from?: Date; readonly to?: Date; readonly limit?: number; readonly ascending?: boolean } = {}) => {
6
- const fromString = (from || new Date(0)).toISOString()
7
- const toString = (to || new Date(0)).toISOString()
8
-
9
- const res = await Native.queryStateOfMindSamples(fromString, toString, limit ?? 0, ascending ?? false)
10
-
11
- return res
12
- }
13
-
14
- export default queryStateOfMindSamples
@@ -1,38 +0,0 @@
1
- import ensureUnit from './ensureUnit'
2
- import Native from '../native-types'
3
-
4
- import type {
5
- HKQuantityTypeIdentifier,
6
- HKStatisticsOptions,
7
- UnitForIdentifier,
8
- IntervalComponents,
9
- } from '../native-types'
10
-
11
- async function queryStatisticsCollectionForQuantity<
12
- TIdentifier extends HKQuantityTypeIdentifier,
13
- TUnit extends UnitForIdentifier<TIdentifier> = UnitForIdentifier<TIdentifier>
14
- >(
15
- identifier: TIdentifier,
16
- options: readonly HKStatisticsOptions[],
17
- anchorDate: Date,
18
- intervalComponents: IntervalComponents,
19
- startDate: Date,
20
- endDate: Date,
21
- unit?: TUnit,
22
- ) {
23
- const actualUnit = await ensureUnit(identifier, unit)
24
-
25
- const rawResponse = await Native.queryStatisticsCollectionForQuantity(
26
- identifier,
27
- actualUnit,
28
- options,
29
- anchorDate.toISOString(),
30
- intervalComponents,
31
- startDate.toISOString(),
32
- endDate.toISOString(),
33
- )
34
-
35
- return rawResponse
36
- }
37
-
38
- export default queryStatisticsCollectionForQuantity
@@ -1,38 +0,0 @@
1
- import ensureUnit from './ensureUnit'
2
- import Native from '../native-types'
3
-
4
- import type { HKQuantityTypeIdentifier, HKStatisticsOptions, UnitForIdentifier } from '../native-types'
5
-
6
- async function queryStatisticsForQuantity<TIdentifier extends HKQuantityTypeIdentifier, TUnit extends UnitForIdentifier<TIdentifier> = UnitForIdentifier<TIdentifier>>(
7
- identifier: TIdentifier,
8
- options: readonly HKStatisticsOptions[],
9
- from: Date,
10
- to?: Date,
11
- unit?: TUnit,
12
- ) {
13
- const actualUnit = await ensureUnit(identifier, unit)
14
- const toDate = to || new Date()
15
- const { mostRecentQuantityDateInterval, ...rawResponse } = await Native.queryStatisticsForQuantity(
16
- identifier,
17
- actualUnit,
18
- from.toISOString(),
19
- toDate.toISOString(),
20
- options,
21
- )
22
-
23
- const response = {
24
- ...rawResponse,
25
- ...(mostRecentQuantityDateInterval
26
- ? {
27
- mostRecentQuantityDateInterval: {
28
- from: new Date(mostRecentQuantityDateInterval.from),
29
- to: new Date(mostRecentQuantityDateInterval.to),
30
- },
31
- }
32
- : {}),
33
- }
34
-
35
- return response
36
- }
37
-
38
- export default queryStatisticsForQuantity
@@ -1,46 +0,0 @@
1
- import deserializeWorkout from './deserializeWorkout'
2
- import getPreferredUnitsTyped from './getPreferredUnitsTyped'
3
- import prepareOptions from './prepareOptions'
4
- import Native from '../native-types'
5
-
6
- import type {
7
- EnergyUnit, LengthUnit,
8
- } from '../native-types'
9
- import type {
10
- DeletedWorkoutSampleRaw, HKWorkout, QueryWorkoutsOptions,
11
- } from '../types'
12
-
13
- export type QueryWorkoutSamplesWithAnchorResponse<
14
- TEnergy extends EnergyUnit,
15
- TDistance extends LengthUnit
16
- > = {
17
- readonly samples: readonly HKWorkout<TEnergy, TDistance>[],
18
- readonly deletedSamples: readonly DeletedWorkoutSampleRaw[],
19
- readonly newAnchor: string
20
- }
21
-
22
- async function queryCategorySamplesWithAnchor<
23
- TEnergy extends EnergyUnit,
24
- TDistance extends LengthUnit
25
- >(
26
- options: Omit<QueryWorkoutsOptions<TEnergy, TDistance>, 'ascending'>,
27
- ): Promise<QueryWorkoutSamplesWithAnchorResponse<TEnergy, TDistance>> {
28
- const opts = prepareOptions(options)
29
- const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(options)
30
- const raw = await Native.queryWorkoutSamplesWithAnchor(
31
- energyUnit,
32
- distanceUnit,
33
- opts.from,
34
- opts.to,
35
- opts.limit,
36
- opts.anchor,
37
- )
38
-
39
- return {
40
- samples: raw.samples.map(deserializeWorkout),
41
- deletedSamples: raw.deletedSamples,
42
- newAnchor: raw.newAnchor,
43
- }
44
- }
45
-
46
- export default queryCategorySamplesWithAnchor
@@ -1,28 +0,0 @@
1
- import deserializeWorkout from './deserializeWorkout'
2
- import getPreferredUnitsTyped from './getPreferredUnitsTyped'
3
- import prepareOptions from './prepareOptions'
4
- import Native from '../native-types'
5
-
6
- import type { EnergyUnit, LengthUnit } from '../native-types'
7
- import type { QueryWorkoutsOptions } from '../types'
8
-
9
- async function queryWorkouts<
10
- TEnergy extends EnergyUnit,
11
- TDistance extends LengthUnit
12
- >(options: QueryWorkoutsOptions<TEnergy, TDistance>) {
13
- const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(options)
14
- const opts = prepareOptions(options)
15
-
16
- const workouts = await Native.queryWorkoutSamples(
17
- energyUnit,
18
- distanceUnit,
19
- opts.from,
20
- opts.to,
21
- opts.limit,
22
- opts.ascending,
23
- )
24
-
25
- return workouts.map(deserializeWorkout)
26
- }
27
-
28
- export default queryWorkouts
@@ -1,19 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type {
4
- HealthkitReadAuthorization, HealthkitWriteAuthorization, ReadPermissions, WritePermissions,
5
- } from '../native-types'
6
-
7
- /** See https://developer.apple.com/documentation/healthkit/hkhealthstore/1614152-requestauthorization */
8
- const requestAuthorization = async (
9
- read: readonly HealthkitReadAuthorization[],
10
- write: readonly HealthkitWriteAuthorization[] = [],
11
- ): Promise<boolean> => {
12
- const readPermissions = read.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as ReadPermissions)
13
-
14
- const writePermissions = write.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as WritePermissions)
15
-
16
- return Native.requestAuthorization(writePermissions, readPermissions)
17
- }
18
-
19
- export default requestAuthorization
@@ -1,31 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type { HKCategoryTypeIdentifier, HKCategoryValueForIdentifier, MetadataMapperForCategoryIdentifier } from '../native-types'
4
-
5
- /**
6
- * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614168-savecategorysample save(_:withCompletion:) (Apple Docs)}
7
- * @see {@link https://developer.apple.com/documentation/healthkit/saving_data_to_healthkit Saving data to HealthKit (Apple Docs)}
8
- */
9
- async function saveCategorySample<T extends HKCategoryTypeIdentifier>(
10
- identifier: T,
11
- value: HKCategoryValueForIdentifier<T>,
12
- options?: {
13
- readonly start?: Date;
14
- readonly end?: Date;
15
- readonly metadata?: MetadataMapperForCategoryIdentifier<T>;
16
- },
17
- ) {
18
- const start = options?.start || options?.end || new Date()
19
- const end = options?.end || options?.start || new Date()
20
- const metadata = options?.metadata || {}
21
-
22
- return Native.saveCategorySample(
23
- identifier,
24
- value,
25
- start.toISOString(),
26
- end.toISOString(),
27
- metadata || {},
28
- )
29
- }
30
-
31
- export default saveCategorySample
@@ -1,43 +0,0 @@
1
- import ensureMetadata from './ensureMetadata'
2
- import Native from '../native-types'
3
-
4
- import type { MetadataMapperForCorrelationIdentifier, HKCorrelationTypeIdentifier } from '../native-types'
5
- import type { HKCategorySampleForSaving, HKQuantitySampleForSaving } from '../types'
6
-
7
- async function saveCorrelationSample<
8
- TIdentifier extends HKCorrelationTypeIdentifier,
9
- TSamples extends readonly(
10
- | HKCategorySampleForSaving
11
- | HKQuantitySampleForSaving
12
- )[]
13
- >(
14
- typeIdentifier: TIdentifier,
15
- samples: TSamples,
16
- options?: {
17
- readonly start?: Date;
18
- readonly end?: Date;
19
- readonly metadata?: MetadataMapperForCorrelationIdentifier<TIdentifier>;
20
- },
21
- ) {
22
- const start = (options?.start || new Date()).toISOString()
23
- const end = (options?.end || new Date()).toISOString()
24
-
25
- return Native.saveCorrelationSample(
26
- typeIdentifier,
27
- samples.map((sample) => {
28
- const { startDate, endDate, ...rest } = sample
29
- const updatedSample = {
30
- ...rest,
31
- ...(startDate && { startDate: new Date(startDate).toISOString() }),
32
- ...(endDate && { endDate: new Date(endDate).toISOString() }),
33
- }
34
-
35
- return { ...updatedSample, metadata: ensureMetadata(sample.metadata) }
36
- }),
37
- start,
38
- end,
39
- ensureMetadata(options?.metadata),
40
- )
41
- }
42
-
43
- export default saveCorrelationSample
@@ -1,29 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type { MetadataMapperForQuantityIdentifier, HKQuantityTypeIdentifier, UnitForIdentifier } from '../native-types'
4
-
5
- async function saveQuantitySample<TType extends HKQuantityTypeIdentifier>(
6
- identifier: TType,
7
- unit: UnitForIdentifier<TType>,
8
- value: number,
9
- options?: {
10
- readonly start?: Date;
11
- readonly end?: Date;
12
- readonly metadata?: MetadataMapperForQuantityIdentifier<TType>;
13
- },
14
- ) {
15
- const start = options?.start || options?.end || new Date()
16
- const end = options?.end || options?.start || new Date()
17
- const metadata = options?.metadata || {}
18
-
19
- return Native.saveQuantitySample(
20
- identifier,
21
- unit,
22
- value,
23
- start.toISOString(),
24
- end.toISOString(),
25
- metadata,
26
- )
27
- }
28
-
29
- export default saveQuantitySample
@@ -1,38 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type { HKStateOfMindSampleRaw } from '../native-types'
4
-
5
- /**
6
- * @see {@link https://developer.apple.com/documentation/healthkit/hkstateofmind Saving state of mind samples (Apple Docs)}
7
- * @description Saves a state of mind sample to HealthKit, including kind, mood, valence, labels (optional), and associations (optional).
8
- */
9
- async function saveStateOfMindSample(
10
- options: Omit<
11
- HKStateOfMindSampleRaw,
12
- | 'uuid'
13
- | 'valenceClassification'
14
- | 'startDate'
15
- | 'endDate'
16
- | 'labels'
17
- | 'associations'
18
- | 'device'
19
- | 'sourceRevision'
20
- > & {
21
- // allow the user to provide a Date instead of expecting them to provide date.toISOString()
22
- readonly date: Date
23
- // omitting then redeclaring these in order to make them optional
24
- readonly associations?: HKStateOfMindSampleRaw['associations']
25
- readonly labels?: HKStateOfMindSampleRaw['labels']
26
- },
27
- ) {
28
- return Native.saveStateOfMindSample(
29
- options.date.toISOString(),
30
- options.kind,
31
- options.valence,
32
- options.labels || [],
33
- options.associations || [],
34
- options.metadata || {},
35
- )
36
- }
37
-
38
- export default saveStateOfMindSample
@@ -1,21 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type { CLLocationForSaving } from '../types'
4
-
5
- async function saveWorkoutRoute(
6
- workoutUUID: string,
7
- locations: readonly CLLocationForSaving[],
8
- ) {
9
- return Native.saveWorkoutRoute(
10
- workoutUUID,
11
- locations.map((location) => {
12
- const { timestamp, ...rest } = location
13
- return {
14
- ...rest,
15
- ...(timestamp ? { timestamp: new Date(timestamp).toISOString() } : { timestamp: '' }),
16
- }
17
- }),
18
- )
19
- }
20
-
21
- export default saveWorkoutRoute
@@ -1,42 +0,0 @@
1
- import ensureMetadata from './ensureMetadata'
2
- import ensureTotals from './ensureTotals'
3
- import Native from '../native-types'
4
-
5
- import type { HKWorkoutActivityType, HKWorkoutMetadata } from '../native-types'
6
- import type { HKQuantitySampleForSaving } from '../types'
7
-
8
- async function saveWorkoutSample<TIdentifier extends HKWorkoutActivityType>(
9
- typeIdentifier: TIdentifier,
10
- quantities: readonly HKQuantitySampleForSaving[],
11
- _start: Date,
12
- options?: {
13
- readonly end?: Date;
14
- readonly totals?: {
15
- readonly distance?: number;
16
- readonly energyBurned?: number;
17
- }
18
- readonly metadata?: HKWorkoutMetadata;
19
- },
20
- ) {
21
- const start = _start.toISOString()
22
- const end = (options?.end || new Date()).toISOString()
23
-
24
- return Native.saveWorkoutSample(
25
- typeIdentifier,
26
- quantities.map((quantity) => {
27
- const { startDate, endDate, ...rest } = quantity
28
- const updatedQuantity = {
29
- ...rest,
30
- ...(startDate && { startDate: startDate.toISOString() }),
31
- ...(endDate && { endDate: endDate.toISOString() }),
32
- }
33
- return { ...updatedQuantity, metadata: ensureMetadata(quantity.metadata) }
34
- }),
35
- start,
36
- end,
37
- ensureTotals(options?.totals),
38
- ensureMetadata(options?.metadata),
39
- )
40
- }
41
-
42
- export default saveWorkoutSample
@@ -1,16 +0,0 @@
1
- import serializeDate from './serializeDate'
2
-
3
- describe('serializeDate', () => {
4
- it('should serialize zero date', () => {
5
- expect(serializeDate(new Date(0))).toBe('1970-01-01T00:00:00.000Z')
6
- })
7
-
8
- it('should serialize date', () => {
9
- const date = new Date()
10
- expect(serializeDate(date)).toBe(date.toISOString())
11
- })
12
-
13
- it('should serialize null date', () => {
14
- expect(serializeDate(null)).toBe('1969-12-31T23:59:59.999Z')
15
- })
16
- })
@@ -1,5 +0,0 @@
1
- const serializeDate = (date?: Date | null): string => (
2
- (date || new Date(-1)).toISOString()
3
- )
4
-
5
- export default serializeDate
@@ -1,7 +0,0 @@
1
- import Native from '../native-types'
2
-
3
- import type { HKWorkoutConfiguration } from '..'
4
-
5
- const startWatchApp = (configuration: HKWorkoutConfiguration) => async () => Native.startWatchAppWithWorkoutConfiguration(configuration)
6
-
7
- export default startWatchApp