@kingstinct/react-native-healthkit 13.3.1 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/ReactNativeHealthkit.podspec +1 -0
  2. package/app.plugin.ts +40 -2
  3. package/ios/BackgroundDeliveryManager.swift +196 -0
  4. package/ios/CategoryTypeModule.swift +1 -1
  5. package/ios/CoreModule.swift +24 -0
  6. package/ios/CorrelationTypeModule.swift +2 -35
  7. package/ios/ElectrocardiogramModule.swift +2 -34
  8. package/ios/HeartbeatSeriesModule.swift +2 -34
  9. package/ios/MedicationModule.swift +3 -35
  10. package/ios/PredicateHelpers.swift +2 -2
  11. package/ios/QuantityTypeModule.swift +11 -11
  12. package/ios/Serializers.swift +58 -90
  13. package/ios/StateOfMindModule.swift +2 -34
  14. package/ios/WorkoutProxy.swift +4 -149
  15. package/ios/generated/HealthkitGenerated.swift +52 -0
  16. package/lib/commonjs/generated/healthkit.generated.js +745 -0
  17. package/lib/commonjs/healthkit.ios.js +51 -17
  18. package/lib/commonjs/healthkit.js +120 -34
  19. package/lib/commonjs/specs/QuantityTypeModule.nitro.js +1 -0
  20. package/lib/commonjs/type-tests/generated-typing.js +2 -0
  21. package/lib/commonjs/types/CategoryType.js +19 -99
  22. package/lib/commonjs/types/Medication.js +2 -0
  23. package/lib/commonjs/types/MetadataEnums.js +17 -0
  24. package/lib/commonjs/types/QuantityType.js +4 -15
  25. package/lib/commonjs/types/WeatherCondition.js +2 -32
  26. package/lib/commonjs/types/Workouts.js +3 -98
  27. package/lib/commonjs/types/index.js +2 -0
  28. package/lib/module/generated/healthkit.generated.js +742 -0
  29. package/lib/module/healthkit.ios.js +49 -15
  30. package/lib/module/healthkit.js +94 -20
  31. package/lib/module/specs/QuantityTypeModule.nitro.js +1 -0
  32. package/lib/module/type-tests/generated-typing.js +1 -0
  33. package/lib/module/types/CategoryType.js +2 -98
  34. package/lib/module/types/Medication.js +1 -0
  35. package/lib/module/types/MetadataEnums.js +1 -0
  36. package/lib/module/types/QuantityType.js +2 -14
  37. package/lib/module/types/WeatherCondition.js +1 -32
  38. package/lib/module/types/Workouts.js +2 -98
  39. package/lib/module/types/index.js +2 -0
  40. package/lib/typescript/generated/healthkit.generated.d.ts +1006 -0
  41. package/lib/typescript/healthkit.d.ts +39 -36
  42. package/lib/typescript/healthkit.ios.d.ts +64 -53
  43. package/lib/typescript/hooks/useMostRecentQuantitySample.d.ts +3 -2
  44. package/lib/typescript/hooks/useMostRecentWorkout.d.ts +2 -2
  45. package/lib/typescript/hooks/useQuantitySampleById.d.ts +5 -4
  46. package/lib/typescript/hooks/useStatisticsForQuantity.d.ts +2 -2
  47. package/lib/typescript/hooks/useSubscribeToQuantitySamples.d.ts +1 -1
  48. package/lib/typescript/modules.d.ts +2 -2
  49. package/lib/typescript/specs/CategoryTypeModule.nitro.d.ts +3 -3
  50. package/lib/typescript/specs/CoreModule.nitro.d.ts +15 -0
  51. package/lib/typescript/specs/QuantityTypeModule.nitro.d.ts +20 -9
  52. package/lib/typescript/type-tests/generated-typing.d.ts +1 -0
  53. package/lib/typescript/types/CategoryType.d.ts +10 -104
  54. package/lib/typescript/types/CategoryTypeIdentifier.d.ts +1 -61
  55. package/lib/typescript/types/CorrelationType.d.ts +8 -2
  56. package/lib/typescript/types/ElectrocardiogramSample.d.ts +8 -1
  57. package/lib/typescript/types/HeartbeatSeries.d.ts +8 -1
  58. package/lib/typescript/types/InterfaceVerification.d.ts +14 -1
  59. package/lib/typescript/types/Medication.d.ts +10 -0
  60. package/lib/typescript/types/MetadataEnums.d.ts +1 -0
  61. package/lib/typescript/types/QuantitySample.d.ts +9 -1
  62. package/lib/typescript/types/QuantityType.d.ts +14 -18
  63. package/lib/typescript/types/QuantityTypeIdentifier.d.ts +1 -671
  64. package/lib/typescript/types/QueryOptions.d.ts +8 -4
  65. package/lib/typescript/types/Shared.d.ts +12 -41
  66. package/lib/typescript/types/StateOfMind.d.ts +8 -1
  67. package/lib/typescript/types/Subscriptions.d.ts +11 -11
  68. package/lib/typescript/types/WeatherCondition.d.ts +1 -30
  69. package/lib/typescript/types/Workouts.d.ts +20 -104
  70. package/lib/typescript/types/index.d.ts +2 -0
  71. package/lib/typescript/utils/getMostRecentQuantitySample.d.ts +2 -1
  72. package/lib/typescript/utils/getMostRecentWorkout.d.ts +2 -1
  73. package/lib/typescript/utils/getPreferredUnit.d.ts +2 -1
  74. package/lib/typescript/utils/getQuantitySampleById.d.ts +2 -1
  75. package/lib/typescript/utils/subscribeToQuantitySamples.d.ts +1 -1
  76. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +55 -109
  77. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +12 -18
  78. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +5 -14
  79. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +18 -2
  80. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +1 -13
  81. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +1 -13
  82. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +2 -14
  83. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +1 -13
  84. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +19 -28
  85. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +2 -14
  86. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +3 -116
  87. package/nitrogen/generated/ios/swift/CategorySample.swift +4 -329
  88. package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +112 -108
  89. package/nitrogen/generated/ios/swift/CategoryTypeIdentifierWriteable.swift +292 -0
  90. package/nitrogen/generated/ios/swift/CorrelationSample.swift +4 -347
  91. package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +4 -329
  92. package/nitrogen/generated/ios/swift/FilterForWorkouts.swift +30 -30
  93. package/nitrogen/generated/ios/swift/FilterForWorkoutsBase.swift +30 -30
  94. package/nitrogen/generated/ios/swift/GeneralForm.swift +4 -4
  95. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +4 -329
  96. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +1 -1
  97. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +1 -1
  98. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +2 -0
  99. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +38 -0
  100. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +6 -6
  101. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +6 -6
  102. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +1 -27
  103. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +2 -340
  104. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +4 -329
  105. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +492 -492
  106. package/nitrogen/generated/ios/swift/QuantitySample.swift +4 -329
  107. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +380 -384
  108. package/nitrogen/generated/ios/swift/QuantityTypeIdentifierWriteable.swift +372 -376
  109. package/nitrogen/generated/ios/swift/{QueryOptionsWithAnchorAndUnit.swift → QueryOptionsWithAnchorAndStringUnit.swift} +5 -5
  110. package/nitrogen/generated/ios/swift/{QueryOptionsWithSortOrderAndUnit.swift → QueryOptionsWithSortOrderAndStringUnit.swift} +5 -5
  111. package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +37 -37
  112. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +492 -492
  113. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +482 -486
  114. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +4 -329
  115. package/nitrogen/generated/ios/swift/{StatisticsQueryOptions.swift → StatisticsQueryOptionsWithStringUnit.swift} +5 -5
  116. package/nitrogen/generated/ios/swift/WorkoutEvent.swift +20 -2
  117. package/nitrogen/generated/ios/swift/WorkoutSample.swift +4 -402
  118. package/nitrogen/generated/shared/c++/CategorySample.hpp +8 -100
  119. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +153 -149
  120. package/nitrogen/generated/shared/c++/CategoryTypeIdentifierWriteable.hpp +328 -0
  121. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +9 -105
  122. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +7 -99
  123. package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +13 -13
  124. package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +13 -13
  125. package/nitrogen/generated/shared/c++/GeneralForm.hpp +7 -7
  126. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +8 -100
  127. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +5 -2
  128. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +2 -0
  129. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +4 -2
  130. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +15 -15
  131. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +1 -27
  132. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +2 -37
  133. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +7 -99
  134. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +565 -565
  135. package/nitrogen/generated/shared/c++/QuantitySample.hpp +8 -100
  136. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +407 -411
  137. package/nitrogen/generated/shared/c++/QuantityTypeIdentifierWriteable.hpp +398 -402
  138. package/nitrogen/generated/shared/c++/{QueryOptionsWithAnchorAndUnit.hpp → QueryOptionsWithAnchorAndStringUnit.hpp} +11 -11
  139. package/nitrogen/generated/shared/c++/{QueryOptionsWithSortOrderAndUnit.hpp → QueryOptionsWithSortOrderAndStringUnit.hpp} +11 -11
  140. package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +12 -12
  141. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +559 -559
  142. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +541 -545
  143. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +8 -100
  144. package/nitrogen/generated/shared/c++/{StatisticsQueryOptions.hpp → StatisticsQueryOptionsWithStringUnit.hpp} +11 -11
  145. package/nitrogen/generated/shared/c++/WorkoutEvent.hpp +8 -2
  146. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +7 -120
  147. package/package.json +5 -2
  148. package/src/generated/healthkit-schema.json +3680 -0
  149. package/src/generated/healthkit.generated.ts +1307 -0
  150. package/src/healthkit.ios.ts +225 -19
  151. package/src/healthkit.ts +181 -55
  152. package/src/hooks/useMostRecentQuantitySample.ts +6 -5
  153. package/src/hooks/useMostRecentWorkout.ts +2 -2
  154. package/src/hooks/useQuantitySampleById.ts +6 -5
  155. package/src/hooks/useStatisticsForQuantity.ts +2 -1
  156. package/src/hooks/useSubscribeToQuantitySamples.ts +1 -1
  157. package/src/modules.ts +7 -2
  158. package/src/specs/CategoryTypeModule.nitro.ts +8 -5
  159. package/src/specs/CoreModule.nitro.ts +20 -0
  160. package/src/specs/QuantityTypeModule.nitro.ts +81 -7
  161. package/src/test-setup.ts +2 -0
  162. package/src/type-tests/generated-typing.ts +133 -0
  163. package/src/types/CategoryType.ts +52 -148
  164. package/src/types/CategoryTypeIdentifier.ts +5 -134
  165. package/src/types/CorrelationType.ts +13 -3
  166. package/src/types/ElectrocardiogramSample.ts +13 -1
  167. package/src/types/HeartbeatSeries.ts +13 -1
  168. package/src/types/InterfaceVerification.ts +38 -1
  169. package/src/types/Medication.ts +19 -0
  170. package/src/types/MetadataEnums.ts +15 -0
  171. package/src/types/QuantitySample.ts +14 -2
  172. package/src/types/QuantityType.ts +22 -122
  173. package/src/types/QuantityTypeIdentifier.ts +5 -772
  174. package/src/types/QueryOptions.ts +11 -4
  175. package/src/types/Shared.ts +22 -49
  176. package/src/types/StateOfMind.ts +13 -1
  177. package/src/types/Subscriptions.ts +19 -13
  178. package/src/types/WeatherCondition.ts +1 -31
  179. package/src/types/Workouts.ts +46 -108
  180. package/src/types/index.ts +2 -0
  181. package/src/utils/getMostRecentQuantitySample.ts +4 -3
  182. package/src/utils/getMostRecentWorkout.ts +5 -2
  183. package/src/utils/getPreferredUnit.ts +5 -4
  184. package/src/utils/getQuantitySampleById.ts +4 -3
  185. package/src/utils/subscribeToQuantitySamples.ts +5 -3
  186. package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +0 -44
  187. package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +0 -40
  188. package/nitrogen/generated/ios/swift/WeatherCondition.swift +0 -144
  189. package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +0 -67
  190. package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +0 -62
  191. package/nitrogen/generated/shared/c++/WeatherCondition.hpp +0 -88
