@kingstinct/react-native-healthkit 12.1.2 → 12.2.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 (266) hide show
  1. package/ios/CategoryTypeModule.swift +49 -97
  2. package/ios/CharacteristicTypeModule.swift +77 -63
  3. package/ios/CoreModule.swift +324 -280
  4. package/ios/CorrelationTypeModule.swift +192 -144
  5. package/ios/ElectrocardiogramModule.swift +185 -194
  6. package/ios/HeartbeatSeriesModule.swift +123 -171
  7. package/ios/Helpers.swift +312 -571
  8. package/ios/MedicationModule.swift +259 -0
  9. package/ios/PredicateHelpers.swift +334 -0
  10. package/ios/QuantityTypeModule.swift +297 -378
  11. package/ios/Serializers.swift +273 -210
  12. package/ios/SourceProxy.swift +2 -2
  13. package/ios/StateOfMindModule.swift +179 -125
  14. package/ios/WorkoutProxy.swift +235 -112
  15. package/ios/WorkoutsModule.swift +214 -262
  16. package/lib/commonjs/healthkit.ios.js +22 -2
  17. package/lib/commonjs/healthkit.js +35 -5
  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 +20 -2
  33. package/lib/module/healthkit.js +32 -2
  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 +18 -9
  49. package/lib/typescript/healthkit.ios.d.ts +33 -15
  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 +2 -2
  53. package/lib/typescript/specs/CoreModule.nitro.d.ts +2 -1
  54. package/lib/typescript/specs/CorrelationTypeModule.nitro.d.ts +4 -2
  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 +4 -4
  59. package/lib/typescript/specs/StateOfMindModule.nitro.d.ts +4 -3
  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 +2 -8
  66. package/lib/typescript/types/QuantityType.d.ts +7 -8
  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 +57 -0
  76. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +592 -389
  77. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +65 -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 +32 -26
  81. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +36 -37
  82. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +55 -2
  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 +48 -42
  88. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +59 -36
  89. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +150 -29
  90. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +13 -28
  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__vector_MedicationDoseEvent_.swift +47 -0
  107. package/nitrogen/generated/ios/swift/Func_void_std__vector_UserAnnotatedMedication_.swift +47 -0
  108. package/nitrogen/generated/ios/swift/GeneralForm.swift +104 -0
  109. package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +44 -0
  110. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +565 -37
  111. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +1 -1
  112. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +2 -2
  113. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +2 -1
  114. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +19 -31
  115. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +2 -1
  116. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +21 -2
  117. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec.swift +1 -1
  118. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec_cxx.swift +2 -2
  119. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +1 -1
  120. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +2 -2
  121. package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec.swift +60 -0
  122. package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec_cxx.swift +208 -0
  123. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +2 -2
  124. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +9 -43
  125. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +2 -1
  126. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +21 -2
  127. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +34 -6
  128. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +376 -36
  129. package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +40 -0
  130. package/nitrogen/generated/ios/swift/MedicationConcept.swift +80 -0
  131. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +781 -0
  132. package/nitrogen/generated/ios/swift/MedicationDoseEventLogStatus.swift +56 -0
  133. package/nitrogen/generated/ios/swift/MedicationDoseEventScheduleType.swift +40 -0
  134. package/nitrogen/generated/ios/swift/MedicationDoseEventsWithAnchorResponse.swift +81 -0
  135. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +16 -16
  136. package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +7 -7
  137. package/nitrogen/generated/ios/swift/QuantitySample.swift +574 -27
  138. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +16 -16
  139. package/nitrogen/generated/ios/swift/QueryCorrelationSamplesWithAnchorResponse.swift +81 -0
  140. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +11 -91
  141. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +11 -91
  142. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +11 -91
  143. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +11 -91
  144. package/nitrogen/generated/ios/swift/RelatedCoding.swift +76 -0
  145. package/nitrogen/generated/ios/swift/SampleType.swift +68 -0
  146. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +16 -16
  147. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +0 -16
  148. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +586 -58
  149. package/nitrogen/generated/ios/swift/StateOfMindSamplesWithAnchorResponse.swift +81 -0
  150. package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +7 -75
  151. package/nitrogen/generated/ios/swift/UserAnnotatedMedication.swift +87 -0
  152. package/nitrogen/generated/ios/swift/WeatherCondition.swift +144 -0
  153. package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +11 -105
  154. package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +11 -105
  155. package/nitrogen/generated/ios/swift/WorkoutSample.swift +751 -78
  156. package/nitrogen/generated/shared/c++/AggregationStyle.hpp +64 -0
  157. package/nitrogen/generated/shared/c++/CategorySample.hpp +126 -23
  158. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +134 -12
  159. package/nitrogen/generated/shared/c++/{PredicateWithStartAndEnd.hpp → DateFilter.hpp} +10 -10
  160. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithAnchor.hpp +12 -31
  161. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithSortOrder.hpp +12 -31
  162. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +135 -36
  163. package/nitrogen/generated/shared/c++/FilterForSamples.hpp +124 -0
  164. package/nitrogen/generated/shared/c++/FilterForSamplesBase.hpp +109 -0
  165. package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +131 -0
  166. package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +116 -0
  167. package/nitrogen/generated/shared/c++/GeneralForm.hpp +140 -0
  168. package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +67 -0
  169. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +131 -28
  170. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +1 -2
  171. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +1 -0
  172. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +10 -28
  173. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +1 -0
  174. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +11 -1
  175. package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.hpp +1 -2
  176. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +1 -2
  177. package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.cpp +24 -0
  178. package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.hpp +80 -0
  179. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +1 -1
  180. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +6 -25
  181. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +1 -0
  182. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +9 -2
  183. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +33 -5
  184. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +56 -16
  185. package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +62 -0
  186. package/nitrogen/generated/shared/c++/MedicationConcept.hpp +93 -0
  187. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +240 -0
  188. package/nitrogen/generated/shared/c++/MedicationDoseEventLogStatus.hpp +66 -0
  189. package/nitrogen/generated/shared/c++/MedicationDoseEventScheduleType.hpp +62 -0
  190. package/nitrogen/generated/shared/c++/MedicationDoseEventsWithAnchorResponse.hpp +89 -0
  191. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +105 -105
  192. package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +8 -8
  193. package/nitrogen/generated/shared/c++/QuantitySample.hpp +130 -27
  194. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +105 -105
  195. package/nitrogen/generated/shared/c++/QueryCorrelationSamplesWithAnchorResponse.hpp +89 -0
  196. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +12 -31
  197. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +12 -31
  198. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +12 -31
  199. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +12 -31
  200. package/nitrogen/generated/shared/c++/RelatedCoding.hpp +84 -0
  201. package/nitrogen/generated/shared/c++/SampleType.hpp +87 -0
  202. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +105 -105
  203. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +105 -121
  204. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +139 -36
  205. package/nitrogen/generated/shared/c++/StateOfMindSamplesWithAnchorResponse.hpp +89 -0
  206. package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +8 -27
  207. package/nitrogen/generated/shared/c++/UserAnnotatedMedication.hpp +90 -0
  208. package/nitrogen/generated/shared/c++/WeatherCondition.hpp +88 -0
  209. package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +12 -37
  210. package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +12 -37
  211. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +159 -35
  212. package/package.json +1 -1
  213. package/src/healthkit.ios.ts +30 -0
  214. package/src/healthkit.ts +68 -3
  215. package/src/hooks/useStatisticsForQuantity.ts +1 -1
  216. package/src/hooks/useSubscribeToCategorySamples.ts +31 -0
  217. package/src/modules.ts +4 -0
  218. package/src/specs/CategoryTypeModule.nitro.ts +2 -2
  219. package/src/specs/CoreModule.nitro.ts +3 -0
  220. package/src/specs/CorrelationTypeModule.nitro.ts +11 -3
  221. package/src/specs/ElectrocardiogramModule.nitro.ts +1 -1
  222. package/src/specs/HeartbeatSeriesModule.nitro.ts +1 -1
  223. package/src/specs/MedicationModule.nitro.ts +140 -0
  224. package/src/specs/QuantityTypeModule.nitro.ts +4 -7
  225. package/src/specs/StateOfMindModule.nitro.ts +10 -2
  226. package/src/types/CategoryType.ts +15 -22
  227. package/src/types/Constants.ts +3 -0
  228. package/src/types/CorrelationType.ts +10 -15
  229. package/src/types/ElectrocardiogramSample.ts +2 -14
  230. package/src/types/HeartbeatSeries.ts +2 -15
  231. package/src/types/QuantitySample.ts +2 -8
  232. package/src/types/QuantityType.ts +8 -17
  233. package/src/types/QuantityTypeIdentifier.ts +25 -25
  234. package/src/types/QueryOptions.ts +54 -43
  235. package/src/types/Shared.ts +74 -17
  236. package/src/types/StateOfMind.ts +8 -10
  237. package/src/types/Subscriptions.ts +19 -3
  238. package/src/types/WeatherCondition.ts +1 -1
  239. package/src/types/Workouts.ts +28 -91
  240. package/src/utils/getCategorySampleById.ts +1 -1
  241. package/src/utils/getQuantitySampleById.ts +1 -1
  242. package/src/utils/getWorkoutById.ts +1 -2
  243. package/src/utils/subscribeToCategorySamples.ts +38 -0
  244. package/src/utils/subscribeToQuantitySamples.ts +12 -37
  245. package/nitrogen/generated/ios/swift/FilterForSamplesAnd.swift +0 -94
  246. package/nitrogen/generated/ios/swift/FilterForSamplesOr.swift +0 -94
  247. package/nitrogen/generated/ios/swift/PredicateForSamples.swift +0 -21
  248. package/nitrogen/generated/ios/swift/PredicateForWorkouts.swift +0 -23
  249. package/nitrogen/generated/ios/swift/PredicateForWorkoutsAnd.swift +0 -108
  250. package/nitrogen/generated/ios/swift/PredicateForWorkoutsOr.swift +0 -108
  251. package/nitrogen/generated/ios/swift/PredicateFromWorkout.swift +0 -45
  252. package/nitrogen/generated/ios/swift/PredicateWithMetadataOperator.swift +0 -48
  253. package/nitrogen/generated/ios/swift/PredicateWithUUID.swift +0 -35
  254. package/nitrogen/generated/ios/swift/PredicateWithUUIDs.swift +0 -47
  255. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr.swift +0 -23
  256. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_WorkoutActivityTypePredicate_WorkoutDurationPredicate_PredicateForWorkoutsOr_PredicateForWorkoutsAnd.swift +0 -25
  257. package/nitrogen/generated/ios/swift/WorkoutActivityTypePredicate.swift +0 -35
  258. package/nitrogen/generated/shared/c++/FilterForSamplesAnd.hpp +0 -90
  259. package/nitrogen/generated/shared/c++/FilterForSamplesOr.hpp +0 -90
  260. package/nitrogen/generated/shared/c++/PredicateForWorkoutsAnd.hpp +0 -96
  261. package/nitrogen/generated/shared/c++/PredicateForWorkoutsOr.hpp +0 -96
  262. package/nitrogen/generated/shared/c++/PredicateFromWorkout.hpp +0 -77
  263. package/nitrogen/generated/shared/c++/PredicateWithMetadataOperator.hpp +0 -84
  264. package/nitrogen/generated/shared/c++/PredicateWithUUID.hpp +0 -75
  265. package/nitrogen/generated/shared/c++/PredicateWithUUIDs.hpp +0 -76
  266. package/nitrogen/generated/shared/c++/WorkoutActivityTypePredicate.hpp +0 -76
