@kingstinct/react-native-healthkit 14.1.0 → 16.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 (123) hide show
  1. package/README.md +37 -3
  2. package/ReactNativeHealthkit.podspec +11 -7
  3. package/app.plugin.js +33 -94
  4. package/app.plugin.ts +29 -104
  5. package/ios/CategoryTypeModule.swift +1 -0
  6. package/ios/CharacteristicTypeModule.swift +7 -6
  7. package/ios/Constants.swift +9 -10
  8. package/ios/CoreModule.swift +77 -42
  9. package/ios/CorrelationTypeModule.swift +3 -2
  10. package/ios/ElectrocardiogramModule.swift +4 -3
  11. package/ios/HeartbeatSeriesModule.swift +4 -3
  12. package/ios/Helpers.swift +11 -216
  13. package/ios/MedicationModule.swift +9 -8
  14. package/ios/MemoryEstimation.swift +84 -0
  15. package/ios/PredicateHelpers.swift +16 -86
  16. package/ios/QuantityTypeModule.swift +37 -28
  17. package/ios/Serializers.swift +34 -70
  18. package/ios/SourceProxy.swift +15 -5
  19. package/ios/StateOfMindModule.swift +3 -2
  20. package/ios/WorkoutProxy.swift +31 -13
  21. package/ios/WorkoutsModule.swift +4 -3
  22. package/lib/commonjs/generated/healthkit.generated.js +15 -3
  23. package/lib/commonjs/healthkit.ios.js +6 -2
  24. package/lib/commonjs/healthkit.js +24 -79
  25. package/lib/commonjs/types/Auth.js +3 -18
  26. package/lib/commonjs/types/Background.js +2 -10
  27. package/lib/commonjs/types/QueryOptions.js +2 -17
  28. package/lib/module/generated/healthkit.generated.js +14 -2
  29. package/lib/module/healthkit.ios.js +4 -0
  30. package/lib/module/healthkit.js +22 -77
  31. package/lib/module/types/Auth.js +1 -18
  32. package/lib/module/types/Background.js +1 -10
  33. package/lib/module/types/QueryOptions.js +1 -17
  34. package/lib/typescript/generated/healthkit.generated.d.ts +20 -7
  35. package/lib/typescript/healthkit.d.ts +4 -2
  36. package/lib/typescript/healthkit.ios.d.ts +13 -9
  37. package/lib/typescript/specs/CoreModule.nitro.d.ts +22 -4
  38. package/lib/typescript/specs/SourceProxy.nitro.d.ts +2 -5
  39. package/lib/typescript/types/Auth.d.ts +1 -16
  40. package/lib/typescript/types/Background.d.ts +1 -9
  41. package/lib/typescript/types/Device.d.ts +1 -13
  42. package/lib/typescript/types/QuantityType.d.ts +3 -3
  43. package/lib/typescript/types/QueryOptions.d.ts +3 -37
  44. package/lib/typescript/types/Shared.d.ts +2 -25
  45. package/lib/typescript/types/Source.d.ts +1 -10
  46. package/lib/typescript/types/Subscriptions.d.ts +2 -3
  47. package/lib/typescript/types/Units.d.ts +1 -1
  48. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +24 -16
  49. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +91 -12
  50. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +8 -5
  51. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +8 -0
  52. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +8 -5
  53. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +8 -5
  54. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +8 -5
  55. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +8 -5
  56. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +8 -5
  57. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +8 -5
  58. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +3 -4
  59. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +6 -3
  60. package/nitrogen/generated/ios/swift/CategorySample.swift +8 -8
  61. package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +8 -0
  62. package/nitrogen/generated/ios/swift/CategoryTypeIdentifierWriteable.swift +8 -0
  63. package/nitrogen/generated/ios/swift/CorrelationSample.swift +8 -8
  64. package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +8 -8
  65. package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_.swift +54 -0
  66. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +8 -8
  67. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +1 -0
  68. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +25 -0
  69. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +8 -8
  70. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +12 -4
  71. package/nitrogen/generated/ios/swift/QuantitySample.swift +8 -8
  72. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +4 -4
  73. package/nitrogen/generated/ios/swift/QuantityTypeIdentifierWriteable.swift +4 -4
  74. package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +6 -13
  75. package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +4 -11
  76. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +12 -4
  77. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +12 -4
  78. package/nitrogen/generated/ios/swift/SourceRevision.swift +4 -11
  79. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +8 -8
  80. package/nitrogen/generated/ios/swift/WorkoutActivityType.swift +8 -0
  81. package/nitrogen/generated/shared/c++/CategorySample.hpp +7 -7
  82. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +67 -59
  83. package/nitrogen/generated/shared/c++/CategoryTypeIdentifierWriteable.hpp +67 -59
  84. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +7 -7
  85. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +7 -7
  86. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +7 -7
  87. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +1 -0
  88. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +3 -1
  89. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +7 -7
  90. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +206 -198
  91. package/nitrogen/generated/shared/c++/QuantitySample.hpp +7 -7
  92. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +73 -73
  93. package/nitrogen/generated/shared/c++/QuantityTypeIdentifierWriteable.hpp +73 -73
  94. package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +8 -9
  95. package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +8 -9
  96. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +199 -191
  97. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +193 -185
  98. package/nitrogen/generated/shared/c++/SourceRevision.hpp +8 -9
  99. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +7 -7
  100. package/nitrogen/generated/shared/c++/WorkoutActivityType.hpp +4 -0
  101. package/package.json +8 -3
  102. package/src/generated/healthkit-schema.json +53 -8
  103. package/src/generated/healthkit.generated.ts +22 -6
  104. package/src/healthkit.ios.ts +6 -0
  105. package/src/healthkit.ts +32 -84
  106. package/src/specs/CoreModule.nitro.ts +25 -4
  107. package/src/specs/SourceProxy.nitro.ts +2 -4
  108. package/src/test-setup.ts +1 -0
  109. package/src/type-tests/generated-typing.ts +30 -8
  110. package/src/types/Auth.ts +4 -17
  111. package/src/types/Background.ts +1 -9
  112. package/src/types/Device.ts +1 -13
  113. package/src/types/QuantityType.ts +3 -3
  114. package/src/types/QueryOptions.ts +7 -65
  115. package/src/types/Shared.ts +7 -28
  116. package/src/types/Source.ts +1 -11
  117. package/src/types/Subscriptions.ts +2 -3
  118. package/src/types/Units.ts +1 -1
  119. package/ios/BackgroundDeliveryManager.swift +0 -277
  120. package/ios/Bridge.h +0 -10
  121. package/ios/ExceptionCatcher.h +0 -5
  122. package/ios/ExceptionCatcher.mm +0 -32
  123. package/ios/module.modulemap +0 -5
