@kingstinct/react-native-healthkit 10.1.0 → 11.1.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 (251) hide show
  1. package/README.md +2 -2
  2. package/ios/CoreModule.swift +5 -15
  3. package/ios/CorrelationTypeModule.swift +7 -2
  4. package/ios/ElectrocardiogramModule.swift +210 -0
  5. package/ios/QuantityTypeModule.swift +113 -124
  6. package/ios/Serializers.swift +39 -66
  7. package/ios/WorkoutProxy.swift +38 -20
  8. package/ios/WorkoutsModule.swift +7 -18
  9. package/lib/commonjs/healthkit.ios.js +6 -2
  10. package/lib/commonjs/healthkit.js +10 -2
  11. package/lib/commonjs/hooks/useMostRecentWorkout.js +2 -9
  12. package/lib/commonjs/hooks/useWorkoutById.js +1 -4
  13. package/lib/commonjs/modules.js +2 -1
  14. package/lib/commonjs/specs/ElectrocardiogramModule.nitro.js +2 -0
  15. package/lib/commonjs/types/ElectrocardiogramSample.js +2 -0
  16. package/lib/commonjs/utils/getMostRecentWorkout.js +1 -3
  17. package/lib/commonjs/utils/getWorkoutById.js +1 -3
  18. package/lib/module/healthkit.ios.js +5 -1
  19. package/lib/module/healthkit.js +8 -0
  20. package/lib/module/hooks/useMostRecentWorkout.js +3 -10
  21. package/lib/module/hooks/useWorkoutById.js +1 -4
  22. package/lib/module/modules.js +1 -0
  23. package/lib/module/specs/ElectrocardiogramModule.nitro.js +1 -0
  24. package/lib/module/types/ElectrocardiogramSample.js +1 -0
  25. package/lib/module/utils/getMostRecentWorkout.js +1 -3
  26. package/lib/module/utils/getWorkoutById.js +1 -3
  27. package/lib/typescript/healthkit.d.ts +3 -1
  28. package/lib/typescript/healthkit.ios.d.ts +5 -1
  29. package/lib/typescript/hooks/useMostRecentWorkout.d.ts +1 -4
  30. package/lib/typescript/modules.d.ts +2 -0
  31. package/lib/typescript/specs/ElectrocardiogramModule.nitro.d.ts +8 -0
  32. package/lib/typescript/specs/WorkoutProxy.nitro.d.ts +11 -0
  33. package/lib/typescript/types/ElectrocardiogramSample.d.ts +39 -0
  34. package/lib/typescript/types/Workouts.d.ts +0 -8
  35. package/lib/typescript/utils/getMostRecentWorkout.d.ts +1 -2
  36. package/lib/typescript/utils/getWorkoutById.d.ts +1 -2
  37. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +136 -87
  38. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +924 -493
  39. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +29 -0
  40. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +16 -8
  41. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +31 -16
  42. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +6 -4
  43. package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.hpp +4 -2
  44. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +7 -5
  45. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +6 -4
  46. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.cpp +11 -0
  47. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +152 -0
  48. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +7 -5
  49. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +5 -3
  50. package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.hpp +3 -1
  51. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +7 -5
  52. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +50 -22
  53. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +9 -7
  54. package/nitrogen/generated/ios/swift/CategorySample.swift +4 -2
  55. package/nitrogen/generated/ios/swift/CategorySampleForSaving.swift +2 -1
  56. package/nitrogen/generated/ios/swift/CorrelationObject.swift +2 -0
  57. package/nitrogen/generated/ios/swift/DeletedSample.swift +2 -1
  58. package/nitrogen/generated/ios/swift/Device.swift +16 -8
  59. package/nitrogen/generated/ios/swift/ECGQueryOptionsWithAnchor.swift +179 -0
  60. package/nitrogen/generated/ios/swift/ECGQueryOptionsWithSortOrder.swift +184 -0
  61. package/nitrogen/generated/ios/swift/ElectrocardiogramClassification.swift +60 -0
  62. package/nitrogen/generated/ios/swift/ElectrocardiogramLead.swift +40 -0
  63. package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +298 -0
  64. package/nitrogen/generated/ios/swift/ElectrocardiogramSamplesWithAnchorResponse.swift +81 -0
  65. package/nitrogen/generated/ios/swift/ElectrocardiogramSymptomsStatus.swift +44 -0
  66. package/nitrogen/generated/ios/swift/ElectrocardiogramVoltage.swift +57 -0
  67. package/nitrogen/generated/ios/swift/FilterForSamples.swift +2 -0
  68. package/nitrogen/generated/ios/swift/Func_void_AuthorizationRequestStatus.swift +1 -0
  69. package/nitrogen/generated/ios/swift/Func_void_BiologicalSex.swift +1 -0
  70. package/nitrogen/generated/ios/swift/Func_void_BloodType.swift +1 -0
  71. package/nitrogen/generated/ios/swift/Func_void_CategorySamplesWithAnchorResponse.swift +1 -0
  72. package/nitrogen/generated/ios/swift/Func_void_ElectrocardiogramSamplesWithAnchorResponse.swift +47 -0
  73. package/nitrogen/generated/ios/swift/Func_void_FitzpatrickSkinType.swift +1 -0
  74. package/nitrogen/generated/ios/swift/Func_void_HeartbeatSeriesSamplesWithAnchorResponse.swift +1 -0
  75. package/nitrogen/generated/ios/swift/Func_void_OnChangeCallbackArgs.swift +1 -0
  76. package/nitrogen/generated/ios/swift/Func_void_QuantitySamplesWithAnchorResponse.swift +1 -0
  77. package/nitrogen/generated/ios/swift/Func_void_QueryStatisticsResponse.swift +1 -0
  78. package/nitrogen/generated/ios/swift/Func_void_QueryWorkoutSamplesWithAnchorResponse.swift +1 -0
  79. package/nitrogen/generated/ios/swift/Func_void_WheelchairUse.swift +1 -0
  80. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -0
  81. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -0
  82. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -0
  83. package/nitrogen/generated/ios/swift/Func_void_std__optional_QueryStatisticsResponse_.swift +54 -0
  84. package/nitrogen/generated/ios/swift/Func_void_std__optional_WorkoutPlan_.swift +3 -1
  85. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__chrono__system_clock__time_point_.swift +3 -1
  86. package/nitrogen/generated/ios/swift/{Func_void_std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec_.swift → Func_void_std__shared_ptr_HybridWorkoutProxySpec_.swift} +9 -8
  87. package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__QueryStatisticsResponse_.swift +55 -0
  88. package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__bool_.swift +2 -1
  89. package/nitrogen/generated/ios/swift/Func_void_std__vector_CategorySample_.swift +1 -0
  90. package/nitrogen/generated/ios/swift/Func_void_std__vector_CorrelationSample_.swift +1 -0
  91. package/nitrogen/generated/ios/swift/Func_void_std__vector_ElectrocardiogramSample_.swift +47 -0
  92. package/nitrogen/generated/ios/swift/Func_void_std__vector_HeartbeatSeriesSample_.swift +1 -0
  93. package/nitrogen/generated/ios/swift/Func_void_std__vector_IdentifierWithUnit_.swift +1 -0
  94. package/nitrogen/generated/ios/swift/Func_void_std__vector_QuantitySample_.swift +1 -0
  95. package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponse_.swift +1 -0
  96. package/nitrogen/generated/ios/swift/Func_void_std__vector_StateOfMindSample_.swift +1 -0
  97. package/nitrogen/generated/ios/swift/Func_void_std__vector_WorkoutRoute_.swift +1 -0
  98. package/nitrogen/generated/ios/swift/{Func_void_std__vector_std__shared_ptr_margelo__nitro__healthkit__HybridSourceProxySpec__.swift → Func_void_std__vector_std__shared_ptr_HybridSourceProxySpec__.swift} +9 -8
  99. package/nitrogen/generated/ios/swift/{Func_void_std__vector_std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec__.swift → Func_void_std__vector_std__shared_ptr_HybridWorkoutProxySpec__.swift} +9 -8
  100. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +6 -3
  101. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +2 -1
  102. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +17 -7
  103. package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec.swift +2 -1
  104. package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec_cxx.swift +15 -6
  105. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +2 -1
  106. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +24 -15
  107. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +2 -1
  108. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +15 -6
  109. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec.swift +50 -0
  110. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec_cxx.swift +162 -0
  111. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +2 -1
  112. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +17 -7
  113. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +2 -1
  114. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +21 -9
  115. package/nitrogen/generated/ios/swift/HybridSourceProxySpec.swift +2 -1
  116. package/nitrogen/generated/ios/swift/HybridSourceProxySpec_cxx.swift +17 -7
  117. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +2 -1
  118. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +19 -8
  119. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +8 -5
  120. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +108 -41
  121. package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec.swift +2 -1
  122. package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec_cxx.swift +31 -22
  123. package/nitrogen/generated/ios/swift/OnChangeCallbackArgs.swift +2 -1
  124. package/nitrogen/generated/ios/swift/PredicateForSamples.swift +2 -0
  125. package/nitrogen/generated/ios/swift/PredicateForWorkouts.swift +2 -0
  126. package/nitrogen/generated/ios/swift/PredicateFromWorkout.swift +3 -3
  127. package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +2 -1
  128. package/nitrogen/generated/ios/swift/PredicateWithStartAndEnd.swift +4 -2
  129. package/nitrogen/generated/ios/swift/QuantitySample.swift +4 -2
  130. package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +2 -1
  131. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +4 -2
  132. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +6 -3
  133. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +2 -1
  134. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +4 -2
  135. package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +18 -9
  136. package/nitrogen/generated/ios/swift/QueryWorkoutSamplesWithAnchorResponse.swift +7 -7
  137. package/nitrogen/generated/ios/swift/SampleForSaving.swift +2 -0
  138. package/nitrogen/generated/ios/swift/SourceRevision.swift +13 -9
  139. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +6 -3
  140. package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +4 -2
  141. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr.swift +2 -0
  142. package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_WorkoutActivityTypePredicate_WorkoutDurationPredicate_PredicateForWorkoutsOr_PredicateForWorkoutsAnd.swift +2 -0
  143. package/nitrogen/generated/ios/swift/Variant_String_Double_Bool_Date.swift +2 -0
  144. package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +4 -61
  145. package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +6 -62
  146. package/nitrogen/generated/ios/swift/WorkoutRoute.swift +2 -1
  147. package/nitrogen/generated/ios/swift/WorkoutSample.swift +12 -123
  148. package/nitrogen/generated/shared/c++/AuthorizationRequestStatus.hpp +9 -11
  149. package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +9 -11
  150. package/nitrogen/generated/shared/c++/BiologicalSex.hpp +9 -11
  151. package/nitrogen/generated/shared/c++/BloodType.hpp +9 -11
  152. package/nitrogen/generated/shared/c++/CategorySample.hpp +14 -16
  153. package/nitrogen/generated/shared/c++/CategorySampleForSaving.hpp +11 -13
  154. package/nitrogen/generated/shared/c++/CategorySamplesWithAnchorResponse.hpp +11 -13
  155. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +131 -133
  156. package/nitrogen/generated/shared/c++/ComparisonPredicateOperator.hpp +26 -13
  157. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +12 -14
  158. package/nitrogen/generated/shared/c++/CorrelationTypeIdentifier.hpp +7 -9
  159. package/nitrogen/generated/shared/c++/DeletedSample.hpp +5 -7
  160. package/nitrogen/generated/shared/c++/Device.hpp +5 -7
  161. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithAnchor.hpp +101 -0
  162. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithSortOrder.hpp +100 -0
  163. package/nitrogen/generated/shared/c++/ElectrocardiogramClassification.hpp +96 -0
  164. package/nitrogen/generated/shared/c++/ElectrocardiogramLead.hpp +76 -0
  165. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +135 -0
  166. package/nitrogen/generated/shared/c++/ElectrocardiogramSamplesWithAnchorResponse.hpp +81 -0
  167. package/nitrogen/generated/shared/c++/ElectrocardiogramSymptomsStatus.hpp +80 -0
  168. package/nitrogen/generated/shared/c++/ElectrocardiogramVoltage.hpp +76 -0
  169. package/nitrogen/generated/shared/c++/FilterForSamplesAnd.hpp +9 -11
  170. package/nitrogen/generated/shared/c++/FilterForSamplesOr.hpp +9 -11
  171. package/nitrogen/generated/shared/c++/FitzpatrickSkinType.hpp +9 -11
  172. package/nitrogen/generated/shared/c++/Heartbeat.hpp +4 -6
  173. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +15 -17
  174. package/nitrogen/generated/shared/c++/HeartbeatSeriesSamplesWithAnchorResponse.hpp +11 -13
  175. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +2 -2
  176. package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.hpp +1 -1
  177. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +4 -4
  178. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +2 -2
  179. package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.cpp +22 -0
  180. package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.hpp +76 -0
  181. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +3 -3
  182. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +3 -3
  183. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +3 -3
  184. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +6 -4
  185. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +18 -9
  186. package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.hpp +4 -4
  187. package/nitrogen/generated/shared/c++/IdentifierWithUnit.hpp +4 -6
  188. package/nitrogen/generated/shared/c++/IntervalComponents.hpp +4 -6
  189. package/nitrogen/generated/shared/c++/LocationForSaving.hpp +4 -6
  190. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +397 -399
  191. package/nitrogen/generated/shared/c++/OnChangeCallbackArgs.hpp +8 -10
  192. package/nitrogen/generated/shared/c++/PredicateForWorkoutsAnd.hpp +9 -11
  193. package/nitrogen/generated/shared/c++/PredicateForWorkoutsOr.hpp +9 -11
  194. package/nitrogen/generated/shared/c++/PredicateFromWorkout.hpp +6 -8
  195. package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +9 -11
  196. package/nitrogen/generated/shared/c++/PredicateWithMetadataOperator.hpp +11 -13
  197. package/nitrogen/generated/shared/c++/PredicateWithStartAndEnd.hpp +5 -7
  198. package/nitrogen/generated/shared/c++/PredicateWithUUID.hpp +4 -6
  199. package/nitrogen/generated/shared/c++/PredicateWithUUIDs.hpp +5 -7
  200. package/nitrogen/generated/shared/c++/Quantity.hpp +4 -6
  201. package/nitrogen/generated/shared/c++/QuantityDateInterval.hpp +4 -6
  202. package/nitrogen/generated/shared/c++/QuantitySample.hpp +14 -16
  203. package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +11 -13
  204. package/nitrogen/generated/shared/c++/QuantitySamplesWithAnchorResponse.hpp +11 -13
  205. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +241 -243
  206. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +9 -11
  207. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +9 -11
  208. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +8 -10
  209. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +9 -11
  210. package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +26 -28
  211. package/nitrogen/generated/shared/c++/QueryWorkoutSamplesWithAnchorResponse.hpp +10 -12
  212. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +383 -385
  213. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +373 -375
  214. package/nitrogen/generated/shared/c++/Source.hpp +4 -6
  215. package/nitrogen/generated/shared/c++/SourceRevision.hpp +7 -9
  216. package/nitrogen/generated/shared/c++/StateOfMindAssociation.hpp +10 -12
  217. package/nitrogen/generated/shared/c++/StateOfMindKind.hpp +14 -13
  218. package/nitrogen/generated/shared/c++/StateOfMindLabel.hpp +10 -12
  219. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +24 -26
  220. package/nitrogen/generated/shared/c++/StateOfMindValenceClassification.hpp +10 -12
  221. package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +17 -19
  222. package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +9 -11
  223. package/nitrogen/generated/shared/c++/UpdateFrequency.hpp +10 -12
  224. package/nitrogen/generated/shared/c++/WheelchairUse.hpp +9 -11
  225. package/nitrogen/generated/shared/c++/WorkoutActivity.hpp +4 -6
  226. package/nitrogen/generated/shared/c++/WorkoutActivityType.hpp +96 -13
  227. package/nitrogen/generated/shared/c++/WorkoutActivityTypePredicate.hpp +7 -9
  228. package/nitrogen/generated/shared/c++/WorkoutConfiguration.hpp +11 -13
  229. package/nitrogen/generated/shared/c++/WorkoutDurationPredicate.hpp +7 -9
  230. package/nitrogen/generated/shared/c++/WorkoutEvent.hpp +7 -9
  231. package/nitrogen/generated/shared/c++/WorkoutEventType.hpp +10 -12
  232. package/nitrogen/generated/shared/c++/WorkoutPlan.hpp +7 -9
  233. package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +10 -21
  234. package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +11 -21
  235. package/nitrogen/generated/shared/c++/WorkoutRoute.hpp +9 -11
  236. package/nitrogen/generated/shared/c++/WorkoutRouteLocation.hpp +4 -6
  237. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +25 -43
  238. package/nitrogen/generated/shared/c++/WorkoutSessionLocationType.hpp +10 -12
  239. package/nitrogen/generated/shared/c++/WorkoutTotals.hpp +4 -6
  240. package/package.json +11 -11
  241. package/src/healthkit.ios.ts +9 -0
  242. package/src/healthkit.ts +16 -0
  243. package/src/hooks/useMostRecentWorkout.ts +3 -17
  244. package/src/hooks/useWorkoutById.ts +1 -4
  245. package/src/modules.ts +6 -0
  246. package/src/specs/ElectrocardiogramModule.nitro.ts +18 -0
  247. package/src/specs/WorkoutProxy.nitro.ts +18 -1
  248. package/src/types/ElectrocardiogramSample.ts +60 -0
  249. package/src/types/Workouts.ts +0 -8
  250. package/src/utils/getMostRecentWorkout.ts +1 -6
  251. package/src/utils/getWorkoutById.ts +1 -6