@@ -0,0 +1,89 @@
1
+ ///
2
+ /// StateOfMindSamplesWithAnchorResponse.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 `StateOfMindSample` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { struct StateOfMindSample; }
28
+ // Forward declaration of `DeletedSample` to properly resolve imports.
29
+ namespace margelo::nitro::healthkit { struct DeletedSample; }
30
+
31
+ #include "StateOfMindSample.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 (StateOfMindSamplesWithAnchorResponse).
40
+ */
41
+ struct StateOfMindSamplesWithAnchorResponse {
42
+ public:
43
+ std::vector<StateOfMindSample> samples SWIFT_PRIVATE;
44
+ std::vector<DeletedSample> deletedSamples SWIFT_PRIVATE;
45
+ std::string newAnchor SWIFT_PRIVATE;
46
+
47
+ public:
48
+ StateOfMindSamplesWithAnchorResponse() = default;
49
+ explicit StateOfMindSamplesWithAnchorResponse(std::vector<StateOfMindSample> 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++ StateOfMindSamplesWithAnchorResponse <> JS StateOfMindSamplesWithAnchorResponse (object)
57
+ template <>
58
+ struct JSIConverter<margelo::nitro::healthkit::StateOfMindSamplesWithAnchorResponse> final {
59
+ static inline margelo::nitro::healthkit::StateOfMindSamplesWithAnchorResponse fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
60
+ jsi::Object obj = arg.asObject(runtime);
61
+ return margelo::nitro::healthkit::StateOfMindSamplesWithAnchorResponse(
62
+ JSIConverter<std::vector<margelo::nitro::healthkit::StateOfMindSample>>::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::StateOfMindSamplesWithAnchorResponse& arg) {
68
+ jsi::Object obj(runtime);
69
+ obj.setProperty(runtime, "samples", JSIConverter<std::vector<margelo::nitro::healthkit::StateOfMindSample>>::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::StateOfMindSample>>::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
@@ -23,29 +23,10 @@
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
25
 
26
- // Forward declaration of `PredicateWithUUID` to properly resolve imports.
27
- namespace margelo::nitro::healthkit { struct PredicateWithUUID; }
28
- // Forward declaration of `PredicateWithUUIDs` to properly resolve imports.
29
- namespace margelo::nitro::healthkit { struct PredicateWithUUIDs; }
30
- // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
31
- namespace margelo::nitro::healthkit { struct PredicateWithMetadataKey; }
32
- // Forward declaration of `PredicateWithStartAndEnd` to properly resolve imports.
33
- namespace margelo::nitro::healthkit { struct PredicateWithStartAndEnd; }
34
- // Forward declaration of `PredicateFromWorkout` to properly resolve imports.
35
- namespace margelo::nitro::healthkit { struct PredicateFromWorkout; }
36
- // Forward declaration of `FilterForSamplesAnd` to properly resolve imports.
37
- namespace margelo::nitro::healthkit { struct FilterForSamplesAnd; }
38
- // Forward declaration of `FilterForSamplesOr` to properly resolve imports.
39
- namespace margelo::nitro::healthkit { struct FilterForSamplesOr; }
26
+ // Forward declaration of `FilterForSamples` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { struct FilterForSamples; }
40
28
 
41
- #include "PredicateWithUUID.hpp"
42
- #include "PredicateWithUUIDs.hpp"
43
- #include "PredicateWithMetadataKey.hpp"
44
- #include "PredicateWithStartAndEnd.hpp"
45
- #include "PredicateFromWorkout.hpp"
46
- #include "FilterForSamplesAnd.hpp"
47
- #include "FilterForSamplesOr.hpp"
48
- #include <variant>
29
+ #include "FilterForSamples.hpp"
49
30
  #include <optional>
50
31
  #include <string>
51
32
 
@@ -56,12 +37,12 @@ namespace margelo::nitro::healthkit {
56
37
  */
57
38
  struct StatisticsQueryOptions {
58
39
  public:
59
- std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, FilterForSamplesAnd, FilterForSamplesOr>> filter SWIFT_PRIVATE;
40
+ std::optional<FilterForSamples> filter SWIFT_PRIVATE;
60
41
  std::optional<std::string> unit SWIFT_PRIVATE;
61
42
 
62
43
  public:
63
44
  StatisticsQueryOptions() = default;
64
- explicit StatisticsQueryOptions(std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, FilterForSamplesAnd, FilterForSamplesOr>> filter, std::optional<std::string> unit): filter(filter), unit(unit) {}
45
+ explicit StatisticsQueryOptions(std::optional<FilterForSamples> filter, std::optional<std::string> unit): filter(filter), unit(unit) {}
65
46
  };
66
47
 
67
48
  } // namespace margelo::nitro::healthkit
@@ -74,13 +55,13 @@ namespace margelo::nitro {
74
55
  static inline margelo::nitro::healthkit::StatisticsQueryOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
75
56
  jsi::Object obj = arg.asObject(runtime);
76
57
  return margelo::nitro::healthkit::StatisticsQueryOptions(
77
- JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::FilterForSamplesAnd, margelo::nitro::healthkit::FilterForSamplesOr>>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
58
+ JSIConverter<std::optional<margelo::nitro::healthkit::FilterForSamples>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
78
59
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "unit"))
79
60
  );
80
61
  }
81
62
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::healthkit::StatisticsQueryOptions& arg) {
82
63
  jsi::Object obj(runtime);
83
- obj.setProperty(runtime, "filter", JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::FilterForSamplesAnd, margelo::nitro::healthkit::FilterForSamplesOr>>>::toJSI(runtime, arg.filter));
64
+ obj.setProperty(runtime, "filter", JSIConverter<std::optional<margelo::nitro::healthkit::FilterForSamples>>::toJSI(runtime, arg.filter));
84
65
  obj.setProperty(runtime, "unit", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.unit));
85
66
  return obj;
86
67
  }
@@ -92,7 +73,7 @@ namespace margelo::nitro {
92
73
  if (!nitro::isPlainObject(runtime, obj)) {
93
74
  return false;
94
75
  }
95
- if (!JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::FilterForSamplesAnd, margelo::nitro::healthkit::FilterForSamplesOr>>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
76
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::FilterForSamples>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
96
77
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "unit"))) return false;
97
78
  return true;