@@ -1,8 +1,6 @@
1
+ import type { Source } from '@react-native-healthkit/core';
1
2
  import type { HybridObject } from 'react-native-nitro-modules';
2
- interface Source {
3
- readonly name: string;
4
- readonly bundleIdentifier: string;
5
- }
3
+ export type { Source };
6
4
  /**
7
5
  * @see {@link https://developer.apple.com/documentation/healthkit/hkobject/1615781-source Apple Docs }
8
6
  */
@@ -11,4 +9,3 @@ export interface SourceProxy extends HybridObject<{
11
9
  }>, Source {
12
10
  toJSON(key?: string): Source;
13
11
  }
14
- export {};
@@ -1,16 +1 @@
1
- /**
2
- * @see {@link https://developer.apple.com/documentation/healthkit/hkauthorizationrequeststatus Apple Docs }
3
- */
4
- export declare enum AuthorizationRequestStatus {
5
- unknown = 0,
6
- shouldRequest = 1,
7
- unnecessary = 2
8
- }
9
- /**
10
- * @see {@link https://developer.apple.com/documentation/healthkit/hkauthorizationstatus Apple Docs }
11
- */
12
- export declare enum AuthorizationStatus {
13
- notDetermined = 0,
14
- sharingDenied = 1,
15
- sharingAuthorized = 2
16
- }
1
+ export { AuthorizationRequestStatus, AuthorizationStatus, } from '@react-native-healthkit/core';
@@ -1,9 +1 @@
1
- /**
2
- * @see {@link https://developer.apple.com/documentation/healthkit/hkupdatefrequency Apple Docs }
3
- */
4
- export declare enum UpdateFrequency {
5
- immediate = 1,
6
- hourly = 2,
7
- daily = 3,
8
- weekly = 4
9
- }
1
+ export { UpdateFrequency } from '@react-native-healthkit/core';
@@ -1,13 +1 @@
1
- /**
2
- * @see {@link https://developer.apple.com/documentation/healthkit/hkdevice Apple Docs }
3
- */
4
- export interface Device {
5
- readonly name?: string;
6
- readonly firmwareVersion?: string;
7
- readonly hardwareVersion?: string;
8
- readonly localIdentifier?: string;
9
- readonly manufacturer?: string;
10
- readonly model?: string;
11
- readonly softwareVersion?: string;
12
- readonly udiDeviceIdentifier?: string;
13
- }
1
+ export type { Device } from '@react-native-healthkit/core';
@@ -1,10 +1,10 @@
1
1
  import type { UnitForIdentifierGenerated } from '../generated/healthkit.generated';
2
2
  import { HeartRateMotionContext, InsulinDeliveryReason } from '../generated/healthkit.generated';
3
- import type { SourceProxy } from '../specs/SourceProxy.nitro';
4
3
  import type { QuantitySample, QuantitySampleTyped } from './QuantitySample';
5
4
  import type { QuantityTypeIdentifier } from './QuantityTypeIdentifier';
6
5
  import type { FilterForSamples } from './QueryOptions';
7
6
  import type { DeletedSample } from './Shared';
7
+ import type { Source } from './Source';
8
8
  export { HeartRateMotionContext, InsulinDeliveryReason };
