@kingstinct/react-native-healthkit 12.1.2 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/ios/CategoryTypeModule.swift +52 -98
  2. package/ios/CharacteristicTypeModule.swift +77 -63
  3. package/ios/CoreModule.swift +324 -280
  4. package/ios/CorrelationTypeModule.swift +198 -144
  5. package/ios/ElectrocardiogramModule.swift +185 -194
  6. package/ios/HeartbeatSeriesModule.swift +123 -171
  7. package/ios/Helpers.swift +319 -571
  8. package/ios/MedicationModule.swift +259 -0
  9. package/ios/PredicateHelpers.swift +334 -0
  10. package/ios/QuantityTypeModule.swift +436 -373
  11. package/ios/Serializers.swift +273 -210
  12. package/ios/SourceProxy.swift +2 -2
  13. package/ios/StateOfMindModule.swift +181 -125
  14. package/ios/WorkoutProxy.swift +235 -112
  15. package/ios/WorkoutsModule.swift +214 -262
  16. package/lib/commonjs/healthkit.ios.js +26 -2
  17. package/lib/commonjs/healthkit.js +46 -10
  18. package/lib/commonjs/hooks/useStatisticsForQuantity.js +1 -1
  19. package/lib/commonjs/hooks/useSubscribeToCategorySamples.js +20 -0
  20. package/lib/commonjs/modules.js +2 -1
  21. package/lib/commonjs/specs/MedicationModule.nitro.js +27 -0
  22. package/lib/commonjs/types/Constants.js +2 -1
  23. package/lib/commonjs/types/QuantityType.js +8 -1
  24. package/lib/commonjs/types/QueryOptions.js +18 -0
  25. package/lib/commonjs/types/WeatherCondition.js +32 -32
  26. package/lib/commonjs/types/Workouts.js +1 -50
  27. package/lib/commonjs/utils/getCategorySampleById.js +1 -1
  28. package/lib/commonjs/utils/getQuantitySampleById.js +1 -1
  29. package/lib/commonjs/utils/getWorkoutById.js +1 -1
  30. package/lib/commonjs/utils/subscribeToCategorySamples.js +29 -0
  31. package/lib/commonjs/utils/subscribeToQuantitySamples.js +8 -25
  32. package/lib/module/healthkit.ios.js +24 -2
  33. package/lib/module/healthkit.js +43 -7
  34. package/lib/module/hooks/useStatisticsForQuantity.js +1 -1
  35. package/lib/module/hooks/useSubscribeToCategorySamples.js +17 -0
  36. package/lib/module/modules.js +1 -0
  37. package/lib/module/specs/MedicationModule.nitro.js +26 -0
  38. package/lib/module/types/Constants.js +1 -0
  39. package/lib/module/types/QuantityType.js +7 -0
  40. package/lib/module/types/QueryOptions.js +17 -1
  41. package/lib/module/types/WeatherCondition.js +31 -31
  42. package/lib/module/types/Workouts.js +0 -49
  43. package/lib/module/utils/getCategorySampleById.js +1 -1
  44. package/lib/module/utils/getQuantitySampleById.js +1 -1
  45. package/lib/module/utils/getWorkoutById.js +1 -1
  46. package/lib/module/utils/subscribeToCategorySamples.js +26 -0
  47. package/lib/module/utils/subscribeToQuantitySamples.js +8 -25
  48. package/lib/typescript/healthkit.d.ts +24 -13
  49. package/lib/typescript/healthkit.ios.d.ts +45 -23
  50. package/lib/typescript/hooks/useSubscribeToCategorySamples.d.ts +3 -0
  51. package/lib/typescript/modules.d.ts +2 -0
  52. package/lib/typescript/specs/CategoryTypeModule.nitro.d.ts +4 -4
  53. package/lib/typescript/specs/CoreModule.nitro.d.ts +2 -1
  54. package/lib/typescript/specs/CorrelationTypeModule.nitro.d.ts +5 -3
  55. package/lib/typescript/specs/ElectrocardiogramModule.nitro.d.ts +1 -1
  56. package/lib/typescript/specs/HeartbeatSeriesModule.nitro.d.ts +1 -1
  57. package/lib/typescript/specs/MedicationModule.nitro.d.ts +56 -0
  58. package/lib/typescript/specs/QuantityTypeModule.nitro.d.ts +7 -5
  59. package/lib/typescript/specs/StateOfMindModule.nitro.d.ts +5 -4
  60. package/lib/typescript/types/CategoryType.d.ts +10 -20
  61. package/lib/typescript/types/Constants.d.ts +1 -0
  62. package/lib/typescript/types/CorrelationType.d.ts +8 -10
  63. package/lib/typescript/types/ElectrocardiogramSample.d.ts +2 -12
  64. package/lib/typescript/types/HeartbeatSeries.d.ts +2 -14
  65. package/lib/typescript/types/QuantitySample.d.ts +3 -9
  66. package/lib/typescript/types/QuantityType.d.ts +13 -9
  67. package/lib/typescript/types/QuantityTypeIdentifier.d.ts +23 -23
  68. package/lib/typescript/types/QueryOptions.d.ts +43 -28
  69. package/lib/typescript/types/Shared.d.ts +52 -7
  70. package/lib/typescript/types/StateOfMind.d.ts +7 -10
  71. package/lib/typescript/types/Subscriptions.d.ts +12 -3
  72. package/lib/typescript/types/WeatherCondition.d.ts +1 -1
  73. package/lib/typescript/types/Workouts.d.ts +28 -81
  74. package/lib/typescript/utils/subscribeToCategorySamples.d.ts +5 -0
  75. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +113 -16
  76. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +1065 -573
  77. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +68 -30
  78. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +8 -0
  79. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +15 -0
  80. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +40 -34
  81. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +36 -37
  82. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +78 -25
  83. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +36 -30
  84. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +35 -29
  85. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.cpp +11 -0
  86. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +181 -0
  87. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +69 -44
  88. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +60 -37
  89. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +150 -29
  90. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +14 -29
  91. package/nitrogen/generated/ios/swift/AggregationStyle.swift +48 -0
  92. package/nitrogen/generated/ios/swift/CategorySample.swift +571 -24
  93. package/nitrogen/generated/ios/swift/ComparisonPredicateOperator.swift +2 -2
  94. package/nitrogen/generated/ios/swift/CorrelationSample.swift +640 -17
  95. package/nitrogen/generated/ios/swift/{PredicateWithStartAndEnd.swift → DateFilter.swift} +5 -5
  96. package/nitrogen/generated/ios/swift/ECGQueryOptionsWithAnchor.swift +11 -91
  97. package/nitrogen/generated/ios/swift/ECGQueryOptionsWithSortOrder.swift +11 -91
  98. package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +570 -72
  99. package/nitrogen/generated/ios/swift/FilterForSamples.swift +349 -12
  100. package/nitrogen/generated/ios/swift/FilterForSamplesBase.swift +234 -0
  101. package/nitrogen/generated/ios/swift/FilterForWorkouts.swift +366 -0
  102. package/nitrogen/generated/ios/swift/FilterForWorkoutsBase.swift +240 -0
  103. package/nitrogen/generated/ios/swift/Func_void_MedicationDoseEventsWithAnchorResponse.swift +47 -0
  104. package/nitrogen/generated/ios/swift/Func_void_QueryCorrelationSamplesWithAnchorResponse.swift +47 -0
  105. package/nitrogen/generated/ios/swift/Func_void_StateOfMindSamplesWithAnchorResponse.swift +47 -0
  106. package/nitrogen/generated/ios/swift/Func_void_std__optional_CategorySample_.swift +47 -0
  107. package/nitrogen/generated/ios/swift/Func_void_std__optional_CorrelationSample_.swift +47 -0
  108. package/nitrogen/generated/ios/swift/Func_void_std__optional_QuantitySample_.swift +47 -0
  109. package/nitrogen/generated/ios/swift/Func_void_std__optional_StateOfMindSample_.swift +47 -0
  110. package/nitrogen/generated/ios/swift/Func_void_std__vector_MedicationDoseEvent_.swift +47 -0
  111. package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponseFromSingleSource_.swift +47 -0
  112. package/nitrogen/generated/ios/swift/Func_void_std__vector_UserAnnotatedMedication_.swift +47 -0
  113. package/nitrogen/generated/ios/swift/GeneralForm.swift +104 -0
  114. package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +44 -0
  115. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +565 -37
  116. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +2 -2
  117. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +23 -10
  118. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +2 -1
  119. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +19 -31
  120. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +3 -2
  121. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +42 -10
  122. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec.swift +1 -1
  123. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec_cxx.swift +2 -2
  124. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +1 -1
  125. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +2 -2
  126. package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec.swift +60 -0
  127. package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec_cxx.swift +208 -0
  128. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +5 -3
  129. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +76 -47
  130. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +3 -2
  131. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +34 -9
  132. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +34 -6
  133. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +376 -36
  134. package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +40 -0
  135. package/nitrogen/generated/ios/swift/MedicationConcept.swift +80 -0
  136. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +781 -0
  137. package/nitrogen/generated/ios/swift/MedicationDoseEventLogStatus.swift +56 -0
  138. package/nitrogen/generated/ios/swift/MedicationDoseEventScheduleType.swift +40 -0
  139. package/nitrogen/generated/ios/swift/MedicationDoseEventsWithAnchorResponse.swift +81 -0
  140. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +16 -16
  141. package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +7 -7
  142. package/nitrogen/generated/ios/swift/QuantitySample.swift +574 -27
  143. package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +24 -5
  144. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +16 -16
  145. package/nitrogen/generated/ios/swift/QueryCorrelationSamplesWithAnchorResponse.swift +81 -0
  146. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +11 -91
  147. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +11 -91
  148. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +11 -91
  149. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +11 -91
  150. package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +34 -1
  151. package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +266 -0
  152. package/nitrogen/generated/ios/swift/RelatedCoding.swift +76 -0
  153. package/nitrogen/generated/ios/swift/SampleType.swift +68 -0
  154. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +16 -16
  155. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +0 -16
  156. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +586 -58
  157. package/nitrogen/generated/ios/swift/StateOfMindSamplesWithAnchorResponse.swift +81 -0
  158. package/nitrogen/generated/ios/swift/StatisticsOptions.swift +0 -4
  159. package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +7 -75
  160. package/nitrogen/generated/ios/swift/UserAnnotatedMedication.swift +87 -0
  161. package/nitrogen/generated/ios/swift/WeatherCondition.swift +144 -0
  162. package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +11 -105
  163. package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +11 -105
  164. package/nitrogen/generated/ios/swift/WorkoutSample.swift +751 -78
  165. package/nitrogen/generated/shared/c++/AggregationStyle.hpp +64 -0
  166. package/nitrogen/generated/shared/c++/CategorySample.hpp +126 -23
  167. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +134 -12
  168. package/nitrogen/generated/shared/c++/{PredicateWithStartAndEnd.hpp → DateFilter.hpp} +10 -10
  169. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithAnchor.hpp +12 -31
  170. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithSortOrder.hpp +12 -31
  171. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +135 -36
  172. package/nitrogen/generated/shared/c++/FilterForSamples.hpp +124 -0
  173. package/nitrogen/generated/shared/c++/FilterForSamplesBase.hpp +109 -0
  174. package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +131 -0
  175. package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +116 -0
  176. package/nitrogen/generated/shared/c++/GeneralForm.hpp +140 -0
  177. package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +67 -0
  178. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +131 -28
  179. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +6 -6
  180. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +1 -0
  181. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +10 -28
  182. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +1 -0
  183. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +16 -5
  184. package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.hpp +1 -2
  185. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +1 -2
  186. package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.cpp +24 -0
  187. package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.hpp +80 -0
  188. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +3 -1
  189. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +13 -27
  190. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +1 -0
  191. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +9 -2
  192. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +33 -5
  193. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +56 -16
  194. package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +62 -0
  195. package/nitrogen/generated/shared/c++/MedicationConcept.hpp +93 -0
  196. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +240 -0
  197. package/nitrogen/generated/shared/c++/MedicationDoseEventLogStatus.hpp +66 -0
  198. package/nitrogen/generated/shared/c++/MedicationDoseEventScheduleType.hpp +62 -0
  199. package/nitrogen/generated/shared/c++/MedicationDoseEventsWithAnchorResponse.hpp +89 -0
  200. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +105 -105
  201. package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +8 -8
  202. package/nitrogen/generated/shared/c++/QuantitySample.hpp +130 -27
  203. package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +6 -6
  204. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +105 -105
  205. package/nitrogen/generated/shared/c++/QueryCorrelationSamplesWithAnchorResponse.hpp +89 -0
  206. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +12 -31
  207. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +12 -31
  208. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +12 -31
  209. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +12 -31
  210. package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +11 -2
  211. package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +121 -0
  212. package/nitrogen/generated/shared/c++/RelatedCoding.hpp +84 -0
  213. package/nitrogen/generated/shared/c++/SampleType.hpp +87 -0
  214. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +105 -105
  215. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +105 -121
  216. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +139 -36
  217. package/nitrogen/generated/shared/c++/StateOfMindSamplesWithAnchorResponse.hpp +89 -0
  218. package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +0 -4
  219. package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +8 -27
  220. package/nitrogen/generated/shared/c++/UserAnnotatedMedication.hpp +90 -0
  221. package/nitrogen/generated/shared/c++/WeatherCondition.hpp +88 -0
  222. package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +12 -37
  223. package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +12 -37
  224. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +159 -35
  225. package/package.json +1 -1
  226. package/src/healthkit.ios.ts +38 -0
  227. package/src/healthkit.ts +88 -8
  228. package/src/hooks/queryStatisticsForQuantity.test.ts +4 -1
  229. package/src/hooks/useStatisticsForQuantity.ts +1 -1
  230. package/src/hooks/useSubscribeToCategorySamples.ts +31 -0
  231. package/src/modules.ts +4 -0
  232. package/src/specs/CategoryTypeModule.nitro.ts +6 -6
  233. package/src/specs/CoreModule.nitro.ts +3 -0
  234. package/src/specs/CorrelationTypeModule.nitro.ts +13 -5
  235. package/src/specs/ElectrocardiogramModule.nitro.ts +1 -1
  236. package/src/specs/HeartbeatSeriesModule.nitro.ts +1 -1
  237. package/src/specs/MedicationModule.nitro.ts +135 -0
  238. package/src/specs/QuantityTypeModule.nitro.ts +21 -9
  239. package/src/specs/StateOfMindModule.nitro.ts +11 -3
  240. package/src/types/CategoryType.ts +15 -22
  241. package/src/types/Constants.ts +3 -0
  242. package/src/types/CorrelationType.ts +10 -15
  243. package/src/types/ElectrocardiogramSample.ts +2 -14
  244. package/src/types/HeartbeatSeries.ts +2 -15
  245. package/src/types/QuantitySample.ts +3 -9
  246. package/src/types/QuantityType.ts +16 -18
  247. package/src/types/QuantityTypeIdentifier.ts +25 -25
  248. package/src/types/QueryOptions.ts +54 -43
  249. package/src/types/Shared.ts +74 -17
  250. package/src/types/StateOfMind.ts +8 -10
  251. package/src/types/Subscriptions.ts +19 -3
  252. package/src/types/WeatherCondition.ts +1 -1
  253. package/src/types/Workouts.ts +28 -91
  254. package/src/utils/getCategorySampleById.ts +1 -1
  255. package/src/utils/getQuantitySampleById.ts +1 -1
  256. package/src/utils/getWorkoutById.ts +1 -2
  257. package/src/utils/subscribeToCategorySamples.ts +38 -0
  258. package/src/utils/subscribeToQuantitySamples.ts +12 -37
  259. package/nitrogen/generated/ios/swift/FilterForSamplesAnd.swift +0 -94
  260. package/nitrogen/generated/ios/swift/FilterForSamplesOr.swift +0 -94
  261. package/nitrogen/generated/ios/swift/PredicateForSamples.swift +0 -21
  262. package/nitrogen/generated/ios/swift/PredicateForWorkouts.swift +0 -23
  263. package/nitrogen/generated/ios/swift/PredicateForWorkoutsAnd.swift +0 -108
  264. package/nitrogen/generated/ios/swift/PredicateForWorkoutsOr.swift +0 -108
  265. package/nitrogen/generated/ios/swift/PredicateFromWorkout.swift +0 -45
  266. package/nitrogen/generated/ios/swift/PredicateWithMetadataOperator.swift +0 -48
  267. package/nitrogen/generated/ios/swift/PredicateWithUUID.swift +0 -35
  268. package/nitrogen/generated/ios/swift/PredicateWithUUIDs.swift +0 -47
  269. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr.swift +0 -23
  270. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_WorkoutActivityTypePredicate_WorkoutDurationPredicate_PredicateForWorkoutsOr_PredicateForWorkoutsAnd.swift +0 -25
  271. package/nitrogen/generated/ios/swift/WorkoutActivityTypePredicate.swift +0 -35
  272. package/nitrogen/generated/shared/c++/FilterForSamplesAnd.hpp +0 -90
  273. package/nitrogen/generated/shared/c++/FilterForSamplesOr.hpp +0 -90
  274. package/nitrogen/generated/shared/c++/PredicateForWorkoutsAnd.hpp +0 -96
  275. package/nitrogen/generated/shared/c++/PredicateForWorkoutsOr.hpp +0 -96
  276. package/nitrogen/generated/shared/c++/PredicateFromWorkout.hpp +0 -77
  277. package/nitrogen/generated/shared/c++/PredicateWithMetadataOperator.hpp +0 -84
  278. package/nitrogen/generated/shared/c++/PredicateWithUUID.hpp +0 -75
  279. package/nitrogen/generated/shared/c++/PredicateWithUUIDs.hpp +0 -76
  280. package/nitrogen/generated/shared/c++/WorkoutActivityTypePredicate.hpp +0 -76