98
79
  }
@@ -0,0 +1,90 @@
1
+ ///
2
+ /// UserAnnotatedMedication.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 `MedicationConcept` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { struct MedicationConcept; }
28
+
29
+ #include <string>
30
+ #include <optional>
31
+ #include "MedicationConcept.hpp"
32
+
33
+ namespace margelo::nitro::healthkit {
34
+
35
+ /**
36
+ * A struct which can be represented as a JavaScript object (UserAnnotatedMedication).
37
+ */
38
+ struct UserAnnotatedMedication {
39
+ public:
40
+ bool isArchived SWIFT_PRIVATE;
41
+ bool hasSchedule SWIFT_PRIVATE;
42
+ std::optional<std::string> nickname SWIFT_PRIVATE;
43
+ MedicationConcept medication SWIFT_PRIVATE;
44
+
45
+ public:
46
+ UserAnnotatedMedication() = default;
47
+ explicit UserAnnotatedMedication(bool isArchived, bool hasSchedule, std::optional<std::string> nickname, MedicationConcept medication): isArchived(isArchived), hasSchedule(hasSchedule), nickname(nickname), medication(medication) {}
48
+ };
49
+
50
+ } // namespace margelo::nitro::healthkit
51
+
52
+ namespace margelo::nitro {
53
+
54
+ // C++ UserAnnotatedMedication <> JS UserAnnotatedMedication (object)
55
+ template <>
56
+ struct JSIConverter<margelo::nitro::healthkit::UserAnnotatedMedication> final {
57
+ static inline margelo::nitro::healthkit::UserAnnotatedMedication fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
58
+ jsi::Object obj = arg.asObject(runtime);
59
+ return margelo::nitro::healthkit::UserAnnotatedMedication(
60
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "isArchived")),
61
+ JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "hasSchedule")),
62
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "nickname")),
63
+ JSIConverter<margelo::nitro::healthkit::MedicationConcept>::fromJSI(runtime, obj.getProperty(runtime, "medication"))
64
+ );
65
+ }
66
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::healthkit::UserAnnotatedMedication& arg) {
67
+ jsi::Object obj(runtime);
68
+ obj.setProperty(runtime, "isArchived", JSIConverter<bool>::toJSI(runtime, arg.isArchived));
69
+ obj.setProperty(runtime, "hasSchedule", JSIConverter<bool>::toJSI(runtime, arg.hasSchedule));
70
+ obj.setProperty(runtime, "nickname", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.nickname));
71
+ obj.setProperty(runtime, "medication", JSIConverter<margelo::nitro::healthkit::MedicationConcept>::toJSI(runtime, arg.medication));
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<bool>::canConvert(runtime, obj.getProperty(runtime, "isArchived"))) return false;
83
+ if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "hasSchedule"))) return false;
84
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "nickname"))) return false;
85
+ if (!JSIConverter<margelo::nitro::healthkit::MedicationConcept>::canConvert(runtime, obj.getProperty(runtime, "medication"))) return false;
86
+ return true;
87
+ }
88
+ };
89
+
90
+ } // namespace margelo::nitro
@@ -0,0 +1,88 @@
1
+ ///
2
+ /// WeatherCondition.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 (WeatherCondition).
25
+ */
26
+ enum class WeatherCondition {
27
+ NONE SWIFT_NAME(none) = 0,
28
+ CLEAR SWIFT_NAME(clear) = 1,
29
+ FAIR SWIFT_NAME(fair) = 2,
30
+ PARTLYCLOUDY SWIFT_NAME(partlycloudy) = 3,
31
+ MOSTLYCLOUDY SWIFT_NAME(mostlycloudy) = 4,
32
+ CLOUDY SWIFT_NAME(cloudy) = 5,
33
+ FOGGY SWIFT_NAME(foggy) = 6,
34
+ HAZE SWIFT_NAME(haze) = 7,
35
+ WINDY SWIFT_NAME(windy) = 8,
36
+ BLUSTERY SWIFT_NAME(blustery) = 9,
37
+ SMOKY SWIFT_NAME(smoky) = 10,
38
+ DUST SWIFT_NAME(dust) = 11,
39
+ SNOW SWIFT_NAME(snow) = 12,
40
+ HAIL SWIFT_NAME(hail) = 13,
41
+ SLEET SWIFT_NAME(sleet) = 14,
42
+ FREEZINGDRIZZLE SWIFT_NAME(freezingdrizzle) = 15,
43
+ FREEZINGRAIN SWIFT_NAME(freezingrain) = 16,
44
+ MIXEDRAINANDHAIL SWIFT_NAME(mixedrainandhail) = 17,
45
+ MIXEDRAINANDSNOW SWIFT_NAME(mixedrainandsnow) = 18,
46
+ MIXEDRAINANDSLEET SWIFT_NAME(mixedrainandsleet) = 19,
47
+ MIXEDSNOWANDSLEET SWIFT_NAME(mixedsnowandsleet) = 20,
48
+ DRIZZLE SWIFT_NAME(drizzle) = 21,
49
+ SCATTEREDSHOWERS SWIFT_NAME(scatteredshowers) = 22,
50
+ SHOWERS SWIFT_NAME(showers) = 23,
51
+ THUNDERSTORMS SWIFT_NAME(thunderstorms) = 24,
52
+ TROPICALSTORM SWIFT_NAME(tropicalstorm) = 25,
53
+ HURRICANE SWIFT_NAME(hurricane) = 26,
54
+ TORNADO SWIFT_NAME(tornado) = 27,
55
+ } CLOSED_ENUM;
56
+
57
+ } // namespace margelo::nitro::healthkit
58
+
59
+ namespace margelo::nitro {
60
+
61
+ // C++ WeatherCondition <> JS WeatherCondition (enum)
62
+ template <>
63
+ struct JSIConverter<margelo::nitro::healthkit::WeatherCondition> final {
64
+ static inline margelo::nitro::healthkit::WeatherCondition fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
65
+ int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
66
+ return static_cast<margelo::nitro::healthkit::WeatherCondition>(enumValue);
67
+ }
68
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::healthkit::WeatherCondition arg) {
69
+ int enumValue = static_cast<int>(arg);
70
+ return JSIConverter<int>::toJSI(runtime, enumValue);
71
+ }
72
+ static inline bool canConvert(jsi::Runtime&, const jsi::Value& value) {
73
+ if (!value.isNumber()) {
74
+ return false;
75
+ }
76
+ double number = value.getNumber();
77
+ int integer = static_cast<int>(number);
78
+ if (number != integer) {
79
+ // The integer is not the same value as the double - we truncated floating points.
80
+ // Enums are all integers, so the input floating point number is obviously invalid.
81
+ return false;
82
+ }
83
+ // Check if we are within the bounds of the enum.
84
+ return integer >= 0 && integer <= 27;
85
+ }
86
+ };
87
+
88
+ } // namespace margelo::nitro
@@ -23,35 +23,10 @@
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
25
 