@@ -0,0 +1,184 @@
1
+ ///
2
+ /// ECGQueryOptionsWithSortOrder.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `ECGQueryOptionsWithSortOrder`, backed by a C++ struct.
12
+ */
13
+ public typealias ECGQueryOptionsWithSortOrder = margelo.nitro.healthkit.ECGQueryOptionsWithSortOrder
14
+
15
+ public extension ECGQueryOptionsWithSortOrder {
16
+ private typealias bridge = margelo.nitro.healthkit.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `ECGQueryOptionsWithSortOrder`.
20
+ */
21
+ init(includeVoltages: Bool?, ascending: Bool?, filter: Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr?, limit: Double?) {
22
+ self.init({ () -> bridge.std__optional_bool_ in
23
+ if let __unwrappedValue = includeVoltages {
24
+ return bridge.create_std__optional_bool_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_bool_ in
29
+ if let __unwrappedValue = ascending {
30
+ return bridge.create_std__optional_bool_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), { () -> bridge.std__optional_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr__ in
35
+ if let __unwrappedValue = filter {
36
+ return bridge.create_std__optional_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr__({ () -> bridge.std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_ in
37
+ switch __unwrappedValue {
38
+ case .first(let __value):
39
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
40
+ case .second(let __value):
41
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
42
+ case .third(let __value):
43
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
44
+ case .fourth(let __value):
45
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
46
+ case .fifth(let __value):
47
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
48
+ case .sixth(let __value):
49
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
50
+ case .seventh(let __value):
51
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
52
+ }
53
+ }().variant)
54
+ } else {
55
+ return .init()
56
+ }
57
+ }(), { () -> bridge.std__optional_double_ in
58
+ if let __unwrappedValue = limit {
59
+ return bridge.create_std__optional_double_(__unwrappedValue)
60
+ } else {
61
+ return .init()
62
+ }
63
+ }())
64
+ }
65
+
66
+ var includeVoltages: Bool? {
67
+ @inline(__always)
68
+ get {
69
+ return self.__includeVoltages.value
70
+ }
71
+ @inline(__always)
72
+ set {
73
+ self.__includeVoltages = { () -> bridge.std__optional_bool_ in
74
+ if let __unwrappedValue = newValue {
75
+ return bridge.create_std__optional_bool_(__unwrappedValue)
76
+ } else {
77
+ return .init()
78
+ }
79
+ }()
80
+ }
81
+ }
82
+
83
+ var ascending: Bool? {
84
+ @inline(__always)
85
+ get {
86
+ return self.__ascending.value
87
+ }
88
+ @inline(__always)
89
+ set {
90
+ self.__ascending = { () -> bridge.std__optional_bool_ in
91
+ if let __unwrappedValue = newValue {
92
+ return bridge.create_std__optional_bool_(__unwrappedValue)
93
+ } else {
94
+ return .init()
95
+ }
96
+ }()
97
+ }
98
+ }
99
+
100
+ var filter: Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr? {
101
+ @inline(__always)
102
+ get {
103
+ return { () -> Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr? in
104
+ if bridge.has_value_std__optional_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr__(self.__filter) {
105
+ let __unwrapped = bridge.get_std__optional_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr__(self.__filter)
106
+ return { () -> Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr in
107
+ let __variant = bridge.std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__unwrapped)
108
+ switch __variant.index() {
109
+ case 0:
110
+ let __actual = __variant.get_0()
111
+ return .first(__actual)
112
+ case 1:
113
+ let __actual = __variant.get_1()
114
+ return .second(__actual)
115
+ case 2:
116
+ let __actual = __variant.get_2()
117
+ return .third(__actual)
118
+ case 3:
119
+ let __actual = __variant.get_3()
120
+ return .fourth(__actual)
121
+ case 4:
122
+ let __actual = __variant.get_4()
123
+ return .fifth(__actual)
124
+ case 5:
125
+ let __actual = __variant.get_5()
126
+ return .sixth(__actual)
127
+ case 6:
128
+ let __actual = __variant.get_6()
129
+ return .seventh(__actual)
130
+ default:
131
+ fatalError("Variant can never have index \(__variant.index())!")
132
+ }
133
+ }()
134
+ } else {
135
+ return nil
136
+ }
137
+ }()
138
+ }
139
+ @inline(__always)
140
+ set {
141
+ self.__filter = { () -> bridge.std__optional_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr__ in
142
+ if let __unwrappedValue = newValue {
143
+ return bridge.create_std__optional_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr__({ () -> bridge.std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_ in
144
+ switch __unwrappedValue {
145
+ case .first(let __value):
146
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
147
+ case .second(let __value):
148
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
149
+ case .third(let __value):
150
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
151
+ case .fourth(let __value):
152
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
153
+ case .fifth(let __value):
154
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
155
+ case .sixth(let __value):
156
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
157
+ case .seventh(let __value):
158
+ return bridge.create_std__variant_PredicateWithUUID__PredicateWithUUIDs__PredicateWithMetadataKey__PredicateWithStartAndEnd__PredicateFromWorkout__FilterForSamplesAnd__FilterForSamplesOr_(__value)
159
+ }
160
+ }().variant)
161
+ } else {
162
+ return .init()
163
+ }
164
+ }()
165
+ }
166
+ }
167
+
168
+ var limit: Double? {
169
+ @inline(__always)
170
+ get {
171
+ return self.__limit.value
172
+ }
173
+ @inline(__always)
174
+ set {
175
+ self.__limit = { () -> bridge.std__optional_double_ in
176
+ if let __unwrappedValue = newValue {
177
+ return bridge.create_std__optional_double_(__unwrappedValue)
178
+ } else {
179
+ return .init()
180
+ }
181
+ }()
182
+ }
183
+ }
184
+ }
@@ -0,0 +1,60 @@
1
+ ///
2
+ /// ElectrocardiogramClassification.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS union `ElectrocardiogramClassification`, backed by a C++ enum.
10
+ */
11
+ public typealias ElectrocardiogramClassification = margelo.nitro.healthkit.ElectrocardiogramClassification
12
+
13
+ public extension ElectrocardiogramClassification {
14
+ /**
15
+ * Get a ElectrocardiogramClassification for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "notSet":
21
+ self = .notset
22
+ case "sinusRhythm":
23
+ self = .sinusrhythm
24
+ case "atrialFibrillation":
25
+ self = .atrialfibrillation
26
+ case "inconclusiveLowHeartRate":
27
+ self = .inconclusivelowheartrate
28
+ case "inconclusiveHighHeartRate":
29
+ self = .inconclusivehighheartrate
30
+ case "inconclusivePoorReading":
31
+ self = .inconclusivepoorreading
32
+ case "inconclusiveOther":
33
+ self = .inconclusiveother
34
+ default:
35
+ return nil
36
+ }
37
+ }
38
+
39
+ /**
40
+ * Get the String value this ElectrocardiogramClassification represents.
41
+ */
42
+ var stringValue: String {
43
+ switch self {
44
+ case .notset:
45
+ return "notSet"
46
+ case .sinusrhythm:
47
+ return "sinusRhythm"
48
+ case .atrialfibrillation:
49
+ return "atrialFibrillation"
50
+ case .inconclusivelowheartrate:
51
+ return "inconclusiveLowHeartRate"
52
+ case .inconclusivehighheartrate:
53
+ return "inconclusiveHighHeartRate"
54
+ case .inconclusivepoorreading:
55
+ return "inconclusivePoorReading"
56
+ case .inconclusiveother:
57
+ return "inconclusiveOther"
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,40 @@
1
+ ///
2
+ /// ElectrocardiogramLead.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS union `ElectrocardiogramLead`, backed by a C++ enum.
10
+ */
11
+ public typealias ElectrocardiogramLead = margelo.nitro.healthkit.ElectrocardiogramLead
12
+
13
+ public extension ElectrocardiogramLead {
14
+ /**
15
+ * Get a ElectrocardiogramLead for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "appleWatchSimilarToLeadI":
21
+ self = .applewatchsimilartoleadi
22
+ case "unknown":
23
+ self = .unknown
24
+ default:
25
+ return nil
26
+ }
27
+ }
28
+
29
+ /**
30
+ * Get the String value this ElectrocardiogramLead represents.
31
+ */
32
+ var stringValue: String {
33
+ switch self {
34
+ case .applewatchsimilartoleadi:
35
+ return "appleWatchSimilarToLeadI"
36
+ case .unknown:
37
+ return "unknown"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,298 @@
1
+ ///
2
+ /// ElectrocardiogramSample.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `ElectrocardiogramSample`, backed by a C++ struct.
12
+ */
13
+ public typealias ElectrocardiogramSample = margelo.nitro.healthkit.ElectrocardiogramSample
14
+
15
+ public extension ElectrocardiogramSample {
16
+ private typealias bridge = margelo.nitro.healthkit.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `ElectrocardiogramSample`.
20
+ */
21
+ init(uuid: String, device: Device?, startDate: Date, endDate: Date, classification: ElectrocardiogramClassification, symptomsStatus: ElectrocardiogramSymptomsStatus, averageHeartRateBpm: Double?, samplingFrequencyHz: Double?, numberOfVoltageMeasurements: Double, algorithmVersion: String?, voltages: [ElectrocardiogramVoltage]?, metadata: AnyMap?, sourceRevision: SourceRevision?) {
22
+ self.init(std.string(uuid), { () -> bridge.std__optional_Device_ in
23
+ if let __unwrappedValue = device {
24
+ return bridge.create_std__optional_Device_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), startDate.toCpp(), endDate.toCpp(), classification, symptomsStatus, { () -> bridge.std__optional_double_ in
29
+ if let __unwrappedValue = averageHeartRateBpm {
30
+ return bridge.create_std__optional_double_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), { () -> bridge.std__optional_double_ in
35
+ if let __unwrappedValue = samplingFrequencyHz {
36
+ return bridge.create_std__optional_double_(__unwrappedValue)
37
+ } else {
38
+ return .init()
39
+ }
40
+ }(), numberOfVoltageMeasurements, { () -> bridge.std__optional_std__string_ in
41
+ if let __unwrappedValue = algorithmVersion {
42
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
43
+ } else {
44
+ return .init()
45
+ }
46
+ }(), { () -> bridge.std__optional_std__vector_ElectrocardiogramVoltage__ in
47
+ if let __unwrappedValue = voltages {
48
+ return bridge.create_std__optional_std__vector_ElectrocardiogramVoltage__({ () -> bridge.std__vector_ElectrocardiogramVoltage_ in
49
+ var __vector = bridge.create_std__vector_ElectrocardiogramVoltage_(__unwrappedValue.count)
50
+ for __item in __unwrappedValue {
51
+ __vector.push_back(__item)
52
+ }
53
+ return __vector
54
+ }())
55
+ } else {
56
+ return .init()
57
+ }
58
+ }(), { () -> bridge.std__optional_std__shared_ptr_AnyMap__ in
59
+ if let __unwrappedValue = metadata {
60
+ return bridge.create_std__optional_std__shared_ptr_AnyMap__(__unwrappedValue.cppPart)
61
+ } else {
62
+ return .init()
63
+ }
64
+ }(), { () -> bridge.std__optional_SourceRevision_ in
65
+ if let __unwrappedValue = sourceRevision {
66
+ return bridge.create_std__optional_SourceRevision_(__unwrappedValue)
67
+ } else {
68
+ return .init()
69
+ }
70
+ }())
71
+ }
72
+
73
+ var uuid: String {
74
+ @inline(__always)
75
+ get {
76
+ return String(self.__uuid)
77
+ }
78
+ @inline(__always)
79
+ set {
80
+ self.__uuid = std.string(newValue)
81
+ }
82
+ }
83
+
84
+ var device: Device? {
85
+ @inline(__always)
86
+ get {
87
+ return { () -> Device? in
88
+ if bridge.has_value_std__optional_Device_(self.__device) {
89
+ let __unwrapped = bridge.get_std__optional_Device_(self.__device)
90
+ return __unwrapped
91
+ } else {
92
+ return nil
93
+ }
94
+ }()
95
+ }
96
+ @inline(__always)
97
+ set {
98
+ self.__device = { () -> bridge.std__optional_Device_ in
99
+ if let __unwrappedValue = newValue {
100
+ return bridge.create_std__optional_Device_(__unwrappedValue)
101
+ } else {
102
+ return .init()
103
+ }
104
+ }()
105
+ }
106
+ }
107
+
108
+ var startDate: Date {
109
+ @inline(__always)
110
+ get {
111
+ return Date(fromChrono: self.__startDate)
112
+ }
113
+ @inline(__always)
114
+ set {
115
+ self.__startDate = newValue.toCpp()
116
+ }
117
+ }
118
+
119
+ var endDate: Date {
120
+ @inline(__always)
121
+ get {
122
+ return Date(fromChrono: self.__endDate)
123
+ }
124
+ @inline(__always)
125
+ set {
126
+ self.__endDate = newValue.toCpp()
127
+ }
128
+ }
129
+
130
+ var classification: ElectrocardiogramClassification {
131
+ @inline(__always)
132
+ get {
133
+ return self.__classification
134
+ }
135
+ @inline(__always)
136
+ set {
137
+ self.__classification = newValue
138
+ }
139
+ }
140
+
141
+ var symptomsStatus: ElectrocardiogramSymptomsStatus {
142
+ @inline(__always)
143
+ get {
144
+ return self.__symptomsStatus
145
+ }
146
+ @inline(__always)
147
+ set {
148
+ self.__symptomsStatus = newValue
149
+ }
150
+ }
151
+
152
+ var averageHeartRateBpm: Double? {
153
+ @inline(__always)
154
+ get {
155
+ return self.__averageHeartRateBpm.value
156
+ }
157
+ @inline(__always)
158
+ set {
159
+ self.__averageHeartRateBpm = { () -> bridge.std__optional_double_ in
160
+ if let __unwrappedValue = newValue {
161
+ return bridge.create_std__optional_double_(__unwrappedValue)
162
+ } else {
163
+ return .init()
164
+ }
165
+ }()
166
+ }
167
+ }
168
+
169
+ var samplingFrequencyHz: Double? {
170
+ @inline(__always)
171
+ get {
172
+ return self.__samplingFrequencyHz.value
173
+ }
174
+ @inline(__always)
175
+ set {
176
+ self.__samplingFrequencyHz = { () -> bridge.std__optional_double_ in
177
+ if let __unwrappedValue = newValue {
178
+ return bridge.create_std__optional_double_(__unwrappedValue)
179
+ } else {
180
+ return .init()
181
+ }
182
+ }()
183
+ }
184
+ }
185
+
186
+ var numberOfVoltageMeasurements: Double {
187
+ @inline(__always)
188
+ get {
189
+ return self.__numberOfVoltageMeasurements
190
+ }
191
+ @inline(__always)
192
+ set {
193
+ self.__numberOfVoltageMeasurements = newValue
194
+ }
195
+ }
196
+
197
+ var algorithmVersion: String? {
198
+ @inline(__always)
199
+ get {
200
+ return { () -> String? in
201
+ if bridge.has_value_std__optional_std__string_(self.__algorithmVersion) {
202
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__algorithmVersion)
203
+ return String(__unwrapped)
204
+ } else {
205
+ return nil
206
+ }
207
+ }()
208
+ }
209
+ @inline(__always)
210
+ set {
211
+ self.__algorithmVersion = { () -> bridge.std__optional_std__string_ in
212
+ if let __unwrappedValue = newValue {
213
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
214
+ } else {
215
+ return .init()
216
+ }
217
+ }()
218
+ }
219
+ }
220
+
221
+ var voltages: [ElectrocardiogramVoltage]? {
222
+ @inline(__always)
223
+ get {
224
+ return { () -> [ElectrocardiogramVoltage]? in
225
+ if bridge.has_value_std__optional_std__vector_ElectrocardiogramVoltage__(self.__voltages) {
226
+ let __unwrapped = bridge.get_std__optional_std__vector_ElectrocardiogramVoltage__(self.__voltages)
227
+ return __unwrapped.map({ __item in __item })
228
+ } else {
229
+ return nil
230
+ }
231
+ }()
232
+ }
233
+ @inline(__always)
234
+ set {
235
+ self.__voltages = { () -> bridge.std__optional_std__vector_ElectrocardiogramVoltage__ in
236
+ if let __unwrappedValue = newValue {
237
+ return bridge.create_std__optional_std__vector_ElectrocardiogramVoltage__({ () -> bridge.std__vector_ElectrocardiogramVoltage_ in
238
+ var __vector = bridge.create_std__vector_ElectrocardiogramVoltage_(__unwrappedValue.count)
239
+ for __item in __unwrappedValue {
240
+ __vector.push_back(__item)
241
+ }
242
+ return __vector
243
+ }())
244
+ } else {
245
+ return .init()
246
+ }
247
+ }()
248
+ }
249
+ }
250
+
251
+ var metadata: AnyMap? {
252
+ @inline(__always)
253
+ get {
254
+ return { () -> AnyMap? in
255
+ if bridge.has_value_std__optional_std__shared_ptr_AnyMap__(self.__metadata) {
256
+ let __unwrapped = bridge.get_std__optional_std__shared_ptr_AnyMap__(self.__metadata)
257
+ return AnyMap(withCppPart: __unwrapped)
258
+ } else {
259
+ return nil
260
+ }
261
+ }()
262
+ }
263
+ @inline(__always)
264
+ set {
265
+ self.__metadata = { () -> bridge.std__optional_std__shared_ptr_AnyMap__ in
266
+ if let __unwrappedValue = newValue {
267
+ return bridge.create_std__optional_std__shared_ptr_AnyMap__(__unwrappedValue.cppPart)
268
+ } else {
269
+ return .init()
270
+ }
271
+ }()
272
+ }
273
+ }
274
+
275
+ var sourceRevision: SourceRevision? {
276
+ @inline(__always)
277
+ get {
278
+ return { () -> SourceRevision? in
279
+ if bridge.has_value_std__optional_SourceRevision_(self.__sourceRevision) {
280
+ let __unwrapped = bridge.get_std__optional_SourceRevision_(self.__sourceRevision)
281
+ return __unwrapped
282
+ } else {
283
+ return nil
284
+ }
285
+ }()
286
+ }
287
+ @inline(__always)
288
+ set {
289
+ self.__sourceRevision = { () -> bridge.std__optional_SourceRevision_ in
290
+ if let __unwrappedValue = newValue {
291
+ return bridge.create_std__optional_SourceRevision_(__unwrappedValue)
292
+ } else {
293
+ return .init()
294
+ }
295
+ }()
296
+ }
297
+ }
298
+ }
@@ -0,0 +1,81 @@
1
+ ///
2
+ /// ElectrocardiogramSamplesWithAnchorResponse.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `ElectrocardiogramSamplesWithAnchorResponse`, backed by a C++ struct.
12
+ */
13
+ public typealias ElectrocardiogramSamplesWithAnchorResponse = margelo.nitro.healthkit.ElectrocardiogramSamplesWithAnchorResponse
14
+
15
+ public extension ElectrocardiogramSamplesWithAnchorResponse {
16
+ private typealias bridge = margelo.nitro.healthkit.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `ElectrocardiogramSamplesWithAnchorResponse`.
20
+ */
21
+ init(samples: [ElectrocardiogramSample], deletedSamples: [DeletedSample], newAnchor: String) {
22
+ self.init({ () -> bridge.std__vector_ElectrocardiogramSample_ in
23
+ var __vector = bridge.create_std__vector_ElectrocardiogramSample_(samples.count)
24
+ for __item in samples {
25
+ __vector.push_back(__item)
26
+ }
27
+ return __vector
28
+ }(), { () -> bridge.std__vector_DeletedSample_ in
29
+ var __vector = bridge.create_std__vector_DeletedSample_(deletedSamples.count)
30
+ for __item in deletedSamples {
31
+ __vector.push_back(__item)
32
+ }
33
+ return __vector
34
+ }(), std.string(newAnchor))
35
+ }
36
+
37
+ var samples: [ElectrocardiogramSample] {
38
+ @inline(__always)
39
+ get {
40
+ return self.__samples.map({ __item in __item })
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__samples = { () -> bridge.std__vector_ElectrocardiogramSample_ in
45
+ var __vector = bridge.create_std__vector_ElectrocardiogramSample_(newValue.count)
46
+ for __item in newValue {
47
+ __vector.push_back(__item)
48
+ }
49
+ return __vector
50
+ }()
51
+ }
52
+ }
53
+
54
+ var deletedSamples: [DeletedSample] {
55
+ @inline(__always)
56
+ get {
57
+ return self.__deletedSamples.map({ __item in __item })
58
+ }
59
+ @inline(__always)
60
+ set {
61
+ self.__deletedSamples = { () -> bridge.std__vector_DeletedSample_ in
62
+ var __vector = bridge.create_std__vector_DeletedSample_(newValue.count)
63
+ for __item in newValue {
64
+ __vector.push_back(__item)
65
+ }
66
+ return __vector
67
+ }()
68
+ }
69
+ }
70
+
71
+ var newAnchor: String {
72
+ @inline(__always)
73
+ get {
74
+ return String(self.__newAnchor)
75
+ }
76
+ @inline(__always)
77
+ set {
78
+ self.__newAnchor = std.string(newValue)
79
+ }
80
+ }
81
+ }