@kingstinct/react-native-healthkit 9.0.0 → 9.0.2

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 (441) hide show
  1. package/README.md +192 -0
  2. package/app.plugin.js +0 -1
  3. package/ios/Helpers.swift +33 -37
  4. package/ios/WorkoutProxy.swift +7 -0
  5. package/lib/commonjs/hooks/useCategorySampleById.js +36 -0
  6. package/lib/commonjs/hooks/useHealthkitAuthorization.js +34 -0
  7. package/lib/commonjs/hooks/useIsHealthDataAvailable.js +23 -0
  8. package/lib/commonjs/hooks/useMostRecentCategorySample.js +21 -0
  9. package/lib/commonjs/hooks/useMostRecentQuantitySample.js +22 -0
  10. package/lib/commonjs/hooks/useMostRecentWorkout.js +31 -0
  11. package/lib/commonjs/hooks/useQuantitySampleById.js +34 -0
  12. package/lib/commonjs/hooks/useSources.js +17 -0
  13. package/lib/commonjs/hooks/useStatisticsForQuantity.js +26 -0
  14. package/lib/commonjs/hooks/useSubscribeToChanges.js +20 -0
  15. package/lib/commonjs/hooks/useWorkoutById.js +46 -0
  16. package/lib/commonjs/index.ios.js +144 -0
  17. package/lib/commonjs/index.js +210 -0
  18. package/lib/commonjs/modules.js +12 -0
  19. package/lib/commonjs/specs/CategoryTypeModule.nitro.js +5 -0
  20. package/lib/commonjs/specs/CharacteristicTypeModule.nitro.js +2 -0
  21. package/lib/commonjs/specs/CoreModule.nitro.js +2 -0
  22. package/lib/commonjs/specs/CorrelationTypeModule.nitro.js +2 -0
  23. package/lib/commonjs/specs/HeartbeatSeriesModule.nitro.js +2 -0
  24. package/lib/commonjs/specs/QuantityTypeModule.nitro.js +2 -0
  25. package/lib/commonjs/specs/SourceProxy.nitro.js +2 -0
  26. package/lib/commonjs/specs/StateOfMindModule.nitro.js +2 -0
  27. package/lib/commonjs/specs/WorkoutProxy.nitro.js +2 -0
  28. package/lib/commonjs/specs/WorkoutSessionModule.nitro.js +19 -0
  29. package/lib/commonjs/specs/WorkoutsModule.nitro.js +2 -0
  30. package/lib/commonjs/types/Auth.js +21 -0
  31. package/lib/commonjs/types/Background.js +13 -0
  32. package/lib/commonjs/types/CategoryType.js +101 -0
  33. package/lib/commonjs/types/CategoryTypeIdentifier.js +2 -0
  34. package/lib/commonjs/types/Characteristics.js +48 -0
  35. package/lib/commonjs/types/Constants.js +23 -0
  36. package/lib/commonjs/types/CorrelationType.js +2 -0
  37. package/lib/commonjs/types/Device.js +2 -0
  38. package/lib/commonjs/types/HeartbeatSeries.js +2 -0
  39. package/lib/commonjs/types/InterfaceVerification.js +24 -0
  40. package/lib/commonjs/types/InterfaceVerificationExample.js +33 -0
  41. package/lib/commonjs/types/QuantitySample.js +2 -0
  42. package/lib/commonjs/types/QuantityType.js +17 -0
  43. package/lib/commonjs/types/QuantityTypeIdentifier.js +2 -0
  44. package/lib/commonjs/types/QueryOptions.js +2 -0
  45. package/lib/commonjs/types/Shared.js +13 -0
  46. package/lib/commonjs/types/Source.js +2 -0
  47. package/lib/commonjs/types/StateOfMind.js +90 -0
  48. package/lib/commonjs/types/Subscriptons.js +2 -0
  49. package/lib/commonjs/types/Units.js +2 -0
  50. package/lib/commonjs/types/WeatherCondition.js +35 -0
  51. package/lib/commonjs/types/WorkoutKit.js +12 -0
  52. package/lib/commonjs/types/Workouts.js +150 -0
  53. package/lib/commonjs/utils/getCategorySampleById.js +12 -0
  54. package/lib/commonjs/utils/getMostRecentCategorySample.js +12 -0
  55. package/lib/commonjs/utils/getMostRecentQuantitySample.js +11 -0
  56. package/lib/commonjs/utils/getMostRecentWorkout.js +13 -0
  57. package/lib/commonjs/utils/getPreferredUnit.js +12 -0
  58. package/lib/commonjs/utils/getQuantitySampleById.js +14 -0
  59. package/lib/commonjs/utils/getWorkoutById.js +15 -0
  60. package/lib/commonjs/utils/subscribeToChanges.js +11 -0
  61. package/lib/module/hooks/useCategorySampleById.js +30 -0
  62. package/lib/module/hooks/useHealthkitAuthorization.js +30 -0
  63. package/lib/module/hooks/useIsHealthDataAvailable.js +19 -0
  64. package/lib/module/hooks/useMostRecentCategorySample.js +15 -0
  65. package/lib/module/hooks/useMostRecentQuantitySample.js +16 -0
  66. package/lib/module/hooks/useMostRecentWorkout.js +25 -0
  67. package/lib/module/hooks/useQuantitySampleById.js +28 -0
  68. package/lib/module/hooks/useSources.js +14 -0
  69. package/lib/module/hooks/useStatisticsForQuantity.js +20 -0
  70. package/lib/module/hooks/useSubscribeToChanges.js +17 -0
  71. package/lib/module/hooks/useWorkoutById.js +40 -0
  72. package/lib/module/index.ios.js +126 -0
  73. package/lib/module/index.js +202 -0
  74. package/lib/module/modules.js +9 -0
  75. package/lib/module/specs/CategoryTypeModule.nitro.js +4 -0
  76. package/lib/module/specs/CharacteristicTypeModule.nitro.js +1 -0
  77. package/lib/module/specs/CoreModule.nitro.js +1 -0
  78. package/lib/module/specs/CorrelationTypeModule.nitro.js +1 -0
  79. package/lib/module/specs/HeartbeatSeriesModule.nitro.js +1 -0
  80. package/lib/module/specs/QuantityTypeModule.nitro.js +1 -0
  81. package/lib/module/specs/SourceProxy.nitro.js +1 -0
  82. package/lib/module/specs/StateOfMindModule.nitro.js +1 -0
  83. package/lib/module/specs/WorkoutProxy.nitro.js +1 -0
  84. package/lib/module/specs/WorkoutSessionModule.nitro.js +16 -0
  85. package/lib/module/specs/WorkoutsModule.nitro.js +1 -0
  86. package/lib/module/types/Auth.js +18 -0
  87. package/lib/module/types/Background.js +10 -0
  88. package/lib/module/types/CategoryType.js +98 -0
  89. package/lib/module/types/CategoryTypeIdentifier.js +1 -0
  90. package/lib/module/types/Characteristics.js +45 -0
  91. package/lib/module/types/Constants.js +20 -0
  92. package/lib/module/types/CorrelationType.js +1 -0
  93. package/lib/module/types/Device.js +1 -0
  94. package/lib/module/types/HeartbeatSeries.js +1 -0
  95. package/lib/module/types/InterfaceVerification.js +23 -0
  96. package/lib/module/types/InterfaceVerificationExample.js +32 -0
  97. package/lib/module/types/QuantitySample.js +1 -0
  98. package/lib/module/types/QuantityType.js +14 -0
  99. package/lib/module/types/QuantityTypeIdentifier.js +1 -0
  100. package/lib/module/types/QueryOptions.js +1 -0
  101. package/lib/module/types/Shared.js +10 -0
  102. package/lib/module/types/Source.js +1 -0
  103. package/lib/module/types/StateOfMind.js +87 -0
  104. package/lib/module/types/Subscriptons.js +1 -0
  105. package/lib/module/types/Units.js +1 -0
  106. package/lib/module/types/WeatherCondition.js +32 -0
  107. package/lib/module/types/WorkoutKit.js +9 -0
  108. package/lib/module/types/Workouts.js +147 -0
  109. package/lib/module/utils/getCategorySampleById.js +9 -0
  110. package/lib/module/utils/getMostRecentCategorySample.js +9 -0
  111. package/lib/module/utils/getMostRecentQuantitySample.js +9 -0
  112. package/lib/module/utils/getMostRecentWorkout.js +11 -0
  113. package/lib/module/utils/getPreferredUnit.js +10 -0
  114. package/lib/module/utils/getQuantitySampleById.js +12 -0
  115. package/lib/module/utils/getWorkoutById.js +13 -0
  116. package/lib/module/utils/subscribeToChanges.js +7 -0
  117. package/lib/typescript/hooks/useCategorySampleById.d.ts +11 -0
  118. package/lib/typescript/hooks/useHealthkitAuthorization.d.ts +9 -0
  119. package/lib/typescript/hooks/useIsHealthDataAvailable.d.ts +7 -0
  120. package/lib/typescript/hooks/useMostRecentCategorySample.d.ts +7 -0
  121. package/lib/typescript/hooks/useMostRecentQuantitySample.d.ts +7 -0
  122. package/lib/typescript/hooks/useMostRecentWorkout.d.ts +9 -0
  123. package/lib/typescript/hooks/useQuantitySampleById.d.ts +14 -0
  124. package/lib/typescript/hooks/useSources.d.ts +4 -0
  125. package/lib/typescript/hooks/useStatisticsForQuantity.d.ts +4 -0
  126. package/lib/typescript/hooks/useSubscribeToChanges.d.ts +4 -0
  127. package/lib/typescript/hooks/useWorkoutById.d.ts +13 -0
  128. package/lib/typescript/index.d.ts +74 -0
  129. package/lib/typescript/index.ios.d.ts +142 -0
  130. package/lib/typescript/modules.d.ts +16 -0
  131. package/lib/typescript/specs/CategoryTypeModule.nitro.d.ts +16 -0
  132. package/lib/typescript/specs/CharacteristicTypeModule.nitro.d.ts +16 -0
  133. package/lib/typescript/specs/CoreModule.nitro.d.ts +60 -0
  134. package/lib/typescript/specs/CorrelationTypeModule.nitro.d.ts +8 -0
  135. package/lib/typescript/specs/HeartbeatSeriesModule.nitro.d.ts +9 -0
  136. package/lib/typescript/specs/QuantityTypeModule.nitro.d.ts +16 -0
  137. package/lib/typescript/specs/SourceProxy.nitro.d.ts +14 -0
  138. package/lib/typescript/specs/StateOfMindModule.nitro.d.ts +9 -0
  139. package/lib/typescript/specs/WorkoutProxy.nitro.d.ts +10 -0
  140. package/lib/typescript/specs/WorkoutSessionModule.nitro.d.ts +47 -0
  141. package/lib/typescript/specs/WorkoutsModule.nitro.d.ts +13 -0
  142. package/lib/typescript/types/Auth.d.ts +16 -0
  143. package/lib/typescript/types/Background.d.ts +9 -0
  144. package/lib/typescript/types/CategoryType.d.ts +144 -0
  145. package/lib/typescript/types/CategoryTypeIdentifier.d.ts +31 -0
  146. package/lib/typescript/types/Characteristics.d.ts +41 -0
  147. package/lib/typescript/types/Constants.d.ts +20 -0
  148. package/lib/typescript/types/CorrelationType.d.ts +21 -0
  149. package/lib/typescript/types/Device.d.ts +13 -0
  150. package/lib/typescript/types/HeartbeatSeries.d.ts +25 -0
  151. package/lib/typescript/types/InterfaceVerification.d.ts +73 -0
  152. package/lib/typescript/types/InterfaceVerificationExample.d.ts +58 -0
  153. package/lib/typescript/types/QuantitySample.d.ts +27 -0
  154. package/lib/typescript/types/QuantityType.d.ts +63 -0
  155. package/lib/typescript/types/QuantityTypeIdentifier.d.ts +659 -0
  156. package/lib/typescript/types/QueryOptions.d.ts +47 -0
  157. package/lib/typescript/types/Shared.d.ts +39 -0
  158. package/lib/typescript/types/Source.d.ts +10 -0
  159. package/lib/typescript/types/StateOfMind.d.ts +103 -0
  160. package/lib/typescript/types/Subscriptons.d.ts +8 -0
  161. package/lib/typescript/types/Units.d.ts +97 -0
  162. package/lib/typescript/types/WeatherCondition.d.ts +30 -0
  163. package/lib/typescript/types/WorkoutKit.d.ts +16 -0
  164. package/lib/typescript/types/Workouts.d.ts +254 -0
  165. package/lib/typescript/utils/getCategorySampleById.d.ts +3 -0
  166. package/lib/typescript/utils/getMostRecentCategorySample.d.ts +3 -0
  167. package/lib/typescript/utils/getMostRecentQuantitySample.d.ts +3 -0
  168. package/lib/typescript/utils/getMostRecentWorkout.d.ts +3 -0
  169. package/lib/typescript/utils/getPreferredUnit.d.ts +3 -0
  170. package/lib/typescript/utils/getQuantitySampleById.d.ts +3 -0
  171. package/lib/typescript/utils/getWorkoutById.d.ts +3 -0
  172. package/lib/typescript/utils/subscribeToChanges.d.ts +5 -0
  173. package/nitrogen/generated/.gitattributes +1 -0
  174. package/nitrogen/generated/ios/ReactNativeHealthkit+autolinking.rb +60 -0
  175. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +450 -0
  176. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +2570 -0
  177. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +326 -0
  178. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +89 -0
  179. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +130 -0
  180. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.cpp +11 -0
  181. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +146 -0
  182. package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.cpp +11 -0
  183. package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.hpp +155 -0
  184. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.cpp +11 -0
  185. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +300 -0
  186. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.cpp +11 -0
  187. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +120 -0
  188. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.cpp +11 -0
  189. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +138 -0
  190. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.cpp +11 -0
  191. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +196 -0
  192. package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.cpp +11 -0
  193. package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.hpp +77 -0
  194. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.cpp +11 -0
  195. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +138 -0
  196. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.cpp +11 -0
  197. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +196 -0
  198. package/nitrogen/generated/ios/c++/HybridWorkoutSessionModuleSpecSwift.cpp +11 -0
  199. package/nitrogen/generated/ios/c++/HybridWorkoutSessionModuleSpecSwift.hpp +107 -0
  200. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.cpp +11 -0
  201. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +172 -0
  202. package/nitrogen/generated/ios/swift/AuthorizationRequestStatus.swift +44 -0
  203. package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +44 -0
  204. package/nitrogen/generated/ios/swift/BiologicalSex.swift +48 -0
  205. package/nitrogen/generated/ios/swift/BloodType.swift +68 -0
  206. package/nitrogen/generated/ios/swift/CategorySample.swift +148 -0
  207. package/nitrogen/generated/ios/swift/CategorySampleForSaving.swift +108 -0
  208. package/nitrogen/generated/ios/swift/CategorySamplesWithAnchorResponse.swift +81 -0
  209. package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +288 -0
  210. package/nitrogen/generated/ios/swift/ComparisonPredicateOperator.swift +88 -0
  211. package/nitrogen/generated/ios/swift/CorrelationObject.swift +16 -0
  212. package/nitrogen/generated/ios/swift/CorrelationSample.swift +117 -0
  213. package/nitrogen/generated/ios/swift/CorrelationTypeIdentifier.swift +40 -0
  214. package/nitrogen/generated/ios/swift/DeletedSample.swift +64 -0
  215. package/nitrogen/generated/ios/swift/Device.swift +256 -0
  216. package/nitrogen/generated/ios/swift/FilterForSamples.swift +21 -0
  217. package/nitrogen/generated/ios/swift/FilterForSamplesAnd.swift +94 -0
  218. package/nitrogen/generated/ios/swift/FilterForSamplesOr.swift +94 -0
  219. package/nitrogen/generated/ios/swift/FitzpatrickSkinType.swift +60 -0
  220. package/nitrogen/generated/ios/swift/Func_void_AuthorizationRequestStatus.swift +46 -0
  221. package/nitrogen/generated/ios/swift/Func_void_BiologicalSex.swift +46 -0
  222. package/nitrogen/generated/ios/swift/Func_void_BloodType.swift +46 -0
  223. package/nitrogen/generated/ios/swift/Func_void_CategorySamplesWithAnchorResponse.swift +46 -0
  224. package/nitrogen/generated/ios/swift/Func_void_FitzpatrickSkinType.swift +46 -0
  225. package/nitrogen/generated/ios/swift/Func_void_HeartbeatSeriesSamplesWithAnchorResponse.swift +46 -0
  226. package/nitrogen/generated/ios/swift/Func_void_OnChangeCallbackArgs.swift +46 -0
  227. package/nitrogen/generated/ios/swift/Func_void_QuantitySamplesWithAnchorResponse.swift +46 -0
  228. package/nitrogen/generated/ios/swift/Func_void_QueryStatisticsResponse.swift +46 -0
  229. package/nitrogen/generated/ios/swift/Func_void_QueryWorkoutSamplesWithAnchorResponse.swift +46 -0
  230. package/nitrogen/generated/ios/swift/Func_void_WheelchairUse.swift +46 -0
  231. package/nitrogen/generated/ios/swift/Func_void_WorkoutEventType.swift +46 -0
  232. package/nitrogen/generated/ios/swift/Func_void_WorkoutSessionState_WorkoutSessionState_std__chrono__system_clock__time_point.swift +46 -0
  233. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  234. package/nitrogen/generated/ios/swift/Func_void_double.swift +46 -0
  235. package/nitrogen/generated/ios/swift/Func_void_std__chrono__system_clock__time_point.swift +46 -0
  236. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  237. package/nitrogen/generated/ios/swift/Func_void_std__optional_WorkoutPlan_.swift +52 -0
  238. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
  239. package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__bool_.swift +54 -0
  240. package/nitrogen/generated/ios/swift/Func_void_std__vector_CategorySample_.swift +46 -0
  241. package/nitrogen/generated/ios/swift/Func_void_std__vector_CorrelationSample_.swift +46 -0
  242. package/nitrogen/generated/ios/swift/Func_void_std__vector_HeartbeatSeriesSample_.swift +46 -0
  243. package/nitrogen/generated/ios/swift/Func_void_std__vector_IdentifierWithUnit_.swift +46 -0
  244. package/nitrogen/generated/ios/swift/Func_void_std__vector_QuantitySample_.swift +46 -0
  245. package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponse_.swift +46 -0
  246. package/nitrogen/generated/ios/swift/Func_void_std__vector_RemoteSessionSharableData_.swift +46 -0
  247. package/nitrogen/generated/ios/swift/Func_void_std__vector_StateOfMindSample_.swift +46 -0
  248. package/nitrogen/generated/ios/swift/Func_void_std__vector_WorkoutRoute_.swift +46 -0
  249. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_margelo__nitro__healthkit__HybridSourceProxySpec__.swift +50 -0
  250. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec__.swift +50 -0
  251. package/nitrogen/generated/ios/swift/Heartbeat.swift +46 -0
  252. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +167 -0
  253. package/nitrogen/generated/ios/swift/HeartbeatSeriesSamplesWithAnchorResponse.swift +81 -0
  254. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +50 -0
  255. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +171 -0
  256. package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec.swift +57 -0
  257. package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec_cxx.swift +257 -0
  258. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +69 -0
  259. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +523 -0
  260. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +49 -0
  261. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +158 -0
  262. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +49 -0
  263. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +152 -0
  264. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +54 -0
  265. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +285 -0
  266. package/nitrogen/generated/ios/swift/HybridSourceProxySpec.swift +48 -0
  267. package/nitrogen/generated/ios/swift/HybridSourceProxySpec_cxx.swift +125 -0
  268. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +49 -0
  269. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +158 -0
  270. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +64 -0
  271. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +351 -0
  272. package/nitrogen/generated/ios/swift/HybridWorkoutSessionModuleSpec.swift +49 -0
  273. package/nitrogen/generated/ios/swift/HybridWorkoutSessionModuleSpec_cxx.swift +133 -0
  274. package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec.swift +51 -0
  275. package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec_cxx.swift +187 -0
  276. package/nitrogen/generated/ios/swift/IdentifierWithUnit.swift +46 -0
  277. package/nitrogen/generated/ios/swift/IntervalComponents.swift +139 -0
  278. package/nitrogen/generated/ios/swift/LocationForSaving.swift +112 -0
  279. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +820 -0
  280. package/nitrogen/generated/ios/swift/OnChangeCallbackArgs.swift +64 -0
  281. package/nitrogen/generated/ios/swift/PredicateForSamples.swift +19 -0
  282. package/nitrogen/generated/ios/swift/PredicateForWorkouts.swift +21 -0
  283. package/nitrogen/generated/ios/swift/PredicateForWorkoutsAnd.swift +108 -0
  284. package/nitrogen/generated/ios/swift/PredicateForWorkoutsOr.swift +108 -0
  285. package/nitrogen/generated/ios/swift/PredicateFromWorkout.swift +45 -0
  286. package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +35 -0
  287. package/nitrogen/generated/ios/swift/PredicateWithStartAndEnd.swift +128 -0
  288. package/nitrogen/generated/ios/swift/PredicateWithUUID.swift +35 -0
  289. package/nitrogen/generated/ios/swift/PredicateWithUUIDs.swift +47 -0
  290. package/nitrogen/generated/ios/swift/Quantity.swift +46 -0
  291. package/nitrogen/generated/ios/swift/QuantityDateInterval.swift +46 -0
  292. package/nitrogen/generated/ios/swift/QuantitySample.swift +159 -0
  293. package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +119 -0
  294. package/nitrogen/generated/ios/swift/QuantitySamplesWithAnchorResponse.swift +81 -0
  295. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +508 -0
  296. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +166 -0
  297. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +195 -0
  298. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +160 -0
  299. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +189 -0
  300. package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +227 -0
  301. package/nitrogen/generated/ios/swift/QueryWorkoutSamplesWithAnchorResponse.swift +91 -0
  302. package/nitrogen/generated/ios/swift/RemoteSessionSharableData.swift +46 -0
  303. package/nitrogen/generated/ios/swift/SampleForSaving.swift +16 -0
  304. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +792 -0
  305. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +772 -0
  306. package/nitrogen/generated/ios/swift/Source.swift +46 -0
  307. package/nitrogen/generated/ios/swift/SourceRevision.swift +150 -0
  308. package/nitrogen/generated/ios/swift/StateOfMindAssociation.swift +104 -0
  309. package/nitrogen/generated/ios/swift/StateOfMindKind.swift +40 -0
  310. package/nitrogen/generated/ios/swift/StateOfMindLabel.swift +184 -0
  311. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +223 -0
  312. package/nitrogen/generated/ios/swift/StateOfMindValenceClassification.swift +60 -0
  313. package/nitrogen/generated/ios/swift/StatisticsOptions.swift +60 -0
  314. package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +129 -0
  315. package/nitrogen/generated/ios/swift/UpdateFrequency.swift +48 -0
  316. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout.swift +19 -0
  317. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr.swift +21 -0
  318. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_WorkoutActivityTypePredicate_WorkoutDurationPredicate_PredicateForWorkoutsOr_PredicateForWorkoutsAnd.swift +23 -0
  319. package/nitrogen/generated/ios/swift/WheelchairUse.swift +44 -0
  320. package/nitrogen/generated/ios/swift/WorkoutActivity.swift +68 -0
  321. package/nitrogen/generated/ios/swift/WorkoutActivityType.swift +368 -0
  322. package/nitrogen/generated/ios/swift/WorkoutActivityTypePredicate.swift +35 -0
  323. package/nitrogen/generated/ios/swift/WorkoutConfiguration.swift +58 -0
  324. package/nitrogen/generated/ios/swift/WorkoutDurationPredicate.swift +46 -0
  325. package/nitrogen/generated/ios/swift/WorkoutEvent.swift +57 -0
  326. package/nitrogen/generated/ios/swift/WorkoutEventType.swift +64 -0
  327. package/nitrogen/generated/ios/swift/WorkoutPlan.swift +46 -0
  328. package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +232 -0
  329. package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +238 -0
  330. package/nitrogen/generated/ios/swift/WorkoutRoute.swift +99 -0
  331. package/nitrogen/generated/ios/swift/WorkoutRouteLocation.swift +146 -0
  332. package/nitrogen/generated/ios/swift/WorkoutSample.swift +364 -0
  333. package/nitrogen/generated/ios/swift/WorkoutSessionLocationType.swift +44 -0
  334. package/nitrogen/generated/ios/swift/WorkoutSessionMirroringStartHandlerOptions.swift +118 -0
  335. package/nitrogen/generated/ios/swift/WorkoutSessionState.swift +56 -0
  336. package/nitrogen/generated/ios/swift/WorkoutTotals.swift +70 -0
  337. package/nitrogen/generated/shared/c++/AuthorizationRequestStatus.hpp +65 -0
  338. package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +65 -0
  339. package/nitrogen/generated/shared/c++/BiologicalSex.hpp +66 -0
  340. package/nitrogen/generated/shared/c++/BloodType.hpp +71 -0
  341. package/nitrogen/generated/shared/c++/CategorySample.hpp +110 -0
  342. package/nitrogen/generated/shared/c++/CategorySampleForSaving.hpp +98 -0
  343. package/nitrogen/generated/shared/c++/CategorySamplesWithAnchorResponse.hpp +83 -0
  344. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +326 -0
  345. package/nitrogen/generated/shared/c++/ComparisonPredicateOperator.hpp +76 -0
  346. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +98 -0
  347. package/nitrogen/generated/shared/c++/CorrelationTypeIdentifier.hpp +78 -0
  348. package/nitrogen/generated/shared/c++/DeletedSample.hpp +76 -0
  349. package/nitrogen/generated/shared/c++/Device.hpp +98 -0
  350. package/nitrogen/generated/shared/c++/FilterForSamplesAnd.hpp +84 -0
  351. package/nitrogen/generated/shared/c++/FilterForSamplesOr.hpp +84 -0
  352. package/nitrogen/generated/shared/c++/FitzpatrickSkinType.hpp +69 -0
  353. package/nitrogen/generated/shared/c++/Heartbeat.hpp +73 -0
  354. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +107 -0
  355. package/nitrogen/generated/shared/c++/HeartbeatSeriesSamplesWithAnchorResponse.hpp +83 -0
  356. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.cpp +23 -0
  357. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +84 -0
  358. package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.cpp +30 -0
  359. package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.hpp +83 -0
  360. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +42 -0
  361. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +140 -0
  362. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +22 -0
  363. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +80 -0
  364. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.cpp +22 -0
  365. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +76 -0
  366. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +27 -0
  367. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +123 -0
  368. package/nitrogen/generated/shared/c++/HybridSourceProxySpec.cpp +22 -0
  369. package/nitrogen/generated/shared/c++/HybridSourceProxySpec.hpp +65 -0
  370. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +22 -0
  371. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +83 -0
  372. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +38 -0
  373. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +114 -0
  374. package/nitrogen/generated/shared/c++/HybridWorkoutSessionModuleSpec.cpp +22 -0
  375. package/nitrogen/generated/shared/c++/HybridWorkoutSessionModuleSpec.hpp +68 -0
  376. package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.cpp +24 -0
  377. package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.hpp +95 -0
  378. package/nitrogen/generated/shared/c++/IdentifierWithUnit.hpp +73 -0
  379. package/nitrogen/generated/shared/c++/IntervalComponents.hpp +85 -0
  380. package/nitrogen/generated/shared/c++/LocationForSaving.hpp +97 -0
  381. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +858 -0
  382. package/nitrogen/generated/shared/c++/OnChangeCallbackArgs.hpp +76 -0
  383. package/nitrogen/generated/shared/c++/PredicateForWorkoutsAnd.hpp +90 -0
  384. package/nitrogen/generated/shared/c++/PredicateForWorkoutsOr.hpp +90 -0
  385. package/nitrogen/generated/shared/c++/PredicateFromWorkout.hpp +71 -0
  386. package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +69 -0
  387. package/nitrogen/generated/shared/c++/PredicateWithStartAndEnd.hpp +82 -0
  388. package/nitrogen/generated/shared/c++/PredicateWithUUID.hpp +69 -0
  389. package/nitrogen/generated/shared/c++/PredicateWithUUIDs.hpp +70 -0
  390. package/nitrogen/generated/shared/c++/Quantity.hpp +73 -0
  391. package/nitrogen/generated/shared/c++/QuantityDateInterval.hpp +73 -0
  392. package/nitrogen/generated/shared/c++/QuantitySample.hpp +114 -0
  393. package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +103 -0
  394. package/nitrogen/generated/shared/c++/QuantitySamplesWithAnchorResponse.hpp +83 -0
  395. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +546 -0
  396. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +99 -0
  397. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +103 -0
  398. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +98 -0
  399. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +103 -0
  400. package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +98 -0
  401. package/nitrogen/generated/shared/c++/QueryWorkoutSamplesWithAnchorResponse.hpp +84 -0
  402. package/nitrogen/generated/shared/c++/RemoteSessionSharableData.hpp +75 -0
  403. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +830 -0
  404. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +810 -0
  405. package/nitrogen/generated/shared/c++/Source.hpp +73 -0
  406. package/nitrogen/generated/shared/c++/SourceRevision.hpp +85 -0
  407. package/nitrogen/generated/shared/c++/StateOfMindAssociation.hpp +80 -0
  408. package/nitrogen/generated/shared/c++/StateOfMindKind.hpp +64 -0
  409. package/nitrogen/generated/shared/c++/StateOfMindLabel.hpp +100 -0
  410. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +132 -0
  411. package/nitrogen/generated/shared/c++/StateOfMindValenceClassification.hpp +69 -0
  412. package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +98 -0
  413. package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +89 -0
  414. package/nitrogen/generated/shared/c++/UpdateFrequency.hpp +66 -0
  415. package/nitrogen/generated/shared/c++/WheelchairUse.hpp +65 -0
  416. package/nitrogen/generated/shared/c++/WorkoutActivity.hpp +82 -0
  417. package/nitrogen/generated/shared/c++/WorkoutActivityType.hpp +146 -0
  418. package/nitrogen/generated/shared/c++/WorkoutActivityTypePredicate.hpp +70 -0
  419. package/nitrogen/generated/shared/c++/WorkoutConfiguration.hpp +78 -0
  420. package/nitrogen/generated/shared/c++/WorkoutDurationPredicate.hpp +74 -0
  421. package/nitrogen/generated/shared/c++/WorkoutEvent.hpp +79 -0
  422. package/nitrogen/generated/shared/c++/WorkoutEventType.hpp +70 -0
  423. package/nitrogen/generated/shared/c++/WorkoutPlan.hpp +75 -0
  424. package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +113 -0
  425. package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +113 -0
  426. package/nitrogen/generated/shared/c++/WorkoutRoute.hpp +81 -0
  427. package/nitrogen/generated/shared/c++/WorkoutRouteLocation.hpp +106 -0
  428. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +144 -0
  429. package/nitrogen/generated/shared/c++/WorkoutSessionLocationType.hpp +65 -0
  430. package/nitrogen/generated/shared/c++/WorkoutSessionMirroringStartHandlerOptions.hpp +92 -0
  431. package/nitrogen/generated/shared/c++/WorkoutSessionState.hpp +68 -0
  432. package/nitrogen/generated/shared/c++/WorkoutTotals.hpp +73 -0
  433. package/package.json +35 -12
  434. package/src/hooks/useCategorySampleById.ts +41 -0
  435. package/src/hooks/useQuantitySampleById.ts +44 -0
  436. package/src/hooks/useWorkoutById.ts +55 -0
  437. package/src/index.ios.ts +1 -9
  438. package/src/index.ts +4 -16
  439. package/src/utils/getCategorySampleById.ts +16 -0
  440. package/src/utils/getQuantitySampleById.ts +20 -0
  441. package/src/utils/getWorkoutById.ts +20 -0