26
- // Forward declaration of `PredicateWithUUID` to properly resolve imports.
27
- namespace margelo::nitro::healthkit { struct PredicateWithUUID; }
28
- // Forward declaration of `PredicateWithUUIDs` to properly resolve imports.
29
- namespace margelo::nitro::healthkit { struct PredicateWithUUIDs; }
30
- // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
31
- namespace margelo::nitro::healthkit { struct PredicateWithMetadataKey; }
32
- // Forward declaration of `PredicateWithStartAndEnd` to properly resolve imports.
33
- namespace margelo::nitro::healthkit { struct PredicateWithStartAndEnd; }
34
- // Forward declaration of `PredicateFromWorkout` to properly resolve imports.
35
- namespace margelo::nitro::healthkit { struct PredicateFromWorkout; }
36
- // Forward declaration of `WorkoutActivityTypePredicate` to properly resolve imports.
37
- namespace margelo::nitro::healthkit { struct WorkoutActivityTypePredicate; }
38
- // Forward declaration of `WorkoutDurationPredicate` to properly resolve imports.
39
- namespace margelo::nitro::healthkit { struct WorkoutDurationPredicate; }
40
- // Forward declaration of `PredicateForWorkoutsOr` to properly resolve imports.
41
- namespace margelo::nitro::healthkit { struct PredicateForWorkoutsOr; }
42
- // Forward declaration of `PredicateForWorkoutsAnd` to properly resolve imports.
43
- namespace margelo::nitro::healthkit { struct PredicateForWorkoutsAnd; }
26
+ // Forward declaration of `FilterForWorkouts` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { struct FilterForWorkouts; }
44
28
 