@@ -18,139 +18,19 @@ public extension HeartbeatSeriesSample {
18
18
  /**
19
19
  * Create a new instance of `HeartbeatSeriesSample`.
20
20
  */
21
- init(heartbeats: [Heartbeat], sampleType: SampleType, startDate: Date, endDate: Date, hasUndeterminedDuration: Bool, metadataWeatherCondition: WeatherCondition?, metadataWeatherHumidity: Quantity?, metadataWeatherTemperature: Quantity?, metadataInsulinDeliveryReason: InsulinDeliveryReason?, metadataHeartRateMotionContext: HeartRateMotionContext?, uuid: String, sourceRevision: SourceRevision, device: Device?, metadata: AnyMap, metadataExternalUUID: String?, metadataTimeZone: String?, metadataWasUserEntered: Bool?, metadataDeviceSerialNumber: String?, metadataUdiDeviceIdentifier: String?, metadataUdiProductionIdentifier: String?, metadataDigitalSignature: String?, metadataDeviceName: String?, metadataDeviceManufacturerName: String?, metadataSyncIdentifier: String?, metadataSyncVersion: Double?, metadataWasTakenInLab: Bool?, metadataReferenceRangeLowerLimit: Double?, metadataReferenceRangeUpperLimit: Double?, metadataAlgorithmVersion: Double?) {
21
+ init(heartbeats: [Heartbeat], sampleType: SampleType, startDate: Date, endDate: Date, hasUndeterminedDuration: Bool, metadata: AnyMap, uuid: String, sourceRevision: SourceRevision, device: Device?) {
22
22
  self.init({ () -> bridge.std__vector_Heartbeat_ in
23
23
  var __vector = bridge.create_std__vector_Heartbeat_(heartbeats.count)
24
24
  for __item in heartbeats {
25
25
  __vector.push_back(__item)
26
26
  }
27
27
  return __vector
28
- }(), sampleType, startDate.toCpp(), endDate.toCpp(), hasUndeterminedDuration, { () -> bridge.std__optional_WeatherCondition_ in
29
- if let __unwrappedValue = metadataWeatherCondition {
30
- return bridge.create_std__optional_WeatherCondition_(__unwrappedValue)
31
- } else {
32
- return .init()
33
- }
34
- }(), { () -> bridge.std__optional_Quantity_ in
35
- if let __unwrappedValue = metadataWeatherHumidity {
36
- return bridge.create_std__optional_Quantity_(__unwrappedValue)
37
- } else {
38
- return .init()
39
- }
40
- }(), { () -> bridge.std__optional_Quantity_ in
41
- if let __unwrappedValue = metadataWeatherTemperature {
42
- return bridge.create_std__optional_Quantity_(__unwrappedValue)
43
- } else {
44
- return .init()
45
- }
46
- }(), { () -> bridge.std__optional_InsulinDeliveryReason_ in
47
- if let __unwrappedValue = metadataInsulinDeliveryReason {
48
- return bridge.create_std__optional_InsulinDeliveryReason_(__unwrappedValue)
49
- } else {
50
- return .init()
51
- }
52
- }(), { () -> bridge.std__optional_HeartRateMotionContext_ in
53
- if let __unwrappedValue = metadataHeartRateMotionContext {
54
- return bridge.create_std__optional_HeartRateMotionContext_(__unwrappedValue)
55
- } else {
56
- return .init()
57
- }
58
- }(), std.string(uuid), sourceRevision, { () -> bridge.std__optional_Device_ in
28
+ }(), sampleType, startDate.toCpp(), endDate.toCpp(), hasUndeterminedDuration, metadata.cppPart, std.string(uuid), sourceRevision, { () -> bridge.std__optional_Device_ in
59
29
  if let __unwrappedValue = device {
60
30
  return bridge.create_std__optional_Device_(__unwrappedValue)
61
31
  } else {
62
32
  return .init()
63
33
  }
64
- }(), metadata.cppPart, { () -> bridge.std__optional_std__string_ in
65
- if let __unwrappedValue = metadataExternalUUID {
66
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
67
- } else {
68
- return .init()
69
- }
70
- }(), { () -> bridge.std__optional_std__string_ in
71
- if let __unwrappedValue = metadataTimeZone {
72
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
73
- } else {
74
- return .init()
75
- }
76
- }(), { () -> bridge.std__optional_bool_ in
77
- if let __unwrappedValue = metadataWasUserEntered {
78
- return bridge.create_std__optional_bool_(__unwrappedValue)
79
- } else {
80
- return .init()
81
- }
82
- }(), { () -> bridge.std__optional_std__string_ in
83
- if let __unwrappedValue = metadataDeviceSerialNumber {
84
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
85
- } else {
86
- return .init()
87
- }
88
- }(), { () -> bridge.std__optional_std__string_ in
89
- if let __unwrappedValue = metadataUdiDeviceIdentifier {
90
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
91
- } else {
92
- return .init()
93
- }
94
- }(), { () -> bridge.std__optional_std__string_ in
95
- if let __unwrappedValue = metadataUdiProductionIdentifier {
96
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
97
- } else {
98
- return .init()
99
- }
100
- }(), { () -> bridge.std__optional_std__string_ in
101
- if let __unwrappedValue = metadataDigitalSignature {
102
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
103
- } else {
104
- return .init()
105
- }
106
- }(), { () -> bridge.std__optional_std__string_ in
107
- if let __unwrappedValue = metadataDeviceName {
108
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
109
- } else {
110
- return .init()
111
- }
112
- }(), { () -> bridge.std__optional_std__string_ in
113
- if let __unwrappedValue = metadataDeviceManufacturerName {
114
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
115
- } else {
116
- return .init()
117
- }
118
- }(), { () -> bridge.std__optional_std__string_ in
119
- if let __unwrappedValue = metadataSyncIdentifier {
120
- return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
121
- } else {
122
- return .init()
123
- }
124
- }(), { () -> bridge.std__optional_double_ in
125
- if let __unwrappedValue = metadataSyncVersion {
126
- return bridge.create_std__optional_double_(__unwrappedValue)
127
- } else {
128
- return .init()
129
- }
130
- }(), { () -> bridge.std__optional_bool_ in
131
- if let __unwrappedValue = metadataWasTakenInLab {
132
- return bridge.create_std__optional_bool_(__unwrappedValue)
133
- } else {
134
- return .init()
135
- }
136
- }(), { () -> bridge.std__optional_double_ in
137
- if let __unwrappedValue = metadataReferenceRangeLowerLimit {
138
- return bridge.create_std__optional_double_(__unwrappedValue)
139
- } else {
140
- return .init()
141
- }
142
- }(), { () -> bridge.std__optional_double_ in
143
- if let __unwrappedValue = metadataReferenceRangeUpperLimit {
144
- return bridge.create_std__optional_double_(__unwrappedValue)
145
- } else {
146
- return .init()
147
- }
148
- }(), { () -> bridge.std__optional_double_ in
149
- if let __unwrappedValue = metadataAlgorithmVersion {
150
- return bridge.create_std__optional_double_(__unwrappedValue)
151
- } else {
152
- return .init()
153
- }
154
34
  }())
155
35
  }
156
36
 
@@ -180,28 +60,8 @@ public extension HeartbeatSeriesSample {
180
60
  }
181
61
 
182
62
  @inline(__always)
183
- var metadataWeatherCondition: WeatherCondition? {
184
- return self.__metadataWeatherCondition.has_value() ? self.__metadataWeatherCondition.pointee : nil
185
- }
186
-
187
- @inline(__always)
188
- var metadataWeatherHumidity: Quantity? {
189
- return self.__metadataWeatherHumidity.value
190
- }
191
-
192
- @inline(__always)
193
- var metadataWeatherTemperature: Quantity? {
194
- return self.__metadataWeatherTemperature.value
195
- }
196
-
197
- @inline(__always)
198
- var metadataInsulinDeliveryReason: InsulinDeliveryReason? {
199
- return self.__metadataInsulinDeliveryReason.has_value() ? self.__metadataInsulinDeliveryReason.pointee : nil
200
- }
201
-
202
- @inline(__always)
203
- var metadataHeartRateMotionContext: HeartRateMotionContext? {
204
- return self.__metadataHeartRateMotionContext.has_value() ? self.__metadataHeartRateMotionContext.pointee : nil
63
+ var metadata: AnyMap {
64
+ return AnyMap(withCppPart: self.__metadata)
205
65
  }
206
66
 
207
67
  @inline(__always)
@@ -218,189 +78,4 @@ public extension HeartbeatSeriesSample {
218
78
  var device: Device? {
219
79
  return self.__device.value
220
80
  }
221
-
222
- @inline(__always)
223
- var metadata: AnyMap {
224
- return AnyMap(withCppPart: self.__metadata)
225
- }
226
-
227
- @inline(__always)
228
- var metadataExternalUUID: String? {
229
- return { () -> String? in
230
- if bridge.has_value_std__optional_std__string_(self.__metadataExternalUUID) {
231
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataExternalUUID)
232
- return String(__unwrapped)
233
- } else {
234
- return nil
235
- }
236
- }()
237
- }
238
-
239
- @inline(__always)
240
- var metadataTimeZone: String? {
241
- return { () -> String? in
242
- if bridge.has_value_std__optional_std__string_(self.__metadataTimeZone) {
243
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataTimeZone)
244
- return String(__unwrapped)
245
- } else {
246
- return nil
247
- }
248
- }()
249
- }
250
-
251
- @inline(__always)
252
- var metadataWasUserEntered: Bool? {
253
- return { () -> Bool? in
254
- if bridge.has_value_std__optional_bool_(self.__metadataWasUserEntered) {
255
- let __unwrapped = bridge.get_std__optional_bool_(self.__metadataWasUserEntered)
256
- return __unwrapped
257
- } else {
258
- return nil
259
- }
260
- }()
261
- }
262
-
263
- @inline(__always)
264
- var metadataDeviceSerialNumber: String? {
265
- return { () -> String? in
266
- if bridge.has_value_std__optional_std__string_(self.__metadataDeviceSerialNumber) {
267
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataDeviceSerialNumber)
268
- return String(__unwrapped)
269
- } else {
270
- return nil
271
- }
272
- }()
273
- }
274
-
275
- @inline(__always)
276
- var metadataUdiDeviceIdentifier: String? {
277
- return { () -> String? in
278
- if bridge.has_value_std__optional_std__string_(self.__metadataUdiDeviceIdentifier) {
279
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataUdiDeviceIdentifier)
280
- return String(__unwrapped)
281
- } else {
282
- return nil
283
- }
284
- }()
285
- }
286
-
287
- @inline(__always)
288
- var metadataUdiProductionIdentifier: String? {
289
- return { () -> String? in
290
- if bridge.has_value_std__optional_std__string_(self.__metadataUdiProductionIdentifier) {
291
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataUdiProductionIdentifier)
292
- return String(__unwrapped)
293
- } else {
294
- return nil
295
- }
296
- }()
297
- }
298
-
299
- @inline(__always)
300
- var metadataDigitalSignature: String? {
301
- return { () -> String? in
302
- if bridge.has_value_std__optional_std__string_(self.__metadataDigitalSignature) {
303
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataDigitalSignature)
304
- return String(__unwrapped)
305
- } else {
306
- return nil
307
- }
308
- }()
309
- }
310
-
311
- @inline(__always)
312
- var metadataDeviceName: String? {
313
- return { () -> String? in
314
- if bridge.has_value_std__optional_std__string_(self.__metadataDeviceName) {
315
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataDeviceName)
316
- return String(__unwrapped)
317
- } else {
318
- return nil
319
- }
320
- }()
321
- }
322
-
323
- @inline(__always)
324
- var metadataDeviceManufacturerName: String? {
325
- return { () -> String? in
326
- if bridge.has_value_std__optional_std__string_(self.__metadataDeviceManufacturerName) {
327
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataDeviceManufacturerName)
328
- return String(__unwrapped)
329
- } else {
330
- return nil
331
- }
332
- }()
333
- }
334
-
335
- @inline(__always)
336
- var metadataSyncIdentifier: String? {
337
- return { () -> String? in
338
- if bridge.has_value_std__optional_std__string_(self.__metadataSyncIdentifier) {
339
- let __unwrapped = bridge.get_std__optional_std__string_(self.__metadataSyncIdentifier)
340
- return String(__unwrapped)
341
- } else {
342
- return nil
343
- }
344
- }()
345
- }
346
-
347
- @inline(__always)
348
- var metadataSyncVersion: Double? {
349
- return { () -> Double? in
350
- if bridge.has_value_std__optional_double_(self.__metadataSyncVersion) {
351
- let __unwrapped = bridge.get_std__optional_double_(self.__metadataSyncVersion)
352
- return __unwrapped
353
- } else {
354
- return nil
355
- }
356
- }()
357
- }
358
-
359
- @inline(__always)
360
- var metadataWasTakenInLab: Bool? {
361
- return { () -> Bool? in
362
- if bridge.has_value_std__optional_bool_(self.__metadataWasTakenInLab) {
363
- let __unwrapped = bridge.get_std__optional_bool_(self.__metadataWasTakenInLab)
364
- return __unwrapped
365
- } else {
366
- return nil
367
- }
368
- }()
369
- }
370
-
371
- @inline(__always)
372
- var metadataReferenceRangeLowerLimit: Double? {
373
- return { () -> Double? in
374
- if bridge.has_value_std__optional_double_(self.__metadataReferenceRangeLowerLimit) {
375
- let __unwrapped = bridge.get_std__optional_double_(self.__metadataReferenceRangeLowerLimit)
376
- return __unwrapped
377
- } else {
378
- return nil
379
- }
380
- }()
381
- }
382
-
383
- @inline(__always)
384
- var metadataReferenceRangeUpperLimit: Double? {
385
- return { () -> Double? in
386
- if bridge.has_value_std__optional_double_(self.__metadataReferenceRangeUpperLimit) {
387
- let __unwrapped = bridge.get_std__optional_double_(self.__metadataReferenceRangeUpperLimit)
388
- return __unwrapped
389
- } else {
390
- return nil
391
- }
392
- }()
393
- }
394
-
395
- @inline(__always)
396
- var metadataAlgorithmVersion: Double? {
397
- return { () -> Double? in
398
- if bridge.has_value_std__optional_double_(self.__metadataAlgorithmVersion) {
399
- let __unwrapped = bridge.get_std__optional_double_(self.__metadataAlgorithmVersion)
400
- return __unwrapped
401
- } else {
402
- return nil
403
- }
404
- }()
405
- }
406
81
  }