@@ -0,0 +1,240 @@
1
+ ///
2
+ /// MedicationDoseEvent.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
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ // Forward declaration of `MedicationDoseEventScheduleType` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { enum class MedicationDoseEventScheduleType; }
28
+ // Forward declaration of `MedicationDoseEventLogStatus` to properly resolve imports.
29
+ namespace margelo::nitro::healthkit { enum class MedicationDoseEventLogStatus; }
30
+ // Forward declaration of `SampleType` to properly resolve imports.
31
+ namespace margelo::nitro::healthkit { struct SampleType; }
32
+ // Forward declaration of `WeatherCondition` to properly resolve imports.
33
+ namespace margelo::nitro::healthkit { enum class WeatherCondition; }
34
+ // Forward declaration of `Quantity` to properly resolve imports.
35
+ namespace margelo::nitro::healthkit { struct Quantity; }
36
+ // Forward declaration of `InsulinDeliveryReason` to properly resolve imports.
37
+ namespace margelo::nitro::healthkit { enum class InsulinDeliveryReason; }
38
+ // Forward declaration of `HeartRateMotionContext` to properly resolve imports.
39
+ namespace margelo::nitro::healthkit { enum class HeartRateMotionContext; }
40
+ // Forward declaration of `SourceRevision` to properly resolve imports.
41
+ namespace margelo::nitro::healthkit { struct SourceRevision; }
42
+ // Forward declaration of `Device` to properly resolve imports.
43
+ namespace margelo::nitro::healthkit { struct Device; }
44
+
45
+ #include "MedicationDoseEventScheduleType.hpp"
46
+ #include <string>
47
+ #include <chrono>
48
+ #include <optional>
49
+ #include "MedicationDoseEventLogStatus.hpp"
50
+ #include "SampleType.hpp"
51
+ #include "WeatherCondition.hpp"
52
+ #include "Quantity.hpp"
53
+ #include "InsulinDeliveryReason.hpp"
54
+ #include "HeartRateMotionContext.hpp"
55
+ #include "SourceRevision.hpp"
56
+ #include "Device.hpp"
57
+ #include <NitroModules/AnyMap.hpp>
58
+
59
+ namespace margelo::nitro::healthkit {
60
+
61
+ /**
62
+ * A struct which can be represented as a JavaScript object (MedicationDoseEvent).
63
+ */
64
+ struct MedicationDoseEvent {
65
+ public:
66
+ MedicationDoseEventScheduleType scheduleType SWIFT_PRIVATE;
67
+ std::string medicationConceptIdentifier SWIFT_PRIVATE;
68
+ std::optional<std::chrono::system_clock::time_point> scheduledDate SWIFT_PRIVATE;
69
+ std::optional<double> scheduledDoseQuantity SWIFT_PRIVATE;
70
+ std::optional<double> doseQuantity SWIFT_PRIVATE;
71
+ MedicationDoseEventLogStatus logStatus SWIFT_PRIVATE;
72
+ std::string unit SWIFT_PRIVATE;
73
+ SampleType sampleType SWIFT_PRIVATE;
74
+ std::chrono::system_clock::time_point startDate SWIFT_PRIVATE;
75
+ std::chrono::system_clock::time_point endDate SWIFT_PRIVATE;
76
+ bool hasUndeterminedDuration SWIFT_PRIVATE;
77
+ std::optional<WeatherCondition> metadataWeatherCondition SWIFT_PRIVATE;
78
+ std::optional<Quantity> metadataWeatherHumidity SWIFT_PRIVATE;
79
+ std::optional<Quantity> metadataWeatherTemperature SWIFT_PRIVATE;
80
+ std::optional<InsulinDeliveryReason> metadataInsulinDeliveryReason SWIFT_PRIVATE;
81
+ std::optional<HeartRateMotionContext> metadataHeartRateMotionContext SWIFT_PRIVATE;
82
+ std::string uuid SWIFT_PRIVATE;
83
+ SourceRevision sourceRevision SWIFT_PRIVATE;
84
+ std::optional<Device> device SWIFT_PRIVATE;
85
+ std::shared_ptr<AnyMap> metadata SWIFT_PRIVATE;
86
+ std::optional<std::string> metadataExternalUUID SWIFT_PRIVATE;
87
+ std::optional<std::string> metadataTimeZone SWIFT_PRIVATE;
88
+ std::optional<bool> metadataWasUserEntered SWIFT_PRIVATE;
89
+ std::optional<std::string> metadataDeviceSerialNumber SWIFT_PRIVATE;
90
+ std::optional<std::string> metadataUdiDeviceIdentifier SWIFT_PRIVATE;
91
+ std::optional<std::string> metadataUdiProductionIdentifier SWIFT_PRIVATE;
92
+ std::optional<std::string> metadataDigitalSignature SWIFT_PRIVATE;
93
+ std::optional<std::string> metadataDeviceName SWIFT_PRIVATE;
94
+ std::optional<std::string> metadataDeviceManufacturerName SWIFT_PRIVATE;
95
+ std::optional<std::string> metadataSyncIdentifier SWIFT_PRIVATE;
96
+ std::optional<double> metadataSyncVersion SWIFT_PRIVATE;
97
+ std::optional<bool> metadataWasTakenInLab SWIFT_PRIVATE;
98
+ std::optional<double> metadataReferenceRangeLowerLimit SWIFT_PRIVATE;
99
+ std::optional<double> metadataReferenceRangeUpperLimit SWIFT_PRIVATE;
100
+ std::optional<double> metadataAlgorithmVersion SWIFT_PRIVATE;
101
+
102
+ public:
103
+ MedicationDoseEvent() = default;
104
+ explicit MedicationDoseEvent(MedicationDoseEventScheduleType scheduleType, std::string medicationConceptIdentifier, std::optional<std::chrono::system_clock::time_point> scheduledDate, std::optional<double> scheduledDoseQuantity, std::optional<double> doseQuantity, MedicationDoseEventLogStatus logStatus, std::string unit, SampleType sampleType, std::chrono::system_clock::time_point startDate, std::chrono::system_clock::time_point endDate, bool hasUndeterminedDuration, std::optional<WeatherCondition> metadataWeatherCondition, std::optional<Quantity> metadataWeatherHumidity, std::optional<Quantity> metadataWeatherTemperature, std::optional<InsulinDeliveryReason> metadataInsulinDeliveryReason, std::optional<HeartRateMotionContext> metadataHeartRateMotionContext, std::string uuid, SourceRevision sourceRevision, std::optional<Device> device, std::shared_ptr<AnyMap> metadata, std::optional<std::string> metadataExternalUUID, std::optional<std::string> metadataTimeZone, std::optional<bool> metadataWasUserEntered, std::optional<std::string> metadataDeviceSerialNumber, std::optional<std::string> metadataUdiDeviceIdentifier, std::optional<std::string> metadataUdiProductionIdentifier, std::optional<std::string> metadataDigitalSignature, std::optional<std::string> metadataDeviceName, std::optional<std::string> metadataDeviceManufacturerName, std::optional<std::string> metadataSyncIdentifier, std::optional<double> metadataSyncVersion, std::optional<bool> metadataWasTakenInLab, std::optional<double> metadataReferenceRangeLowerLimit, std::optional<double> metadataReferenceRangeUpperLimit, std::optional<double> metadataAlgorithmVersion): scheduleType(scheduleType), medicationConceptIdentifier(medicationConceptIdentifier), scheduledDate(scheduledDate), scheduledDoseQuantity(scheduledDoseQuantity), doseQuantity(doseQuantity), logStatus(logStatus), unit(unit), sampleType(sampleType), startDate(startDate), endDate(endDate), hasUndeterminedDuration(hasUndeterminedDuration), metadataWeatherCondition(metadataWeatherCondition), metadataWeatherHumidity(metadataWeatherHumidity), metadataWeatherTemperature(metadataWeatherTemperature), metadataInsulinDeliveryReason(metadataInsulinDeliveryReason), metadataHeartRateMotionContext(metadataHeartRateMotionContext), uuid(uuid), sourceRevision(sourceRevision), device(device), metadata(metadata), metadataExternalUUID(metadataExternalUUID), metadataTimeZone(metadataTimeZone), metadataWasUserEntered(metadataWasUserEntered), metadataDeviceSerialNumber(metadataDeviceSerialNumber), metadataUdiDeviceIdentifier(metadataUdiDeviceIdentifier), metadataUdiProductionIdentifier(metadataUdiProductionIdentifier), metadataDigitalSignature(metadataDigitalSignature), metadataDeviceName(metadataDeviceName), metadataDeviceManufacturerName(metadataDeviceManufacturerName), metadataSyncIdentifier(metadataSyncIdentifier), metadataSyncVersion(metadataSyncVersion), metadataWasTakenInLab(metadataWasTakenInLab), metadataReferenceRangeLowerLimit(metadataReferenceRangeLowerLimit), metadataReferenceRangeUpperLimit(metadataReferenceRangeUpperLimit), metadataAlgorithmVersion(metadataAlgorithmVersion) {}
105
+ };
106
+
107
+ } // namespace margelo::nitro::healthkit
108
+
109
+ namespace margelo::nitro {
110
+
111
+ // C++ MedicationDoseEvent <> JS MedicationDoseEvent (object)
112
+ template <>
113
+ struct JSIConverter<margelo::nitro::healthkit::MedicationDoseEvent> final {
114
+ static inline margelo::nitro::healthkit::MedicationDoseEvent fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
115
+ jsi::Object obj = arg.asObject(runtime);
116
+ return margelo::nitro::healthkit::MedicationDoseEvent(
117
+ JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType>::fromJSI(runtime, obj.getProperty(runtime, "scheduleType")),
118
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "medicationConceptIdentifier")),
119
+ JSIConverter<std::optional<std::chrono::system_clock::time_point>>::fromJSI(runtime, obj.getProperty(runtime, "scheduledDate")),
120
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "scheduledDoseQuantity")),
121
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "doseQuantity")),
122
+ JSIConverter<margelo::nitro::healthkit::MedicationDoseEventLogStatus>::fromJSI(runtime, obj.getProperty(runtime, "logStatus")),
123
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "unit")),
124
+ JSIConverter<margelo::nitro::healthkit::SampleType>::fromJSI(runtime, obj.getProperty(runtime, "sampleType")),
125
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "startDate")),
126
+ JSIConverter<std::chrono::system_clock::time_point>::fromJSI(runtime, obj.getProperty(runtime, "endDate")),
127
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "hasUndeterminedDuration")),
128
+ JSIConverter<std::optional<margelo::nitro::healthkit::WeatherCondition>>::fromJSI(runtime, obj.getProperty(runtime, "metadataWeatherCondition")),
129
+ JSIConverter<std::optional<margelo::nitro::healthkit::Quantity>>::fromJSI(runtime, obj.getProperty(runtime, "metadataWeatherHumidity")),
130
+ JSIConverter<std::optional<margelo::nitro::healthkit::Quantity>>::fromJSI(runtime, obj.getProperty(runtime, "metadataWeatherTemperature")),
131
+ JSIConverter<std::optional<margelo::nitro::healthkit::InsulinDeliveryReason>>::fromJSI(runtime, obj.getProperty(runtime, "metadataInsulinDeliveryReason")),
132
+ JSIConverter<std::optional<margelo::nitro::healthkit::HeartRateMotionContext>>::fromJSI(runtime, obj.getProperty(runtime, "metadataHeartRateMotionContext")),
133
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "uuid")),
134
+ JSIConverter<margelo::nitro::healthkit::SourceRevision>::fromJSI(runtime, obj.getProperty(runtime, "sourceRevision")),
135
+ JSIConverter<std::optional<margelo::nitro::healthkit::Device>>::fromJSI(runtime, obj.getProperty(runtime, "device")),
136
+ JSIConverter<std::shared_ptr<AnyMap>>::fromJSI(runtime, obj.getProperty(runtime, "metadata")),
137
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataExternalUUID")),
138
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataTimeZone")),
139
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "metadataWasUserEntered")),
140
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataDeviceSerialNumber")),
141
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataUdiDeviceIdentifier")),
142
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataUdiProductionIdentifier")),
143
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataDigitalSignature")),
144
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataDeviceName")),
145
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataDeviceManufacturerName")),
146
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "metadataSyncIdentifier")),
147
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "metadataSyncVersion")),
148
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "metadataWasTakenInLab")),
149
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "metadataReferenceRangeLowerLimit")),
150
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "metadataReferenceRangeUpperLimit")),
151
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "metadataAlgorithmVersion"))
152
+ );
153
+ }
154
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::healthkit::MedicationDoseEvent& arg) {
155
+ jsi::Object obj(runtime);
156
+ obj.setProperty(runtime, "scheduleType", JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType>::toJSI(runtime, arg.scheduleType));
157
+ obj.setProperty(runtime, "medicationConceptIdentifier", JSIConverter<std::string>::toJSI(runtime, arg.medicationConceptIdentifier));
158
+ obj.setProperty(runtime, "scheduledDate", JSIConverter<std::optional<std::chrono::system_clock::time_point>>::toJSI(runtime, arg.scheduledDate));
159
+ obj.setProperty(runtime, "scheduledDoseQuantity", JSIConverter<std::optional<double>>::toJSI(runtime, arg.scheduledDoseQuantity));
160
+ obj.setProperty(runtime, "doseQuantity", JSIConverter<std::optional<double>>::toJSI(runtime, arg.doseQuantity));
161
+ obj.setProperty(runtime, "logStatus", JSIConverter<margelo::nitro::healthkit::MedicationDoseEventLogStatus>::toJSI(runtime, arg.logStatus));
162
+ obj.setProperty(runtime, "unit", JSIConverter<std::string>::toJSI(runtime, arg.unit));
163
+ obj.setProperty(runtime, "sampleType", JSIConverter<margelo::nitro::healthkit::SampleType>::toJSI(runtime, arg.sampleType));
164
+ obj.setProperty(runtime, "startDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.startDate));
165
+ obj.setProperty(runtime, "endDate", JSIConverter<std::chrono::system_clock::time_point>::toJSI(runtime, arg.endDate));
166
+ obj.setProperty(runtime, "hasUndeterminedDuration", JSIConverter<bool>::toJSI(runtime, arg.hasUndeterminedDuration));
167
+ obj.setProperty(runtime, "metadataWeatherCondition", JSIConverter<std::optional<margelo::nitro::healthkit::WeatherCondition>>::toJSI(runtime, arg.metadataWeatherCondition));
168
+ obj.setProperty(runtime, "metadataWeatherHumidity", JSIConverter<std::optional<margelo::nitro::healthkit::Quantity>>::toJSI(runtime, arg.metadataWeatherHumidity));
169
+ obj.setProperty(runtime, "metadataWeatherTemperature", JSIConverter<std::optional<margelo::nitro::healthkit::Quantity>>::toJSI(runtime, arg.metadataWeatherTemperature));
170
+ obj.setProperty(runtime, "metadataInsulinDeliveryReason", JSIConverter<std::optional<margelo::nitro::healthkit::InsulinDeliveryReason>>::toJSI(runtime, arg.metadataInsulinDeliveryReason));
171
+ obj.setProperty(runtime, "metadataHeartRateMotionContext", JSIConverter<std::optional<margelo::nitro::healthkit::HeartRateMotionContext>>::toJSI(runtime, arg.metadataHeartRateMotionContext));
172
+ obj.setProperty(runtime, "uuid", JSIConverter<std::string>::toJSI(runtime, arg.uuid));
173
+ obj.setProperty(runtime, "sourceRevision", JSIConverter<margelo::nitro::healthkit::SourceRevision>::toJSI(runtime, arg.sourceRevision));
174
+ obj.setProperty(runtime, "device", JSIConverter<std::optional<margelo::nitro::healthkit::Device>>::toJSI(runtime, arg.device));
175
+ obj.setProperty(runtime, "metadata", JSIConverter<std::shared_ptr<AnyMap>>::toJSI(runtime, arg.metadata));
176
+ obj.setProperty(runtime, "metadataExternalUUID", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataExternalUUID));
177
+ obj.setProperty(runtime, "metadataTimeZone", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataTimeZone));
178
+ obj.setProperty(runtime, "metadataWasUserEntered", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.metadataWasUserEntered));
179
+ obj.setProperty(runtime, "metadataDeviceSerialNumber", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataDeviceSerialNumber));
180
+ obj.setProperty(runtime, "metadataUdiDeviceIdentifier", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataUdiDeviceIdentifier));
181
+ obj.setProperty(runtime, "metadataUdiProductionIdentifier", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataUdiProductionIdentifier));
182
+ obj.setProperty(runtime, "metadataDigitalSignature", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataDigitalSignature));
183
+ obj.setProperty(runtime, "metadataDeviceName", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataDeviceName));
184
+ obj.setProperty(runtime, "metadataDeviceManufacturerName", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataDeviceManufacturerName));
185
+ obj.setProperty(runtime, "metadataSyncIdentifier", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.metadataSyncIdentifier));
186
+ obj.setProperty(runtime, "metadataSyncVersion", JSIConverter<std::optional<double>>::toJSI(runtime, arg.metadataSyncVersion));
187
+ obj.setProperty(runtime, "metadataWasTakenInLab", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.metadataWasTakenInLab));
188
+ obj.setProperty(runtime, "metadataReferenceRangeLowerLimit", JSIConverter<std::optional<double>>::toJSI(runtime, arg.metadataReferenceRangeLowerLimit));
189
+ obj.setProperty(runtime, "metadataReferenceRangeUpperLimit", JSIConverter<std::optional<double>>::toJSI(runtime, arg.metadataReferenceRangeUpperLimit));
190
+ obj.setProperty(runtime, "metadataAlgorithmVersion", JSIConverter<std::optional<double>>::toJSI(runtime, arg.metadataAlgorithmVersion));
191
+ return obj;
192
+ }
193
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
194
+ if (!value.isObject()) {
195
+ return false;
196
+ }
197
+ jsi::Object obj = value.getObject(runtime);
198
+ if (!nitro::isPlainObject(runtime, obj)) {
199
+ return false;
200
+ }
201
+ if (!JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType>::canConvert(runtime, obj.getProperty(runtime, "scheduleType"))) return false;
202
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "medicationConceptIdentifier"))) return false;
203
+ if (!JSIConverter<std::optional<std::chrono::system_clock::time_point>>::canConvert(runtime, obj.getProperty(runtime, "scheduledDate"))) return false;
204
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "scheduledDoseQuantity"))) return false;
205
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "doseQuantity"))) return false;
206
+ if (!JSIConverter<margelo::nitro::healthkit::MedicationDoseEventLogStatus>::canConvert(runtime, obj.getProperty(runtime, "logStatus"))) return false;
207
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "unit"))) return false;
208
+ if (!JSIConverter<margelo::nitro::healthkit::SampleType>::canConvert(runtime, obj.getProperty(runtime, "sampleType"))) return false;
209
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "startDate"))) return false;
210
+ if (!JSIConverter<std::chrono::system_clock::time_point>::canConvert(runtime, obj.getProperty(runtime, "endDate"))) return false;
211
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "hasUndeterminedDuration"))) return false;
212
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::WeatherCondition>>::canConvert(runtime, obj.getProperty(runtime, "metadataWeatherCondition"))) return false;
213
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::Quantity>>::canConvert(runtime, obj.getProperty(runtime, "metadataWeatherHumidity"))) return false;
214
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::Quantity>>::canConvert(runtime, obj.getProperty(runtime, "metadataWeatherTemperature"))) return false;
215
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::InsulinDeliveryReason>>::canConvert(runtime, obj.getProperty(runtime, "metadataInsulinDeliveryReason"))) return false;
216
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::HeartRateMotionContext>>::canConvert(runtime, obj.getProperty(runtime, "metadataHeartRateMotionContext"))) return false;
217
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "uuid"))) return false;
218
+ if (!JSIConverter<margelo::nitro::healthkit::SourceRevision>::canConvert(runtime, obj.getProperty(runtime, "sourceRevision"))) return false;
219
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::Device>>::canConvert(runtime, obj.getProperty(runtime, "device"))) return false;
220
+ if (!JSIConverter<std::shared_ptr<AnyMap>>::canConvert(runtime, obj.getProperty(runtime, "metadata"))) return false;
221
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataExternalUUID"))) return false;
222
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataTimeZone"))) return false;
223
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "metadataWasUserEntered"))) return false;
224
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataDeviceSerialNumber"))) return false;
225
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataUdiDeviceIdentifier"))) return false;
226
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataUdiProductionIdentifier"))) return false;
227
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataDigitalSignature"))) return false;
228
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataDeviceName"))) return false;
229
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataDeviceManufacturerName"))) return false;
230
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "metadataSyncIdentifier"))) return false;
231
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "metadataSyncVersion"))) return false;
232
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "metadataWasTakenInLab"))) return false;
233
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "metadataReferenceRangeLowerLimit"))) return false;
234
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "metadataReferenceRangeUpperLimit"))) return false;
235
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "metadataAlgorithmVersion"))) return false;
236
+ return true;
237
+ }
238
+ };
239
+
240
+ } // namespace margelo::nitro
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// MedicationDoseEventLogStatus.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
+ namespace margelo::nitro::healthkit {
22
+
23
+ /**
24
+ * An enum which can be represented as a JavaScript enum (MedicationDoseEventLogStatus).
25
+ */
26
+ enum class MedicationDoseEventLogStatus {
27
+ NOTINTERACTED SWIFT_NAME(notinteracted) = 1,
28
+ NOTIFICATIONNOTSENT SWIFT_NAME(notificationnotsent) = 2,
29
+ SNOOZED SWIFT_NAME(snoozed) = 3,
30
+ TAKEN SWIFT_NAME(taken) = 4,
31
+ SKIPPED SWIFT_NAME(skipped) = 5,
32
+ NOTLOGGED SWIFT_NAME(notlogged) = 6,
33
+ } CLOSED_ENUM;
34
+
35
+ } // namespace margelo::nitro::healthkit
36
+
37
+ namespace margelo::nitro {
38
+
39
+ // C++ MedicationDoseEventLogStatus <> JS MedicationDoseEventLogStatus (enum)
40
+ template <>
41
+ struct JSIConverter<margelo::nitro::healthkit::MedicationDoseEventLogStatus> final {
42
+ static inline margelo::nitro::healthkit::MedicationDoseEventLogStatus fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
43
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
44
+ return static_cast<margelo::nitro::healthkit::MedicationDoseEventLogStatus>(enumValue);
45
+ }
46
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::healthkit::MedicationDoseEventLogStatus arg) {
47
+ int enumValue = static_cast<int>(arg);
48
+ return JSIConverter<int>::toJSI(runtime, enumValue);
49
+ }
50
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
51
+ if (!value.isNumber()) {
52
+ return false;
53
+ }
54
+ double number = value.getNumber();
55
+ int integer = static_cast<int>(number);
56
+ if (number != integer) {
57
+ // The integer is not the same value as the double - we truncated floating points.
58
+ // Enums are all integers, so the input floating point number is obviously invalid.
59
+ return false;
60
+ }
61
+ // Check if we are within the bounds of the enum.
62
+ return integer >= 1 && integer <= 6;
63
+ }
64
+ };
65
+
66
+ } // namespace margelo::nitro
@@ -0,0 +1,62 @@
1
+ ///
2
+ /// MedicationDoseEventScheduleType.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
+ namespace margelo::nitro::healthkit {
22
+
23
+ /**
24
+ * An enum which can be represented as a JavaScript enum (MedicationDoseEventScheduleType).
25
+ */
26
+ enum class MedicationDoseEventScheduleType {
27
+ ASNEEDED SWIFT_NAME(asneeded) = 1,
28
+ SCHEDULE SWIFT_NAME(schedule) = 2,
29
+ } CLOSED_ENUM;
30
+
31
+ } // namespace margelo::nitro::healthkit
32
+
33
+ namespace margelo::nitro {
34
+
35
+ // C++ MedicationDoseEventScheduleType <> JS MedicationDoseEventScheduleType (enum)
36
+ template <>
37
+ struct JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType> final {
38
+ static inline margelo::nitro::healthkit::MedicationDoseEventScheduleType fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
39
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
40
+ return static_cast<margelo::nitro::healthkit::MedicationDoseEventScheduleType>(enumValue);
41
+ }
42
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::healthkit::MedicationDoseEventScheduleType arg) {
43
+ int enumValue = static_cast<int>(arg);
44
+ return JSIConverter<int>::toJSI(runtime, enumValue);
45
+ }
46
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
47
+ if (!value.isNumber()) {
48
+ return false;
49
+ }
50
+ double number = value.getNumber();
51
+ int integer = static_cast<int>(number);
52
+ if (number != integer) {
53
+ // The integer is not the same value as the double - we truncated floating points.
54
+ // Enums are all integers, so the input floating point number is obviously invalid.
55
+ return false;
56
+ }
57
+ // Check if we are within the bounds of the enum.
58
+ return integer >= 1 && integer <= 2;
59
+ }
60
+ };
61
+
62
+ } // namespace margelo::nitro
@@ -0,0 +1,89 @@
1
+ ///
2
+ /// MedicationDoseEventsWithAnchorResponse.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
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ // Forward declaration of `MedicationDoseEvent` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { struct MedicationDoseEvent; }
28
+ // Forward declaration of `DeletedSample` to properly resolve imports.
29
+ namespace margelo::nitro::healthkit { struct DeletedSample; }
30
+
31
+ #include "MedicationDoseEvent.hpp"
32
+ #include <vector>
33
+ #include "DeletedSample.hpp"
34
+ #include <string>
35
+
36
+ namespace margelo::nitro::healthkit {
37
+
38
+ /**
39
+ * A struct which can be represented as a JavaScript object (MedicationDoseEventsWithAnchorResponse).
40
+ */
41
+ struct MedicationDoseEventsWithAnchorResponse {
42
+ public:
43
+ std::vector<MedicationDoseEvent> samples SWIFT_PRIVATE;
44
+ std::vector<DeletedSample> deletedSamples SWIFT_PRIVATE;
45
+ std::string newAnchor SWIFT_PRIVATE;
46
+
47
+ public:
48
+ MedicationDoseEventsWithAnchorResponse() = default;
49
+ explicit MedicationDoseEventsWithAnchorResponse(std::vector<MedicationDoseEvent> samples, std::vector<DeletedSample> deletedSamples, std::string newAnchor): samples(samples), deletedSamples(deletedSamples), newAnchor(newAnchor) {}
50
+ };
51
+
52
+ } // namespace margelo::nitro::healthkit
53
+
54
+ namespace margelo::nitro {
55
+
56
+ // C++ MedicationDoseEventsWithAnchorResponse <> JS MedicationDoseEventsWithAnchorResponse (object)
57
+ template <>
58
+ struct JSIConverter<margelo::nitro::healthkit::MedicationDoseEventsWithAnchorResponse> final {
59
+ static inline margelo::nitro::healthkit::MedicationDoseEventsWithAnchorResponse fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
60
+ jsi::Object obj = arg.asObject(runtime);
61
+ return margelo::nitro::healthkit::MedicationDoseEventsWithAnchorResponse(
62
+ JSIConverter<std::vector<margelo::nitro::healthkit::MedicationDoseEvent>>::fromJSI(runtime, obj.getProperty(runtime, "samples")),
63
+ JSIConverter<std::vector<margelo::nitro::healthkit::DeletedSample>>::fromJSI(runtime, obj.getProperty(runtime, "deletedSamples")),
64
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "newAnchor"))
65
+ );
66
+ }
67
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::healthkit::MedicationDoseEventsWithAnchorResponse& arg) {
68
+ jsi::Object obj(runtime);
69
+ obj.setProperty(runtime, "samples", JSIConverter<std::vector<margelo::nitro::healthkit::MedicationDoseEvent>>::toJSI(runtime, arg.samples));
70
+ obj.setProperty(runtime, "deletedSamples", JSIConverter<std::vector<margelo::nitro::healthkit::DeletedSample>>::toJSI(runtime, arg.deletedSamples));
71
+ obj.setProperty(runtime, "newAnchor", JSIConverter<std::string>::toJSI(runtime, arg.newAnchor));
72
+ return obj;
73
+ }
74
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
75
+ if (!value.isObject()) {
76
+ return false;
77
+ }
78
+ jsi::Object obj = value.getObject(runtime);
79
+ if (!nitro::isPlainObject(runtime, obj)) {
80
+ return false;
81
+ }
82
+ if (!JSIConverter<std::vector<margelo::nitro::healthkit::MedicationDoseEvent>>::canConvert(runtime, obj.getProperty(runtime, "samples"))) return false;
83
+ if (!JSIConverter<std::vector<margelo::nitro::healthkit::DeletedSample>>::canConvert(runtime, obj.getProperty(runtime, "deletedSamples"))) return false;
84
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "newAnchor"))) return false;
85
+ return true;
86
+ }
87
+ };
88
+
89
+ } // namespace margelo::nitro