45
- #include "PredicateWithUUID.hpp"
46
- #include "PredicateWithUUIDs.hpp"
47
- #include "PredicateWithMetadataKey.hpp"
48
- #include "PredicateWithStartAndEnd.hpp"
49
- #include "PredicateFromWorkout.hpp"
50
- #include "WorkoutActivityTypePredicate.hpp"
51
- #include "WorkoutDurationPredicate.hpp"
52
- #include "PredicateForWorkoutsOr.hpp"
53
- #include "PredicateForWorkoutsAnd.hpp"
54
- #include <variant>
29
+ #include "FilterForWorkouts.hpp"
55
30
  #include <optional>
56
31
 
57
32
  namespace margelo::nitro::healthkit {
@@ -61,13 +36,13 @@ namespace margelo::nitro::healthkit {
61
36
  */
62
37
  struct WorkoutQueryOptions {
63
38
  public:
64
- std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter SWIFT_PRIVATE;
65
- std::optional<double> limit SWIFT_PRIVATE;
39
+ std::optional<FilterForWorkouts> filter SWIFT_PRIVATE;
40
+ double limit SWIFT_PRIVATE;
66
41
  std::optional<bool> ascending SWIFT_PRIVATE;
67
42
 
68
43
  public:
69
44
  WorkoutQueryOptions() = default;
70
- explicit WorkoutQueryOptions(std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter, std::optional<double> limit, std::optional<bool> ascending): filter(filter), limit(limit), ascending(ascending) {}
45
+ explicit WorkoutQueryOptions(std::optional<FilterForWorkouts> filter, double limit, std::optional<bool> ascending): filter(filter), limit(limit), ascending(ascending) {}
71
46
  };
72
47
 
73
48
  } // namespace margelo::nitro::healthkit
@@ -80,15 +55,15 @@ namespace margelo::nitro {
80
55
  static inline margelo::nitro::healthkit::WorkoutQueryOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
81
56
  jsi::Object obj = arg.asObject(runtime);
82
57
  return margelo::nitro::healthkit::WorkoutQueryOptions(
83
- JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::WorkoutActivityTypePredicate, margelo::nitro::healthkit::WorkoutDurationPredicate, margelo::nitro::healthkit::PredicateForWorkoutsOr, margelo::nitro::healthkit::PredicateForWorkoutsAnd>>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
84
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "limit")),
58
+ JSIConverter<std::optional<margelo::nitro::healthkit::FilterForWorkouts>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
59
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "limit")),
85
60
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "ascending"))
86
61
  );