@@ -13,7 +13,7 @@ public protocol HybridCategoryTypeModuleSpec_protocol: HybridObject {
13
13
 
14
14
 
15
15
  // Methods
16
- func saveCategorySample(identifier: CategoryTypeIdentifier, value: Double, startDate: Date, endDate: Date, metadata: AnyMap?) throws -> Promise<CategorySample?>
16
+ func saveCategorySample(identifier: CategoryTypeIdentifierWriteable, value: Double, startDate: Date, endDate: Date, metadata: AnyMap?) throws -> Promise<CategorySample?>
17
17
  func queryCategorySamples(identifier: CategoryTypeIdentifier, options: QueryOptionsWithSortOrder) throws -> Promise<[CategorySample]>
18
18
  func queryCategorySamplesWithAnchor(identifier: CategoryTypeIdentifier, options: QueryOptionsWithAnchor) throws -> Promise<CategorySamplesWithAnchorResponse>
19
19
  }
@@ -127,7 +127,7 @@ open class HybridCategoryTypeModuleSpec_cxx {
127
127
  @inline(__always)
128
128
  public final func saveCategorySample(identifier: Int32, value: Double, startDate: margelo.nitro.chrono_time, endDate: margelo.nitro.chrono_time, metadata: bridge.std__optional_std__shared_ptr_AnyMap__) -> bridge.Result_std__shared_ptr_Promise_std__optional_CategorySample____ {
129
129
  do {
130
- let __result = try self.__implementation.saveCategorySample(identifier: margelo.nitro.healthkit.CategoryTypeIdentifier(rawValue: identifier)!, value: value, startDate: Date(fromChrono: startDate), endDate: Date(fromChrono: endDate), metadata: { () -> AnyMap? in
130
+ let __result = try self.__implementation.saveCategorySample(identifier: margelo.nitro.healthkit.CategoryTypeIdentifierWriteable(rawValue: identifier)!, value: value, startDate: Date(fromChrono: startDate), endDate: Date(fromChrono: endDate), metadata: { () -> AnyMap? in
131
131
  if bridge.has_value_std__optional_std__shared_ptr_AnyMap__(metadata) {
132
132
  let __unwrapped = bridge.get_std__optional_std__shared_ptr_AnyMap__(metadata)
133
133
  return AnyMap(withCppPart: __unwrapped)
@@ -16,6 +16,8 @@ public protocol HybridCoreModuleSpec_protocol: HybridObject {
16
16
  func enableBackgroundDelivery(typeIdentifier: ObjectTypeIdentifier, updateFrequency: UpdateFrequency) throws -> Promise<Bool>
17
17
  func disableBackgroundDelivery(typeIdentifier: ObjectTypeIdentifier) throws -> Promise<Bool>
18
18
  func disableAllBackgroundDelivery() throws -> Promise<Bool>
19
+ func configureBackgroundTypes(typeIdentifiers: [String], updateFrequency: UpdateFrequency) throws -> Promise<Bool>
20
+ func clearBackgroundTypes() throws -> Promise<Bool>
19
21
  func isHealthDataAvailable() throws -> Bool
20
22
  func isHealthDataAvailableAsync() throws -> Promise<Bool>
21
23
  func isProtectedDataAvailable() throws -> Bool
@@ -181,6 +181,44 @@ open class HybridCoreModuleSpec_cxx {
181
181
  }
182
182
  }
183
183
 
184
+ @inline(__always)
185
+ public final func configureBackgroundTypes(typeIdentifiers: bridge.std__vector_std__string_, updateFrequency: Int32) -> bridge.Result_std__shared_ptr_Promise_bool___ {
186
+ do {
187
+ let __result = try self.__implementation.configureBackgroundTypes(typeIdentifiers: typeIdentifiers.map({ __item in String(__item) }), updateFrequency: margelo.nitro.healthkit.UpdateFrequency(rawValue: updateFrequency)!)
188
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
189
+ let __promise = bridge.create_std__shared_ptr_Promise_bool__()
190
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
191
+ __result
192
+ .then({ __result in __promiseHolder.resolve(__result) })
193
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
194
+ return __promise
195
+ }()
196
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
197
+ } catch (let __error) {
198
+ let __exceptionPtr = __error.toCpp()
199
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
200
+ }
201
+ }
202
+
203
+ @inline(__always)
204
+ public final func clearBackgroundTypes() -> bridge.Result_std__shared_ptr_Promise_bool___ {
205
+ do {
206
+ let __result = try self.__implementation.clearBackgroundTypes()
207
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_bool__ in
208
+ let __promise = bridge.create_std__shared_ptr_Promise_bool__()
209
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_bool__(__promise)
210
+ __result
211
+ .then({ __result in __promiseHolder.resolve(__result) })
212
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
213
+ return __promise
214
+ }()
215
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__resultCpp)
216
+ } catch (let __error) {
217
+ let __exceptionPtr = __error.toCpp()
218
+ return bridge.create_Result_std__shared_ptr_Promise_bool___(__exceptionPtr)
219
+ }
220
+ }
221
+
184
222
  @inline(__always)
185
223
  public final func isHealthDataAvailable() -> bridge.Result_bool_ {
186
224
  do {
@@ -16,12 +16,12 @@ public protocol HybridQuantityTypeModuleSpec_protocol: HybridObject {
16
16
  func isQuantityCompatibleWithUnit(identifier: QuantityTypeIdentifier, unit: String) throws -> Bool
17
17
  func aggregationStyle(identifier: QuantityTypeIdentifier) throws -> AggregationStyle
18
18
  func saveQuantitySample(identifier: QuantityTypeIdentifierWriteable, unit: String, value: Double, start: Date, end: Date, metadata: AnyMap?) throws -> Promise<QuantitySample?>
19
- func queryQuantitySamples(identifier: QuantityTypeIdentifier, options: QueryOptionsWithSortOrderAndUnit) throws -> Promise<[QuantitySample]>
20
- func queryStatisticsForQuantity(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], options: StatisticsQueryOptions?) throws -> Promise<QueryStatisticsResponse>
21
- func queryStatisticsCollectionForQuantity(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], anchorDate: Date, intervalComponents: IntervalComponents, options: StatisticsQueryOptions?) throws -> Promise<[QueryStatisticsResponse]>
22
- func queryStatisticsForQuantitySeparateBySource(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], options: StatisticsQueryOptions?) throws -> Promise<[QueryStatisticsResponseFromSingleSource]>
23
- func queryStatisticsCollectionForQuantitySeparateBySource(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], anchorDate: Date, intervalComponents: IntervalComponents, options: StatisticsQueryOptions?) throws -> Promise<[QueryStatisticsResponseFromSingleSource]>
24
- func queryQuantitySamplesWithAnchor(identifier: QuantityTypeIdentifier, options: QueryOptionsWithAnchorAndUnit) throws -> Promise<QuantitySamplesWithAnchorResponse>
19
+ func queryQuantitySamples(identifier: QuantityTypeIdentifier, options: QueryOptionsWithSortOrderAndStringUnit) throws -> Promise<[QuantitySample]>
20
+ func queryStatisticsForQuantity(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], options: StatisticsQueryOptionsWithStringUnit?) throws -> Promise<QueryStatisticsResponse>
21
+ func queryStatisticsCollectionForQuantity(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], anchorDate: Date, intervalComponents: IntervalComponents, options: StatisticsQueryOptionsWithStringUnit?) throws -> Promise<[QueryStatisticsResponse]>
22
+ func queryStatisticsForQuantitySeparateBySource(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], options: StatisticsQueryOptionsWithStringUnit?) throws -> Promise<[QueryStatisticsResponseFromSingleSource]>
23
+ func queryStatisticsCollectionForQuantitySeparateBySource(identifier: QuantityTypeIdentifier, statistics: [StatisticsOptions], anchorDate: Date, intervalComponents: IntervalComponents, options: StatisticsQueryOptionsWithStringUnit?) throws -> Promise<[QueryStatisticsResponseFromSingleSource]>
24
+ func queryQuantitySamplesWithAnchor(identifier: QuantityTypeIdentifier, options: QueryOptionsWithAnchorAndStringUnit) throws -> Promise<QuantitySamplesWithAnchorResponse>
25
25
  }
