@kingstinct/react-native-healthkit 13.1.4 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/ios/MedicationModule.swift +51 -4
  2. package/lib/typescript/specs/MedicationModule.nitro.d.ts +1 -0
  3. package/lib/typescript/types/CategoryTypeIdentifier.d.ts +31 -1
  4. package/lib/typescript/types/QuantityTypeIdentifier.d.ts +12 -0
  5. package/lib/typescript/types/Workouts.d.ts +4 -0
  6. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +17 -1
  7. package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +20 -0
  8. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +4 -0
  9. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +52 -0
  10. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +32 -2
  11. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +28 -0
  12. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +8 -0
  13. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +28 -0
  14. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +28 -0
  15. package/nitrogen/generated/ios/swift/WorkoutSample.swift +94 -2
  16. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +20 -0
  17. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +4 -0
  18. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +5 -1
  19. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +6 -2
  20. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +162 -134
  21. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +92 -84
  22. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +155 -127
  23. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +149 -121
  24. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +18 -2
  25. package/package.json +1 -1
  26. package/src/specs/MedicationModule.nitro.ts +1 -0
  27. package/src/types/CategoryTypeIdentifier.ts +35 -0
  28. package/src/types/QuantityTypeIdentifier.ts +14 -0
  29. package/src/types/Workouts.ts +4 -0