87
62
  }
88
63
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::healthkit::WorkoutQueryOptions& arg) {
89
64
  jsi::Object obj(runtime);
90
- obj.setProperty(runtime, "filter", JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::WorkoutActivityTypePredicate, margelo::nitro::healthkit::WorkoutDurationPredicate, margelo::nitro::healthkit::PredicateForWorkoutsOr, margelo::nitro::healthkit::PredicateForWorkoutsAnd>>>::toJSI(runtime, arg.filter));
91
- obj.setProperty(runtime, "limit", JSIConverter<std::optional<double>>::toJSI(runtime, arg.limit));
65
+ obj.setProperty(runtime, "filter", JSIConverter<std::optional<margelo::nitro::healthkit::FilterForWorkouts>>::toJSI(runtime, arg.filter));
66
+ obj.setProperty(runtime, "limit", JSIConverter<double>::toJSI(runtime, arg.limit));
92
67
  obj.setProperty(runtime, "ascending", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.ascending));
93
68
  return obj;
94
69
  }
@@ -100,8 +75,8 @@ namespace margelo::nitro {
100
75
  if (!nitro::isPlainObject(runtime, obj)) {
101
76
  return false;
102
77
  }
103
- if (!JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::WorkoutActivityTypePredicate, margelo::nitro::healthkit::WorkoutDurationPredicate, margelo::nitro::healthkit::PredicateForWorkoutsOr, margelo::nitro::healthkit::PredicateForWorkoutsAnd>>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
104
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "limit"))) return false;
78
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::FilterForWorkouts>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
79
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "limit"))) return false;
105
80
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "ascending"))) return false;
106
81
  return true;
