@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,78 @@
1
+ ///
2
+ /// WorkoutConfiguration.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 `WorkoutActivityType` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { enum class WorkoutActivityType; }
23
+ // Forward declaration of `WorkoutSessionLocationType` to properly resolve imports.
24
+ namespace margelo::nitro::healthkit { enum class WorkoutSessionLocationType; }
25
+
26
+ #include "WorkoutActivityType.hpp"
27
+ #include <optional>
28
+ #include "WorkoutSessionLocationType.hpp"
29
+
30
+ namespace margelo::nitro::healthkit {
31
+
32
+ /**
33
+ * A struct which can be represented as a JavaScript object (WorkoutConfiguration).
34
+ */
35
+ struct WorkoutConfiguration {
36
+ public:
37
+ WorkoutActivityType activityType SWIFT_PRIVATE;
38
+ std::optional<WorkoutSessionLocationType> locationType SWIFT_PRIVATE;
39
+
40
+ public:
41
+ WorkoutConfiguration() = default;
42
+ explicit WorkoutConfiguration(WorkoutActivityType activityType, std::optional<WorkoutSessionLocationType> locationType): activityType(activityType), locationType(locationType) {}
43
+ };
44
+
45
+ } // namespace margelo::nitro::healthkit
46
+
47
+ namespace margelo::nitro {
48
+
49
+ using namespace margelo::nitro::healthkit;
50
+
51
+ // C++ WorkoutConfiguration <> JS WorkoutConfiguration (object)
52
+ template <>
53
+ struct JSIConverter<WorkoutConfiguration> final {
54
+ static inline WorkoutConfiguration fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
55
+ jsi::Object obj = arg.asObject(runtime);
56
+ return WorkoutConfiguration(
57
+ JSIConverter<WorkoutActivityType>::fromJSI(runtime, obj.getProperty(runtime, "activityType")),
58
+ JSIConverter<std::optional<WorkoutSessionLocationType>>::fromJSI(runtime, obj.getProperty(runtime, "locationType"))
59
+ );
60
+ }
61
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const WorkoutConfiguration& arg) {
62
+ jsi::Object obj(runtime);
63
+ obj.setProperty(runtime, "activityType", JSIConverter<WorkoutActivityType>::toJSI(runtime, arg.activityType));
64
+ obj.setProperty(runtime, "locationType", JSIConverter<std::optional<WorkoutSessionLocationType>>::toJSI(runtime, arg.locationType));
65
+ return obj;
66
+ }
67
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
68
+ if (!value.isObject()) {
69
+ return false;
70
+ }
71
+ jsi::Object obj = value.getObject(runtime);
72
+ if (!JSIConverter<WorkoutActivityType>::canConvert(runtime, obj.getProperty(runtime, "activityType"))) return false;
73
+ if (!JSIConverter<std::optional<WorkoutSessionLocationType>>::canConvert(runtime, obj.getProperty(runtime, "locationType"))) return false;
74
+ return true;
75
+ }
76
+ };
77
+
78
+ } // namespace margelo::nitro
@@ -0,0 +1,74 @@
1
+ ///
2
+ /// WorkoutDurationPredicate.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 `ComparisonPredicateOperator` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { enum class ComparisonPredicateOperator; }
23
+
24
+ #include "ComparisonPredicateOperator.hpp"
25
+
26
+ namespace margelo::nitro::healthkit {
27
+
28
+ /**
29
+ * A struct which can be represented as a JavaScript object (WorkoutDurationPredicate).
30
+ */
31
+ struct WorkoutDurationPredicate {
32
+ public:
33
+ ComparisonPredicateOperator predicateOperator SWIFT_PRIVATE;
34
+ double durationInSeconds SWIFT_PRIVATE;
35
+
36
+ public:
37
+ WorkoutDurationPredicate() = default;
38
+ explicit WorkoutDurationPredicate(ComparisonPredicateOperator predicateOperator, double durationInSeconds): predicateOperator(predicateOperator), durationInSeconds(durationInSeconds) {}
39
+ };
40
+
41
+ } // namespace margelo::nitro::healthkit
42
+
43
+ namespace margelo::nitro {
44
+
45
+ using namespace margelo::nitro::healthkit;
46
+
47
+ // C++ WorkoutDurationPredicate <> JS WorkoutDurationPredicate (object)
48
+ template <>
49
+ struct JSIConverter<WorkoutDurationPredicate> final {
50
+ static inline WorkoutDurationPredicate fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
51
+ jsi::Object obj = arg.asObject(runtime);
52
+ return WorkoutDurationPredicate(
53
+ JSIConverter<ComparisonPredicateOperator>::fromJSI(runtime, obj.getProperty(runtime, "predicateOperator")),
54
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "durationInSeconds"))
55
+ );
56
+ }
57
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const WorkoutDurationPredicate& arg) {
58
+ jsi::Object obj(runtime);
59
+ obj.setProperty(runtime, "predicateOperator", JSIConverter<ComparisonPredicateOperator>::toJSI(runtime, arg.predicateOperator));
60
+ obj.setProperty(runtime, "durationInSeconds", JSIConverter<double>::toJSI(runtime, arg.durationInSeconds));
61
+ return obj;
62
+ }
63
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
64
+ if (!value.isObject()) {
65
+ return false;
66
+ }
67
+ jsi::Object obj = value.getObject(runtime);
68
+ if (!JSIConverter<ComparisonPredicateOperator>::canConvert(runtime, obj.getProperty(runtime, "predicateOperator"))) return false;
69
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "durationInSeconds"))) return false;
70
+ return true;
71
+ }
72
+ };
73
+
74
+ } // namespace margelo::nitro
@@ -0,0 +1,79 @@
1
+ ///
2
+ /// WorkoutEvent.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 `WorkoutEventType` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { enum class WorkoutEventType; }
23
+
24
+ #include "WorkoutEventType.hpp"
25
+ #include <chrono>
26
+
27
+ namespace margelo::nitro::healthkit {
28
+
29
+ /**
30
+ * A struct which can be represented as a JavaScript object (WorkoutEvent).
31
+ */
32
+ struct WorkoutEvent {
33
+ public:
34
+ WorkoutEventType type SWIFT_PRIVATE;
35
+ std::chrono::system_clock::time_point startDate SWIFT_PRIVATE;
36
+ std::chrono::system_clock::time_point endDate SWIFT_PRIVATE;
37
+
38
+ public:
39
+ WorkoutEvent() = default;
40
+ explicit WorkoutEvent(WorkoutEventType type, std::chrono::system_clock::time_point startDate, std::chrono::system_clock::time_point endDate): type(type), startDate(startDate), endDate(endDate) {}
41
+ };
42
+
43
+ } // namespace margelo::nitro::healthkit
44
+
45
+ namespace margelo::nitro {
46
+
47
+ using namespace margelo::nitro::healthkit;
48
+
49
+ // C++ WorkoutEvent <> JS WorkoutEvent (object)
50
+ template <>
51
+ struct JSIConverter<WorkoutEvent> final {
52
+ static inline WorkoutEvent fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
53
+ jsi::Object obj = arg.asObject(runtime);
54
+ return WorkoutEvent(
55
+ JSIConverter<WorkoutEventType>::fromJSI(runtime, obj.getProperty(runtime, "type")),
56
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "startDate")),
57
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "endDate"))
58
+ );
59
+ }
60
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const WorkoutEvent& arg) {
61
+ jsi::Object obj(runtime);
62
+ obj.setProperty(runtime, "type", JSIConverter<WorkoutEventType>::toJSI(runtime, arg.type));
63
+ obj.setProperty(runtime, "startDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.startDate));
64
+ obj.setProperty(runtime, "endDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.endDate));
65
+ return obj;
66
+ }
67
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
68
+ if (!value.isObject()) {
69
+ return false;
70
+ }
71
+ jsi::Object obj = value.getObject(runtime);
72
+ if (!JSIConverter<WorkoutEventType>::canConvert(runtime, obj.getProperty(runtime, "type"))) return false;
73
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "startDate"))) return false;
74
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "endDate"))) return false;
75
+ return true;
76
+ }
77
+ };
78
+
79
+ } // namespace margelo::nitro
@@ -0,0 +1,70 @@
1
+ ///
2
+ /// WorkoutEventType.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 (WorkoutEventType).
26
+ */
27
+ enum class WorkoutEventType {
28
+ PAUSE SWIFT_NAME(pause) = 1,
29
+ RESUME SWIFT_NAME(resume) = 2,
30
+ LAP SWIFT_NAME(lap) = 3,
31
+ MARKER SWIFT_NAME(marker) = 4,
32
+ MOTIONPAUSED SWIFT_NAME(motionpaused) = 5,
33
+ MOTIONRESUMED SWIFT_NAME(motionresumed) = 6,
34
+ SEGMENT SWIFT_NAME(segment) = 7,
35
+ PAUSEORRESUMEREQUEST SWIFT_NAME(pauseorresumerequest) = 8,
36
+ } CLOSED_ENUM;
37
+
38
+ } // namespace margelo::nitro::healthkit
39
+
40
+ namespace margelo::nitro {
41
+
42
+ using namespace margelo::nitro::healthkit;
43
+
44
+ // C++ WorkoutEventType <> JS WorkoutEventType (enum)
45
+ template <>
46
+ struct JSIConverter<WorkoutEventType> final {
47
+ static inline WorkoutEventType fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
48
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
49
+ return static_cast<WorkoutEventType>(enumValue);
50
+ }
51
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, WorkoutEventType arg) {
52
+ int enumValue = static_cast<int>(arg);
53
+ return JSIConverter<int>::toJSI(runtime, enumValue);
54
+ }
55
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
56
+ if (!value.isNumber()) {
57
+ return false;
58
+ }
59
+ double integer;
60
+ double fraction = modf(value.getNumber(), &integer);
61
+ if (fraction != 0.0) {
62
+ // It is some kind of floating point number - our enums are ints.
63
+ return false;
64
+ }
65
+ // Check if we are within the bounds of the enum.
66
+ return integer >= 0 && integer <= 7;
67
+ }
68
+ };
69
+
70
+ } // namespace margelo::nitro
@@ -0,0 +1,75 @@
1
+ ///
2
+ /// WorkoutPlan.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 `WorkoutActivityType` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { enum class WorkoutActivityType; }
23
+
24
+ #include <string>
25
+ #include "WorkoutActivityType.hpp"
26
+
27
+ namespace margelo::nitro::healthkit {
28
+
29
+ /**
30
+ * A struct which can be represented as a JavaScript object (WorkoutPlan).
31
+ */
32
+ struct WorkoutPlan {
33
+ public:
34
+ std::string id SWIFT_PRIVATE;
35
+ WorkoutActivityType activityType SWIFT_PRIVATE;
36
+
37
+ public:
38
+ WorkoutPlan() = default;
39
+ explicit WorkoutPlan(std::string id, WorkoutActivityType activityType): id(id), activityType(activityType) {}
40
+ };
41
+
42
+ } // namespace margelo::nitro::healthkit
43
+
44
+ namespace margelo::nitro {
45
+
46
+ using namespace margelo::nitro::healthkit;
47
+
48
+ // C++ WorkoutPlan <> JS WorkoutPlan (object)
49
+ template <>
50
+ struct JSIConverter<WorkoutPlan> final {
51
+ static inline WorkoutPlan fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
52
+ jsi::Object obj = arg.asObject(runtime);
53
+ return WorkoutPlan(
54
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "id")),
55
+ JSIConverter<WorkoutActivityType>::fromJSI(runtime, obj.getProperty(runtime, "activityType"))
56
+ );
57
+ }
58
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const WorkoutPlan& arg) {
59
+ jsi::Object obj(runtime);
60
+ obj.setProperty(runtime, "id", JSIConverter<std::string>::toJSI(runtime, arg.id));
61
+ obj.setProperty(runtime, "activityType", JSIConverter<WorkoutActivityType>::toJSI(runtime, arg.activityType));
62
+ return obj;
63
+ }
64
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
65
+ if (!value.isObject()) {
66
+ return false;
67
+ }
68
+ jsi::Object obj = value.getObject(runtime);
69
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "id"))) return false;
70
+ if (!JSIConverter<WorkoutActivityType>::canConvert(runtime, obj.getProperty(runtime, "activityType"))) return false;
71
+ return true;
72
+ }
73
+ };
74
+
75
+ } // namespace margelo::nitro
@@ -0,0 +1,113 @@
1
+ ///
2
+ /// WorkoutQueryOptions.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 `PredicateWithUUID` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { struct PredicateWithUUID; }
23
+ // Forward declaration of `PredicateWithUUIDs` to properly resolve imports.
24
+ namespace margelo::nitro::healthkit { struct PredicateWithUUIDs; }
25
+ // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
26
+ namespace margelo::nitro::healthkit { struct PredicateWithMetadataKey; }
27
+ // Forward declaration of `PredicateWithStartAndEnd` to properly resolve imports.
28
+ namespace margelo::nitro::healthkit { struct PredicateWithStartAndEnd; }
29
+ // Forward declaration of `PredicateFromWorkout` to properly resolve imports.
30
+ namespace margelo::nitro::healthkit { struct PredicateFromWorkout; }
31
+ // Forward declaration of `WorkoutActivityTypePredicate` to properly resolve imports.
32
+ namespace margelo::nitro::healthkit { struct WorkoutActivityTypePredicate; }
33
+ // Forward declaration of `WorkoutDurationPredicate` to properly resolve imports.
34
+ namespace margelo::nitro::healthkit { struct WorkoutDurationPredicate; }
35
+ // Forward declaration of `PredicateForWorkoutsOr` to properly resolve imports.
36
+ namespace margelo::nitro::healthkit { struct PredicateForWorkoutsOr; }
37
+ // Forward declaration of `PredicateForWorkoutsAnd` to properly resolve imports.
38
+ namespace margelo::nitro::healthkit { struct PredicateForWorkoutsAnd; }
39
+
40
+ #include <optional>
41
+ #include <string>
42
+ #include <variant>
43
+ #include "PredicateWithUUID.hpp"
44
+ #include "PredicateWithUUIDs.hpp"
45
+ #include "PredicateWithMetadataKey.hpp"
46
+ #include "PredicateWithStartAndEnd.hpp"
47
+ #include "PredicateFromWorkout.hpp"
48
+ #include "WorkoutActivityTypePredicate.hpp"
49
+ #include "WorkoutDurationPredicate.hpp"
50
+ #include "PredicateForWorkoutsOr.hpp"
51
+ #include "PredicateForWorkoutsAnd.hpp"
52
+
53
+ namespace margelo::nitro::healthkit {
54
+
55
+ /**
56
+ * A struct which can be represented as a JavaScript object (WorkoutQueryOptions).
57
+ */
58
+ struct WorkoutQueryOptions {
59
+ public:
60
+ std::optional<std::string> energyUnit SWIFT_PRIVATE;
61
+ std::optional<std::string> distanceUnit SWIFT_PRIVATE;
62
+ std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter SWIFT_PRIVATE;
63
+ std::optional<double> limit SWIFT_PRIVATE;
64
+ std::optional<bool> ascending SWIFT_PRIVATE;
65
+
66
+ public:
67
+ WorkoutQueryOptions() = default;
68
+ explicit WorkoutQueryOptions(std::optional<std::string> energyUnit, std::optional<std::string> distanceUnit, std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter, std::optional<double> limit, std::optional<bool> ascending): energyUnit(energyUnit), distanceUnit(distanceUnit), filter(filter), limit(limit), ascending(ascending) {}
69
+ };
70
+
71
+ } // namespace margelo::nitro::healthkit
72
+
73
+ namespace margelo::nitro {
74
+
75
+ using namespace margelo::nitro::healthkit;
76
+
77
+ // C++ WorkoutQueryOptions <> JS WorkoutQueryOptions (object)
78
+ template <>
79
+ struct JSIConverter<WorkoutQueryOptions> final {
80
+ static inline WorkoutQueryOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
81
+ jsi::Object obj = arg.asObject(runtime);
82
+ return WorkoutQueryOptions(
83
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "energyUnit")),
84
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "distanceUnit")),
85
+ JSIConverter<std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
86
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "limit")),
87
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "ascending"))
88
+ );
89
+ }
90
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const WorkoutQueryOptions& arg) {
91
+ jsi::Object obj(runtime);
92
+ obj.setProperty(runtime, "energyUnit", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.energyUnit));
93
+ obj.setProperty(runtime, "distanceUnit", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.distanceUnit));
94
+ obj.setProperty(runtime, "filter", JSIConverter<std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>>>::toJSI(runtime, arg.filter));
95
+ obj.setProperty(runtime, "limit", JSIConverter<std::optional<double>>::toJSI(runtime, arg.limit));
96
+ obj.setProperty(runtime, "ascending", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.ascending));
97
+ return obj;
98
+ }
99
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
100
+ if (!value.isObject()) {
101
+ return false;
102
+ }
103
+ jsi::Object obj = value.getObject(runtime);
104
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "energyUnit"))) return false;
105
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "distanceUnit"))) return false;
106
+ if (!JSIConverter<std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
107
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "limit"))) return false;
108
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "ascending"))) return false;
109
+ return true;
110
+ }
111
+ };
112
+
113
+ } // namespace margelo::nitro
@@ -0,0 +1,113 @@
1
+ ///
2
+ /// WorkoutQueryOptionsWithAnchor.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 `PredicateWithUUID` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { struct PredicateWithUUID; }
23
+ // Forward declaration of `PredicateWithUUIDs` to properly resolve imports.
24
+ namespace margelo::nitro::healthkit { struct PredicateWithUUIDs; }
25
+ // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
26
+ namespace margelo::nitro::healthkit { struct PredicateWithMetadataKey; }
27
+ // Forward declaration of `PredicateWithStartAndEnd` to properly resolve imports.
28
+ namespace margelo::nitro::healthkit { struct PredicateWithStartAndEnd; }
29
+ // Forward declaration of `PredicateFromWorkout` to properly resolve imports.
30
+ namespace margelo::nitro::healthkit { struct PredicateFromWorkout; }
31
+ // Forward declaration of `WorkoutActivityTypePredicate` to properly resolve imports.
32
+ namespace margelo::nitro::healthkit { struct WorkoutActivityTypePredicate; }
33
+ // Forward declaration of `WorkoutDurationPredicate` to properly resolve imports.
34
+ namespace margelo::nitro::healthkit { struct WorkoutDurationPredicate; }
35
+ // Forward declaration of `PredicateForWorkoutsOr` to properly resolve imports.
36
+ namespace margelo::nitro::healthkit { struct PredicateForWorkoutsOr; }
37
+ // Forward declaration of `PredicateForWorkoutsAnd` to properly resolve imports.
38
+ namespace margelo::nitro::healthkit { struct PredicateForWorkoutsAnd; }
39
+
40
+ #include <optional>
41
+ #include <string>
42
+ #include <variant>
43
+ #include "PredicateWithUUID.hpp"
44
+ #include "PredicateWithUUIDs.hpp"
45
+ #include "PredicateWithMetadataKey.hpp"
46
+ #include "PredicateWithStartAndEnd.hpp"
47
+ #include "PredicateFromWorkout.hpp"
48
+ #include "WorkoutActivityTypePredicate.hpp"
49
+ #include "WorkoutDurationPredicate.hpp"
50
+ #include "PredicateForWorkoutsOr.hpp"
51
+ #include "PredicateForWorkoutsAnd.hpp"
52
+
53
+ namespace margelo::nitro::healthkit {
54
+
55
+ /**
56
+ * A struct which can be represented as a JavaScript object (WorkoutQueryOptionsWithAnchor).
57
+ */
58
+ struct WorkoutQueryOptionsWithAnchor {
59
+ public:
60
+ std::optional<std::string> energyUnit SWIFT_PRIVATE;
61
+ std::optional<std::string> distanceUnit SWIFT_PRIVATE;
62
+ std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter SWIFT_PRIVATE;
63
+ std::optional<double> limit SWIFT_PRIVATE;
64
+ std::optional<std::string> anchor SWIFT_PRIVATE;
65
+
66
+ public:
67
+ WorkoutQueryOptionsWithAnchor() = default;
68
+ explicit WorkoutQueryOptionsWithAnchor(std::optional<std::string> energyUnit, std::optional<std::string> distanceUnit, std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter, std::optional<double> limit, std::optional<std::string> anchor): energyUnit(energyUnit), distanceUnit(distanceUnit), filter(filter), limit(limit), anchor(anchor) {}
69
+ };
70
+
71
+ } // namespace margelo::nitro::healthkit
72
+
73
+ namespace margelo::nitro {
74
+
75
+ using namespace margelo::nitro::healthkit;
76
+
77
+ // C++ WorkoutQueryOptionsWithAnchor <> JS WorkoutQueryOptionsWithAnchor (object)
78
+ template <>
79
+ struct JSIConverter<WorkoutQueryOptionsWithAnchor> final {
80
+ static inline WorkoutQueryOptionsWithAnchor fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
81
+ jsi::Object obj = arg.asObject(runtime);
82
+ return WorkoutQueryOptionsWithAnchor(
83
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "energyUnit")),
84
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "distanceUnit")),
85
+ JSIConverter<std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
86
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "limit")),
87
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "anchor"))
88
+ );
89
+ }
90
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const WorkoutQueryOptionsWithAnchor& arg) {
91
+ jsi::Object obj(runtime);
92
+ obj.setProperty(runtime, "energyUnit", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.energyUnit));
93
+ obj.setProperty(runtime, "distanceUnit", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.distanceUnit));
94
+ obj.setProperty(runtime, "filter", JSIConverter<std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>>>::toJSI(runtime, arg.filter));
95
+ obj.setProperty(runtime, "limit", JSIConverter<std::optional<double>>::toJSI(runtime, arg.limit));
96
+ obj.setProperty(runtime, "anchor", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.anchor));
97
+ return obj;
98
+ }
99
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
100
+ if (!value.isObject()) {
101
+ return false;
102
+ }
103
+ jsi::Object obj = value.getObject(runtime);
104
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "energyUnit"))) return false;
105
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "distanceUnit"))) return false;
106
+ if (!JSIConverter<std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
107
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "limit"))) return false;
108
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "anchor"))) return false;
109
+ return true;
110
+ }
111
+ };
112
+
113
+ } // namespace margelo::nitro