@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,73 @@
1
+ ///
2
+ /// Source.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
+
22
+
23
+ #include <string>
24
+
25
+ namespace margelo::nitro::healthkit {
26
+
27
+ /**
28
+ * A struct which can be represented as a JavaScript object (Source).
29
+ */
30
+ struct Source {
31
+ public:
32
+ std::string name SWIFT_PRIVATE;
33
+ std::string bundleIdentifier SWIFT_PRIVATE;
34
+
35
+ public:
36
+ Source() = default;
37
+ explicit Source(std::string name, std::string bundleIdentifier): name(name), bundleIdentifier(bundleIdentifier) {}
38
+ };
39
+
40
+ } // namespace margelo::nitro::healthkit
41
+
42
+ namespace margelo::nitro {
43
+
44
+ using namespace margelo::nitro::healthkit;
45
+
46
+ // C++ Source <> JS Source (object)
47
+ template <>
48
+ struct JSIConverter<Source> final {
49
+ static inline Source fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
50
+ jsi::Object obj = arg.asObject(runtime);
51
+ return Source(
52
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "name")),
53
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "bundleIdentifier"))
54
+ );
55
+ }
56
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const Source& arg) {
57
+ jsi::Object obj(runtime);
58
+ obj.setProperty(runtime, "name", JSIConverter<std::string>::toJSI(runtime, arg.name));
59
+ obj.setProperty(runtime, "bundleIdentifier", JSIConverter<std::string>::toJSI(runtime, arg.bundleIdentifier));
60
+ return obj;
61
+ }
62
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
63
+ if (!value.isObject()) {
64
+ return false;
65
+ }
66
+ jsi::Object obj = value.getObject(runtime);
67
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "name"))) return false;
68
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "bundleIdentifier"))) return false;
69
+ return true;
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro
@@ -0,0 +1,85 @@
1
+ ///
2
+ /// SourceRevision.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 `HybridSourceProxySpec` to properly resolve imports.
22
+ namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
23
+
24
+ #include <optional>
25
+ #include <memory>
26
+ #include "HybridSourceProxySpec.hpp"
27
+ #include <string>
28
+
29
+ namespace margelo::nitro::healthkit {
30
+
31
+ /**
32
+ * A struct which can be represented as a JavaScript object (SourceRevision).
33
+ */
34
+ struct SourceRevision {
35
+ public:
36
+ std::optional<std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpec>> source SWIFT_PRIVATE;
37
+ std::optional<std::string> version SWIFT_PRIVATE;
38
+ std::optional<std::string> operatingSystemVersion SWIFT_PRIVATE;
39
+ std::optional<std::string> productType SWIFT_PRIVATE;
40
+
41
+ public:
42
+ SourceRevision() = default;
43
+ explicit SourceRevision(std::optional<std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpec>> source, std::optional<std::string> version, std::optional<std::string> operatingSystemVersion, std::optional<std::string> productType): source(source), version(version), operatingSystemVersion(operatingSystemVersion), productType(productType) {}
44
+ };
45
+
46
+ } // namespace margelo::nitro::healthkit
47
+
48
+ namespace margelo::nitro {
49
+
50
+ using namespace margelo::nitro::healthkit;
51
+
52
+ // C++ SourceRevision <> JS SourceRevision (object)
53
+ template <>
54
+ struct JSIConverter<SourceRevision> final {
55
+ static inline SourceRevision fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
56
+ jsi::Object obj = arg.asObject(runtime);
57
+ return SourceRevision(
58
+ JSIConverter<std::optional<std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpec>>>::fromJSI(runtime, obj.getProperty(runtime, "source")),
59
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "version")),
60
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "operatingSystemVersion")),
61
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "productType"))
62
+ );
63
+ }
64
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const SourceRevision& arg) {
65
+ jsi::Object obj(runtime);
66
+ obj.setProperty(runtime, "source", JSIConverter<std::optional<std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpec>>>::toJSI(runtime, arg.source));
67
+ obj.setProperty(runtime, "version", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.version));
68
+ obj.setProperty(runtime, "operatingSystemVersion", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.operatingSystemVersion));
69
+ obj.setProperty(runtime, "productType", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.productType));
70
+ return obj;
71
+ }
72
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
73
+ if (!value.isObject()) {
74
+ return false;
75
+ }
76
+ jsi::Object obj = value.getObject(runtime);
77
+ if (!JSIConverter<std::optional<std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpec>>>::canConvert(runtime, obj.getProperty(runtime, "source"))) return false;
78
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "version"))) return false;
79
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "operatingSystemVersion"))) return false;
80
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "productType"))) return false;
81
+ return true;
82
+ }
83
+ };
84
+
85
+ } // namespace margelo::nitro
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// StateOfMindAssociation.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 (StateOfMindAssociation).
26
+ */
27
+ enum class StateOfMindAssociation {
28
+ COMMUNITY SWIFT_NAME(community) = 1,
29
+ CURRENTEVENTS SWIFT_NAME(currentevents) = 2,
30
+ DATING SWIFT_NAME(dating) = 3,
31
+ EDUCATION SWIFT_NAME(education) = 4,
32
+ FAMILY SWIFT_NAME(family) = 5,
33
+ FITNESS SWIFT_NAME(fitness) = 6,
34
+ FRIENDS SWIFT_NAME(friends) = 7,
35
+ HEALTH SWIFT_NAME(health) = 8,
36
+ HOBBIES SWIFT_NAME(hobbies) = 9,
37
+ IDENTITY SWIFT_NAME(identity) = 10,
38
+ MONEY SWIFT_NAME(money) = 11,
39
+ PARTNER SWIFT_NAME(partner) = 12,
40
+ SELFCARE SWIFT_NAME(selfcare) = 13,
41
+ SPIRITUALITY SWIFT_NAME(spirituality) = 14,
42
+ TASKS SWIFT_NAME(tasks) = 15,
43
+ TRAVEL SWIFT_NAME(travel) = 16,
44
+ WORK SWIFT_NAME(work) = 17,
45
+ WEATHER SWIFT_NAME(weather) = 18,
46
+ } CLOSED_ENUM;
47
+
48
+ } // namespace margelo::nitro::healthkit
49
+
50
+ namespace margelo::nitro {
51
+
52
+ using namespace margelo::nitro::healthkit;
53
+
54
+ // C++ StateOfMindAssociation <> JS StateOfMindAssociation (enum)
55
+ template <>
56
+ struct JSIConverter<StateOfMindAssociation> final {
57
+ static inline StateOfMindAssociation fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
58
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
59
+ return static_cast<StateOfMindAssociation>(enumValue);
60
+ }
61
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, StateOfMindAssociation arg) {
62
+ int enumValue = static_cast<int>(arg);
63
+ return JSIConverter<int>::toJSI(runtime, enumValue);
64
+ }
65
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
66
+ if (!value.isNumber()) {
67
+ return false;
68
+ }
69
+ double integer;
70
+ double fraction = modf(value.getNumber(), &integer);
71
+ if (fraction != 0.0) {
72
+ // It is some kind of floating point number - our enums are ints.
73
+ return false;
74
+ }
75
+ // Check if we are within the bounds of the enum.
76
+ return integer >= 0 && integer <= 17;
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro
@@ -0,0 +1,64 @@
1
+ ///
2
+ /// StateOfMindKind.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 (StateOfMindKind).
26
+ */
27
+ enum class StateOfMindKind {
28
+ DAILYMOOD SWIFT_NAME(dailymood) = 2,
29
+ MOMENTARYEMOTION SWIFT_NAME(momentaryemotion) = 1,
30
+ } CLOSED_ENUM;
31
+
32
+ } // namespace margelo::nitro::healthkit
33
+
34
+ namespace margelo::nitro {
35
+
36
+ using namespace margelo::nitro::healthkit;
37
+
38
+ // C++ StateOfMindKind <> JS StateOfMindKind (enum)
39
+ template <>
40
+ struct JSIConverter<StateOfMindKind> final {
41
+ static inline StateOfMindKind fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
42
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
43
+ return static_cast<StateOfMindKind>(enumValue);
44
+ }
45
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, StateOfMindKind arg) {
46
+ int enumValue = static_cast<int>(arg);
47
+ return JSIConverter<int>::toJSI(runtime, enumValue);
48
+ }
49
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
50
+ if (!value.isNumber()) {
51
+ return false;
52
+ }
53
+ double integer;
54
+ double fraction = modf(value.getNumber(), &integer);
55
+ if (fraction != 0.0) {
56
+ // It is some kind of floating point number - our enums are ints.
57
+ return false;
58
+ }
59
+ // Check if we are within the bounds of the enum.
60
+ return integer >= 0 && integer <= 1;
61
+ }
62
+ };
63
+
64
+ } // namespace margelo::nitro
@@ -0,0 +1,100 @@
1
+ ///
2
+ /// StateOfMindLabel.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 (StateOfMindLabel).
26
+ */
27
+ enum class StateOfMindLabel {
28
+ AMAZED SWIFT_NAME(amazed) = 1,
29
+ AMUSED SWIFT_NAME(amused) = 2,
30
+ ANGRY SWIFT_NAME(angry) = 3,
31
+ ANXIOUS SWIFT_NAME(anxious) = 4,
32
+ ASHAMED SWIFT_NAME(ashamed) = 5,
33
+ BRAVE SWIFT_NAME(brave) = 6,
34
+ CALM SWIFT_NAME(calm) = 7,
35
+ CONTENT SWIFT_NAME(content) = 8,
36
+ DISAPPOINTED SWIFT_NAME(disappointed) = 9,
37
+ DISCOURAGED SWIFT_NAME(discouraged) = 10,
38
+ DISGUSTED SWIFT_NAME(disgusted) = 11,
39
+ EMBARRASSED SWIFT_NAME(embarrassed) = 12,
40
+ EXCITED SWIFT_NAME(excited) = 13,
41
+ FRUSTRATED SWIFT_NAME(frustrated) = 14,
42
+ GRATEFUL SWIFT_NAME(grateful) = 15,
43
+ GUILTY SWIFT_NAME(guilty) = 16,
44
+ HAPPY SWIFT_NAME(happy) = 17,
45
+ HOPELESS SWIFT_NAME(hopeless) = 18,
46
+ IRRITATED SWIFT_NAME(irritated) = 19,
47
+ JEALOUS SWIFT_NAME(jealous) = 20,
48
+ JOYFUL SWIFT_NAME(joyful) = 21,
49
+ LONELY SWIFT_NAME(lonely) = 22,
50
+ PASSIONATE SWIFT_NAME(passionate) = 23,
51
+ PEACEFUL SWIFT_NAME(peaceful) = 24,
52
+ PROUD SWIFT_NAME(proud) = 25,
53
+ RELIEVED SWIFT_NAME(relieved) = 26,
54
+ SAD SWIFT_NAME(sad) = 27,
55
+ SCARED SWIFT_NAME(scared) = 28,
56
+ STRESSED SWIFT_NAME(stressed) = 29,
57
+ SURPRISED SWIFT_NAME(surprised) = 30,
58
+ WORRIED SWIFT_NAME(worried) = 31,
59
+ ANNOYED SWIFT_NAME(annoyed) = 32,
60
+ CONFIDENT SWIFT_NAME(confident) = 33,
61
+ DRAINED SWIFT_NAME(drained) = 34,
62
+ HOPEFUL SWIFT_NAME(hopeful) = 35,
63
+ INDIFFERENT SWIFT_NAME(indifferent) = 36,
64
+ OVERWHELMED SWIFT_NAME(overwhelmed) = 37,
65
+ SATISFIED SWIFT_NAME(satisfied) = 38,
66
+ } CLOSED_ENUM;
67
+
68
+ } // namespace margelo::nitro::healthkit
69
+
70
+ namespace margelo::nitro {
71
+
72
+ using namespace margelo::nitro::healthkit;
73
+
74
+ // C++ StateOfMindLabel <> JS StateOfMindLabel (enum)
75
+ template <>
76
+ struct JSIConverter<StateOfMindLabel> final {
77
+ static inline StateOfMindLabel fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
78
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
79
+ return static_cast<StateOfMindLabel>(enumValue);
80
+ }
81
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, StateOfMindLabel arg) {
82
+ int enumValue = static_cast<int>(arg);
83
+ return JSIConverter<int>::toJSI(runtime, enumValue);
84
+ }
85
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
86
+ if (!value.isNumber()) {
87
+ return false;
88
+ }
89
+ double integer;
90
+ double fraction = modf(value.getNumber(), &integer);
91
+ if (fraction != 0.0) {
92
+ // It is some kind of floating point number - our enums are ints.
93
+ return false;
94
+ }
95
+ // Check if we are within the bounds of the enum.
96
+ return integer >= 0 && integer <= 37;
97
+ }
98
+ };
99
+
100
+ } // namespace margelo::nitro
@@ -0,0 +1,132 @@
1
+ ///
2
+ /// StateOfMindSample.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 `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
+ // Forward declaration of `StateOfMindKind` to properly resolve imports.
28
+ namespace margelo::nitro::healthkit { enum class StateOfMindKind; }
29
+ // Forward declaration of `StateOfMindValenceClassification` to properly resolve imports.
30
+ namespace margelo::nitro::healthkit { enum class StateOfMindValenceClassification; }
31
+ // Forward declaration of `StateOfMindAssociation` to properly resolve imports.
32
+ namespace margelo::nitro::healthkit { enum class StateOfMindAssociation; }
33
+ // Forward declaration of `StateOfMindLabel` to properly resolve imports.
34
+ namespace margelo::nitro::healthkit { enum class StateOfMindLabel; }
35
+
36
+ #include <string>
37
+ #include <optional>
38
+ #include "Device.hpp"
39
+ #include <chrono>
40
+ #include <NitroModules/AnyMap.hpp>
41
+ #include "SourceRevision.hpp"
42
+ #include "StateOfMindKind.hpp"
43
+ #include "StateOfMindValenceClassification.hpp"
44
+ #include <vector>
45
+ #include "StateOfMindAssociation.hpp"
46
+ #include "StateOfMindLabel.hpp"
47
+
48
+ namespace margelo::nitro::healthkit {
49
+
50
+ /**
51
+ * A struct which can be represented as a JavaScript object (StateOfMindSample).
52
+ */
53
+ struct StateOfMindSample {
54
+ public:
55
+ std::string uuid SWIFT_PRIVATE;
56
+ std::optional<Device> device SWIFT_PRIVATE;
57
+ std::chrono::system_clock::time_point startDate SWIFT_PRIVATE;
58
+ std::chrono::system_clock::time_point endDate SWIFT_PRIVATE;
59
+ std::optional<std::shared_ptr<AnyMap>> metadata SWIFT_PRIVATE;
60
+ std::optional<SourceRevision> sourceRevision SWIFT_PRIVATE;
61
+ double valence SWIFT_PRIVATE;
62
+ StateOfMindKind kind SWIFT_PRIVATE;
63
+ StateOfMindValenceClassification valenceClassification SWIFT_PRIVATE;
64
+ std::vector<StateOfMindAssociation> associations SWIFT_PRIVATE;
65
+ std::vector<StateOfMindLabel> labels SWIFT_PRIVATE;
66
+
67
+ public:
68
+ StateOfMindSample() = default;
69
+ explicit StateOfMindSample(std::string uuid, std::optional<Device> device, std::chrono::system_clock::time_point startDate, std::chrono::system_clock::time_point endDate, std::optional<std::shared_ptr<AnyMap>> metadata, std::optional<SourceRevision> sourceRevision, double valence, StateOfMindKind kind, StateOfMindValenceClassification valenceClassification, std::vector<StateOfMindAssociation> associations, std::vector<StateOfMindLabel> labels): uuid(uuid), device(device), startDate(startDate), endDate(endDate), metadata(metadata), sourceRevision(sourceRevision), valence(valence), kind(kind), valenceClassification(valenceClassification), associations(associations), labels(labels) {}
70
+ };
71
+
72
+ } // namespace margelo::nitro::healthkit
73
+
74
+ namespace margelo::nitro {
75
+
76
+ using namespace margelo::nitro::healthkit;
77
+
78
+ // C++ StateOfMindSample <> JS StateOfMindSample (object)
79
+ template <>
80
+ struct JSIConverter<StateOfMindSample> final {
81
+ static inline StateOfMindSample fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
82
+ jsi::Object obj = arg.asObject(runtime);
83
+ return StateOfMindSample(
84
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "uuid")),
85
+ JSIConverter<std::optional<Device>>::fromJSI(runtime, obj.getProperty(runtime, "device")),
86
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "startDate")),
87
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "endDate")),
88
+ JSIConverter<std::optional<std::shared_ptr<AnyMap>>>::fromJSI(runtime, obj.getProperty(runtime, "metadata")),
89
+ JSIConverter<std::optional<SourceRevision>>::fromJSI(runtime, obj.getProperty(runtime, "sourceRevision")),
90
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "valence")),
91
+ JSIConverter<StateOfMindKind>::fromJSI(runtime, obj.getProperty(runtime, "kind")),
92
+ JSIConverter<StateOfMindValenceClassification>::fromJSI(runtime, obj.getProperty(runtime, "valenceClassification")),
93
+ JSIConverter<std::vector<StateOfMindAssociation>>::fromJSI(runtime, obj.getProperty(runtime, "associations")),
94
+ JSIConverter<std::vector<StateOfMindLabel>>::fromJSI(runtime, obj.getProperty(runtime, "labels"))
95
+ );
96
+ }
97
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const StateOfMindSample& arg) {
98
+ jsi::Object obj(runtime);
99
+ obj.setProperty(runtime, "uuid", JSIConverter<std::string>::toJSI(runtime, arg.uuid));
100
+ obj.setProperty(runtime, "device", JSIConverter<std::optional<Device>>::toJSI(runtime, arg.device));
101
+ obj.setProperty(runtime, "startDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.startDate));
102
+ obj.setProperty(runtime, "endDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.endDate));
103
+ obj.setProperty(runtime, "metadata", JSIConverter<std::optional<std::shared_ptr<AnyMap>>>::toJSI(runtime, arg.metadata));
104
+ obj.setProperty(runtime, "sourceRevision", JSIConverter<std::optional<SourceRevision>>::toJSI(runtime, arg.sourceRevision));
105
+ obj.setProperty(runtime, "valence", JSIConverter<double>::toJSI(runtime, arg.valence));
106
+ obj.setProperty(runtime, "kind", JSIConverter<StateOfMindKind>::toJSI(runtime, arg.kind));
107
+ obj.setProperty(runtime, "valenceClassification", JSIConverter<StateOfMindValenceClassification>::toJSI(runtime, arg.valenceClassification));
108
+ obj.setProperty(runtime, "associations", JSIConverter<std::vector<StateOfMindAssociation>>::toJSI(runtime, arg.associations));
109
+ obj.setProperty(runtime, "labels", JSIConverter<std::vector<StateOfMindLabel>>::toJSI(runtime, arg.labels));
110
+ return obj;
111
+ }
112
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
113
+ if (!value.isObject()) {
114
+ return false;
115
+ }
116
+ jsi::Object obj = value.getObject(runtime);
117
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "uuid"))) return false;
118
+ if (!JSIConverter<std::optional<Device>>::canConvert(runtime, obj.getProperty(runtime, "device"))) return false;
119
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "startDate"))) return false;
120
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "endDate"))) return false;
121
+ if (!JSIConverter<std::optional<std::shared_ptr<AnyMap>>>::canConvert(runtime, obj.getProperty(runtime, "metadata"))) return false;
122
+ if (!JSIConverter<std::optional<SourceRevision>>::canConvert(runtime, obj.getProperty(runtime, "sourceRevision"))) return false;
123
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "valence"))) return false;
124
+ if (!JSIConverter<StateOfMindKind>::canConvert(runtime, obj.getProperty(runtime, "kind"))) return false;
125
+ if (!JSIConverter<StateOfMindValenceClassification>::canConvert(runtime, obj.getProperty(runtime, "valenceClassification"))) return false;
126
+ if (!JSIConverter<std::vector<StateOfMindAssociation>>::canConvert(runtime, obj.getProperty(runtime, "associations"))) return false;
127
+ if (!JSIConverter<std::vector<StateOfMindLabel>>::canConvert(runtime, obj.getProperty(runtime, "labels"))) return false;
128
+ return true;
129
+ }
130
+ };
131
+
132
+ } // namespace margelo::nitro
@@ -0,0 +1,69 @@
1
+ ///
2
+ /// StateOfMindValenceClassification.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 (StateOfMindValenceClassification).
26
+ */
27
+ enum class StateOfMindValenceClassification {
28
+ VERYUNPLEASANT SWIFT_NAME(veryunpleasant) = 1,
29
+ UNPLEASANT SWIFT_NAME(unpleasant) = 2,
30
+ SLIGHTLYUNPLEASANT SWIFT_NAME(slightlyunpleasant) = 3,
31
+ NEUTRAL SWIFT_NAME(neutral) = 4,
32
+ SLIGHTLYPLEASANT SWIFT_NAME(slightlypleasant) = 5,
33
+ PLEASANT SWIFT_NAME(pleasant) = 6,
34
+ VERYPLEASANT SWIFT_NAME(verypleasant) = 7,
35
+ } CLOSED_ENUM;
36
+
37
+ } // namespace margelo::nitro::healthkit
38
+
39
+ namespace margelo::nitro {
40
+
41
+ using namespace margelo::nitro::healthkit;
42
+
43
+ // C++ StateOfMindValenceClassification <> JS StateOfMindValenceClassification (enum)
44
+ template <>
45
+ struct JSIConverter<StateOfMindValenceClassification> final {
46
+ static inline StateOfMindValenceClassification fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
47
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
48
+ return static_cast<StateOfMindValenceClassification>(enumValue);
49
+ }
50
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, StateOfMindValenceClassification arg) {
51
+ int enumValue = static_cast<int>(arg);
52
+ return JSIConverter<int>::toJSI(runtime, enumValue);
53
+ }
54
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
55
+ if (!value.isNumber()) {
56
+ return false;
57
+ }
58
+ double integer;
59
+ double fraction = modf(value.getNumber(), &integer);
60
+ if (fraction != 0.0) {
61
+ // It is some kind of floating point number - our enums are ints.
62
+ return false;
63
+ }
64
+ // Check if we are within the bounds of the enum.
65
+ return integer >= 0 && integer <= 6;
66
+ }
67
+ };
68
+
69
+ } // namespace margelo::nitro