107
82
  }
@@ -23,35 +23,10 @@
23
23
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
24
  #endif
25
25
 
26
- // Forward declaration of `PredicateWithUUID` to properly resolve imports.
27
- namespace margelo::nitro::healthkit { struct PredicateWithUUID; }
28
- // Forward declaration of `PredicateWithUUIDs` to properly resolve imports.
29
- namespace margelo::nitro::healthkit { struct PredicateWithUUIDs; }
30
- // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
31
- namespace margelo::nitro::healthkit { struct PredicateWithMetadataKey; }
32
- // Forward declaration of `PredicateWithStartAndEnd` to properly resolve imports.
33
- namespace margelo::nitro::healthkit { struct PredicateWithStartAndEnd; }
34
- // Forward declaration of `PredicateFromWorkout` to properly resolve imports.
35
- namespace margelo::nitro::healthkit { struct PredicateFromWorkout; }
36
- // Forward declaration of `WorkoutActivityTypePredicate` to properly resolve imports.
37
- namespace margelo::nitro::healthkit { struct WorkoutActivityTypePredicate; }
38
- // Forward declaration of `WorkoutDurationPredicate` to properly resolve imports.
39
- namespace margelo::nitro::healthkit { struct WorkoutDurationPredicate; }
40
- // Forward declaration of `PredicateForWorkoutsOr` to properly resolve imports.
41
- namespace margelo::nitro::healthkit { struct PredicateForWorkoutsOr; }
42
- // Forward declaration of `PredicateForWorkoutsAnd` to properly resolve imports.
43
- namespace margelo::nitro::healthkit { struct PredicateForWorkoutsAnd; }
26
+ // Forward declaration of `FilterForWorkouts` to properly resolve imports.
27
+ namespace margelo::nitro::healthkit { struct FilterForWorkouts; }
44
28
 
45
- #include "PredicateWithUUID.hpp"
46
- #include "PredicateWithUUIDs.hpp"
47
- #include "PredicateWithMetadataKey.hpp"
48
- #include "PredicateWithStartAndEnd.hpp"
49
- #include "PredicateFromWorkout.hpp"
50
- #include "WorkoutActivityTypePredicate.hpp"
51
- #include "WorkoutDurationPredicate.hpp"
52
- #include "PredicateForWorkoutsOr.hpp"
53
- #include "PredicateForWorkoutsAnd.hpp"
54
- #include <variant>
29
+ #include "FilterForWorkouts.hpp"
55
30
  #include <optional>