9
9
  interface QuantityDateInterval {
10
10
  readonly from: Date;
@@ -20,10 +20,10 @@ export interface QueryStatisticsResponse {
20
20
  readonly duration?: Quantity;
21
21
  readonly startDate?: Date;
22
22
  readonly endDate?: Date;
23
- sources: SourceProxy[];
23
+ readonly sources: readonly Source[];
24
24
  }
25
25
  export interface QueryStatisticsResponseFromSingleSource extends Omit<QueryStatisticsResponse, 'sources'> {
26
- readonly source: SourceProxy;
26
+ readonly source: Source;
27
27
  }
28
28
  export declare enum AggregationStyle {
29
29
  cumulative = 0,
@@ -1,41 +1,8 @@
1
+ import type { DateFilter, PredicateWithMetadataKey, StrictUnion } from '@react-native-healthkit/core';
1
2
  import type { SourceProxy } from '../specs/SourceProxy.nitro';
2
3
  import type { WorkoutProxy } from '../specs/WorkoutProxy.nitro';
3
- export declare enum ComparisonPredicateOperator {
4
- lessThan = 0,
5
- lessThanOrEqualTo = 1,
6
- greaterThan = 2,
7
- greaterThanOrEqualTo = 3,
8
- equalTo = 4,
9
- notEqualTo = 5,
10
- matches = 6,
11
- like = 7,
12
- beginsWith = 8,
13
- endsWith = 9,
14
- IN = 10,
15
- customSelector = 11,
16
- contains = 99,
17
- between = 100
18
- }
19
- type PredicateWithMetadataValue = string | number | Date | boolean;
20
- export interface PredicateWithMetadataKey {
21
- readonly withMetadataKey: string;
22
- readonly operatorType?: ComparisonPredicateOperator;
23
- readonly value?: PredicateWithMetadataValue;
24
- }
25
- type ComputeRaw<A> = A extends Function ? A : {
26
- [K in keyof A]: A[K];
27
- } & {};
28
- type AllKeys<U> = U extends any ? keyof U : never;
29
- type _Strict<U, UAll extends U = U> = U extends any ? ComputeRaw<U & {
30
- [K in Exclude<AllKeys<UAll>, keyof U>]?: never;
31
- }> : never;
32
- export type StrictUnion<U extends object> = _Strict<U>;
33
- export interface DateFilter {
34
- readonly startDate?: Date;
35
- readonly endDate?: Date;
36
- readonly strictEndDate?: boolean;
37
- readonly strictStartDate?: boolean;
38
- }
4
+ export { ComparisonPredicateOperator } from '@react-native-healthkit/core';
5
+ export type { DateFilter, PredicateWithMetadataKey, StrictUnion };
39
6
  export interface FilterForSamplesBase {
40
7
  readonly uuid?: string;
41
8
  readonly uuids?: string[];
@@ -76,4 +43,3 @@ export interface QueryOptionsWithSortOrderAndStringUnit extends QueryOptionsWith
76
43
  }
77
44
  export interface QueryOptionsWithAnchorAndStringUnit extends QueryOptionsWithAnchorAndUnit<string> {
78
45
  }
79
- export {};
@@ -1,16 +1,12 @@
1
+ import type { BaseObject, BaseSample, DeletedSample, SampleType } from '@react-native-healthkit/core';
1
2
  import type { AnyMap } from 'react-native-nitro-modules';
2
3
  import type { KnownObjectMetadata, KnownSampleMetadata } from '../generated/healthkit.generated';
3
4
  import type { CategoryTypeIdentifier, CategoryTypeIdentifierWriteable } from './CategoryTypeIdentifier';
4
5
  import type { CharacteristicTypeIdentifier } from './Characteristics';
5
6
  import type { ActivitySummaryTypeIdentifier, AudiogramTypeIdentifier, ElectrocardiogramTypeIdentifier, HeartbeatSeriesTypeIdentifier, HKVisionPrescriptionTypeIdentifier, StateOfMindTypeIdentifier, UserAnnotatedMedicationTypeIdentifier, WorkoutRouteTypeIdentifier, WorkoutTypeIdentifier } from './Constants';
6
7
  import type { CorrelationTypeIdentifier } from './CorrelationType';
7
- import type { Device } from './Device';
8
8
  import type { QuantityTypeIdentifier, QuantityTypeIdentifierWriteable } from './QuantityTypeIdentifier';
9
- import type { SourceRevision } from './Source';
10
- export interface DeletedSample {
11
- readonly uuid: string;
12
- readonly metadata?: AnyMap;
13
- }
9
+ export type { BaseObject, BaseSample, DeletedSample, SampleType };
14
10
  export type ObjectTypeIdentifier = CharacteristicTypeIdentifier | SampleTypeIdentifier | typeof ActivitySummaryTypeIdentifier;
15
11
  export type PerObjectTypeIdentifier = typeof HKVisionPrescriptionTypeIdentifier | typeof UserAnnotatedMedicationTypeIdentifier;
16
12
  export type SampleTypeIdentifier = CategoryTypeIdentifier | CorrelationTypeIdentifier | QuantityTypeIdentifier | typeof StateOfMindTypeIdentifier | typeof AudiogramTypeIdentifier | typeof HeartbeatSeriesTypeIdentifier | typeof WorkoutRouteTypeIdentifier | typeof WorkoutTypeIdentifier | typeof ElectrocardiogramTypeIdentifier;
@@ -25,22 +21,3 @@ export type WithOptionalTypedMetadata<T, TMetadata extends object> = Omit<T, 'me
25
21
  };
26
22
  export type BaseObjectTyped<TMetadata extends object = KnownObjectMetadata> = WithTypedMetadata<BaseObject, TMetadata>;
27
23
  export type BaseSampleTyped<TMetadata extends object = KnownSampleMetadata> = WithTypedMetadata<BaseSample, TMetadata>;
28
- export interface BaseObject {
29
- readonly uuid: string;
30
- readonly sourceRevision: SourceRevision;
31
- readonly device?: Device;
32
- readonly metadata: AnyMap;
33
- }
34
- export interface SampleType {
35
- identifier: string;
36
- allowsRecalibrationForEstimates: boolean;
37
- isMinimumDurationRestricted: boolean;
38
- isMaximumDurationRestricted: boolean;
39
- }
40
- export interface BaseSample extends BaseObject {
41
- readonly sampleType: SampleType;
42
- readonly startDate: Date;
43
- readonly endDate: Date;
44
- readonly hasUndeterminedDuration: boolean;
45
- readonly metadata: AnyMap;
46
- }
@@ -1,10 +1 @@
1
- import type { SourceProxy } from '../specs/SourceProxy.nitro';
2
- /**
3
- * @see {@link https://developer.apple.com/documentation/healthkit/hkobject/1615483-sourcerevision Apple Docs }
4
- */
5
- export interface SourceRevision {
6
- readonly source: SourceProxy;
7
- readonly version?: string;
8
- readonly operatingSystemVersion: string;
9
- readonly productType?: string;
10
- }
1
+ export type { Source, SourceRevision } from '@react-native-healthkit/core';
@@ -1,11 +1,10 @@
1
+ import type { EmitterSubscription } from '@react-native-healthkit/core';
1
2
  import type { CategorySampleTyped } from './CategoryType';
2
3
  import type { CategoryTypeIdentifier } from './CategoryTypeIdentifier';
3
4
  import type { QuantitySampleTyped } from './QuantitySample';
4
5
  import type { QuantityTypeIdentifier } from './QuantityTypeIdentifier';
5
6
  import type { SampleTypeIdentifier } from './Shared';
6
- export interface EmitterSubscription {
7
- remove: () => void;
8
- }
7
+ export type { EmitterSubscription };
9
8
  export interface OnChangeCallbackArgs {
10
9
  readonly typeIdentifier: SampleTypeIdentifier;
11
10
  readonly errorMessage?: string;
@@ -87,7 +87,7 @@ export type TemperatureUnit = 'degC' | 'degF' | 'K';
87
87
  */
88
88
  export type UnitOfEnergy = 'kcal' | 'Cal' | 'cal' | 'J';
89
89
  export type EnergyUnit = JouleUnit<MetricPrefix> | UnitOfEnergy;
90
- export type BloodGlucoseUnit = 'mmol<180.15588000005408>/l' | 'mmol/L' | 'mg/dL';
90
+ export type BloodGlucoseUnit = 'mmol<180.15588000005408>/l' | 'mg/dL';
91
91
  export type SpeedUnit<TLength extends LengthUnit, TTime extends TimeUnit> = `${TLength}/${TTime}`;
92
92
  export type CountPerTime<TTime extends TimeUnit> = `count/${TTime}`;
93
93
  export type Unit = BloodGlucoseUnit | CountPerTime<TimeUnit> | EnergyUnit | FrequencyUnit | Units | LengthUnit | MassUnit | PressureUnit | SpeedUnit<LengthUnit, TimeUnit> | TemperatureUnit | TimeUnit | VolumeUnit;
@@ -25,22 +25,6 @@
25
25
 
26
26
  namespace margelo::nitro::healthkit::bridge::swift {
27
27
 
28
- // pragma MARK: std::shared_ptr<HybridSourceProxySpec>
29
- std::shared_ptr<HybridSourceProxySpec> create_std__shared_ptr_HybridSourceProxySpec_(void* NON_NULL swiftUnsafePointer) noexcept {
30
- ReactNativeHealthkit::HybridSourceProxySpec_cxx swiftPart = ReactNativeHealthkit::HybridSourceProxySpec_cxx::fromUnsafe(swiftUnsafePointer);
31
- return std::make_shared<margelo::nitro::healthkit::HybridSourceProxySpecSwift>(swiftPart);
32
- }
33
- void* NON_NULL get_std__shared_ptr_HybridSourceProxySpec_(std__shared_ptr_HybridSourceProxySpec_ cppType) {
34
- std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::healthkit::HybridSourceProxySpecSwift>(cppType);
35
- #ifdef NITRO_DEBUG
36
- if (swiftWrapper == nullptr) [[unlikely]] {
37
- throw std::runtime_error("Class \"HybridSourceProxySpec\" is not implemented in Swift!");
38
- }
39
- #endif
40
- ReactNativeHealthkit::HybridSourceProxySpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
41
- return swiftPart.toUnsafe();
42
- }
43
-
44
28
  // pragma MARK: std::function<void(const std::optional<CategorySample>& /* result */)>
45
29
  Func_void_std__optional_CategorySample_ create_Func_void_std__optional_CategorySample_(void* NON_NULL swiftClosureWrapper) noexcept {
46
30
  auto swiftClosure = ReactNativeHealthkit::Func_void_std__optional_CategorySample_::fromUnsafe(swiftClosureWrapper);
@@ -65,6 +49,22 @@ namespace margelo::nitro::healthkit::bridge::swift {
65
49
  };
66
50
  }
67
51
 
52
+ // pragma MARK: std::shared_ptr<HybridSourceProxySpec>
53
+ std::shared_ptr<HybridSourceProxySpec> create_std__shared_ptr_HybridSourceProxySpec_(void* NON_NULL swiftUnsafePointer) noexcept {
54
+ ReactNativeHealthkit::HybridSourceProxySpec_cxx swiftPart = ReactNativeHealthkit::HybridSourceProxySpec_cxx::fromUnsafe(swiftUnsafePointer);
55
+ return std::make_shared<margelo::nitro::healthkit::HybridSourceProxySpecSwift>(swiftPart);
56
+ }
57
+ void* NON_NULL get_std__shared_ptr_HybridSourceProxySpec_(std__shared_ptr_HybridSourceProxySpec_ cppType) {
58
+ std::shared_ptr<margelo::nitro::healthkit::HybridSourceProxySpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::healthkit::HybridSourceProxySpecSwift>(cppType);
59
+ #ifdef NITRO_DEBUG
60
+ if (swiftWrapper == nullptr) [[unlikely]] {
61
+ throw std::runtime_error("Class \"HybridSourceProxySpec\" is not implemented in Swift!");
62
+ }
63
+ #endif
64
+ ReactNativeHealthkit::HybridSourceProxySpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
65
+ return swiftPart.toUnsafe();
66
+ }
67
+
68
68
  // pragma MARK: std::shared_ptr<HybridWorkoutProxySpec>
69
69
  std::shared_ptr<HybridWorkoutProxySpec> create_std__shared_ptr_HybridWorkoutProxySpec_(void* NON_NULL swiftUnsafePointer) noexcept {
70
70
  ReactNativeHealthkit::HybridWorkoutProxySpec_cxx swiftPart = ReactNativeHealthkit::HybridWorkoutProxySpec_cxx::fromUnsafe(swiftUnsafePointer);
@@ -217,6 +217,14 @@ namespace margelo::nitro::healthkit::bridge::swift {
217
217
  };
218
218
  }
219
219
 
220
+ // pragma MARK: std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& /* result */)>
221
+ Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_ create_Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_(void* NON_NULL swiftClosureWrapper) noexcept {
222
+ auto swiftClosure = ReactNativeHealthkit::Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_::fromUnsafe(swiftClosureWrapper);
223
+ return [swiftClosure = std::move(swiftClosure)](const std::unordered_map<std::string, std::chrono::system_clock::time_point>& result) mutable -> void {
224
+ swiftClosure.call(result);
225
+ };
226
+ }
227
+
220
228
  // pragma MARK: std::function<void(const std::unordered_map<std::string, bool>& /* result */)>
221
229
  Func_void_std__unordered_map_std__string__bool_ create_Func_void_std__unordered_map_std__string__bool_(void* NON_NULL swiftClosureWrapper) noexcept {
222
230
  auto swiftClosure = ReactNativeHealthkit::Func_void_std__unordered_map_std__string__bool_::fromUnsafe(swiftClosureWrapper);
@@ -323,18 +323,6 @@ namespace ReactNativeHealthkit { class HybridWorkoutsModuleSpec_cxx; }
323
323
  */
324
324
  namespace margelo::nitro::healthkit::bridge::swift {
325
325
 
326
- // pragma MARK: std::shared_ptr<HybridSourceProxySpec>
327
- /**
328
- * Specialized version of `std::shared_ptr<HybridSourceProxySpec>`.
329
- */
330
- using std__shared_ptr_HybridSourceProxySpec_ = std::shared_ptr<HybridSourceProxySpec>;
331
- std::shared_ptr<HybridSourceProxySpec> create_std__shared_ptr_HybridSourceProxySpec_(void* NON_NULL swiftUnsafePointer) noexcept;
332
- void* NON_NULL get_std__shared_ptr_HybridSourceProxySpec_(std__shared_ptr_HybridSourceProxySpec_ cppType);
333
-
334
- // pragma MARK: std::weak_ptr<HybridSourceProxySpec>
335
- using std__weak_ptr_HybridSourceProxySpec_ = std::weak_ptr<HybridSourceProxySpec>;
336
- inline std__weak_ptr_HybridSourceProxySpec_ weakify_std__shared_ptr_HybridSourceProxySpec_(const std::shared_ptr<HybridSourceProxySpec>& strong) noexcept { return strong; }
337
-
338
326
  // pragma MARK: std::optional<std::string>
339
327
  /**
340
328
  * Specialized version of `std::optional<std::string>`.
@@ -511,6 +499,18 @@ namespace margelo::nitro::healthkit::bridge::swift {
511
499
  return optional.value();
512
500
  }
513
501
 
502
+ // pragma MARK: std::shared_ptr<HybridSourceProxySpec>
503
+ /**
504
+ * Specialized version of `std::shared_ptr<HybridSourceProxySpec>`.
505
+ */
506
+ using std__shared_ptr_HybridSourceProxySpec_ = std::shared_ptr<HybridSourceProxySpec>;
507
+ std::shared_ptr<HybridSourceProxySpec> create_std__shared_ptr_HybridSourceProxySpec_(void* NON_NULL swiftUnsafePointer) noexcept;
508
+ void* NON_NULL get_std__shared_ptr_HybridSourceProxySpec_(std__shared_ptr_HybridSourceProxySpec_ cppType);
509
+
510
+ // pragma MARK: std::weak_ptr<HybridSourceProxySpec>
511
+ using std__weak_ptr_HybridSourceProxySpec_ = std::weak_ptr<HybridSourceProxySpec>;
512
+ inline std__weak_ptr_HybridSourceProxySpec_ weakify_std__shared_ptr_HybridSourceProxySpec_(const std::shared_ptr<HybridSourceProxySpec>& strong) noexcept { return strong; }
513
+
514
514
  // pragma MARK: std::vector<std::shared_ptr<HybridSourceProxySpec>>
515
515
  /**
516
516
  * Specialized version of `std::vector<std::shared_ptr<HybridSourceProxySpec>>`.
@@ -1403,6 +1403,65 @@ namespace margelo::nitro::healthkit::bridge::swift {
1403
1403
  return Func_void_Wrapper(std::move(value));
1404
1404
  }
1405
1405
 
1406
+ // pragma MARK: std::unordered_map<std::string, std::chrono::system_clock::time_point>
1407
+ /**
1408
+ * Specialized version of `std::unordered_map<std::string, std::chrono::system_clock::time_point>`.
1409
+ */
1410
+ using std__unordered_map_std__string__std__chrono__system_clock__time_point_ = std::unordered_map<std::string, std::chrono::system_clock::time_point>;
1411
+ inline std::unordered_map<std::string, std::chrono::system_clock::time_point> create_std__unordered_map_std__string__std__chrono__system_clock__time_point_(size_t size) noexcept {
1412
+ std::unordered_map<std::string, std::chrono::system_clock::time_point> map;
1413
+ map.reserve(size);
1414
+ return map;
1415
+ }
1416
+ inline std::vector<std::string> get_std__unordered_map_std__string__std__chrono__system_clock__time_point__keys(const std__unordered_map_std__string__std__chrono__system_clock__time_point_& map) noexcept {
1417
+ std::vector<std::string> keys;
1418
+ keys.reserve(map.size());
1419
+ for (const auto& entry : map) {
1420
+ keys.push_back(entry.first);
1421
+ }
1422
+ return keys;
1423
+ }
1424
+ inline std::chrono::system_clock::time_point get_std__unordered_map_std__string__std__chrono__system_clock__time_point__value(const std__unordered_map_std__string__std__chrono__system_clock__time_point_& map, const std::string& key) noexcept {
1425
+ return map.find(key)->second;
1426
+ }
1427
+ inline void emplace_std__unordered_map_std__string__std__chrono__system_clock__time_point_(std__unordered_map_std__string__std__chrono__system_clock__time_point_& map, const std::string& key, const std::chrono::system_clock::time_point& value) noexcept {
1428
+ map.emplace(key, value);
1429
+ }
1430
+
1431
+ // pragma MARK: std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>
1432
+ /**
1433
+ * Specialized version of `std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>`.
1434
+ */
1435
+ using std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point___ = std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>;
1436
+ inline std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>> create_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point___() noexcept {
1437
+ return Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>::create();
1438
+ }
1439
+ inline PromiseHolder<std::unordered_map<std::string, std::chrono::system_clock::time_point>> wrap_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point___(std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>> promise) noexcept {
1440
+ return PromiseHolder<std::unordered_map<std::string, std::chrono::system_clock::time_point>>(std::move(promise));
1441
+ }
1442
+
1443
+ // pragma MARK: std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& /* result */)>
1444
+ /**
1445
+ * Specialized version of `std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>&)>`.
1446
+ */
1447
+ using Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_ = std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& /* result */)>;
1448
+ /**
1449
+ * Wrapper class for a `std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& / * result * /)>`, this can be used from Swift.
1450
+ */
1451
+ class Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point__Wrapper final {
1452
+ public:
1453
+ explicit Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point__Wrapper(std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& /* result */)>>(std::move(func))) {}
1454
+ inline void call(std::unordered_map<std::string, std::chrono::system_clock::time_point> result) const noexcept {
1455
+ _function->operator()(result);
1456
+ }
1457
+ private:
1458
+ std::unique_ptr<std::function<void(const std::unordered_map<std::string, std::chrono::system_clock::time_point>& /* result */)>> _function;
1459
+ } SWIFT_NONCOPYABLE;
1460
+ Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_ create_Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_(void* NON_NULL swiftClosureWrapper) noexcept;
1461
+ inline Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point__Wrapper wrap_Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_(Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point_ value) noexcept {
1462
+ return Func_void_std__unordered_map_std__string__std__chrono__system_clock__time_point__Wrapper(std::move(value));
1463
+ }
1464
+
1406
1465
  // pragma MARK: std::unordered_map<std::string, bool>
1407
1466
  /**
1408
1467
  * Specialized version of `std::unordered_map<std::string, bool>`.
@@ -1573,6 +1632,15 @@ namespace margelo::nitro::healthkit::bridge::swift {
1573
1632
  return Result<std::shared_ptr<Promise<void>>>::withError(error);
1574
1633
  }
1575
1634
 
1635
+ // pragma MARK: Result<std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>>
1636
+ using Result_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point____ = Result<std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>>;
1637
+ inline Result_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point____ create_Result_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point____(const std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>& value) noexcept {
1638
+ return Result<std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>>::withValue(value);
1639
+ }
1640
+ inline Result_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point____ create_Result_std__shared_ptr_Promise_std__unordered_map_std__string__std__chrono__system_clock__time_point____(const std::exception_ptr& error) noexcept {
1641
+ return Result<std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>>>::withError(error);
1642
+ }
1643
+
1576
1644
  // pragma MARK: Result<std::unordered_map<std::string, bool>>
1577
1645
  using Result_std__unordered_map_std__string__bool__ = Result<std::unordered_map<std::string, bool>>;
1578
1646
  inline Result_std__unordered_map_std__string__bool__ create_Result_std__unordered_map_std__string__bool__(const std::unordered_map<std::string, bool>& value) noexcept {
@@ -2421,6 +2489,17 @@ namespace margelo::nitro::healthkit::bridge::swift {
2421
2489
  return optional.value();
2422
2490
  }
2423
2491
 
2492
+ // pragma MARK: std::vector<Source>
2493
+ /**
2494
+ * Specialized version of `std::vector<Source>`.
2495
+ */
2496
+ using std__vector_Source_ = std::vector<Source>;
2497
+ inline std::vector<Source> create_std__vector_Source_(size_t size) noexcept {
2498
+ std::vector<Source> vector;
2499
+ vector.reserve(size);
2500
+ return vector;
2501
+ }
2502
+
2424
2503
  // pragma MARK: std::shared_ptr<Promise<QueryStatisticsResponse>>
2425
2504
  /**
2426
2505
  * Specialized version of `std::shared_ptr<Promise<QueryStatisticsResponse>>`.
@@ -20,8 +20,8 @@ namespace margelo::nitro::healthkit { enum class CategoryTypeIdentifier; }
20
20
  namespace margelo::nitro::healthkit { struct SampleType; }
21
21
  // Forward declaration of `SourceRevision` to properly resolve imports.
22
22
  namespace margelo::nitro::healthkit { struct SourceRevision; }
23
- // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
24
- namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
23
+ // Forward declaration of `Source` to properly resolve imports.
24
+ namespace margelo::nitro::healthkit { struct Source; }
25
25
  // Forward declaration of `Device` to properly resolve imports.
26
26
  namespace margelo::nitro::healthkit { struct Device; }
27
27
  // Forward declaration of `CategoryTypeIdentifierWriteable` to properly resolve imports.
@@ -30,6 +30,8 @@ namespace margelo::nitro::healthkit { enum class CategoryTypeIdentifierWriteable
30
30
  namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrder; }
31
31
  // Forward declaration of `FilterForSamples` to properly resolve imports.
32
32
  namespace margelo::nitro::healthkit { struct FilterForSamples; }
33
+ // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
34
+ namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
33
35
  // Forward declaration of `FilterForSamplesBase` to properly resolve imports.
34
36
  namespace margelo::nitro::healthkit { struct FilterForSamplesBase; }
35
37
  // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
@@ -54,15 +56,16 @@ namespace margelo::nitro::healthkit { struct QueryOptionsWithAnchor; }
54
56
  #include "SampleType.hpp"
55
57
  #include <string>
56
58
  #include <chrono>
57
- #include <NitroModules/AnyMap.hpp>
58
59
  #include "SourceRevision.hpp"
59
- #include <memory>
60
- #include "HybridSourceProxySpec.hpp"
60
+ #include "Source.hpp"
61
61
  #include "Device.hpp"
62
+ #include <NitroModules/AnyMap.hpp>
62
63
  #include "CategoryTypeIdentifierWriteable.hpp"
63
64
  #include <vector>
64
65
  #include "QueryOptionsWithSortOrder.hpp"
65
66
  #include "FilterForSamples.hpp"
67
+ #include <memory>
68
+ #include "HybridSourceProxySpec.hpp"
66
69
  #include "FilterForSamplesBase.hpp"
67
70
  #include "PredicateWithMetadataKey.hpp"
68
71
  #include "ComparisonPredicateOperator.hpp"
@@ -295,6 +295,14 @@ namespace margelo::nitro::healthkit {
295
295
  auto __value = std::move(__result.value());
296
296
  return __value;
297
297
  }
298
+ inline std::shared_ptr<Promise<std::unordered_map<std::string, std::chrono::system_clock::time_point>>> getEarliestAuthorizedSampleDates(const std::vector<ObjectTypeIdentifier>& objectTypeIdentifiers) override {
299
+ auto __result = _swiftPart.getEarliestAuthorizedSampleDates(objectTypeIdentifiers);
300
+ if (__result.hasError()) [[unlikely]] {
301
+ std::rethrow_exception(__result.error());
302
+ }
303
+ auto __value = std::move(__result.value());
304
+ return __value;
305
+ }
298
306
  inline std::shared_ptr<Promise<double>> deleteObjects(SampleTypeIdentifierWriteable objectTypeIdentifier, const FilterForSamples& filter) override {
299
307
  auto __result = _swiftPart.deleteObjects(static_cast<int>(objectTypeIdentifier), std::forward<decltype(filter)>(filter));
300
308
  if (__result.hasError()) [[unlikely]] {
@@ -26,8 +26,8 @@ namespace margelo::nitro::healthkit { enum class CategoryTypeIdentifier; }
26
26
  namespace margelo::nitro::healthkit { struct SampleType; }
27
27
  // Forward declaration of `SourceRevision` to properly resolve imports.
28
28
  namespace margelo::nitro::healthkit { struct SourceRevision; }
29
- // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
30
- namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
29
+ // Forward declaration of `Source` to properly resolve imports.
30
+ namespace margelo::nitro::healthkit { struct Source; }
31
31
  // Forward declaration of `Device` to properly resolve imports.
32
32
  namespace margelo::nitro::healthkit { struct Device; }
33
33
  // Forward declaration of `QuantityTypeIdentifier` to properly resolve imports.
@@ -40,6 +40,8 @@ namespace margelo::nitro::healthkit { struct QuantitySampleForSaving; }
40
40
  namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrder; }
41
41
  // Forward declaration of `FilterForSamples` to properly resolve imports.
42
42
  namespace margelo::nitro::healthkit { struct FilterForSamples; }
43
+ // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
44
+ namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
43
45
  // Forward declaration of `FilterForSamplesBase` to properly resolve imports.
44
46
  namespace margelo::nitro::healthkit { struct FilterForSamplesBase; }
45
47
  // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
@@ -69,16 +71,17 @@ namespace margelo::nitro::healthkit { struct QueryOptionsWithAnchor; }
69
71
  #include "SampleType.hpp"
70
72
  #include <string>
71
73
  #include <chrono>
72
- #include <NitroModules/AnyMap.hpp>
73
74
  #include "SourceRevision.hpp"
74
- #include <memory>
75
- #include "HybridSourceProxySpec.hpp"
75
+ #include "Source.hpp"
76
76
  #include "Device.hpp"
77
+ #include <NitroModules/AnyMap.hpp>
77
78
  #include "QuantityTypeIdentifier.hpp"
78
79
  #include "CategorySampleForSaving.hpp"
79
80
  #include "QuantitySampleForSaving.hpp"
80
81
  #include "QueryOptionsWithSortOrder.hpp"
81
82
  #include "FilterForSamples.hpp"
83
+ #include <memory>
84
+ #include "HybridSourceProxySpec.hpp"
82
85
  #include "FilterForSamplesBase.hpp"
83
86
  #include "PredicateWithMetadataKey.hpp"
84
87
  #include "ComparisonPredicateOperator.hpp"
@@ -26,14 +26,16 @@ namespace margelo::nitro::healthkit { enum class ElectrocardiogramLead; }
26
26
  namespace margelo::nitro::healthkit { struct SampleType; }
27
27
  // Forward declaration of `SourceRevision` to properly resolve imports.
28
28
  namespace margelo::nitro::healthkit { struct SourceRevision; }
29
- // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
30
- namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
29
+ // Forward declaration of `Source` to properly resolve imports.
30
+ namespace margelo::nitro::healthkit { struct Source; }
31
31
  // Forward declaration of `Device` to properly resolve imports.
32
32
  namespace margelo::nitro::healthkit { struct Device; }
33
33
  // Forward declaration of `ECGQueryOptionsWithSortOrder` to properly resolve imports.
34
34
  namespace margelo::nitro::healthkit { struct ECGQueryOptionsWithSortOrder; }
35
35
  // Forward declaration of `FilterForSamples` to properly resolve imports.
36
36
  namespace margelo::nitro::healthkit { struct FilterForSamples; }
37
+ // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
38
+ namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
37
39
  // Forward declaration of `FilterForSamplesBase` to properly resolve imports.
38
40
  namespace margelo::nitro::healthkit { struct FilterForSamplesBase; }
39
41
  // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
@@ -62,13 +64,14 @@ namespace margelo::nitro::healthkit { struct ECGQueryOptionsWithAnchor; }
62
64
  #include "SampleType.hpp"
63
65
  #include <string>
64
66
  #include <chrono>
65
- #include <NitroModules/AnyMap.hpp>
66
67
  #include "SourceRevision.hpp"
67
- #include <memory>
68
- #include "HybridSourceProxySpec.hpp"
68
+ #include "Source.hpp"
69
69
  #include "Device.hpp"
70
+ #include <NitroModules/AnyMap.hpp>
70
71
  #include "ECGQueryOptionsWithSortOrder.hpp"
71
72
  #include "FilterForSamples.hpp"
73
+ #include <memory>
74
+ #include "HybridSourceProxySpec.hpp"
72
75
  #include "FilterForSamplesBase.hpp"
73
76
  #include "PredicateWithMetadataKey.hpp"
74
77
  #include "ComparisonPredicateOperator.hpp"
@@ -20,14 +20,16 @@ namespace margelo::nitro::healthkit { struct Heartbeat; }
20
20
  namespace margelo::nitro::healthkit { struct SampleType; }
21
21
  // Forward declaration of `SourceRevision` to properly resolve imports.
22
22
  namespace margelo::nitro::healthkit { struct SourceRevision; }
23
- // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
24
- namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
23
+ // Forward declaration of `Source` to properly resolve imports.
24
+ namespace margelo::nitro::healthkit { struct Source; }
25
25
  // Forward declaration of `Device` to properly resolve imports.
26
26
  namespace margelo::nitro::healthkit { struct Device; }
27
27
  // Forward declaration of `QueryOptionsWithSortOrder` to properly resolve imports.
28
28
  namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrder; }
29
29
  // Forward declaration of `FilterForSamples` to properly resolve imports.
30
30
  namespace margelo::nitro::healthkit { struct FilterForSamples; }
31
+ // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
32
+ namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
31
33
  // Forward declaration of `FilterForSamplesBase` to properly resolve imports.
32
34
  namespace margelo::nitro::healthkit { struct FilterForSamplesBase; }
33
35
  // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
@@ -52,14 +54,15 @@ namespace margelo::nitro::healthkit { struct QueryOptionsWithAnchor; }
52
54
  #include "SampleType.hpp"
53
55
  #include <string>
54
56
  #include <chrono>
55
- #include <NitroModules/AnyMap.hpp>
56
57
  #include "SourceRevision.hpp"
57
- #include <memory>
58
- #include "HybridSourceProxySpec.hpp"
58
+ #include "Source.hpp"
59
59
  #include <optional>
60
60
  #include "Device.hpp"
61
+ #include <NitroModules/AnyMap.hpp>
61
62
  #include "QueryOptionsWithSortOrder.hpp"
62
63
  #include "FilterForSamples.hpp"
64
+ #include <memory>
65
+ #include "HybridSourceProxySpec.hpp"
63
66
  #include "FilterForSamplesBase.hpp"
64
67
  #include "PredicateWithMetadataKey.hpp"
65
68
  #include "ComparisonPredicateOperator.hpp"
@@ -30,14 +30,16 @@ namespace margelo::nitro::healthkit { enum class MedicationDoseEventLogStatus; }
30
30
  namespace margelo::nitro::healthkit { struct SampleType; }
31
31
  // Forward declaration of `SourceRevision` to properly resolve imports.
32
32
  namespace margelo::nitro::healthkit { struct SourceRevision; }
33
- // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
34
- namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
33
+ // Forward declaration of `Source` to properly resolve imports.
34
+ namespace margelo::nitro::healthkit { struct Source; }
35
35
  // Forward declaration of `Device` to properly resolve imports.
36
36
  namespace margelo::nitro::healthkit { struct Device; }
37
37
  // Forward declaration of `QueryOptionsWithSortOrder` to properly resolve imports.
38
38
  namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrder; }
39
39
  // Forward declaration of `FilterForSamples` to properly resolve imports.
40
40
  namespace margelo::nitro::healthkit { struct FilterForSamples; }
41
+ // Forward declaration of `HybridSourceProxySpec` to properly resolve imports.
42
+ namespace margelo::nitro::healthkit { class HybridSourceProxySpec; }
41
43
  // Forward declaration of `FilterForSamplesBase` to properly resolve imports.
42
44
  namespace margelo::nitro::healthkit { struct FilterForSamplesBase; }
43
45
  // Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
@@ -68,13 +70,14 @@ namespace margelo::nitro::healthkit { struct QueryOptionsWithAnchor; }
68
70
  #include <chrono>
69
71
  #include "MedicationDoseEventLogStatus.hpp"
70
72
  #include "SampleType.hpp"
71
- #include <NitroModules/AnyMap.hpp>
72
73
  #include "SourceRevision.hpp"
73
- #include <memory>
74
- #include "HybridSourceProxySpec.hpp"
74
+ #include "Source.hpp"
75
75
  #include "Device.hpp"
76
+ #include <NitroModules/AnyMap.hpp>
76
77
  #include "QueryOptionsWithSortOrder.hpp"
77
78
  #include "FilterForSamples.hpp"
79
+ #include <memory>
80
+ #include "HybridSourceProxySpec.hpp"
78
81
  #include "FilterForSamplesBase.hpp"
79
82
  #include "PredicateWithMetadataKey.hpp"
80
83
  #include "ComparisonPredicateOperator.hpp"