@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
@@ -19,8 +19,9 @@ public protocol HybridHeartbeatSeriesModuleSpec_protocol: HybridObject {
19
19
  }
20
20
 
21
21
  /// See ``HybridHeartbeatSeriesModuleSpec``
22
- public class HybridHeartbeatSeriesModuleSpec_base {
22
+ open class HybridHeartbeatSeriesModuleSpec_base {
23
23
  private weak var cxxWrapper: HybridHeartbeatSeriesModuleSpec_cxx? = nil
24
+ public init() { }
24
25
  public func getCxxWrapper() -> HybridHeartbeatSeriesModuleSpec_cxx {
25
26
  #if DEBUG
26
27
  guard self is HybridHeartbeatSeriesModuleSpec else {
@@ -17,7 +17,7 @@ import NitroModules
17
17
  * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
18
  * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
19
  */
20
- public class HybridHeartbeatSeriesModuleSpec_cxx {
20
+ open class HybridHeartbeatSeriesModuleSpec_cxx {
21
21
  /**
22
22
  * The Swift <> C++ bridge's namespace (`margelo::nitro::healthkit::bridge::swift`)
23
23
  * from `ReactNativeHealthkit-Swift-Cxx-Bridge.hpp`.
@@ -33,7 +33,7 @@ public class HybridHeartbeatSeriesModuleSpec_cxx {
33
33
  /**
34
34
  * Holds a weak pointer to the C++ class that wraps the Swift class.
35
35
  */
36
- private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__healthkit__HybridHeartbeatSeriesModuleSpec_
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridHeartbeatSeriesModuleSpec_
37
37
 
38
38
  /**
39
39
  * Create a new `HybridHeartbeatSeriesModuleSpec_cxx` that wraps the given `HybridHeartbeatSeriesModuleSpec`.
@@ -72,15 +72,15 @@ public class HybridHeartbeatSeriesModuleSpec_cxx {
72
72
 
73
73
  /**
74
74
  * Gets (or creates) the C++ part of this Hybrid Object.
75
- * The C++ part is a `std::shared_ptr<margelo::nitro::healthkit::HybridHeartbeatSeriesModuleSpec>`.
75
+ * The C++ part is a `std::shared_ptr<HybridHeartbeatSeriesModuleSpec>`.
76
76
  */
77
- public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__healthkit__HybridHeartbeatSeriesModuleSpec_ {
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridHeartbeatSeriesModuleSpec_ {
78
78
  let cachedCxxPart = self.__cxxPart.lock()
79
79
  if cachedCxxPart.__convertToBool() {
80
80
  return cachedCxxPart
81
81
  } else {
82
- let newCxxPart = bridge.create_std__shared_ptr_margelo__nitro__healthkit__HybridHeartbeatSeriesModuleSpec_(self.toUnsafe())
83
- __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__healthkit__HybridHeartbeatSeriesModuleSpec_(newCxxPart)
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridHeartbeatSeriesModuleSpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridHeartbeatSeriesModuleSpec_(newCxxPart)
84
84
  return newCxxPart
85
85
  }
86
86
  }
@@ -96,6 +96,15 @@ public class HybridHeartbeatSeriesModuleSpec_cxx {
96
96
  return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
97
  }
98
98
 
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
99
108
  // Properties
100
109
 
101
110
 
@@ -104,7 +113,8 @@ public class HybridHeartbeatSeriesModuleSpec_cxx {
104
113
  public final func queryHeartbeatSeriesSamples(options: bridge.std__optional_QueryOptionsWithSortOrder_) -> bridge.Result_std__shared_ptr_Promise_std__vector_HeartbeatSeriesSample____ {
105
114
  do {
106
115
  let __result = try self.__implementation.queryHeartbeatSeriesSamples(options: { () -> QueryOptionsWithSortOrder? in
107
- if let __unwrapped = options.value {
116
+ if bridge.has_value_std__optional_QueryOptionsWithSortOrder_(options) {
117
+ let __unwrapped = bridge.get_std__optional_QueryOptionsWithSortOrder_(options)
108
118
  return __unwrapped
109
119
  } else {
110
120
  return nil
@@ -24,8 +24,9 @@ public protocol HybridQuantityTypeModuleSpec_protocol: HybridObject {
24
24
  }
25
25
 
26
26
  /// See ``HybridQuantityTypeModuleSpec``
27
- public class HybridQuantityTypeModuleSpec_base {
27
+ open class HybridQuantityTypeModuleSpec_base {
28
28
  private weak var cxxWrapper: HybridQuantityTypeModuleSpec_cxx? = nil
29
+ public init() { }
29
30
  public func getCxxWrapper() -> HybridQuantityTypeModuleSpec_cxx {
30
31
  #if DEBUG
31
32
  guard self is HybridQuantityTypeModuleSpec else {
@@ -17,7 +17,7 @@ import NitroModules
17
17
  * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
18
  * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
19
  */
20
- public class HybridQuantityTypeModuleSpec_cxx {
20
+ open class HybridQuantityTypeModuleSpec_cxx {
21
21
  /**
22
22
  * The Swift <> C++ bridge's namespace (`margelo::nitro::healthkit::bridge::swift`)
23
23
  * from `ReactNativeHealthkit-Swift-Cxx-Bridge.hpp`.
@@ -33,7 +33,7 @@ public class HybridQuantityTypeModuleSpec_cxx {
33
33
  /**
34
34
  * Holds a weak pointer to the C++ class that wraps the Swift class.
35
35
  */
36
- private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__healthkit__HybridQuantityTypeModuleSpec_
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridQuantityTypeModuleSpec_
37
37
 
38
38
  /**
39
39
  * Create a new `HybridQuantityTypeModuleSpec_cxx` that wraps the given `HybridQuantityTypeModuleSpec`.
@@ -72,15 +72,15 @@ public class HybridQuantityTypeModuleSpec_cxx {
72
72
 
73
73
  /**
74
74
  * Gets (or creates) the C++ part of this Hybrid Object.
75
- * The C++ part is a `std::shared_ptr<margelo::nitro::healthkit::HybridQuantityTypeModuleSpec>`.
75
+ * The C++ part is a `std::shared_ptr<HybridQuantityTypeModuleSpec>`.
76
76
  */
77
- public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__healthkit__HybridQuantityTypeModuleSpec_ {
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridQuantityTypeModuleSpec_ {
78
78
  let cachedCxxPart = self.__cxxPart.lock()
79
79
  if cachedCxxPart.__convertToBool() {
80
80
  return cachedCxxPart
81
81
  } else {
82
- let newCxxPart = bridge.create_std__shared_ptr_margelo__nitro__healthkit__HybridQuantityTypeModuleSpec_(self.toUnsafe())
83
- __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__healthkit__HybridQuantityTypeModuleSpec_(newCxxPart)
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridQuantityTypeModuleSpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridQuantityTypeModuleSpec_(newCxxPart)
84
84
  return newCxxPart
85
85
  }
86
86
  }
@@ -96,6 +96,15 @@ public class HybridQuantityTypeModuleSpec_cxx {
96
96
  return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
97
  }
98
98
 
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
99
108
  // Properties
100
109
 
101
110
 
@@ -181,7 +190,8 @@ public class HybridQuantityTypeModuleSpec_cxx {
181
190
  public final func queryQuantitySamples(identifier: Int32, options: bridge.std__optional_QueryOptionsWithSortOrderAndUnit_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QuantitySample____ {
182
191
  do {
183
192
  let __result = try self.__implementation.queryQuantitySamples(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, options: { () -> QueryOptionsWithSortOrderAndUnit? in
184
- if let __unwrapped = options.value {
193
+ if bridge.has_value_std__optional_QueryOptionsWithSortOrderAndUnit_(options) {
194
+ let __unwrapped = bridge.get_std__optional_QueryOptionsWithSortOrderAndUnit_(options)
185
195
  return __unwrapped
186
196
  } else {
187
197
  return nil
@@ -212,7 +222,8 @@ public class HybridQuantityTypeModuleSpec_cxx {
212
222
  public final func queryStatisticsForQuantity(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, options: bridge.std__optional_StatisticsQueryOptions_) -> bridge.Result_std__shared_ptr_Promise_QueryStatisticsResponse___ {
213
223
  do {
214
224
  let __result = try self.__implementation.queryStatisticsForQuantity(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, statistics: statistics.map({ __item in __item }), options: { () -> StatisticsQueryOptions? in
215
- if let __unwrapped = options.value {
225
+ if bridge.has_value_std__optional_StatisticsQueryOptions_(options) {
226
+ let __unwrapped = bridge.get_std__optional_StatisticsQueryOptions_(options)
216
227
  return __unwrapped
217
228
  } else {
218
229
  return nil
@@ -237,7 +248,8 @@ public class HybridQuantityTypeModuleSpec_cxx {
237
248
  public final func queryStatisticsCollectionForQuantity(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, anchorDate: std.string, intervalComponents: IntervalComponents, options: bridge.std__optional_StatisticsQueryOptions_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponse____ {
238
249
  do {
239
250
  let __result = try self.__implementation.queryStatisticsCollectionForQuantity(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, statistics: statistics.map({ __item in __item }), anchorDate: String(anchorDate), intervalComponents: intervalComponents, options: { () -> StatisticsQueryOptions? in
240
- if let __unwrapped = options.value {
251
+ if bridge.has_value_std__optional_StatisticsQueryOptions_(options) {
252
+ let __unwrapped = bridge.get_std__optional_StatisticsQueryOptions_(options)
241
253
  return __unwrapped
242
254
  } else {
243
255
  return nil
@@ -18,8 +18,9 @@ public protocol HybridSourceProxySpec_protocol: HybridObject {
18
18
  }
19
19
 
20
20
  /// See ``HybridSourceProxySpec``
21
- public class HybridSourceProxySpec_base {
21
+ open class HybridSourceProxySpec_base {
22
22
  private weak var cxxWrapper: HybridSourceProxySpec_cxx? = nil
23
+ public init() { }
23
24
  public func getCxxWrapper() -> HybridSourceProxySpec_cxx {
24
25
  #if DEBUG
25
26
  guard self is HybridSourceProxySpec else {
@@ -17,7 +17,7 @@ import NitroModules
17
17
  * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
18
  * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
19
  */
20
- public class HybridSourceProxySpec_cxx {
20
+ open class HybridSourceProxySpec_cxx {
21
21
  /**
22
22
  * The Swift <> C++ bridge's namespace (`margelo::nitro::healthkit::bridge::swift`)
23
23
  * from `ReactNativeHealthkit-Swift-Cxx-Bridge.hpp`.
@@ -33,7 +33,7 @@ public class HybridSourceProxySpec_cxx {
33
33
  /**
34
34
  * Holds a weak pointer to the C++ class that wraps the Swift class.
35
35
  */
36
- private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__healthkit__HybridSourceProxySpec_
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridSourceProxySpec_
37
37
 
38
38
  /**
39
39
  * Create a new `HybridSourceProxySpec_cxx` that wraps the given `HybridSourceProxySpec`.
@@ -72,15 +72,15 @@ public class HybridSourceProxySpec_cxx {
72
72
 
73
73
  /**
74
74
  * Gets (or creates) the C++ part of this Hybrid Object.
75
- * The C++ part is a `std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpec>`.
75
+ * The C++ part is a `std::shared_ptr<HybridSourceProxySpec>`.
76
76
  */
77
- public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__healthkit__HybridSourceProxySpec_ {
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridSourceProxySpec_ {
78
78
  let cachedCxxPart = self.__cxxPart.lock()
79
79
  if cachedCxxPart.__convertToBool() {
80
80
  return cachedCxxPart
81
81
  } else {
82
- let newCxxPart = bridge.create_std__shared_ptr_margelo__nitro__healthkit__HybridSourceProxySpec_(self.toUnsafe())
83
- __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__healthkit__HybridSourceProxySpec_(newCxxPart)
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridSourceProxySpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridSourceProxySpec_(newCxxPart)
84
84
  return newCxxPart
85
85
  }
86
86
  }
@@ -96,6 +96,15 @@ public class HybridSourceProxySpec_cxx {
96
96
  return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
97
  }
98
98
 
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
99
108
  // Properties
100
109
  public final var bundleIdentifier: std.string {
101
110
  @inline(__always)
@@ -109,7 +118,8 @@ public class HybridSourceProxySpec_cxx {
109
118
  public final func toJSON(key: bridge.std__optional_std__string_) -> bridge.Result_Source_ {
110
119
  do {
111
120
  let __result = try self.__implementation.toJSON(key: { () -> String? in
112
- if let __unwrapped = key.value {
121
+ if bridge.has_value_std__optional_std__string_(key) {
122
+ let __unwrapped = bridge.get_std__optional_std__string_(key)
113
123
  return String(__unwrapped)
114
124
  } else {
115
125
  return nil
@@ -19,8 +19,9 @@ public protocol HybridStateOfMindModuleSpec_protocol: HybridObject {
19
19
  }
20
20
 
21
21
  /// See ``HybridStateOfMindModuleSpec``
22
- public class HybridStateOfMindModuleSpec_base {
22
+ open class HybridStateOfMindModuleSpec_base {
23
23
  private weak var cxxWrapper: HybridStateOfMindModuleSpec_cxx? = nil
24
+ public init() { }
24
25
  public func getCxxWrapper() -> HybridStateOfMindModuleSpec_cxx {
25
26
  #if DEBUG
26
27
  guard self is HybridStateOfMindModuleSpec else {
@@ -17,7 +17,7 @@ import NitroModules
17
17
  * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
18
  * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
19
  */
20
- public class HybridStateOfMindModuleSpec_cxx {
20
+ open class HybridStateOfMindModuleSpec_cxx {
21
21
  /**
22
22
  * The Swift <> C++ bridge's namespace (`margelo::nitro::healthkit::bridge::swift`)
23
23
  * from `ReactNativeHealthkit-Swift-Cxx-Bridge.hpp`.
@@ -33,7 +33,7 @@ public class HybridStateOfMindModuleSpec_cxx {
33
33
  /**
34
34
  * Holds a weak pointer to the C++ class that wraps the Swift class.
35
35
  */
36
- private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__healthkit__HybridStateOfMindModuleSpec_
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridStateOfMindModuleSpec_
37
37
 
38
38
  /**
39
39
  * Create a new `HybridStateOfMindModuleSpec_cxx` that wraps the given `HybridStateOfMindModuleSpec`.
@@ -72,15 +72,15 @@ public class HybridStateOfMindModuleSpec_cxx {
72
72
 
73
73
  /**
74
74
  * Gets (or creates) the C++ part of this Hybrid Object.
75
- * The C++ part is a `std::shared_ptr<margelo::nitro::healthkit::HybridStateOfMindModuleSpec>`.
75
+ * The C++ part is a `std::shared_ptr<HybridStateOfMindModuleSpec>`.
76
76
  */
77
- public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__healthkit__HybridStateOfMindModuleSpec_ {
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridStateOfMindModuleSpec_ {
78
78
  let cachedCxxPart = self.__cxxPart.lock()
79
79
  if cachedCxxPart.__convertToBool() {
80
80
  return cachedCxxPart
81
81
  } else {
82
- let newCxxPart = bridge.create_std__shared_ptr_margelo__nitro__healthkit__HybridStateOfMindModuleSpec_(self.toUnsafe())
83
- __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__healthkit__HybridStateOfMindModuleSpec_(newCxxPart)
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridStateOfMindModuleSpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridStateOfMindModuleSpec_(newCxxPart)
84
84
  return newCxxPart
85
85
  }
86
86
  }
@@ -96,6 +96,15 @@ public class HybridStateOfMindModuleSpec_cxx {
96
96
  return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
97
  }
98
98
 
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
99
108
  // Properties
100
109
 
101
110
 
@@ -104,7 +113,8 @@ public class HybridStateOfMindModuleSpec_cxx {
104
113
  public final func queryStateOfMindSamples(options: bridge.std__optional_QueryOptionsWithSortOrder_) -> bridge.Result_std__shared_ptr_Promise_std__vector_StateOfMindSample____ {
105
114
  do {
106
115
  let __result = try self.__implementation.queryStateOfMindSamples(options: { () -> QueryOptionsWithSortOrder? in
107
- if let __unwrapped = options.value {
116
+ if bridge.has_value_std__optional_QueryOptionsWithSortOrder_(options) {
117
+ let __unwrapped = bridge.get_std__optional_QueryOptionsWithSortOrder_(options)
108
118
  return __unwrapped
109
119
  } else {
110
120
  return nil
@@ -135,7 +145,8 @@ public class HybridStateOfMindModuleSpec_cxx {
135
145
  public final func saveStateOfMindSample(date: margelo.nitro.chrono_time, kind: Int32, valence: Double, labels: bridge.std__vector_StateOfMindLabel_, associations: bridge.std__vector_StateOfMindAssociation_, metadata: bridge.std__optional_std__shared_ptr_AnyMap__) -> bridge.Result_std__shared_ptr_Promise_bool___ {
136
146
  do {
137
147
  let __result = try self.__implementation.saveStateOfMindSample(date: Date(fromChrono: date), kind: margelo.nitro.healthkit.StateOfMindKind(rawValue: kind)!, valence: valence, labels: labels.map({ __item in __item }), associations: associations.map({ __item in __item }), metadata: { () -> AnyMap? in
138
- if let __unwrapped = metadata.value {
148
+ if bridge.has_value_std__optional_std__shared_ptr_AnyMap__(metadata) {
149
+ let __unwrapped = bridge.get_std__optional_std__shared_ptr_AnyMap__(metadata)
139
150
  return AnyMap(withCppPart: __unwrapped)
140
151
  } else {
141
152
  return nil
@@ -11,14 +11,14 @@ import NitroModules
11
11
  /// See ``HybridWorkoutProxySpec``
12
12
  public protocol HybridWorkoutProxySpec_protocol: HybridObject {
13
13
  // Properties
14
- var uuid: String { get }
15
- var device: Device? { get }
16
- var workoutActivityType: WorkoutActivityType { get }
17
- var duration: Quantity { get }
18
14
  var totalDistance: Quantity? { get }
19
15
  var totalEnergyBurned: Quantity? { get }
20
16
  var totalSwimmingStrokeCount: Quantity? { get }
21
17
  var totalFlightsClimbed: Quantity? { get }
18
+ var uuid: String { get }
19
+ var device: Device? { get }
20
+ var workoutActivityType: WorkoutActivityType { get }
21
+ var duration: Quantity { get }
22
22
  var startDate: Date { get }
23
23
  var endDate: Date { get }
24
24
  var metadata: AnyMap? { get }
@@ -31,11 +31,14 @@ public protocol HybridWorkoutProxySpec_protocol: HybridObject {
31
31
  func saveWorkoutRoute(locations: [LocationForSaving]) throws -> Promise<Bool>
32
32
  func getWorkoutPlan() throws -> Promise<WorkoutPlan?>
33
33
  func getWorkoutRoutes() throws -> Promise<[WorkoutRoute]>
34
+ func getStatistic(quantityType: QuantityTypeIdentifier, unitOverride: String?) throws -> Promise<QueryStatisticsResponse?>
35
+ func getAllStatistics() throws -> Promise<Dictionary<String, QueryStatisticsResponse>>
34
36
  }
35
37
 
36
38
  /// See ``HybridWorkoutProxySpec``
37
- public class HybridWorkoutProxySpec_base {
39
+ open class HybridWorkoutProxySpec_base {
38
40
  private weak var cxxWrapper: HybridWorkoutProxySpec_cxx? = nil
41
+ public init() { }
39
42
  public func getCxxWrapper() -> HybridWorkoutProxySpec_cxx {
40
43
  #if DEBUG
41
44
  guard self is HybridWorkoutProxySpec else {
@@ -17,7 +17,7 @@ import NitroModules
17
17
  * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
18
  * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
19
  */
20
- public class HybridWorkoutProxySpec_cxx {
20
+ open class HybridWorkoutProxySpec_cxx {
21
21
  /**
22
22
  * The Swift <> C++ bridge's namespace (`margelo::nitro::healthkit::bridge::swift`)
23
23
  * from `ReactNativeHealthkit-Swift-Cxx-Bridge.hpp`.
@@ -33,7 +33,7 @@ public class HybridWorkoutProxySpec_cxx {
33
33
  /**
34
34
  * Holds a weak pointer to the C++ class that wraps the Swift class.
35
35
  */
36
- private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec_
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridWorkoutProxySpec_
37
37
 
38
38
  /**
39
39
  * Create a new `HybridWorkoutProxySpec_cxx` that wraps the given `HybridWorkoutProxySpec`.
@@ -72,15 +72,15 @@ public class HybridWorkoutProxySpec_cxx {
72
72
 
73
73
  /**
74
74
  * Gets (or creates) the C++ part of this Hybrid Object.
75
- * The C++ part is a `std::shared_ptr<margelo::nitro::healthkit::HybridWorkoutProxySpec>`.
75
+ * The C++ part is a `std::shared_ptr<HybridWorkoutProxySpec>`.
76
76
  */
77
- public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec_ {
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridWorkoutProxySpec_ {
78
78
  let cachedCxxPart = self.__cxxPart.lock()
79
79
  if cachedCxxPart.__convertToBool() {
80
80
  return cachedCxxPart
81
81
  } else {
82
- let newCxxPart = bridge.create_std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec_(self.toUnsafe())
83
- __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec_(newCxxPart)
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridWorkoutProxySpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridWorkoutProxySpec_(newCxxPart)
84
84
  return newCxxPart
85
85
  }
86
86
  }
@@ -96,41 +96,16 @@ public class HybridWorkoutProxySpec_cxx {
96
96
  return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
97
  }
98
98
 
99
- // Properties
100
- public final var uuid: std.string {
101
- @inline(__always)
102
- get {
103
- return std.string(self.__implementation.uuid)
104
- }
105
- }
106
-
107
- public final var device: bridge.std__optional_Device_ {
108
- @inline(__always)
109
- get {
110
- return { () -> bridge.std__optional_Device_ in
111
- if let __unwrappedValue = self.__implementation.device {
112
- return bridge.create_std__optional_Device_(__unwrappedValue)
113
- } else {
114
- return .init()
115
- }
116
- }()
117
- }
118
- }
119
-
120
- public final var workoutActivityType: Int32 {
121
- @inline(__always)
122
- get {
123
- return self.__implementation.workoutActivityType.rawValue
124
- }
125
- }
126
-
127
- public final var duration: Quantity {
128
- @inline(__always)
129
- get {
130
- return self.__implementation.duration
131
- }
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
132
106
  }
133
-
107
+
108
+ // Properties
134
109
  public final var totalDistance: bridge.std__optional_Quantity_ {
135
110
  @inline(__always)
136
111
  get {
@@ -183,6 +158,40 @@ public class HybridWorkoutProxySpec_cxx {
183
158
  }
184
159
  }
185
160
 
161
+ public final var uuid: std.string {
162
+ @inline(__always)
163
+ get {
164
+ return std.string(self.__implementation.uuid)
165
+ }
166
+ }
167
+
168
+ public final var device: bridge.std__optional_Device_ {
169
+ @inline(__always)
170
+ get {
171
+ return { () -> bridge.std__optional_Device_ in
172
+ if let __unwrappedValue = self.__implementation.device {
173
+ return bridge.create_std__optional_Device_(__unwrappedValue)
174
+ } else {
175
+ return .init()
176
+ }
177
+ }()
178
+ }
179
+ }
180
+
181
+ public final var workoutActivityType: Int32 {
182
+ @inline(__always)
183
+ get {
184
+ return self.__implementation.workoutActivityType.rawValue
185
+ }
186
+ }
187
+
188
+ public final var duration: Quantity {
189
+ @inline(__always)
190
+ get {
191
+ return self.__implementation.duration
192
+ }
193
+ }
194
+
186
195
  public final var startDate: margelo.nitro.chrono_time {
187
196
  @inline(__always)
188
197
  get {
@@ -266,7 +275,8 @@ public class HybridWorkoutProxySpec_cxx {
266
275
  public final func toJSON(key: bridge.std__optional_std__string_) -> bridge.Result_WorkoutSample_ {
267
276
  do {
268
277
  let __result = try self.__implementation.toJSON(key: { () -> String? in
269
- if let __unwrapped = key.value {
278
+ if bridge.has_value_std__optional_std__string_(key) {
279
+ let __unwrapped = bridge.get_std__optional_std__string_(key)
270
280
  return String(__unwrapped)
271
281
  } else {
272
282
  return nil
@@ -348,4 +358,61 @@ public class HybridWorkoutProxySpec_cxx {
348
358
  return bridge.create_Result_std__shared_ptr_Promise_std__vector_WorkoutRoute____(__exceptionPtr)
349
359
  }
350
360
  }
361
+
362
+ @inline(__always)
363
+ public final func getStatistic(quantityType: Int32, unitOverride: bridge.std__optional_std__string_) -> bridge.Result_std__shared_ptr_Promise_std__optional_QueryStatisticsResponse____ {
364
+ do {
365
+ let __result = try self.__implementation.getStatistic(quantityType: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: quantityType)!, unitOverride: { () -> String? in
366
+ if bridge.has_value_std__optional_std__string_(unitOverride) {
367
+ let __unwrapped = bridge.get_std__optional_std__string_(unitOverride)
368
+ return String(__unwrapped)
369
+ } else {
370
+ return nil
371
+ }
372
+ }())
373
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__optional_QueryStatisticsResponse___ in
374
+ let __promise = bridge.create_std__shared_ptr_Promise_std__optional_QueryStatisticsResponse___()
375
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__optional_QueryStatisticsResponse___(__promise)
376
+ __result
377
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__optional_QueryStatisticsResponse_ in
378
+ if let __unwrappedValue = __result {
379
+ return bridge.create_std__optional_QueryStatisticsResponse_(__unwrappedValue)
380
+ } else {
381
+ return .init()
382
+ }
383
+ }()) })
384
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
385
+ return __promise
386
+ }()
387
+ return bridge.create_Result_std__shared_ptr_Promise_std__optional_QueryStatisticsResponse____(__resultCpp)
388
+ } catch (let __error) {
389
+ let __exceptionPtr = __error.toCpp()
390
+ return bridge.create_Result_std__shared_ptr_Promise_std__optional_QueryStatisticsResponse____(__exceptionPtr)
391
+ }
392
+ }
393
+
394
+ @inline(__always)
395
+ public final func getAllStatistics() -> bridge.Result_std__shared_ptr_Promise_std__unordered_map_std__string__QueryStatisticsResponse____ {
396
+ do {
397
+ let __result = try self.__implementation.getAllStatistics()
398
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__unordered_map_std__string__QueryStatisticsResponse___ in
399
+ let __promise = bridge.create_std__shared_ptr_Promise_std__unordered_map_std__string__QueryStatisticsResponse___()
400
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__unordered_map_std__string__QueryStatisticsResponse___(__promise)
401
+ __result
402
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__unordered_map_std__string__QueryStatisticsResponse_ in
403
+ var __map = bridge.create_std__unordered_map_std__string__QueryStatisticsResponse_(__result.count)
404
+ for (__k, __v) in __result {
405
+ bridge.emplace_std__unordered_map_std__string__QueryStatisticsResponse_(&__map, std.string(__k), __v)
406
+ }
407
+ return __map
408
+ }()) })
409
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
410
+ return __promise
411
+ }()
412
+ return bridge.create_Result_std__shared_ptr_Promise_std__unordered_map_std__string__QueryStatisticsResponse____(__resultCpp)
413
+ } catch (let __error) {
414
+ let __exceptionPtr = __error.toCpp()
415
+ return bridge.create_Result_std__shared_ptr_Promise_std__unordered_map_std__string__QueryStatisticsResponse____(__exceptionPtr)
416
+ }
417
+ }
351
418
  }
@@ -21,8 +21,9 @@ public protocol HybridWorkoutsModuleSpec_protocol: HybridObject {
21
21
  }
22
22
 
23
23
  /// See ``HybridWorkoutsModuleSpec``
24
- public class HybridWorkoutsModuleSpec_base {
24
+ open class HybridWorkoutsModuleSpec_base {
25
25
  private weak var cxxWrapper: HybridWorkoutsModuleSpec_cxx? = nil
26
+ public init() { }
26
27
  public func getCxxWrapper() -> HybridWorkoutsModuleSpec_cxx {
27
28
  #if DEBUG
28
29
  guard self is HybridWorkoutsModuleSpec else {