56
31
  #include <string>
57
32
 
@@ -62,13 +37,13 @@ namespace margelo::nitro::healthkit {
62
37
  */
63
38
  struct WorkoutQueryOptionsWithAnchor {
64
39
  public:
65
- std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter SWIFT_PRIVATE;
66
- std::optional<double> limit SWIFT_PRIVATE;
40
+ std::optional<FilterForWorkouts> filter SWIFT_PRIVATE;
41
+ double limit SWIFT_PRIVATE;
67
42
  std::optional<std::string> anchor SWIFT_PRIVATE;
68
43
 
69
44
  public:
70
45
  WorkoutQueryOptionsWithAnchor() = default;
71
- explicit WorkoutQueryOptionsWithAnchor(std::optional<std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, WorkoutActivityTypePredicate, WorkoutDurationPredicate, PredicateForWorkoutsOr, PredicateForWorkoutsAnd>> filter, std::optional<double> limit, std::optional<std::string> anchor): filter(filter), limit(limit), anchor(anchor) {}
46
+ explicit WorkoutQueryOptionsWithAnchor(std::optional<FilterForWorkouts> filter, double limit, std::optional<std::string> anchor): filter(filter), limit(limit), anchor(anchor) {}
72
47
  };
73
48
 
74
49
  } // namespace margelo::nitro::healthkit
@@ -81,15 +56,15 @@ namespace margelo::nitro {
81
56
  static inline margelo::nitro::healthkit::WorkoutQueryOptionsWithAnchor fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
82
57
  jsi::Object obj = arg.asObject(runtime);
83
58
  return margelo::nitro::healthkit::WorkoutQueryOptionsWithAnchor(
84
- JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::WorkoutActivityTypePredicate, margelo::nitro::healthkit::WorkoutDurationPredicate, margelo::nitro::healthkit::PredicateForWorkoutsOr, margelo::nitro::healthkit::PredicateForWorkoutsAnd>>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
85
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "limit")),
59
+ JSIConverter<std::optional<margelo::nitro::healthkit::FilterForWorkouts>>::fromJSI(runtime, obj.getProperty(runtime, "filter")),
60
+ JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "limit")),
86
61
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "anchor"))
87
62
  );
88
63
  }
89
64
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::healthkit::WorkoutQueryOptionsWithAnchor& arg) {
90
65
  jsi::Object obj(runtime);
91
- obj.setProperty(runtime, "filter", JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::WorkoutActivityTypePredicate, margelo::nitro::healthkit::WorkoutDurationPredicate, margelo::nitro::healthkit::PredicateForWorkoutsOr, margelo::nitro::healthkit::PredicateForWorkoutsAnd>>>::toJSI(runtime, arg.filter));
92
- obj.setProperty(runtime, "limit", JSIConverter<std::optional<double>>::toJSI(runtime, arg.limit));
66
+ obj.setProperty(runtime, "filter", JSIConverter<std::optional<margelo::nitro::healthkit::FilterForWorkouts>>::toJSI(runtime, arg.filter));
67
+ obj.setProperty(runtime, "limit", JSIConverter<double>::toJSI(runtime, arg.limit));
93
68
  obj.setProperty(runtime, "anchor", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.anchor));
94
69
  return obj;
95
70
  }
@@ -101,8 +76,8 @@ namespace margelo::nitro {
101
76
  if (!nitro::isPlainObject(runtime, obj)) {
102
77
  return false;
103
78
  }
104
- if (!JSIConverter<std::optional<std::variant<margelo::nitro::healthkit::PredicateWithUUID, margelo::nitro::healthkit::PredicateWithUUIDs, margelo::nitro::healthkit::PredicateWithMetadataKey, margelo::nitro::healthkit::PredicateWithStartAndEnd, margelo::nitro::healthkit::PredicateFromWorkout, margelo::nitro::healthkit::WorkoutActivityTypePredicate, margelo::nitro::healthkit::WorkoutDurationPredicate, margelo::nitro::healthkit::PredicateForWorkoutsOr, margelo::nitro::healthkit::PredicateForWorkoutsAnd>>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
105
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "limit"))) return false;
79
+ if (!JSIConverter<std::optional<margelo::nitro::healthkit::FilterForWorkouts>>::canConvert(runtime, obj.getProperty(runtime, "filter"))) return false;
80
+ if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "limit"))) return false;
106
81
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "anchor"))) return false;
107
82
  return true;
108
83
  }