@@ -19,8 +19,32 @@ public extension WorkoutSample {
19
19
  /**
20
20
  * Create a new instance of `WorkoutSample`.
21
21
  */
22
- init(workoutActivityType: WorkoutActivityType, duration: Quantity, events: [WorkoutEvent]?, activities: [WorkoutActivity]?, metadataAverageMETs: Quantity?, metadataElevationAscended: Quantity?, metadataElevationDescended: Quantity?, metadataIndoorWorkout: Bool?, metadataAverageSpeed: Quantity?, metadataMaximumSpeed: Quantity?, 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?) {
23
- self.init(workoutActivityType, duration, { () -> bridge.std__optional_std__vector_WorkoutEvent__ in
22
+ init(workoutActivityType: WorkoutActivityType, duration: Quantity, totalEnergyBurned: Quantity?, totalDistance: Quantity?, totalSwimmingStrokeCount: Quantity?, totalFlightsClimbed: Quantity?, events: [WorkoutEvent]?, activities: [WorkoutActivity]?, metadataAverageMETs: Quantity?, metadataElevationAscended: Quantity?, metadataElevationDescended: Quantity?, metadataIndoorWorkout: Bool?, metadataAverageSpeed: Quantity?, metadataMaximumSpeed: Quantity?, 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?) {
23
+ self.init(workoutActivityType, duration, { () -> bridge.std__optional_Quantity_ in
24
+ if let __unwrappedValue = totalEnergyBurned {
25
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_Quantity_ in
30
+ if let __unwrappedValue = totalDistance {
31
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
32
+ } else {
33
+ return .init()
34
+ }
35
+ }(), { () -> bridge.std__optional_Quantity_ in
36
+ if let __unwrappedValue = totalSwimmingStrokeCount {
37
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
38
+ } else {
39
+ return .init()
40
+ }
41
+ }(), { () -> bridge.std__optional_Quantity_ in
42
+ if let __unwrappedValue = totalFlightsClimbed {
43
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
44
+ } else {
45
+ return .init()
46
+ }
47
+ }(), { () -> bridge.std__optional_std__vector_WorkoutEvent__ in
24
48
  if let __unwrappedValue = events {
25
49
  return bridge.create_std__optional_std__vector_WorkoutEvent__({ () -> bridge.std__vector_WorkoutEvent_ in
26
50
  var __vector = bridge.create_std__vector_WorkoutEvent_(__unwrappedValue.count)
@@ -231,6 +255,74 @@ public extension WorkoutSample {
231
255
  }
232
256
  }
233
257
 
258
+ var totalEnergyBurned: Quantity? {
259
+ @inline(__always)
260
+ get {
261
+ return self.__totalEnergyBurned.value
262
+ }
263
+ @inline(__always)
264
+ set {
265
+ self.__totalEnergyBurned = { () -> bridge.std__optional_Quantity_ in
266
+ if let __unwrappedValue = newValue {
267
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
268
+ } else {
269
+ return .init()
270
+ }
271
+ }()
272
+ }
273
+ }
274
+
275
+ var totalDistance: Quantity? {
276
+ @inline(__always)
277
+ get {
278
+ return self.__totalDistance.value
279
+ }
280
+ @inline(__always)
281
+ set {
282
+ self.__totalDistance = { () -> bridge.std__optional_Quantity_ in
283
+ if let __unwrappedValue = newValue {
284
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
285
+ } else {
286
+ return .init()
287
+ }
288
+ }()
289
+ }
290
+ }
291
+
292
+ var totalSwimmingStrokeCount: Quantity? {
293
+ @inline(__always)
294
+ get {
295
+ return self.__totalSwimmingStrokeCount.value
296
+ }
297
+ @inline(__always)
298
+ set {
299
+ self.__totalSwimmingStrokeCount = { () -> bridge.std__optional_Quantity_ in
300
+ if let __unwrappedValue = newValue {
301
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
302
+ } else {
303
+ return .init()
304
+ }
305
+ }()
306
+ }
307
+ }
308
+
309
+ var totalFlightsClimbed: Quantity? {
310
+ @inline(__always)
311
+ get {
312
+ return self.__totalFlightsClimbed.value
313
+ }
314
+ @inline(__always)
315
+ set {
316
+ self.__totalFlightsClimbed = { () -> bridge.std__optional_Quantity_ in
317
+ if let __unwrappedValue = newValue {
318
+ return bridge.create_std__optional_Quantity_(__unwrappedValue)
319
+ } else {
320
+ return .init()
321
+ }
322
+ }()
323
+ }
324
+ }
325
+
234
326
  var events: [WorkoutEvent]? {
235
327
  @inline(__always)
236
328
  get {
@@ -93,6 +93,11 @@ namespace margelo::nitro::healthkit {
93
93
  HKCATEGORYTYPEIDENTIFIERWHEEZING SWIFT_NAME(hkcategorytypeidentifierwheezing) = 61,
94
94
  HKCATEGORYTYPEIDENTIFIERBLEEDINGAFTERPREGNANCY SWIFT_NAME(hkcategorytypeidentifierbleedingafterpregnancy) = 62,
95
95
  HKCATEGORYTYPEIDENTIFIERBLEEDINGDURINGPREGNANCY SWIFT_NAME(hkcategorytypeidentifierbleedingduringpregnancy) = 63,
96
+ HKCATEGORYTYPEIDENTIFIERINFREQUENTMENSTRUALCYCLES SWIFT_NAME(hkcategorytypeidentifierinfrequentmenstrualcycles) = 64,
97
+ HKCATEGORYTYPEIDENTIFIERIRREGULARMENSTRUALCYCLES SWIFT_NAME(hkcategorytypeidentifierirregularmenstrualcycles) = 65,
98
+ HKCATEGORYTYPEIDENTIFIERPERSISTENTINTERMENSTRUALBLEEDING SWIFT_NAME(hkcategorytypeidentifierpersistentintermenstrualbleeding) = 66,
99
+ HKCATEGORYTYPEIDENTIFIERPROLONGEDMENSTRUALPERIODS SWIFT_NAME(hkcategorytypeidentifierprolongedmenstrualperiods) = 67,
100
+ HKCATEGORYTYPEIDENTIFIERSLEEPAPNEAEVENT SWIFT_NAME(hkcategorytypeidentifiersleepapneaevent) = 68,
96
101
  } CLOSED_ENUM;
97
102
 
98
103
  } // namespace margelo::nitro::healthkit
@@ -169,6 +174,11 @@ namespace margelo::nitro {
169
174
  case hashString("HKCategoryTypeIdentifierWheezing"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERWHEEZING;
170
175
  case hashString("HKCategoryTypeIdentifierBleedingAfterPregnancy"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERBLEEDINGAFTERPREGNANCY;
171
176
  case hashString("HKCategoryTypeIdentifierBleedingDuringPregnancy"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERBLEEDINGDURINGPREGNANCY;
177
+ case hashString("HKCategoryTypeIdentifierInfrequentMenstrualCycles"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERINFREQUENTMENSTRUALCYCLES;
178
+ case hashString("HKCategoryTypeIdentifierIrregularMenstrualCycles"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERIRREGULARMENSTRUALCYCLES;
179
+ case hashString("HKCategoryTypeIdentifierPersistentIntermenstrualBleeding"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERPERSISTENTINTERMENSTRUALBLEEDING;
180
+ case hashString("HKCategoryTypeIdentifierProlongedMenstrualPeriods"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERPROLONGEDMENSTRUALPERIODS;
181
+ case hashString("HKCategoryTypeIdentifierSleepApneaEvent"): return margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERSLEEPAPNEAEVENT;
172
182
  default: [[unlikely]]
173
183
  throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum CategoryTypeIdentifier - invalid value!");
174
184
  }
@@ -239,6 +249,11 @@ namespace margelo::nitro {
239
249
  case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERWHEEZING: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierWheezing");
240
250
  case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERBLEEDINGAFTERPREGNANCY: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierBleedingAfterPregnancy");
241
251
  case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERBLEEDINGDURINGPREGNANCY: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierBleedingDuringPregnancy");
252
+ case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERINFREQUENTMENSTRUALCYCLES: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierInfrequentMenstrualCycles");
253
+ case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERIRREGULARMENSTRUALCYCLES: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierIrregularMenstrualCycles");
254
+ case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERPERSISTENTINTERMENSTRUALBLEEDING: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierPersistentIntermenstrualBleeding");
255
+ case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERPROLONGEDMENSTRUALPERIODS: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierProlongedMenstrualPeriods");
256
+ case margelo::nitro::healthkit::CategoryTypeIdentifier::HKCATEGORYTYPEIDENTIFIERSLEEPAPNEAEVENT: return JSIConverter<std::string>::toJSI(runtime, "HKCategoryTypeIdentifierSleepApneaEvent");
242
257
  default: [[unlikely]]
243
258
  throw std::invalid_argument("Cannot convert CategoryTypeIdentifier to JS - invalid value: "
244
259
  + std::to_string(static_cast<int>(arg)) + "!");
@@ -314,6 +329,11 @@ namespace margelo::nitro {
314
329
  case hashString("HKCategoryTypeIdentifierWheezing"):
315
330
  case hashString("HKCategoryTypeIdentifierBleedingAfterPregnancy"):
316
331
  case hashString("HKCategoryTypeIdentifierBleedingDuringPregnancy"):
332
+ case hashString("HKCategoryTypeIdentifierInfrequentMenstrualCycles"):
333
+ case hashString("HKCategoryTypeIdentifierIrregularMenstrualCycles"):
334
+ case hashString("HKCategoryTypeIdentifierPersistentIntermenstrualBleeding"):
335
+ case hashString("HKCategoryTypeIdentifierProlongedMenstrualPeriods"):
336
+ case hashString("HKCategoryTypeIdentifierSleepApneaEvent"):
317
337
  return true;
318
338
  default:
319
339
  return false;
@@ -16,6 +16,10 @@ namespace margelo::nitro::healthkit {
16
16
  registerHybrids(this, [](Prototype& prototype) {
17
17
  prototype.registerHybridGetter("workoutActivityType", &HybridWorkoutProxySpec::getWorkoutActivityType);
18
18
  prototype.registerHybridGetter("duration", &HybridWorkoutProxySpec::getDuration);
19
+ prototype.registerHybridGetter("totalEnergyBurned", &HybridWorkoutProxySpec::getTotalEnergyBurned);
20
+ prototype.registerHybridGetter("totalDistance", &HybridWorkoutProxySpec::getTotalDistance);
21
+ prototype.registerHybridGetter("totalSwimmingStrokeCount", &HybridWorkoutProxySpec::getTotalSwimmingStrokeCount);
22
+ prototype.registerHybridGetter("totalFlightsClimbed", &HybridWorkoutProxySpec::getTotalFlightsClimbed);
19
23
  prototype.registerHybridGetter("events", &HybridWorkoutProxySpec::getEvents);
20
24
  prototype.registerHybridGetter("activities", &HybridWorkoutProxySpec::getActivities);
21
25
  prototype.registerHybridGetter("metadataAverageMETs", &HybridWorkoutProxySpec::getMetadataAverageMETs);
@@ -48,9 +48,9 @@ namespace margelo::nitro::healthkit { enum class QuantityTypeIdentifier; }
48
48
 
49
49
  #include "WorkoutActivityType.hpp"
50
50
  #include "Quantity.hpp"
51
+ #include <optional>
51
52
  #include "WorkoutEvent.hpp"
52
53
  #include <vector>
53
- #include <optional>
54
54
  #include "WorkoutActivity.hpp"
55
55
  #include "SampleType.hpp"
56
56
  #include <chrono>
@@ -99,6 +99,10 @@ namespace margelo::nitro::healthkit {
99
99
  // Properties
100
100
  virtual WorkoutActivityType getWorkoutActivityType() = 0;
101
101
  virtual Quantity getDuration() = 0;
102
+ virtual std::optional<Quantity> getTotalEnergyBurned() = 0;
103
+ virtual std::optional<Quantity> getTotalDistance() = 0;
104
+ virtual std::optional<Quantity> getTotalSwimmingStrokeCount() = 0;
105
+ virtual std::optional<Quantity> getTotalFlightsClimbed() = 0;
102
106
  virtual std::optional<std::vector<WorkoutEvent>> getEvents() = 0;
103
107
  virtual std::optional<std::vector<WorkoutActivity>> getActivities() = 0;
104
108
  virtual std::optional<Quantity> getMetadataAverageMETs() = 0;
@@ -44,8 +44,8 @@ namespace margelo::nitro::healthkit { struct Device; }
44
44
 
45
45
  #include "MedicationDoseEventScheduleType.hpp"
46
46
  #include <string>
47
- #include <chrono>
48
47
  #include <optional>
48
+ #include <chrono>
49
49
  #include "MedicationDoseEventLogStatus.hpp"
50
50
  #include "SampleType.hpp"
51
51
  #include "WeatherCondition.hpp"
@@ -65,6 +65,7 @@ namespace margelo::nitro::healthkit {
65
65
  public:
66
66
  MedicationDoseEventScheduleType scheduleType SWIFT_PRIVATE;
67
67
  std::string medicationConceptIdentifier SWIFT_PRIVATE;
68
+ std::optional<std::string> medicationDisplayText SWIFT_PRIVATE;
68
69
  std::optional<std::chrono::system_clock::time_point> scheduledDate SWIFT_PRIVATE;
69
70
  std::optional<double> scheduledDoseQuantity SWIFT_PRIVATE;
70
71
  std::optional<double> doseQuantity SWIFT_PRIVATE;
@@ -101,7 +102,7 @@ namespace margelo::nitro::healthkit {
101
102
 
102
103
  public:
103
104
  MedicationDoseEvent() = default;
104
- explicit MedicationDoseEvent(MedicationDoseEventScheduleType scheduleType, std::string medicationConceptIdentifier, std::optional<std::chrono::system_clock::time_point> scheduledDate, std::optional<double> scheduledDoseQuantity, std::optional<double> doseQuantity, MedicationDoseEventLogStatus logStatus, std::string unit, SampleType sampleType, std::chrono::system_clock::time_point startDate, std::chrono::system_clock::time_point endDate, bool hasUndeterminedDuration, std::optional<WeatherCondition> metadataWeatherCondition, std::optional<Quantity> metadataWeatherHumidity, std::optional<Quantity> metadataWeatherTemperature, std::optional<InsulinDeliveryReason> metadataInsulinDeliveryReason, std::optional<HeartRateMotionContext> metadataHeartRateMotionContext, std::string uuid, SourceRevision sourceRevision, std::optional<Device> device, std::shared_ptr<AnyMap> metadata, std::optional<std::string> metadataExternalUUID, std::optional<std::string> metadataTimeZone, std::optional<bool> metadataWasUserEntered, std::optional<std::string> metadataDeviceSerialNumber, std::optional<std::string> metadataUdiDeviceIdentifier, std::optional<std::string> metadataUdiProductionIdentifier, std::optional<std::string> metadataDigitalSignature, std::optional<std::string> metadataDeviceName, std::optional<std::string> metadataDeviceManufacturerName, std::optional<std::string> metadataSyncIdentifier, std::optional<double> metadataSyncVersion, std::optional<bool> metadataWasTakenInLab, std::optional<double> metadataReferenceRangeLowerLimit, std::optional<double> metadataReferenceRangeUpperLimit, std::optional<double> metadataAlgorithmVersion): scheduleType(scheduleType), medicationConceptIdentifier(medicationConceptIdentifier), scheduledDate(scheduledDate), scheduledDoseQuantity(scheduledDoseQuantity), doseQuantity(doseQuantity), logStatus(logStatus), unit(unit), sampleType(sampleType), startDate(startDate), endDate(endDate), hasUndeterminedDuration(hasUndeterminedDuration), metadataWeatherCondition(metadataWeatherCondition), metadataWeatherHumidity(metadataWeatherHumidity), metadataWeatherTemperature(metadataWeatherTemperature), metadataInsulinDeliveryReason(metadataInsulinDeliveryReason), metadataHeartRateMotionContext(metadataHeartRateMotionContext), uuid(uuid), sourceRevision(sourceRevision), device(device), metadata(metadata), metadataExternalUUID(metadataExternalUUID), metadataTimeZone(metadataTimeZone), metadataWasUserEntered(metadataWasUserEntered), metadataDeviceSerialNumber(metadataDeviceSerialNumber), metadataUdiDeviceIdentifier(metadataUdiDeviceIdentifier), metadataUdiProductionIdentifier(metadataUdiProductionIdentifier), metadataDigitalSignature(metadataDigitalSignature), metadataDeviceName(metadataDeviceName), metadataDeviceManufacturerName(metadataDeviceManufacturerName), metadataSyncIdentifier(metadataSyncIdentifier), metadataSyncVersion(metadataSyncVersion), metadataWasTakenInLab(metadataWasTakenInLab), metadataReferenceRangeLowerLimit(metadataReferenceRangeLowerLimit), metadataReferenceRangeUpperLimit(metadataReferenceRangeUpperLimit), metadataAlgorithmVersion(metadataAlgorithmVersion) {}
105
+ explicit MedicationDoseEvent(MedicationDoseEventScheduleType scheduleType, std::string medicationConceptIdentifier, std::optional<std::string> medicationDisplayText, std::optional<std::chrono::system_clock::time_point> scheduledDate, std::optional<double> scheduledDoseQuantity, std::optional<double> doseQuantity, MedicationDoseEventLogStatus logStatus, std::string unit, SampleType sampleType, std::chrono::system_clock::time_point startDate, std::chrono::system_clock::time_point endDate, bool hasUndeterminedDuration, std::optional<WeatherCondition> metadataWeatherCondition, std::optional<Quantity> metadataWeatherHumidity, std::optional<Quantity> metadataWeatherTemperature, std::optional<InsulinDeliveryReason> metadataInsulinDeliveryReason, std::optional<HeartRateMotionContext> metadataHeartRateMotionContext, std::string uuid, SourceRevision sourceRevision, std::optional<Device> device, std::shared_ptr<AnyMap> metadata, std::optional<std::string> metadataExternalUUID, std::optional<std::string> metadataTimeZone, std::optional<bool> metadataWasUserEntered, std::optional<std::string> metadataDeviceSerialNumber, std::optional<std::string> metadataUdiDeviceIdentifier, std::optional<std::string> metadataUdiProductionIdentifier, std::optional<std::string> metadataDigitalSignature, std::optional<std::string> metadataDeviceName, std::optional<std::string> metadataDeviceManufacturerName, std::optional<std::string> metadataSyncIdentifier, std::optional<double> metadataSyncVersion, std::optional<bool> metadataWasTakenInLab, std::optional<double> metadataReferenceRangeLowerLimit, std::optional<double> metadataReferenceRangeUpperLimit, std::optional<double> metadataAlgorithmVersion): scheduleType(scheduleType), medicationConceptIdentifier(medicationConceptIdentifier), medicationDisplayText(medicationDisplayText), scheduledDate(scheduledDate), scheduledDoseQuantity(scheduledDoseQuantity), doseQuantity(doseQuantity), logStatus(logStatus), unit(unit), sampleType(sampleType), startDate(startDate), endDate(endDate), hasUndeterminedDuration(hasUndeterminedDuration), metadataWeatherCondition(metadataWeatherCondition), metadataWeatherHumidity(metadataWeatherHumidity), metadataWeatherTemperature(metadataWeatherTemperature), metadataInsulinDeliveryReason(metadataInsulinDeliveryReason), metadataHeartRateMotionContext(metadataHeartRateMotionContext), uuid(uuid), sourceRevision(sourceRevision), device(device), metadata(metadata), metadataExternalUUID(metadataExternalUUID), metadataTimeZone(metadataTimeZone), metadataWasUserEntered(metadataWasUserEntered), metadataDeviceSerialNumber(metadataDeviceSerialNumber), metadataUdiDeviceIdentifier(metadataUdiDeviceIdentifier), metadataUdiProductionIdentifier(metadataUdiProductionIdentifier), metadataDigitalSignature(metadataDigitalSignature), metadataDeviceName(metadataDeviceName), metadataDeviceManufacturerName(metadataDeviceManufacturerName), metadataSyncIdentifier(metadataSyncIdentifier), metadataSyncVersion(metadataSyncVersion), metadataWasTakenInLab(metadataWasTakenInLab), metadataReferenceRangeLowerLimit(metadataReferenceRangeLowerLimit), metadataReferenceRangeUpperLimit(metadataReferenceRangeUpperLimit), metadataAlgorithmVersion(metadataAlgorithmVersion) {}
105
106
  };
106
107
 
107
108
  } // namespace margelo::nitro::healthkit
@@ -116,6 +117,7 @@ namespace margelo::nitro {
116
117
  return margelo::nitro::healthkit::MedicationDoseEvent(
117
118
  JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType>::fromJSI(runtime, obj.getProperty(runtime, "scheduleType")),
118
119
  JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "medicationConceptIdentifier")),
120
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "medicationDisplayText")),
119
121
  JSIConverter<std::optional<std::chrono::system_clock::time_point>>::fromJSI(runtime, obj.getProperty(runtime, "scheduledDate")),
120
122
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "scheduledDoseQuantity")),
121
123
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "doseQuantity")),
@@ -155,6 +157,7 @@ namespace margelo::nitro {
155
157
  jsi::Object obj(runtime);
156
158
  obj.setProperty(runtime, "scheduleType", JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType>::toJSI(runtime, arg.scheduleType));
157
159
  obj.setProperty(runtime, "medicationConceptIdentifier", JSIConverter<std::string>::toJSI(runtime, arg.medicationConceptIdentifier));
160
+ obj.setProperty(runtime, "medicationDisplayText", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.medicationDisplayText));
158
161
  obj.setProperty(runtime, "scheduledDate", JSIConverter<std::optional<std::chrono::system_clock::time_point>>::toJSI(runtime, arg.scheduledDate));
159
162
  obj.setProperty(runtime, "scheduledDoseQuantity", JSIConverter<std::optional<double>>::toJSI(runtime, arg.scheduledDoseQuantity));
160
163
  obj.setProperty(runtime, "doseQuantity", JSIConverter<std::optional<double>>::toJSI(runtime, arg.doseQuantity));
@@ -200,6 +203,7 @@ namespace margelo::nitro {
200
203
  }
201
204
  if (!JSIConverter<margelo::nitro::healthkit::MedicationDoseEventScheduleType>::canConvert(runtime, obj.getProperty(runtime, "scheduleType"))) return false;
202
205
  if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "medicationConceptIdentifier"))) return false;
206
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "medicationDisplayText"))) return false;
203
207
  if (!JSIConverter<std::optional<std::chrono::system_clock::time_point>>::canConvert(runtime, obj.getProperty(runtime, "scheduledDate"))) return false;
204
208
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "scheduledDoseQuantity"))) return false;
205
209
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "doseQuantity"))) return false;