@@ -0,0 +1,56 @@
1
+ ///
2
+ /// WorkoutSessionState.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS enum `WorkoutSessionState`, backed by a C++ enum.
10
+ */
11
+ public typealias WorkoutSessionState = margelo.nitro.healthkit.WorkoutSessionState
12
+
13
+ public extension WorkoutSessionState {
14
+ /**
15
+ * Get a WorkoutSessionState for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "NotStarted":
21
+ self = .notstarted
22
+ case "Running":
23
+ self = .running
24
+ case "Ended":
25
+ self = .ended
26
+ case "Paused":
27
+ self = .paused
28
+ case "Prepared":
29
+ self = .prepared
30
+ case "Stopped":
31
+ self = .stopped
32
+ default:
33
+ return nil
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Get the String value this WorkoutSessionState represents.
39
+ */
40
+ var stringValue: String {
41
+ switch self {
42
+ case .notstarted:
43
+ return "NotStarted"
44
+ case .running:
45
+ return "Running"
46
+ case .ended:
47
+ return "Ended"
48
+ case .paused:
49
+ return "Paused"
50
+ case .prepared:
51
+ return "Prepared"
52
+ case .stopped:
53
+ return "Stopped"
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,70 @@
1
+ ///
2
+ /// WorkoutTotals.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `WorkoutTotals`, backed by a C++ struct.
12
+ */
13
+ public typealias WorkoutTotals = margelo.nitro.healthkit.WorkoutTotals
14
+
15
+ public extension WorkoutTotals {
16
+ private typealias bridge = margelo.nitro.healthkit.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `WorkoutTotals`.
20
+ */
21
+ init(distance: Double?, energyBurned: Double?) {
22
+ self.init({ () -> bridge.std__optional_double_ in
23
+ if let __unwrappedValue = distance {
24
+ return bridge.create_std__optional_double_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_double_ in
29
+ if let __unwrappedValue = energyBurned {
30
+ return bridge.create_std__optional_double_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }())
35
+ }
36
+
37
+ var distance: Double? {
38
+ @inline(__always)
39
+ get {
40
+ return self.__distance.value
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__distance = { () -> bridge.std__optional_double_ in
45
+ if let __unwrappedValue = newValue {
46
+ return bridge.create_std__optional_double_(__unwrappedValue)
47
+ } else {
48
+ return .init()
49
+ }
50
+ }()
51
+ }
52
+ }
53
+
54
+ var energyBurned: Double? {
55
+ @inline(__always)
56
+ get {
57
+ return self.__energyBurned.value
58
+ }
59
+ @inline(__always)
60
+ set {
61
+ self.__energyBurned = { () -> bridge.std__optional_double_ in
62
+ if let __unwrappedValue = newValue {
63
+ return bridge.create_std__optional_double_(__unwrappedValue)
64
+ } else {
65
+ return .init()
66
+ }
67
+ }()
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// AuthorizationRequestStatus.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <cmath>
11
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
12
+ #include <NitroModules/JSIConverter.hpp>
13
+ #else
14
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
15
+ #endif
16
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
17
+ #include <NitroModules/NitroDefines.hpp>
18
+ #else
19
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
20
+ #endif
21
+
22
+ namespace margelo::nitro::healthkit {
23
+
24
+ /**
25
+ * An enum which can be represented as a JavaScript enum (AuthorizationRequestStatus).
26
+ */
27
+ enum class AuthorizationRequestStatus {
28
+ UNKNOWN SWIFT_NAME(unknown) = 0,
29
+ SHOULDREQUEST SWIFT_NAME(shouldrequest) = 1,
30
+ UNNECESSARY SWIFT_NAME(unnecessary) = 2,
31
+ } CLOSED_ENUM;
32
+
33
+ } // namespace margelo::nitro::healthkit
34
+
35
+ namespace margelo::nitro {
36
+
37
+ using namespace margelo::nitro::healthkit;
38
+
39
+ // C++ AuthorizationRequestStatus <> JS AuthorizationRequestStatus (enum)
40
+ template <>
41
+ struct JSIConverter<AuthorizationRequestStatus> final {
42
+ static inline AuthorizationRequestStatus fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
43
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
44
+ return static_cast<AuthorizationRequestStatus>(enumValue);
45
+ }
46
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, AuthorizationRequestStatus arg) {
47
+ int enumValue = static_cast<int>(arg);
48
+ return JSIConverter<int>::toJSI(runtime, enumValue);
49
+ }
50
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
51
+ if (!value.isNumber()) {
52
+ return false;
53
+ }
54
+ double integer;
55
+ double fraction = modf(value.getNumber(), &integer);
56
+ if (fraction != 0.0) {
57
+ // It is some kind of floating point number - our enums are ints.
58
+ return false;
59
+ }
60
+ // Check if we are within the bounds of the enum.
61
+ return integer >= 0 && integer <= 2;
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// AuthorizationStatus.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <cmath>
11
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
12
+ #include <NitroModules/JSIConverter.hpp>
13
+ #else
14
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
15
+ #endif
16
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
17
+ #include <NitroModules/NitroDefines.hpp>
18
+ #else
19
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
20
+ #endif
21
+
22
+ namespace margelo::nitro::healthkit {
23
+
24
+ /**
25
+ * An enum which can be represented as a JavaScript enum (AuthorizationStatus).
26
+ */
27
+ enum class AuthorizationStatus {
28
+ NOTDETERMINED SWIFT_NAME(notdetermined) = 0,
29
+ SHARINGDENIED SWIFT_NAME(sharingdenied) = 1,
30
+ SHARINGAUTHORIZED SWIFT_NAME(sharingauthorized) = 2,
31
+ } CLOSED_ENUM;
32
+
33
+ } // namespace margelo::nitro::healthkit
34
+
35
+ namespace margelo::nitro {
36
+
37
+ using namespace margelo::nitro::healthkit;
38
+
39
+ // C++ AuthorizationStatus <> JS AuthorizationStatus (enum)
40
+ template <>
41
+ struct JSIConverter<AuthorizationStatus> final {
42
+ static inline AuthorizationStatus fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
43
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
44
+ return static_cast<AuthorizationStatus>(enumValue);
45
+ }
46
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, AuthorizationStatus arg) {
47
+ int enumValue = static_cast<int>(arg);
48
+ return JSIConverter<int>::toJSI(runtime, enumValue);
49
+ }
50
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
51
+ if (!value.isNumber()) {
52
+ return false;
53
+ }
54
+ double integer;
55
+ double fraction = modf(value.getNumber(), &integer);
56
+ if (fraction != 0.0) {
57
+ // It is some kind of floating point number - our enums are ints.
58
+ return false;
59
+ }
60
+ // Check if we are within the bounds of the enum.
61
+ return integer >= 0 && integer <= 2;
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// BiologicalSex.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <cmath>
11
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
12
+ #include <NitroModules/JSIConverter.hpp>
13
+ #else
14
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
15
+ #endif
16
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
17
+ #include <NitroModules/NitroDefines.hpp>
18
+ #else
19
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
20
+ #endif
21
+
22
+ namespace margelo::nitro::healthkit {
23
+
24
+ /**
25
+ * An enum which can be represented as a JavaScript enum (BiologicalSex).
26
+ */
27
+ enum class BiologicalSex {
28
+ NOTSET SWIFT_NAME(notset) = 0,
29
+ FEMALE SWIFT_NAME(female) = 1,
30
+ MALE SWIFT_NAME(male) = 2,
31
+ OTHER SWIFT_NAME(other) = 3,
32
+ } CLOSED_ENUM;
33
+
34
+ } // namespace margelo::nitro::healthkit
35
+
36
+ namespace margelo::nitro {
37
+
38
+ using namespace margelo::nitro::healthkit;
39
+
40
+ // C++ BiologicalSex <> JS BiologicalSex (enum)
41
+ template <>
42
+ struct JSIConverter<BiologicalSex> final {
43
+ static inline BiologicalSex fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
44
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
45
+ return static_cast<BiologicalSex>(enumValue);
46
+ }
47
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, BiologicalSex arg) {
48
+ int enumValue = static_cast<int>(arg);
49
+ return JSIConverter<int>::toJSI(runtime, enumValue);
50
+ }
51
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
52
+ if (!value.isNumber()) {
53
+ return false;
54
+ }
55
+ double integer;
56
+ double fraction = modf(value.getNumber(), &integer);
57
+ if (fraction != 0.0) {
58
+ // It is some kind of floating point number - our enums are ints.
59
+ return false;
60
+ }
61
+ // Check if we are within the bounds of the enum.
62
+ return integer >= 0 && integer <= 3;
63
+ }
64
+ };
65
+
66
+ } // namespace margelo::nitro
@@ -0,0 +1,71 @@
1
+ ///
2
+ /// BloodType.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <cmath>
11
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
12
+ #include <NitroModules/JSIConverter.hpp>
13
+ #else
14
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
15
+ #endif
16
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
17
+ #include <NitroModules/NitroDefines.hpp>
18
+ #else
19
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
20
+ #endif
21
+
22
+ namespace margelo::nitro::healthkit {
23
+
24
+ /**
25
+ * An enum which can be represented as a JavaScript enum (BloodType).
26
+ */
27
+ enum class BloodType {
28
+ NOTSET SWIFT_NAME(notset) = 0,
29
+ APOSITIVE SWIFT_NAME(apositive) = 1,
30
+ ANEGATIVE SWIFT_NAME(anegative) = 2,
31
+ BPOSITIVE SWIFT_NAME(bpositive) = 3,
32
+ BNEGATIVE SWIFT_NAME(bnegative) = 4,
33
+ ABPOSITIVE SWIFT_NAME(abpositive) = 5,
34
+ ABNEGATIVE SWIFT_NAME(abnegative) = 6,
35
+ OPOSITIVE SWIFT_NAME(opositive) = 7,
36
+ ONEGATIVE SWIFT_NAME(onegative) = 8,
37
+ } CLOSED_ENUM;
38
+
39
+ } // namespace margelo::nitro::healthkit
40
+
41
+ namespace margelo::nitro {
42
+
43
+ using namespace margelo::nitro::healthkit;
44
+
45
+ // C++ BloodType <> JS BloodType (enum)
46
+ template <>
47
+ struct JSIConverter<BloodType> final {
48
+ static inline BloodType fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
49
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
50
+ return static_cast<BloodType>(enumValue);
51
+ }
52
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, BloodType arg) {
53
+ int enumValue = static_cast<int>(arg);
54
+ return JSIConverter<int>::toJSI(runtime, enumValue);
55
+ }
56
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
57
+ if (!value.isNumber()) {
58
+ return false;
59
+ }
60
+ double integer;
61
+ double fraction = modf(value.getNumber(), &integer);
62
+ if (fraction != 0.0) {
63
+ // It is some kind of floating point number - our enums are ints.
64
+ return false;
65
+ }
66
+ // Check if we are within the bounds of the enum.
67
+ return integer >= 0 && integer <= 8;
68
+ }
69
+ };
70
+
71
+ } // namespace margelo::nitro
@@ -0,0 +1,110 @@
1
+ ///
2
+ /// CategorySample.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+
21
+ // Forward declaration of `Device` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { struct Device; }
23
+ // Forward declaration of `CategoryTypeIdentifier` to properly resolve imports.
24
+ namespace margelo::nitro::healthkit { enum class CategoryTypeIdentifier; }
25
+ // Forward declaration of `AnyMap` to properly resolve imports.
26
+ namespace NitroModules { class AnyMap; }
27
+ // Forward declaration of `SourceRevision` to properly resolve imports.
28
+ namespace margelo::nitro::healthkit { struct SourceRevision; }
29
+
30
+ #include <string>
31
+ #include <optional>
32
+ #include "Device.hpp"
33
+ #include "CategoryTypeIdentifier.hpp"
34
+ #include <chrono>
35
+ #include <NitroModules/AnyMap.hpp>
36
+ #include "SourceRevision.hpp"
37
+
38
+ namespace margelo::nitro::healthkit {
39
+
40
+ /**
41
+ * A struct which can be represented as a JavaScript object (CategorySample).
42
+ */
43
+ struct CategorySample {
44
+ public:
45
+ std::string uuid SWIFT_PRIVATE;
46
+ std::optional<Device> device SWIFT_PRIVATE;
47
+ CategoryTypeIdentifier categoryType SWIFT_PRIVATE;
48
+ std::chrono::system_clock::time_point startDate SWIFT_PRIVATE;
49
+ std::chrono::system_clock::time_point endDate SWIFT_PRIVATE;
50
+ double value SWIFT_PRIVATE;
51
+ std::shared_ptr<AnyMap> metadata SWIFT_PRIVATE;
52
+ std::optional<SourceRevision> sourceRevision SWIFT_PRIVATE;
53
+
54
+ public:
55
+ CategorySample() = default;
56
+ explicit CategorySample(std::string uuid, std::optional<Device> device, CategoryTypeIdentifier categoryType, std::chrono::system_clock::time_point startDate, std::chrono::system_clock::time_point endDate, double value, std::shared_ptr<AnyMap> metadata, std::optional<SourceRevision> sourceRevision): uuid(uuid), device(device), categoryType(categoryType), startDate(startDate), endDate(endDate), value(value), metadata(metadata), sourceRevision(sourceRevision) {}
57
+ };
58
+
59
+ } // namespace margelo::nitro::healthkit
60
+
61
+ namespace margelo::nitro {
62
+
63
+ using namespace margelo::nitro::healthkit;
64
+
65
+ // C++ CategorySample <> JS CategorySample (object)
66
+ template <>
67
+ struct JSIConverter<CategorySample> final {
68
+ static inline CategorySample fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
69
+ jsi::Object obj = arg.asObject(runtime);
70
+ return CategorySample(
71
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "uuid")),
72
+ JSIConverter<std::optional<Device>>::fromJSI(runtime, obj.getProperty(runtime, "device")),
73
+ JSIConverter<CategoryTypeIdentifier>::fromJSI(runtime, obj.getProperty(runtime, "categoryType")),
74
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "startDate")),
75
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "endDate")),
76
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "value")),
77
+ JSIConverter<std::shared_ptr<AnyMap>>::fromJSI(runtime, obj.getProperty(runtime, "metadata")),
78
+ JSIConverter<std::optional<SourceRevision>>::fromJSI(runtime, obj.getProperty(runtime, "sourceRevision"))
79
+ );
80
+ }
81
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const CategorySample& arg) {
82
+ jsi::Object obj(runtime);
83
+ obj.setProperty(runtime, "uuid", JSIConverter<std::string>::toJSI(runtime, arg.uuid));
84
+ obj.setProperty(runtime, "device", JSIConverter<std::optional<Device>>::toJSI(runtime, arg.device));
85
+ obj.setProperty(runtime, "categoryType", JSIConverter<CategoryTypeIdentifier>::toJSI(runtime, arg.categoryType));
86
+ obj.setProperty(runtime, "startDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.startDate));
87
+ obj.setProperty(runtime, "endDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.endDate));
88
+ obj.setProperty(runtime, "value", JSIConverter<double>::toJSI(runtime, arg.value));
89
+ obj.setProperty(runtime, "metadata", JSIConverter<std::shared_ptr<AnyMap>>::toJSI(runtime, arg.metadata));
90
+ obj.setProperty(runtime, "sourceRevision", JSIConverter<std::optional<SourceRevision>>::toJSI(runtime, arg.sourceRevision));
91
+ return obj;
92
+ }
93
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
94
+ if (!value.isObject()) {
95
+ return false;
96
+ }
97
+ jsi::Object obj = value.getObject(runtime);
98
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "uuid"))) return false;
99
+ if (!JSIConverter<std::optional<Device>>::canConvert(runtime, obj.getProperty(runtime, "device"))) return false;
100
+ if (!JSIConverter<CategoryTypeIdentifier>::canConvert(runtime, obj.getProperty(runtime, "categoryType"))) return false;
101
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "startDate"))) return false;
102
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "endDate"))) return false;
103
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "value"))) return false;
104
+ if (!JSIConverter<std::shared_ptr<AnyMap>>::canConvert(runtime, obj.getProperty(runtime, "metadata"))) return false;
105
+ if (!JSIConverter<std::optional<SourceRevision>>::canConvert(runtime, obj.getProperty(runtime, "sourceRevision"))) return false;
106
+ return true;
107
+ }
108
+ };
109
+
110
+ } // namespace margelo::nitro
@@ -0,0 +1,98 @@
1
+ ///
2
+ /// CategorySampleForSaving.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+
21
+ // Forward declaration of `CategoryTypeIdentifier` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { enum class CategoryTypeIdentifier; }
23
+ // Forward declaration of `AnyMap` to properly resolve imports.
24
+ namespace NitroModules { class AnyMap; }
25
+ // Forward declaration of `SourceRevision` to properly resolve imports.
26
+ namespace margelo::nitro::healthkit { struct SourceRevision; }
27
+
28
+ #include <chrono>
29
+ #include "CategoryTypeIdentifier.hpp"
30
+ #include <NitroModules/AnyMap.hpp>
31
+ #include <optional>
32
+ #include "SourceRevision.hpp"
33
+
34
+ namespace margelo::nitro::healthkit {
35
+
36
+ /**
37
+ * A struct which can be represented as a JavaScript object (CategorySampleForSaving).
38
+ */
39
+ struct CategorySampleForSaving {
40
+ public:
41
+ std::chrono::system_clock::time_point start SWIFT_PRIVATE;
42
+ std::chrono::system_clock::time_point end SWIFT_PRIVATE;
43
+ CategoryTypeIdentifier categoryType SWIFT_PRIVATE;
44
+ double value SWIFT_PRIVATE;
45
+ std::shared_ptr<AnyMap> metadata SWIFT_PRIVATE;
46
+ std::optional<SourceRevision> sourceRevision SWIFT_PRIVATE;
47
+
48
+ public:
49
+ CategorySampleForSaving() = default;
50
+ explicit CategorySampleForSaving(std::chrono::system_clock::time_point start, std::chrono::system_clock::time_point end, CategoryTypeIdentifier categoryType, double value, std::shared_ptr<AnyMap> metadata, std::optional<SourceRevision> sourceRevision): start(start), end(end), categoryType(categoryType), value(value), metadata(metadata), sourceRevision(sourceRevision) {}
51
+ };
52
+
53
+ } // namespace margelo::nitro::healthkit
54
+
55
+ namespace margelo::nitro {
56
+
57
+ using namespace margelo::nitro::healthkit;
58
+
59
+ // C++ CategorySampleForSaving <> JS CategorySampleForSaving (object)
60
+ template <>
61
+ struct JSIConverter<CategorySampleForSaving> final {
62
+ static inline CategorySampleForSaving fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
63
+ jsi::Object obj = arg.asObject(runtime);
64
+ return CategorySampleForSaving(
65
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "start")),
66
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "end")),
67
+ JSIConverter<CategoryTypeIdentifier>::fromJSI(runtime, obj.getProperty(runtime, "categoryType")),
68
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "value")),
69
+ JSIConverter<std::shared_ptr<AnyMap>>::fromJSI(runtime, obj.getProperty(runtime, "metadata")),
70
+ JSIConverter<std::optional<SourceRevision>>::fromJSI(runtime, obj.getProperty(runtime, "sourceRevision"))
71
+ );
72
+ }
73
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const CategorySampleForSaving& arg) {
74
+ jsi::Object obj(runtime);
75
+ obj.setProperty(runtime, "start", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.start));
76
+ obj.setProperty(runtime, "end", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.end));
77
+ obj.setProperty(runtime, "categoryType", JSIConverter<CategoryTypeIdentifier>::toJSI(runtime, arg.categoryType));
78
+ obj.setProperty(runtime, "value", JSIConverter<double>::toJSI(runtime, arg.value));
79
+ obj.setProperty(runtime, "metadata", JSIConverter<std::shared_ptr<AnyMap>>::toJSI(runtime, arg.metadata));
80
+ obj.setProperty(runtime, "sourceRevision", JSIConverter<std::optional<SourceRevision>>::toJSI(runtime, arg.sourceRevision));
81
+ return obj;
82
+ }
83
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
84
+ if (!value.isObject()) {
85
+ return false;
86
+ }
87
+ jsi::Object obj = value.getObject(runtime);
88
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "start"))) return false;
89
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "end"))) return false;
90
+ if (!JSIConverter<CategoryTypeIdentifier>::canConvert(runtime, obj.getProperty(runtime, "categoryType"))) return false;
91
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "value"))) return false;
92
+ if (!JSIConverter<std::shared_ptr<AnyMap>>::canConvert(runtime, obj.getProperty(runtime, "metadata"))) return false;
93
+ if (!JSIConverter<std::optional<SourceRevision>>::canConvert(runtime, obj.getProperty(runtime, "sourceRevision"))) return false;
94
+ return true;
95
+ }
96
+ };
97
+
98
+ } // namespace margelo::nitro