@kingstinct/react-native-healthkit 12.1.2 → 13.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.
- package/ios/CategoryTypeModule.swift +52 -98
- package/ios/CharacteristicTypeModule.swift +77 -63
- package/ios/CoreModule.swift +324 -280
- package/ios/CorrelationTypeModule.swift +198 -144
- package/ios/ElectrocardiogramModule.swift +185 -194
- package/ios/HeartbeatSeriesModule.swift +123 -171
- package/ios/Helpers.swift +319 -571
- package/ios/MedicationModule.swift +259 -0
- package/ios/PredicateHelpers.swift +334 -0
- package/ios/QuantityTypeModule.swift +436 -373
- package/ios/Serializers.swift +273 -210
- package/ios/SourceProxy.swift +2 -2
- package/ios/StateOfMindModule.swift +181 -125
- package/ios/WorkoutProxy.swift +235 -112
- package/ios/WorkoutsModule.swift +214 -262
- package/lib/commonjs/healthkit.ios.js +26 -2
- package/lib/commonjs/healthkit.js +46 -10
- package/lib/commonjs/hooks/useStatisticsForQuantity.js +1 -1
- package/lib/commonjs/hooks/useSubscribeToCategorySamples.js +20 -0
- package/lib/commonjs/modules.js +2 -1
- package/lib/commonjs/specs/MedicationModule.nitro.js +27 -0
- package/lib/commonjs/types/Constants.js +2 -1
- package/lib/commonjs/types/QuantityType.js +8 -1
- package/lib/commonjs/types/QueryOptions.js +18 -0
- package/lib/commonjs/types/WeatherCondition.js +32 -32
- package/lib/commonjs/types/Workouts.js +1 -50
- package/lib/commonjs/utils/getCategorySampleById.js +1 -1
- package/lib/commonjs/utils/getQuantitySampleById.js +1 -1
- package/lib/commonjs/utils/getWorkoutById.js +1 -1
- package/lib/commonjs/utils/subscribeToCategorySamples.js +29 -0
- package/lib/commonjs/utils/subscribeToQuantitySamples.js +8 -25
- package/lib/module/healthkit.ios.js +24 -2
- package/lib/module/healthkit.js +43 -7
- package/lib/module/hooks/useStatisticsForQuantity.js +1 -1
- package/lib/module/hooks/useSubscribeToCategorySamples.js +17 -0
- package/lib/module/modules.js +1 -0
- package/lib/module/specs/MedicationModule.nitro.js +26 -0
- package/lib/module/types/Constants.js +1 -0
- package/lib/module/types/QuantityType.js +7 -0
- package/lib/module/types/QueryOptions.js +17 -1
- package/lib/module/types/WeatherCondition.js +31 -31
- package/lib/module/types/Workouts.js +0 -49
- package/lib/module/utils/getCategorySampleById.js +1 -1
- package/lib/module/utils/getQuantitySampleById.js +1 -1
- package/lib/module/utils/getWorkoutById.js +1 -1
- package/lib/module/utils/subscribeToCategorySamples.js +26 -0
- package/lib/module/utils/subscribeToQuantitySamples.js +8 -25
- package/lib/typescript/healthkit.d.ts +24 -13
- package/lib/typescript/healthkit.ios.d.ts +45 -23
- package/lib/typescript/hooks/useSubscribeToCategorySamples.d.ts +3 -0
- package/lib/typescript/modules.d.ts +2 -0
- package/lib/typescript/specs/CategoryTypeModule.nitro.d.ts +4 -4
- package/lib/typescript/specs/CoreModule.nitro.d.ts +2 -1
- package/lib/typescript/specs/CorrelationTypeModule.nitro.d.ts +5 -3
- package/lib/typescript/specs/ElectrocardiogramModule.nitro.d.ts +1 -1
- package/lib/typescript/specs/HeartbeatSeriesModule.nitro.d.ts +1 -1
- package/lib/typescript/specs/MedicationModule.nitro.d.ts +56 -0
- package/lib/typescript/specs/QuantityTypeModule.nitro.d.ts +7 -5
- package/lib/typescript/specs/StateOfMindModule.nitro.d.ts +5 -4
- package/lib/typescript/types/CategoryType.d.ts +10 -20
- package/lib/typescript/types/Constants.d.ts +1 -0
- package/lib/typescript/types/CorrelationType.d.ts +8 -10
- package/lib/typescript/types/ElectrocardiogramSample.d.ts +2 -12
- package/lib/typescript/types/HeartbeatSeries.d.ts +2 -14
- package/lib/typescript/types/QuantitySample.d.ts +3 -9
- package/lib/typescript/types/QuantityType.d.ts +13 -9
- package/lib/typescript/types/QuantityTypeIdentifier.d.ts +23 -23
- package/lib/typescript/types/QueryOptions.d.ts +43 -28
- package/lib/typescript/types/Shared.d.ts +52 -7
- package/lib/typescript/types/StateOfMind.d.ts +7 -10
- package/lib/typescript/types/Subscriptions.d.ts +12 -3
- package/lib/typescript/types/WeatherCondition.d.ts +1 -1
- package/lib/typescript/types/Workouts.d.ts +28 -81
- package/lib/typescript/utils/subscribeToCategorySamples.d.ts +5 -0
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +113 -16
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +1065 -573
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +68 -30
- package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +8 -0
- package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +15 -0
- package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +40 -34
- package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +36 -37
- package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +78 -25
- package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +36 -30
- package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +35 -29
- package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +181 -0
- package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +69 -44
- package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +60 -37
- package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +150 -29
- package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +14 -29
- package/nitrogen/generated/ios/swift/AggregationStyle.swift +48 -0
- package/nitrogen/generated/ios/swift/CategorySample.swift +571 -24
- package/nitrogen/generated/ios/swift/ComparisonPredicateOperator.swift +2 -2
- package/nitrogen/generated/ios/swift/CorrelationSample.swift +640 -17
- package/nitrogen/generated/ios/swift/{PredicateWithStartAndEnd.swift → DateFilter.swift} +5 -5
- package/nitrogen/generated/ios/swift/ECGQueryOptionsWithAnchor.swift +11 -91
- package/nitrogen/generated/ios/swift/ECGQueryOptionsWithSortOrder.swift +11 -91
- package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +570 -72
- package/nitrogen/generated/ios/swift/FilterForSamples.swift +349 -12
- package/nitrogen/generated/ios/swift/FilterForSamplesBase.swift +234 -0
- package/nitrogen/generated/ios/swift/FilterForWorkouts.swift +366 -0
- package/nitrogen/generated/ios/swift/FilterForWorkoutsBase.swift +240 -0
- package/nitrogen/generated/ios/swift/Func_void_MedicationDoseEventsWithAnchorResponse.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_QueryCorrelationSamplesWithAnchorResponse.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_StateOfMindSamplesWithAnchorResponse.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_CategorySample_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_CorrelationSample_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_QuantitySample_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_StateOfMindSample_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_MedicationDoseEvent_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponseFromSingleSource_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_UserAnnotatedMedication_.swift +47 -0
- package/nitrogen/generated/ios/swift/GeneralForm.swift +104 -0
- package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +44 -0
- package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +565 -37
- package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +2 -2
- package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +23 -10
- package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +2 -1
- package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +19 -31
- package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +3 -2
- package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +42 -10
- package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec_cxx.swift +2 -2
- package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +2 -2
- package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec.swift +60 -0
- package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec_cxx.swift +208 -0
- package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +5 -3
- package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +76 -47
- package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +3 -2
- package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +34 -9
- package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +34 -6
- package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +376 -36
- package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +40 -0
- package/nitrogen/generated/ios/swift/MedicationConcept.swift +80 -0
- package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +781 -0
- package/nitrogen/generated/ios/swift/MedicationDoseEventLogStatus.swift +56 -0
- package/nitrogen/generated/ios/swift/MedicationDoseEventScheduleType.swift +40 -0
- package/nitrogen/generated/ios/swift/MedicationDoseEventsWithAnchorResponse.swift +81 -0
- package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +16 -16
- package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +7 -7
- package/nitrogen/generated/ios/swift/QuantitySample.swift +574 -27
- package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +24 -5
- package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +16 -16
- package/nitrogen/generated/ios/swift/QueryCorrelationSamplesWithAnchorResponse.swift +81 -0
- package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +11 -91
- package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +11 -91
- package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +11 -91
- package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +11 -91
- package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +34 -1
- package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +266 -0
- package/nitrogen/generated/ios/swift/RelatedCoding.swift +76 -0
- package/nitrogen/generated/ios/swift/SampleType.swift +68 -0
- package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +16 -16
- package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +0 -16
- package/nitrogen/generated/ios/swift/StateOfMindSample.swift +586 -58
- package/nitrogen/generated/ios/swift/StateOfMindSamplesWithAnchorResponse.swift +81 -0
- package/nitrogen/generated/ios/swift/StatisticsOptions.swift +0 -4
- package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +7 -75
- package/nitrogen/generated/ios/swift/UserAnnotatedMedication.swift +87 -0
- package/nitrogen/generated/ios/swift/WeatherCondition.swift +144 -0
- package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +11 -105
- package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +11 -105
- package/nitrogen/generated/ios/swift/WorkoutSample.swift +751 -78
- package/nitrogen/generated/shared/c++/AggregationStyle.hpp +64 -0
- package/nitrogen/generated/shared/c++/CategorySample.hpp +126 -23
- package/nitrogen/generated/shared/c++/CorrelationSample.hpp +134 -12
- package/nitrogen/generated/shared/c++/{PredicateWithStartAndEnd.hpp → DateFilter.hpp} +10 -10
- package/nitrogen/generated/shared/c++/ECGQueryOptionsWithAnchor.hpp +12 -31
- package/nitrogen/generated/shared/c++/ECGQueryOptionsWithSortOrder.hpp +12 -31
- package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +135 -36
- package/nitrogen/generated/shared/c++/FilterForSamples.hpp +124 -0
- package/nitrogen/generated/shared/c++/FilterForSamplesBase.hpp +109 -0
- package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +131 -0
- package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +116 -0
- package/nitrogen/generated/shared/c++/GeneralForm.hpp +140 -0
- package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +67 -0
- package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +131 -28
- package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +6 -6
- package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +10 -28
- package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +16 -5
- package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.hpp +1 -2
- package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +1 -2
- package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +3 -1
- package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +13 -27
- package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +9 -2
- package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +33 -5
- package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +56 -16
- package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +62 -0
- package/nitrogen/generated/shared/c++/MedicationConcept.hpp +93 -0
- package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +240 -0
- package/nitrogen/generated/shared/c++/MedicationDoseEventLogStatus.hpp +66 -0
- package/nitrogen/generated/shared/c++/MedicationDoseEventScheduleType.hpp +62 -0
- package/nitrogen/generated/shared/c++/MedicationDoseEventsWithAnchorResponse.hpp +89 -0
- package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +105 -105
- package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +8 -8
- package/nitrogen/generated/shared/c++/QuantitySample.hpp +130 -27
- package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +6 -6
- package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +105 -105
- package/nitrogen/generated/shared/c++/QueryCorrelationSamplesWithAnchorResponse.hpp +89 -0
- package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +12 -31
- package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +12 -31
- package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +12 -31
- package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +12 -31
- package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +11 -2
- package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +121 -0
- package/nitrogen/generated/shared/c++/RelatedCoding.hpp +84 -0
- package/nitrogen/generated/shared/c++/SampleType.hpp +87 -0
- package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +105 -105
- package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +105 -121
- package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +139 -36
- package/nitrogen/generated/shared/c++/StateOfMindSamplesWithAnchorResponse.hpp +89 -0
- package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +0 -4
- package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +8 -27
- package/nitrogen/generated/shared/c++/UserAnnotatedMedication.hpp +90 -0
- package/nitrogen/generated/shared/c++/WeatherCondition.hpp +88 -0
- package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +12 -37
- package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +12 -37
- package/nitrogen/generated/shared/c++/WorkoutSample.hpp +159 -35
- package/package.json +1 -1
- package/src/healthkit.ios.ts +38 -0
- package/src/healthkit.ts +88 -8
- package/src/hooks/queryStatisticsForQuantity.test.ts +4 -1
- package/src/hooks/useStatisticsForQuantity.ts +1 -1
- package/src/hooks/useSubscribeToCategorySamples.ts +31 -0
- package/src/modules.ts +4 -0
- package/src/specs/CategoryTypeModule.nitro.ts +6 -6
- package/src/specs/CoreModule.nitro.ts +3 -0
- package/src/specs/CorrelationTypeModule.nitro.ts +13 -5
- package/src/specs/ElectrocardiogramModule.nitro.ts +1 -1
- package/src/specs/HeartbeatSeriesModule.nitro.ts +1 -1
- package/src/specs/MedicationModule.nitro.ts +135 -0
- package/src/specs/QuantityTypeModule.nitro.ts +21 -9
- package/src/specs/StateOfMindModule.nitro.ts +11 -3
- package/src/types/CategoryType.ts +15 -22
- package/src/types/Constants.ts +3 -0
- package/src/types/CorrelationType.ts +10 -15
- package/src/types/ElectrocardiogramSample.ts +2 -14
- package/src/types/HeartbeatSeries.ts +2 -15
- package/src/types/QuantitySample.ts +3 -9
- package/src/types/QuantityType.ts +16 -18
- package/src/types/QuantityTypeIdentifier.ts +25 -25
- package/src/types/QueryOptions.ts +54 -43
- package/src/types/Shared.ts +74 -17
- package/src/types/StateOfMind.ts +8 -10
- package/src/types/Subscriptions.ts +19 -3
- package/src/types/WeatherCondition.ts +1 -1
- package/src/types/Workouts.ts +28 -91
- package/src/utils/getCategorySampleById.ts +1 -1
- package/src/utils/getQuantitySampleById.ts +1 -1
- package/src/utils/getWorkoutById.ts +1 -2
- package/src/utils/subscribeToCategorySamples.ts +38 -0
- package/src/utils/subscribeToQuantitySamples.ts +12 -37
- package/nitrogen/generated/ios/swift/FilterForSamplesAnd.swift +0 -94
- package/nitrogen/generated/ios/swift/FilterForSamplesOr.swift +0 -94
- package/nitrogen/generated/ios/swift/PredicateForSamples.swift +0 -21
- package/nitrogen/generated/ios/swift/PredicateForWorkouts.swift +0 -23
- package/nitrogen/generated/ios/swift/PredicateForWorkoutsAnd.swift +0 -108
- package/nitrogen/generated/ios/swift/PredicateForWorkoutsOr.swift +0 -108
- package/nitrogen/generated/ios/swift/PredicateFromWorkout.swift +0 -45
- package/nitrogen/generated/ios/swift/PredicateWithMetadataOperator.swift +0 -48
- package/nitrogen/generated/ios/swift/PredicateWithUUID.swift +0 -35
- package/nitrogen/generated/ios/swift/PredicateWithUUIDs.swift +0 -47
- package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr.swift +0 -23
- package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_WorkoutActivityTypePredicate_WorkoutDurationPredicate_PredicateForWorkoutsOr_PredicateForWorkoutsAnd.swift +0 -25
- package/nitrogen/generated/ios/swift/WorkoutActivityTypePredicate.swift +0 -35
- package/nitrogen/generated/shared/c++/FilterForSamplesAnd.hpp +0 -90
- package/nitrogen/generated/shared/c++/FilterForSamplesOr.hpp +0 -90
- package/nitrogen/generated/shared/c++/PredicateForWorkoutsAnd.hpp +0 -96
- package/nitrogen/generated/shared/c++/PredicateForWorkoutsOr.hpp +0 -96
- package/nitrogen/generated/shared/c++/PredicateFromWorkout.hpp +0 -77
- package/nitrogen/generated/shared/c++/PredicateWithMetadataOperator.hpp +0 -84
- package/nitrogen/generated/shared/c++/PredicateWithUUID.hpp +0 -75
- package/nitrogen/generated/shared/c++/PredicateWithUUIDs.hpp +0 -76
- package/nitrogen/generated/shared/c++/WorkoutActivityTypePredicate.hpp +0 -76
|
@@ -7,119 +7,73 @@ class CategoryTypeModule: HybridCategoryTypeModuleSpec {
|
|
|
7
7
|
value: Double,
|
|
8
8
|
startDate: Date,
|
|
9
9
|
endDate: Date,
|
|
10
|
-
metadata: AnyMap
|
|
11
|
-
)
|
|
12
|
-
|
|
10
|
+
metadata: AnyMap?
|
|
11
|
+
) -> Promise<CategorySample?> {
|
|
12
|
+
return Promise.async {
|
|
13
|
+
let type = try initializeCategoryType(identifier.stringValue)
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
let sample = HKCategorySample(
|
|
16
|
+
type: type,
|
|
17
|
+
value: Int(value),
|
|
18
|
+
start: startDate,
|
|
19
|
+
end: endDate,
|
|
20
|
+
metadata: anyMapToDictionaryOptional(metadata)
|
|
21
|
+
)
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if let error = error {
|
|
26
|
-
continuation.resume(throwing: error)
|
|
27
|
-
} else {
|
|
28
|
-
continuation.resume(returning: success)
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
23
|
+
let succeeded = try await saveAsync(sample: sample)
|
|
24
|
+
|
|
25
|
+
return succeeded ? serializeCategorySample(sample: sample) : nil
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
28
|
|
|
35
29
|
func queryCategorySamples(
|
|
36
30
|
identifier: CategoryTypeIdentifier,
|
|
37
|
-
options: QueryOptionsWithSortOrder
|
|
38
|
-
)
|
|
39
|
-
let sampleType = try initializeCategoryType(identifier.stringValue)
|
|
40
|
-
let predicate = try createPredicate(filter: options?.filter)
|
|
41
|
-
let queryLimit = getQueryLimit(options?.limit)
|
|
42
|
-
|
|
31
|
+
options: QueryOptionsWithSortOrder
|
|
32
|
+
) -> Promise<[CategorySample]> {
|
|
43
33
|
return Promise.async {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
let categorySamples = samples.compactMap { sample -> CategorySample? in
|
|
62
|
-
guard let categorySample = sample as? HKCategorySample else { return nil }
|
|
63
|
-
return serializeCategorySample(sample: categorySample)
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
continuation.resume(returning: categorySamples)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
store.execute(query)
|
|
70
|
-
}
|
|
34
|
+
let sampleType = try initializeCategoryType(identifier.stringValue)
|
|
35
|
+
let predicate = createPredicateForSamples(options.filter)
|
|
36
|
+
let sortDescriptors = getSortDescriptors(ascending: options.ascending)
|
|
37
|
+
|
|
38
|
+
let samples = try await sampleQueryAsync(
|
|
39
|
+
sampleType: sampleType,
|
|
40
|
+
limit: options.limit,
|
|
41
|
+
predicate: predicate,
|
|
42
|
+
sortDescriptors: sortDescriptors
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
return samples.compactMap { sample -> CategorySample? in
|
|
46
|
+
guard let categorySample = sample as? HKCategorySample else { return nil }
|
|
47
|
+
return serializeCategorySample(sample: categorySample)
|
|
48
|
+
}
|
|
71
49
|
}
|
|
72
50
|
}
|
|
73
51
|
|
|
74
52
|
func queryCategorySamplesWithAnchor(
|
|
75
53
|
identifier: CategoryTypeIdentifier,
|
|
76
54
|
options: QueryOptionsWithAnchor
|
|
77
|
-
)
|
|
78
|
-
let sampleType = try initializeCategoryType(identifier.stringValue)
|
|
79
|
-
|
|
80
|
-
let predicate = try createPredicate(filter: options.filter)
|
|
81
|
-
let queryLimit = getQueryLimit(options.limit)
|
|
82
|
-
let queryAnchor = try deserializeHKQueryAnchor(base64String: options.anchor)
|
|
83
|
-
|
|
55
|
+
) -> Promise<CategorySamplesWithAnchorResponse> {
|
|
84
56
|
return Promise.async {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
let categorySamples = samples.compactMap { sample -> CategorySample? in
|
|
108
|
-
guard let categorySample = sample as? HKCategorySample else { return nil }
|
|
109
|
-
return serializeCategorySample(sample: categorySample)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
let response = CategorySamplesWithAnchorResponse(
|
|
113
|
-
samples: categorySamples,
|
|
114
|
-
deletedSamples: deletedSamples?.map { serializeDeletedSample(sample: $0) } ?? [],
|
|
115
|
-
newAnchor: serializeAnchor(anchor: newAnchor) ?? ""
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
continuation.resume(returning: response)
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
store.execute(query)
|
|
122
|
-
}
|
|
57
|
+
let sampleType = try initializeCategoryType(identifier.stringValue)
|
|
58
|
+
let predicate = createPredicateForSamples(options.filter)
|
|
59
|
+
|
|
60
|
+
let response = try await sampleAnchoredQueryAsync(
|
|
61
|
+
sampleType: sampleType,
|
|
62
|
+
limit: options.limit,
|
|
63
|
+
queryAnchor: options.anchor,
|
|
64
|
+
predicate: predicate
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
let categorySamples = response.samples.compactMap { sample -> CategorySample? in
|
|
68
|
+
guard let categorySample = sample as? HKCategorySample else { return nil }
|
|
69
|
+
return serializeCategorySample(sample: categorySample)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return CategorySamplesWithAnchorResponse(
|
|
73
|
+
samples: categorySamples,
|
|
74
|
+
deletedSamples: response.deletedSamples,
|
|
75
|
+
newAnchor: response.newAnchor
|
|
76
|
+
)
|
|
123
77
|
}
|
|
124
78
|
}
|
|
125
79
|
}
|
|
@@ -2,92 +2,106 @@ import HealthKit
|
|
|
2
2
|
import NitroModules
|
|
3
3
|
|
|
4
4
|
class CharacteristicTypeModule: HybridCharacteristicTypeModuleSpec {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
func getBloodTypeAsync() -> Promise<BloodType> {
|
|
6
|
+
return Promise.async {
|
|
7
|
+
return try self.getBloodType()
|
|
7
8
|
}
|
|
9
|
+
}
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
func getDateOfBirthAsync() -> Promise<Date?> {
|
|
12
|
+
return Promise.async {
|
|
13
|
+
return try self.getDateOfBirth()
|
|
11
14
|
}
|
|
15
|
+
}
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
func getBiologicalSexAsync() -> Promise<BiologicalSex> {
|
|
18
|
+
return Promise.async {
|
|
19
|
+
return try self.getBiologicalSex()
|
|
15
20
|
}
|
|
21
|
+
}
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
func getFitzpatrickSkinTypeAsync() -> Promise<FitzpatrickSkinType> {
|
|
24
|
+
return Promise.async {
|
|
25
|
+
return try self.getFitzpatrickSkinType()
|
|
19
26
|
}
|
|
27
|
+
}
|
|
20
28
|
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
func getWheelchairUseAsync() -> Promise<WheelchairUse> {
|
|
30
|
+
return Promise.async {
|
|
31
|
+
return try self.getWheelchairUse()
|
|
23
32
|
}
|
|
33
|
+
}
|
|
24
34
|
|
|
25
|
-
|
|
35
|
+
// Using the global 'store' instance defined in Auth.swift
|
|
26
36
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
throw RuntimeError.error(withMessage: "[react-native-healthkit] Got unknown biological sex value: \(biologicalSexObject.biologicalSex.rawValue)")
|
|
37
|
+
func getBiologicalSex() throws -> BiologicalSex {
|
|
38
|
+
let biologicalSexObject = try store.biologicalSex()
|
|
39
|
+
if let biologicalSex = BiologicalSex(
|
|
40
|
+
rawValue: Int32(biologicalSexObject.biologicalSex.rawValue)) {
|
|
41
|
+
return biologicalSex
|
|
33
42
|
}
|
|
43
|
+
throw runtimeErrorWithPrefix(
|
|
44
|
+
"Got unknown biological sex value: \(biologicalSexObject.biologicalSex.rawValue)")
|
|
45
|
+
}
|
|
34
46
|
|
|
35
47
|
func getDateOfBirth() throws -> Date? {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// Anything else is a real failure – surface it to JS
|
|
55
|
-
throw RuntimeError.error(
|
|
56
|
-
withMessage: "[react-native-healthkit] Failed to get date of birth: \(nsError.localizedDescription)"
|
|
57
|
-
)
|
|
48
|
+
do {
|
|
49
|
+
let components = try store.dateOfBirthComponents()
|
|
50
|
+
return components.date
|
|
51
|
+
} catch {
|
|
52
|
+
let nsError = error as NSError
|
|
53
|
+
|
|
54
|
+
// 1️⃣ HealthKit’s documented “no data” error
|
|
55
|
+
if nsError.domain == HKError.errorDomain,
|
|
56
|
+
nsError.code == HKError.Code.errorNoData.rawValue {
|
|
57
|
+
return nil
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// 2️⃣ The undocumented generic Obj-C error some OS versions emit
|
|
61
|
+
if nsError.domain == "Foundation._GenericObjCError",
|
|
62
|
+
nsError.code == 0 {
|
|
63
|
+
return nil
|
|
58
64
|
}
|
|
59
|
-
}
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
// Anything else is a real failure – surface it to JS
|
|
67
|
+
throw runtimeErrorWithPrefix("Failed to get date of birth: \(nsError.localizedDescription)")
|
|
68
|
+
}
|
|
69
|
+
}
|
|
63
70
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
71
|
+
func getBloodType() throws -> BloodType {
|
|
72
|
+
let bloodTypeObject = try store.bloodType()
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
if let bloodType = BloodType(rawValue: Int32(bloodTypeObject.bloodType.rawValue)) {
|
|
75
|
+
return bloodType
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
78
|
+
throw runtimeErrorWithPrefix(
|
|
79
|
+
"Got unknown blood type value: \(bloodTypeObject.bloodType.rawValue)")
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
func getFitzpatrickSkinType() throws -> FitzpatrickSkinType {
|
|
83
|
+
if #available(iOS 9.0, *) {
|
|
84
|
+
let skinTypeObject = try store.fitzpatrickSkinType()
|
|
74
85
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
86
|
+
if let skinType = FitzpatrickSkinType(rawValue: Int32(skinTypeObject.skinType.rawValue)) {
|
|
87
|
+
return skinType
|
|
88
|
+
}
|
|
78
89
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
throw RuntimeError.error(withMessage: "Fitzpatrick skin type is not available before iOS 9.0")
|
|
82
|
-
}
|
|
90
|
+
throw runtimeErrorWithPrefix(
|
|
91
|
+
"Got unknown Fitzpatrick skin type value: \(skinTypeObject.skinType.rawValue)")
|
|
83
92
|
}
|
|
93
|
+
throw runtimeErrorWithPrefix("Fitzpatrick skin type is not available before iOS 9.0")
|
|
94
|
+
}
|
|
84
95
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
throw RuntimeError.error(withMessage: "[react-native-healthkit] Got unknown wheelchair use value: \(wheelchairUseObject.wheelchairUse.rawValue)")
|
|
96
|
+
@available(iOS 10.0, *)
|
|
97
|
+
func getWheelchairUse() throws -> WheelchairUse {
|
|
98
|
+
let wheelchairUseObject = try store.wheelchairUse()
|
|
99
|
+
if let wheelChairUse = WheelchairUse(
|
|
100
|
+
rawValue: Int32(wheelchairUseObject.wheelchairUse.rawValue)) {
|
|
101
|
+
return wheelChairUse
|
|
92
102
|
}
|
|
103
|
+
throw runtimeErrorWithPrefix(
|
|
104
|
+
"Got unknown wheelchair use value: \(wheelchairUseObject.wheelchairUse.rawValue)"
|
|
105
|
+
)
|
|
106
|
+
}
|
|
93
107
|
}
|