26
26
 
27
27
  public extension HybridQuantityTypeModuleSpec_protocol {
@@ -181,7 +181,7 @@ open class HybridQuantityTypeModuleSpec_cxx {
181
181
  }
182
182
 
183
183
  @inline(__always)
184
- public final func queryQuantitySamples(identifier: Int32, options: QueryOptionsWithSortOrderAndUnit) -> bridge.Result_std__shared_ptr_Promise_std__vector_QuantitySample____ {
184
+ public final func queryQuantitySamples(identifier: Int32, options: QueryOptionsWithSortOrderAndStringUnit) -> bridge.Result_std__shared_ptr_Promise_std__vector_QuantitySample____ {
185
185
  do {
186
186
  let __result = try self.__implementation.queryQuantitySamples(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, options: options)
187
187
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_QuantitySample___ in
@@ -206,7 +206,7 @@ open class HybridQuantityTypeModuleSpec_cxx {
206
206
  }
207
207
 
208
208
  @inline(__always)
209
- public final func queryStatisticsForQuantity(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, options: bridge.std__optional_StatisticsQueryOptions_) -> bridge.Result_std__shared_ptr_Promise_QueryStatisticsResponse___ {
209
+ public final func queryStatisticsForQuantity(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, options: bridge.std__optional_StatisticsQueryOptionsWithStringUnit_) -> bridge.Result_std__shared_ptr_Promise_QueryStatisticsResponse___ {
210
210
  do {
211
211
  let __result = try self.__implementation.queryStatisticsForQuantity(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, statistics: statistics.map({ __item in __item }), options: options.value)
212
212
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_QueryStatisticsResponse__ in
@@ -225,7 +225,7 @@ open class HybridQuantityTypeModuleSpec_cxx {
225
225
  }
226
226
 
227
227
  @inline(__always)
228
- public final func queryStatisticsCollectionForQuantity(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, anchorDate: margelo.nitro.chrono_time, intervalComponents: IntervalComponents, options: bridge.std__optional_StatisticsQueryOptions_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponse____ {
228
+ public final func queryStatisticsCollectionForQuantity(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, anchorDate: margelo.nitro.chrono_time, intervalComponents: IntervalComponents, options: bridge.std__optional_StatisticsQueryOptionsWithStringUnit_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponse____ {
229
229
  do {
230
230
  let __result = try self.__implementation.queryStatisticsCollectionForQuantity(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, statistics: statistics.map({ __item in __item }), anchorDate: Date(fromChrono: anchorDate), intervalComponents: intervalComponents, options: options.value)
231
231
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_QueryStatisticsResponse___ in
@@ -250,7 +250,7 @@ open class HybridQuantityTypeModuleSpec_cxx {
250
250
  }
251
251
 
252
252
  @inline(__always)
253
- public final func queryStatisticsForQuantitySeparateBySource(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, options: bridge.std__optional_StatisticsQueryOptions_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponseFromSingleSource____ {
253
+ public final func queryStatisticsForQuantitySeparateBySource(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, options: bridge.std__optional_StatisticsQueryOptionsWithStringUnit_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponseFromSingleSource____ {
254
254
  do {
255
255
  let __result = try self.__implementation.queryStatisticsForQuantitySeparateBySource(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, statistics: statistics.map({ __item in __item }), options: options.value)
256
256
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_QueryStatisticsResponseFromSingleSource___ in
@@ -275,7 +275,7 @@ open class HybridQuantityTypeModuleSpec_cxx {
275
275
  }
276
276
 
277
277
  @inline(__always)
278
- public final func queryStatisticsCollectionForQuantitySeparateBySource(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, anchorDate: margelo.nitro.chrono_time, intervalComponents: IntervalComponents, options: bridge.std__optional_StatisticsQueryOptions_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponseFromSingleSource____ {
278
+ public final func queryStatisticsCollectionForQuantitySeparateBySource(identifier: Int32, statistics: bridge.std__vector_StatisticsOptions_, anchorDate: margelo.nitro.chrono_time, intervalComponents: IntervalComponents, options: bridge.std__optional_StatisticsQueryOptionsWithStringUnit_) -> bridge.Result_std__shared_ptr_Promise_std__vector_QueryStatisticsResponseFromSingleSource____ {
279
279
  do {
280
280
  let __result = try self.__implementation.queryStatisticsCollectionForQuantitySeparateBySource(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, statistics: statistics.map({ __item in __item }), anchorDate: Date(fromChrono: anchorDate), intervalComponents: intervalComponents, options: options.value)
281
281
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_QueryStatisticsResponseFromSingleSource___ in
@@ -300,7 +300,7 @@ open class HybridQuantityTypeModuleSpec_cxx {
300
300
  }
301
301
 
302
302
  @inline(__always)
303
- public final func queryQuantitySamplesWithAnchor(identifier: Int32, options: QueryOptionsWithAnchorAndUnit) -> bridge.Result_std__shared_ptr_Promise_QuantitySamplesWithAnchorResponse___ {
303
+ public final func queryQuantitySamplesWithAnchor(identifier: Int32, options: QueryOptionsWithAnchorAndStringUnit) -> bridge.Result_std__shared_ptr_Promise_QuantitySamplesWithAnchorResponse___ {
304
304
  do {
305
305
  let __result = try self.__implementation.queryQuantitySamplesWithAnchor(identifier: margelo.nitro.healthkit.QuantityTypeIdentifier(rawValue: identifier)!, options: options)
306
306
  let __resultCpp = { () -> bridge.std__shared_ptr_Promise_QuantitySamplesWithAnchorResponse__ in
@@ -18,40 +18,14 @@ public protocol HybridWorkoutProxySpec_protocol: HybridObject {
18
18
  var totalFlightsClimbed: Quantity? { get }
19
19
  var events: [WorkoutEvent]? { get }
20
20
  var activities: [WorkoutActivity]? { get }
21
- var metadataAverageMETs: Quantity? { get }
22
- var metadataElevationAscended: Quantity? { get }
23
- var metadataElevationDescended: Quantity? { get }
24
- var metadataIndoorWorkout: Bool? { get }
25
- var metadataAverageSpeed: Quantity? { get }
26
- var metadataMaximumSpeed: Quantity? { get }
21
+ var metadata: AnyMap { get }
27
22
  var sampleType: SampleType { get }
28
23
  var startDate: Date { get }
29
24
  var endDate: Date { get }
30
25
  var hasUndeterminedDuration: Bool { get }
31
- var metadataWeatherCondition: WeatherCondition? { get }
32
- var metadataWeatherHumidity: Quantity? { get }
33
- var metadataWeatherTemperature: Quantity? { get }
34
- var metadataInsulinDeliveryReason: InsulinDeliveryReason? { get }
35
- var metadataHeartRateMotionContext: HeartRateMotionContext? { get }
36
26
  var uuid: String { get }
37
27
  var sourceRevision: SourceRevision { get }
38
28
  var device: Device? { get }
39
- var metadata: AnyMap { get }
40
- var metadataExternalUUID: String? { get }
41
- var metadataTimeZone: String? { get }
42
- var metadataWasUserEntered: Bool? { get }
43
- var metadataDeviceSerialNumber: String? { get }
44
- var metadataUdiDeviceIdentifier: String? { get }
45
- var metadataUdiProductionIdentifier: String? { get }
46
- var metadataDigitalSignature: String? { get }
47
- var metadataDeviceName: String? { get }
48
- var metadataDeviceManufacturerName: String? { get }
49
- var metadataSyncIdentifier: String? { get }
50
- var metadataSyncVersion: Double? { get }
51
- var metadataWasTakenInLab: Bool? { get }
52
- var metadataReferenceRangeLowerLimit: Double? { get }
53
- var metadataReferenceRangeUpperLimit: Double? { get }
54
- var metadataAlgorithmVersion: Double? { get }
55
29
 
56
30
  // Methods
57
31
  func toJSON(key: String?) throws -> WorkoutSample