@kingstinct/react-native-healthkit 13.0.2 → 13.1.1
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/ReactNativeHealthkit.podspec +4 -1
- package/ios/Bridge.h +2 -0
- package/ios/CharacteristicTypeModule.swift +6 -10
- package/ios/CoreModule.swift +16 -2
- package/ios/ElectrocardiogramModule.swift +0 -1
- package/ios/ExceptionCatcher.h +1 -14
- package/ios/ExceptionCatcher.mm +17 -0
- package/ios/HeartbeatSeriesModule.swift +0 -1
- package/ios/Helpers.swift +40 -25
- package/ios/QuantityTypeModule.swift +35 -42
- package/ios/Serializers.swift +11 -28
- package/ios/WorkoutProxy.swift +5 -7
- package/ios/WorkoutsModule.swift +12 -14
- package/ios/module.modulemap +5 -0
- package/lib/commonjs/healthkit.ios.js +4 -2
- package/lib/commonjs/healthkit.js +3 -1
- package/lib/commonjs/types/Constants.js +12 -1
- package/lib/commonjs/types/Shared.js +0 -11
- package/lib/module/healthkit.ios.js +2 -0
- package/lib/module/healthkit.js +2 -0
- package/lib/module/types/Constants.js +11 -0
- package/lib/module/types/Shared.js +1 -10
- package/lib/typescript/healthkit.d.ts +2 -1
- package/lib/typescript/healthkit.ios.d.ts +4 -2
- package/lib/typescript/specs/CoreModule.nitro.d.ts +3 -2
- package/lib/typescript/specs/MedicationModule.nitro.d.ts +3 -0
- package/lib/typescript/types/Constants.d.ts +11 -0
- package/lib/typescript/types/Shared.d.ts +2 -11
- package/lib/typescript/types/Source.d.ts +2 -2
- package/nitrogen/generated/ios/ReactNativeHealthkit+autolinking.rb +1 -1
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +9 -1
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +44 -16
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +4 -1
- package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +1 -1
- package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +1 -1
- package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +13 -2
- package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/swift/AggregationStyle.swift +1 -1
- package/nitrogen/generated/ios/swift/AuthDataTypes.swift +1 -1
- package/nitrogen/generated/ios/swift/AuthorizationRequestStatus.swift +1 -1
- package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +1 -1
- package/nitrogen/generated/ios/swift/BiologicalSex.swift +1 -1
- package/nitrogen/generated/ios/swift/BloodType.swift +1 -1
- package/nitrogen/generated/ios/swift/CategorySample.swift +1 -1
- package/nitrogen/generated/ios/swift/CategorySampleForSaving.swift +1 -1
- package/nitrogen/generated/ios/swift/CategorySamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +1 -1
- package/nitrogen/generated/ios/swift/ComparisonPredicateOperator.swift +1 -1
- package/nitrogen/generated/ios/swift/CorrelationObject.swift +1 -1
- package/nitrogen/generated/ios/swift/CorrelationSample.swift +1 -1
- package/nitrogen/generated/ios/swift/CorrelationTypeIdentifier.swift +1 -1
- package/nitrogen/generated/ios/swift/DateFilter.swift +1 -1
- package/nitrogen/generated/ios/swift/DeletedSample.swift +1 -1
- package/nitrogen/generated/ios/swift/Device.swift +1 -1
- package/nitrogen/generated/ios/swift/ECGQueryOptionsWithAnchor.swift +1 -1
- package/nitrogen/generated/ios/swift/ECGQueryOptionsWithSortOrder.swift +1 -1
- package/nitrogen/generated/ios/swift/ElectrocardiogramClassification.swift +1 -1
- package/nitrogen/generated/ios/swift/ElectrocardiogramLead.swift +1 -1
- package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +1 -1
- package/nitrogen/generated/ios/swift/ElectrocardiogramSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/ElectrocardiogramSymptomsStatus.swift +1 -1
- package/nitrogen/generated/ios/swift/ElectrocardiogramVoltage.swift +1 -1
- package/nitrogen/generated/ios/swift/FilterForSamples.swift +1 -1
- package/nitrogen/generated/ios/swift/FilterForSamplesBase.swift +1 -1
- package/nitrogen/generated/ios/swift/FilterForWorkouts.swift +1 -1
- package/nitrogen/generated/ios/swift/FilterForWorkoutsBase.swift +1 -1
- package/nitrogen/generated/ios/swift/FitzpatrickSkinType.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_AuthorizationRequestStatus.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_BiologicalSex.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_BloodType.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_CategorySamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_ElectrocardiogramSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_FitzpatrickSkinType.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_HeartbeatSeriesSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_MedicationDoseEventsWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_OnChangeCallbackArgs.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_QuantitySamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_QueryCorrelationSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_QueryStatisticsResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_QueryWorkoutSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_StateOfMindSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_WheelchairUse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_CategorySample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_CorrelationSample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_QuantitySample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_QueryStatisticsResponse_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_StateOfMindSample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_WorkoutPlan_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__chrono__system_clock__time_point_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridWorkoutProxySpec_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__QueryStatisticsResponse_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__bool_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_CategorySample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_CorrelationSample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_ElectrocardiogramSample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_HeartbeatSeriesSample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_IdentifierWithUnit_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_MedicationDoseEvent_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_QuantitySample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponseFromSingleSource_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponse_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_StateOfMindSample_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_UserAnnotatedMedication_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_WorkoutRoute_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridSourceProxySpec__.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridWorkoutProxySpec__.swift +1 -1
- package/nitrogen/generated/ios/swift/GeneralForm.swift +1 -1
- package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +1 -1
- package/nitrogen/generated/ios/swift/Heartbeat.swift +1 -1
- package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +1 -1
- package/nitrogen/generated/ios/swift/HeartbeatSeriesSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +3 -2
- package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +21 -2
- package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridSourceProxySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridSourceProxySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/IdentifierWithUnit.swift +1 -1
- package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +1 -1
- package/nitrogen/generated/ios/swift/IntervalComponents.swift +1 -1
- package/nitrogen/generated/ios/swift/LocationForSaving.swift +1 -1
- package/nitrogen/generated/ios/swift/MedicationConcept.swift +1 -1
- package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +1 -1
- package/nitrogen/generated/ios/swift/MedicationDoseEventLogStatus.swift +1 -1
- package/nitrogen/generated/ios/swift/MedicationDoseEventScheduleType.swift +1 -1
- package/nitrogen/generated/ios/swift/MedicationDoseEventsWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +5 -5
- package/nitrogen/generated/ios/swift/OnChangeCallbackArgs.swift +1 -1
- package/nitrogen/generated/ios/swift/PerObjectTypeIdentifier.swift +40 -0
- package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +1 -1
- package/nitrogen/generated/ios/swift/Quantity.swift +1 -1
- package/nitrogen/generated/ios/swift/QuantityDateInterval.swift +1 -1
- package/nitrogen/generated/ios/swift/QuantitySample.swift +1 -1
- package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +1 -1
- package/nitrogen/generated/ios/swift/QuantitySamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryCorrelationSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +1 -1
- package/nitrogen/generated/ios/swift/QueryWorkoutSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/RelatedCoding.swift +1 -1
- package/nitrogen/generated/ios/swift/SampleForSaving.swift +1 -1
- package/nitrogen/generated/ios/swift/SampleType.swift +1 -1
- package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +1 -1
- package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +1 -1
- package/nitrogen/generated/ios/swift/Source.swift +1 -1
- package/nitrogen/generated/ios/swift/SourceRevision.swift +17 -55
- package/nitrogen/generated/ios/swift/StateOfMindAssociation.swift +1 -1
- package/nitrogen/generated/ios/swift/StateOfMindKind.swift +1 -1
- package/nitrogen/generated/ios/swift/StateOfMindLabel.swift +1 -1
- package/nitrogen/generated/ios/swift/StateOfMindSample.swift +1 -1
- package/nitrogen/generated/ios/swift/StateOfMindSamplesWithAnchorResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/StateOfMindValenceClassification.swift +1 -1
- package/nitrogen/generated/ios/swift/StatisticsOptions.swift +1 -1
- package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +1 -1
- package/nitrogen/generated/ios/swift/UpdateFrequency.swift +1 -1
- package/nitrogen/generated/ios/swift/UserAnnotatedMedication.swift +1 -1
- package/nitrogen/generated/ios/swift/Variant_Bool_String_Double_Date.swift +1 -1
- package/nitrogen/generated/ios/swift/WeatherCondition.swift +1 -1
- package/nitrogen/generated/ios/swift/WheelchairUse.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutActivity.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutActivityType.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutConfiguration.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutDurationPredicate.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutEvent.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutEventType.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutPlan.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutRoute.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutRouteLocation.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutSample.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutSessionLocationType.swift +1 -1
- package/nitrogen/generated/ios/swift/WorkoutTotals.swift +1 -1
- package/nitrogen/generated/shared/c++/AggregationStyle.hpp +1 -1
- package/nitrogen/generated/shared/c++/AuthDataTypes.hpp +1 -1
- package/nitrogen/generated/shared/c++/AuthorizationRequestStatus.hpp +1 -1
- package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +1 -1
- package/nitrogen/generated/shared/c++/BiologicalSex.hpp +1 -1
- package/nitrogen/generated/shared/c++/BloodType.hpp +1 -1
- package/nitrogen/generated/shared/c++/CategorySample.hpp +1 -1
- package/nitrogen/generated/shared/c++/CategorySampleForSaving.hpp +1 -1
- package/nitrogen/generated/shared/c++/CategorySamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +1 -1
- package/nitrogen/generated/shared/c++/ComparisonPredicateOperator.hpp +1 -1
- package/nitrogen/generated/shared/c++/CorrelationSample.hpp +1 -1
- package/nitrogen/generated/shared/c++/CorrelationTypeIdentifier.hpp +1 -1
- package/nitrogen/generated/shared/c++/DateFilter.hpp +1 -1
- package/nitrogen/generated/shared/c++/DeletedSample.hpp +1 -1
- package/nitrogen/generated/shared/c++/Device.hpp +1 -1
- package/nitrogen/generated/shared/c++/ECGQueryOptionsWithAnchor.hpp +1 -1
- package/nitrogen/generated/shared/c++/ECGQueryOptionsWithSortOrder.hpp +1 -1
- package/nitrogen/generated/shared/c++/ElectrocardiogramClassification.hpp +1 -1
- package/nitrogen/generated/shared/c++/ElectrocardiogramLead.hpp +1 -1
- package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +1 -1
- package/nitrogen/generated/shared/c++/ElectrocardiogramSamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/ElectrocardiogramSymptomsStatus.hpp +1 -1
- package/nitrogen/generated/shared/c++/ElectrocardiogramVoltage.hpp +1 -1
- package/nitrogen/generated/shared/c++/FilterForSamples.hpp +1 -1
- package/nitrogen/generated/shared/c++/FilterForSamplesBase.hpp +1 -1
- package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +1 -1
- package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +1 -1
- package/nitrogen/generated/shared/c++/FitzpatrickSkinType.hpp +1 -1
- package/nitrogen/generated/shared/c++/GeneralForm.hpp +1 -1
- package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +1 -1
- package/nitrogen/generated/shared/c++/Heartbeat.hpp +1 -1
- package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +1 -1
- package/nitrogen/generated/shared/c++/HeartbeatSeriesSamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +9 -2
- package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridSourceProxySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridSourceProxySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/IdentifierWithUnit.hpp +1 -1
- package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +1 -1
- package/nitrogen/generated/shared/c++/IntervalComponents.hpp +1 -1
- package/nitrogen/generated/shared/c++/LocationForSaving.hpp +1 -1
- package/nitrogen/generated/shared/c++/MedicationConcept.hpp +1 -1
- package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +1 -1
- package/nitrogen/generated/shared/c++/MedicationDoseEventLogStatus.hpp +1 -1
- package/nitrogen/generated/shared/c++/MedicationDoseEventScheduleType.hpp +1 -1
- package/nitrogen/generated/shared/c++/MedicationDoseEventsWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +5 -5
- package/nitrogen/generated/shared/c++/OnChangeCallbackArgs.hpp +1 -1
- package/nitrogen/generated/shared/c++/PerObjectTypeIdentifier.hpp +76 -0
- package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +1 -1
- package/nitrogen/generated/shared/c++/Quantity.hpp +1 -1
- package/nitrogen/generated/shared/c++/QuantityDateInterval.hpp +1 -1
- package/nitrogen/generated/shared/c++/QuantitySample.hpp +1 -1
- package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +1 -1
- package/nitrogen/generated/shared/c++/QuantitySamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryCorrelationSamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +1 -1
- package/nitrogen/generated/shared/c++/QueryWorkoutSamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/RelatedCoding.hpp +1 -1
- package/nitrogen/generated/shared/c++/SampleType.hpp +1 -1
- package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +1 -1
- package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +1 -1
- package/nitrogen/generated/shared/c++/Source.hpp +1 -1
- package/nitrogen/generated/shared/c++/SourceRevision.hpp +11 -11
- package/nitrogen/generated/shared/c++/StateOfMindAssociation.hpp +1 -1
- package/nitrogen/generated/shared/c++/StateOfMindKind.hpp +1 -1
- package/nitrogen/generated/shared/c++/StateOfMindLabel.hpp +1 -1
- package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +1 -1
- package/nitrogen/generated/shared/c++/StateOfMindSamplesWithAnchorResponse.hpp +1 -1
- package/nitrogen/generated/shared/c++/StateOfMindValenceClassification.hpp +1 -1
- package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +1 -1
- package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +1 -1
- package/nitrogen/generated/shared/c++/UpdateFrequency.hpp +1 -1
- package/nitrogen/generated/shared/c++/UserAnnotatedMedication.hpp +1 -1
- package/nitrogen/generated/shared/c++/WeatherCondition.hpp +1 -1
- package/nitrogen/generated/shared/c++/WheelchairUse.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutActivity.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutActivityType.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutConfiguration.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutDurationPredicate.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutEvent.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutEventType.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutPlan.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutRoute.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutRouteLocation.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutSample.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutSessionLocationType.hpp +1 -1
- package/nitrogen/generated/shared/c++/WorkoutTotals.hpp +1 -1
- package/package.json +2 -1
- package/src/healthkit.ios.ts +3 -0
- package/src/healthkit.ts +6 -0
- package/src/specs/CoreModule.nitro.ts +6 -1
- package/src/specs/MedicationModule.nitro.ts +3 -0
- package/src/types/Constants.ts +16 -0
- package/src/types/Shared.ts +8 -13
- package/src/types/Source.ts +2 -2
|
@@ -26,7 +26,10 @@ Pod::Spec.new do |s|
|
|
|
26
26
|
|
|
27
27
|
s.pod_target_xcconfig = {
|
|
28
28
|
# C++ compiler flags, mainly for folly.
|
|
29
|
-
"GCC_PREPROCESSOR_DEFINITIONS" => "$(inherited) FOLLY_NO_CONFIG FOLLY_CFG_NO_COROUTINES"
|
|
29
|
+
"GCC_PREPROCESSOR_DEFINITIONS" => "$(inherited) FOLLY_NO_CONFIG FOLLY_CFG_NO_COROUTINES",
|
|
30
|
+
# Allow importing Objective-C headers in Swift without bridging header
|
|
31
|
+
"CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES" => "YES",
|
|
32
|
+
"SWIFT_INCLUDE_PATHS" => "$(inherited) $(PODS_TARGET_SRCROOT)/ios"
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
load 'nitrogen/generated/ios/ReactNativeHealthkit+autolinking.rb'
|
package/ios/Bridge.h
CHANGED
|
@@ -80,20 +80,16 @@ class CharacteristicTypeModule: HybridCharacteristicTypeModuleSpec {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
func getFitzpatrickSkinType() throws -> FitzpatrickSkinType {
|
|
83
|
-
|
|
84
|
-
let skinTypeObject = try store.fitzpatrickSkinType()
|
|
83
|
+
let skinTypeObject = try store.fitzpatrickSkinType()
|
|
85
84
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
throw runtimeErrorWithPrefix(
|
|
91
|
-
"Got unknown Fitzpatrick skin type value: \(skinTypeObject.skinType.rawValue)")
|
|
85
|
+
if let skinType = FitzpatrickSkinType(rawValue: Int32(skinTypeObject.skinType.rawValue)) {
|
|
86
|
+
return skinType
|
|
92
87
|
}
|
|
93
|
-
|
|
88
|
+
|
|
89
|
+
throw runtimeErrorWithPrefix(
|
|
90
|
+
"Got unknown Fitzpatrick skin type value: \(skinTypeObject.skinType.rawValue)")
|
|
94
91
|
}
|
|
95
92
|
|
|
96
|
-
@available(iOS 10.0, *)
|
|
97
93
|
func getWheelchairUse() throws -> WheelchairUse {
|
|
98
94
|
let wheelchairUseObject = try store.wheelchairUse()
|
|
99
95
|
if let wheelChairUse = WheelchairUse(
|
package/ios/CoreModule.swift
CHANGED
|
@@ -76,6 +76,20 @@ async throws -> [HKQuantityType: HKUnit] {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
class CoreModule: HybridCoreModuleSpec {
|
|
79
|
+
func requestPerObjectReadAuthorization(typeIdentifier: PerObjectTypeIdentifier) -> Promise<Void> {
|
|
80
|
+
return Promise.async {
|
|
81
|
+
let objectType = try perObjectTypeFrom(objectTypeIdentifier: typeIdentifier)
|
|
82
|
+
if #available(iOS 16.0, *) {
|
|
83
|
+
try await store.requestPerObjectReadAuthorization(
|
|
84
|
+
for: objectType,
|
|
85
|
+
predicate: nil
|
|
86
|
+
)
|
|
87
|
+
} else {
|
|
88
|
+
warnWithPrefix("Per-object read authorization is only available on iOS 16.0 and above")
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
79
93
|
func currentAppSource() -> any HybridSourceProxySpec {
|
|
80
94
|
return SourceProxy(source: HKSource.default())
|
|
81
95
|
}
|
|
@@ -323,12 +337,12 @@ class CoreModule: HybridCoreModuleSpec {
|
|
|
323
337
|
|
|
324
338
|
var _runningQueries: [String: HKQuery] = [:]
|
|
325
339
|
|
|
326
|
-
func deleteObjects(objectTypeIdentifier:
|
|
340
|
+
func deleteObjects(objectTypeIdentifier: SampleTypeIdentifierWriteable, filter: FilterForSamples)
|
|
327
341
|
-> Promise<Double> {
|
|
328
342
|
return Promise.async {
|
|
329
343
|
if let predicate = createPredicateForSamples(filter) {
|
|
330
344
|
|
|
331
|
-
let of = try
|
|
345
|
+
let of = try sampleTypeFrom(sampleTypeIdentifierWriteable: objectTypeIdentifier)
|
|
332
346
|
return try await withCheckedThrowingContinuation { continuation in
|
|
333
347
|
store.deleteObjects(of: of, predicate: predicate) { (_, count, error) in
|
|
334
348
|
if let error = error {
|
package/ios/ExceptionCatcher.h
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
2
|
#import <HealthKit/HealthKit.h>
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
if (outError) { *outError = nil; }
|
|
6
|
-
@try {
|
|
7
|
-
HKUnit *unit = [HKUnit unitFromString:unitString];
|
|
8
|
-
return unit;
|
|
9
|
-
}
|
|
10
|
-
@catch (NSException *exception) {
|
|
11
|
-
if (outError) {
|
|
12
|
-
NSDictionary *userInfo = exception.userInfo ?: @{};
|
|
13
|
-
*outError = [NSError errorWithDomain:exception.name code:0 userInfo:userInfo];
|
|
14
|
-
}
|
|
15
|
-
return nil;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
4
|
+
HKUnit * _Nullable HKUnitFromStringCatchingExceptions(NSString * _Nonnull unitString, NSError * _Nullable * _Nullable outError);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#import "ExceptionCatcher.h"
|
|
2
|
+
|
|
3
|
+
HKUnit * _Nullable HKUnitFromStringCatchingExceptions(NSString * _Nonnull unitString, NSError * _Nullable * _Nullable outError) {
|
|
4
|
+
if (outError) { *outError = nil; }
|
|
5
|
+
@try {
|
|
6
|
+
HKUnit *unit = [HKUnit unitFromString:unitString];
|
|
7
|
+
return unit;
|
|
8
|
+
}
|
|
9
|
+
@catch (NSException *exception) {
|
|
10
|
+
if (outError) {
|
|
11
|
+
NSDictionary *userInfo = exception.userInfo ?: @{};
|
|
12
|
+
|
|
13
|
+
*outError = [NSError errorWithDomain:exception.name code:0 userInfo:userInfo];
|
|
14
|
+
}
|
|
15
|
+
return nil;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -81,7 +81,6 @@ func getHeartbeatSeriesHeartbeats(sample: HKHeartbeatSeriesSample) async throws
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
@available(iOS 13.0.0, *)
|
|
85
84
|
class HeartbeatSeriesModule: HybridHeartbeatSeriesModuleSpec {
|
|
86
85
|
func queryHeartbeatSeriesSamples(
|
|
87
86
|
options: QueryOptionsWithSortOrder
|
package/ios/Helpers.swift
CHANGED
|
@@ -258,30 +258,24 @@ private func sampleTypeFromStringNullable(typeIdentifier: String) throws -> HKSa
|
|
|
258
258
|
return HKSampleType.workoutType()
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
if
|
|
262
|
-
|
|
263
|
-
return try initializeSeriesType(typeIdentifier)
|
|
264
|
-
}
|
|
261
|
+
if typeIdentifier == HKWorkoutRouteTypeIdentifier {
|
|
262
|
+
return try initializeSeriesType(typeIdentifier)
|
|
265
263
|
}
|
|
266
264
|
|
|
267
|
-
if
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
}
|
|
265
|
+
if typeIdentifier == HKAudiogramTypeIdentifier {
|
|
266
|
+
return HKObjectType.audiogramSampleType()
|
|
267
|
+
}
|
|
271
268
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
269
|
+
if typeIdentifier == HKDataTypeIdentifierHeartbeatSeries {
|
|
270
|
+
return try initializeSeriesType(typeIdentifier)
|
|
271
|
+
}
|
|
275
272
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
273
|
+
if typeIdentifier == HKAudiogramTypeIdentifier {
|
|
274
|
+
return HKSampleType.audiogramSampleType()
|
|
279
275
|
}
|
|
280
276
|
|
|
281
|
-
if
|
|
282
|
-
|
|
283
|
-
return HKSampleType.electrocardiogramType()
|
|
284
|
-
}
|
|
277
|
+
if typeIdentifier == HKElectrocardiogramType {
|
|
278
|
+
return HKSampleType.electrocardiogramType()
|
|
285
279
|
}
|
|
286
280
|
|
|
287
281
|
#if compiler(>=6)
|
|
@@ -366,6 +360,28 @@ func objectTypeFrom(objectTypeIdentifier: ObjectTypeIdentifier) throws -> HKObje
|
|
|
366
360
|
"Failed initializing unrecognized objectType identifier " + typeIdentifier)
|
|
367
361
|
}
|
|
368
362
|
|
|
363
|
+
// objectType is wider than sampleType, so it uses it under the hood
|
|
364
|
+
func perObjectTypeFrom(objectTypeIdentifier: PerObjectTypeIdentifier) throws -> HKObjectType {
|
|
365
|
+
let typeIdentifier = objectTypeIdentifier.stringValue
|
|
366
|
+
|
|
367
|
+
if #available(iOS 16.0, *) {
|
|
368
|
+
if typeIdentifier == HKVisionPrescriptionTypeIdentifier {
|
|
369
|
+
return HKObjectType.visionPrescriptionType()
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
#if compiler(>=6.2)
|
|
374
|
+
if #available(iOS 26.0, *) {
|
|
375
|
+
if typeIdentifier == "UserAnnotatedMedicationType" {
|
|
376
|
+
return HKObjectType.userAnnotatedMedicationType()
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
#endif
|
|
380
|
+
|
|
381
|
+
throw runtimeErrorWithPrefix(
|
|
382
|
+
"Failed initializing unrecognized objectType identifier " + typeIdentifier)
|
|
383
|
+
}
|
|
384
|
+
|
|
369
385
|
func componentsFromInterval(_ interval: NSDictionary) -> DateComponents {
|
|
370
386
|
let componentKeys: [String: WritableKeyPath<DateComponents, Int?>] = [
|
|
371
387
|
"minute": \.minute,
|
|
@@ -454,13 +470,12 @@ func buildStatisticsOptions(statistics: [StatisticsOptions], quantityType: HKQua
|
|
|
454
470
|
warnWithPrefix("buildStatisticsOptions: discretemin statistic requested for cumulative quantity type \(quantityType.identifier)")
|
|
455
471
|
}
|
|
456
472
|
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
}
|
|
473
|
+
|
|
474
|
+
if statistic == .duration {
|
|
475
|
+
opts.insert(HKStatisticsOptions.duration)
|
|
476
|
+
}
|
|
477
|
+
if statistic == .mostrecent {
|
|
478
|
+
opts.insert(HKStatisticsOptions.mostRecent)
|
|
464
479
|
}
|
|
465
480
|
}
|
|
466
481
|
return opts
|
|
@@ -81,30 +81,26 @@ func serializeStatistics(gottenStats: HKStatistics, unit: HKUnit) -> QueryStatis
|
|
|
81
81
|
)
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
if
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
84
|
+
if let mostRecent = gottenStats.mostRecentQuantity() {
|
|
85
|
+
response.mostRecentQuantity = Quantity(
|
|
86
|
+
unit: unit.unitString,
|
|
87
|
+
quantity: mostRecent.doubleValue(for: unit)
|
|
88
|
+
)
|
|
89
|
+
}
|
|
91
90
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
91
|
+
if let mostRecentDateInterval = gottenStats.mostRecentQuantityDateInterval() {
|
|
92
|
+
response.mostRecentQuantityDateInterval = QuantityDateInterval(
|
|
93
|
+
from: mostRecentDateInterval.start,
|
|
94
|
+
to: mostRecentDateInterval.end
|
|
95
|
+
)
|
|
98
96
|
}
|
|
99
97
|
|
|
100
|
-
if
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
)
|
|
107
|
-
}
|
|
98
|
+
if let duration = gottenStats.duration() {
|
|
99
|
+
let durationUnit = HKUnit.second()
|
|
100
|
+
response.duration = Quantity(
|
|
101
|
+
unit: durationUnit.unitString,
|
|
102
|
+
quantity: duration.doubleValue(for: durationUnit)
|
|
103
|
+
)
|
|
108
104
|
}
|
|
109
105
|
|
|
110
106
|
return response
|
|
@@ -201,31 +197,28 @@ func serializeStatisticsPerSource(gottenStats: HKStatistics, unit: HKUnit)
|
|
|
201
197
|
)
|
|
202
198
|
}
|
|
203
199
|
|
|
204
|
-
if
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
200
|
+
if let mostRecent = gottenStats.mostRecentQuantity(for: source) {
|
|
201
|
+
response.mostRecentQuantity = Quantity(
|
|
202
|
+
unit: unit.unitString,
|
|
203
|
+
quantity: mostRecent.doubleValue(for: unit)
|
|
204
|
+
)
|
|
205
|
+
}
|
|
211
206
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
207
|
+
if let mostRecentDateInterval = gottenStats.mostRecentQuantityDateInterval(for: source) {
|
|
208
|
+
response.mostRecentQuantityDateInterval = QuantityDateInterval(
|
|
209
|
+
from: mostRecentDateInterval.start,
|
|
210
|
+
to: mostRecentDateInterval.end
|
|
211
|
+
)
|
|
218
212
|
}
|
|
219
213
|
|
|
220
|
-
if
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
)
|
|
227
|
-
}
|
|
214
|
+
if let duration = gottenStats.duration(for: source) {
|
|
215
|
+
let durationUnit = HKUnit.second()
|
|
216
|
+
response.duration = Quantity(
|
|
217
|
+
unit: durationUnit.unitString,
|
|
218
|
+
quantity: duration.doubleValue(for: durationUnit)
|
|
219
|
+
)
|
|
228
220
|
}
|
|
221
|
+
|
|
229
222
|
return response
|
|
230
223
|
}
|
|
231
224
|
}
|
package/ios/Serializers.swift
CHANGED
|
@@ -218,19 +218,15 @@ func serializeUnknownQuantityTyped(quantity: HKQuantity?) -> Quantity? {
|
|
|
218
218
|
return serializeQuantityTyped(unit: METUnit, quantity: quantity)
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
if
|
|
222
|
-
|
|
223
|
-
return serializeQuantityTyped(unit: HKUnit.internationalUnit(), quantity: quantity)
|
|
224
|
-
}
|
|
221
|
+
if quantity.is(compatibleWith: HKUnit.internationalUnit()) {
|
|
222
|
+
return serializeQuantityTyped(unit: HKUnit.internationalUnit(), quantity: quantity)
|
|
225
223
|
}
|
|
226
224
|
|
|
227
|
-
if
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return serializeQuantityTyped(unit: HKUnit.decibelHearingLevel(), quantity: quantity)
|
|
233
|
-
}
|
|
225
|
+
if quantity.is(compatibleWith: HKUnit.hertz()) {
|
|
226
|
+
return serializeQuantityTyped(unit: HKUnit.hertz(), quantity: quantity)
|
|
227
|
+
}
|
|
228
|
+
if quantity.is(compatibleWith: HKUnit.decibelHearingLevel()) {
|
|
229
|
+
return serializeQuantityTyped(unit: HKUnit.decibelHearingLevel(), quantity: quantity)
|
|
234
230
|
}
|
|
235
231
|
|
|
236
232
|
if #available(iOS 16.0, *) {
|
|
@@ -318,32 +314,19 @@ func serializeDevice(hkDevice: HKDevice?) -> Device? {
|
|
|
318
314
|
)
|
|
319
315
|
}
|
|
320
316
|
|
|
321
|
-
func serializeOperatingSystemVersion(_ version: OperatingSystemVersion
|
|
322
|
-
guard let version = version else {
|
|
323
|
-
return nil
|
|
324
|
-
}
|
|
325
|
-
|
|
317
|
+
func serializeOperatingSystemVersion(_ version: OperatingSystemVersion) -> String {
|
|
326
318
|
let versionString = "\(version.majorVersion).\(version.minorVersion).\(version.patchVersion)"
|
|
327
319
|
|
|
328
320
|
return versionString
|
|
329
321
|
}
|
|
330
322
|
|
|
331
323
|
func serializeSourceRevision(_ hkSourceRevision: HKSourceRevision) -> SourceRevision {
|
|
332
|
-
if #available(iOS 11, *) {
|
|
333
|
-
return SourceRevision(
|
|
334
|
-
source: serializeSource(hkSourceRevision.source),
|
|
335
|
-
version: hkSourceRevision.version,
|
|
336
|
-
operatingSystemVersion: serializeOperatingSystemVersion(
|
|
337
|
-
hkSourceRevision.operatingSystemVersion),
|
|
338
|
-
productType: hkSourceRevision.productType
|
|
339
|
-
)
|
|
340
|
-
}
|
|
341
|
-
|
|
342
324
|
return SourceRevision(
|
|
343
325
|
source: serializeSource(hkSourceRevision.source),
|
|
344
326
|
version: hkSourceRevision.version,
|
|
345
|
-
operatingSystemVersion:
|
|
346
|
-
|
|
327
|
+
operatingSystemVersion: serializeOperatingSystemVersion(
|
|
328
|
+
hkSourceRevision.operatingSystemVersion),
|
|
329
|
+
productType: hkSourceRevision.productType
|
|
347
330
|
)
|
|
348
331
|
}
|
|
349
332
|
|
package/ios/WorkoutProxy.swift
CHANGED
|
@@ -329,13 +329,11 @@ class WorkoutProxy: HybridWorkoutProxySpec {
|
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
var totalFlightsClimbed: Quantity? {
|
|
332
|
-
if
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
)
|
|
338
|
-
}
|
|
332
|
+
if let hkTotalFlightsClimbed = workout.totalFlightsClimbed {
|
|
333
|
+
return Quantity(
|
|
334
|
+
unit: "count",
|
|
335
|
+
quantity: hkTotalFlightsClimbed.doubleValue(for: HKUnit.count())
|
|
336
|
+
)
|
|
339
337
|
}
|
|
340
338
|
return nil
|
|
341
339
|
}
|
package/ios/WorkoutsModule.swift
CHANGED
|
@@ -159,20 +159,18 @@ class WorkoutsModule: HybridWorkoutsModuleSpec {
|
|
|
159
159
|
metadata: metadataDeserialized
|
|
160
160
|
)
|
|
161
161
|
} else {
|
|
162
|
-
if
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
)
|
|
175
|
-
}
|
|
162
|
+
if let totalFlightsClimbed = totalFlightsClimbed {
|
|
163
|
+
workout = HKWorkout.init(
|
|
164
|
+
activityType: type,
|
|
165
|
+
start: startDate,
|
|
166
|
+
end: endDate,
|
|
167
|
+
workoutEvents: nil,
|
|
168
|
+
totalEnergyBurned: totalEnergyBurned,
|
|
169
|
+
totalDistance: totalDistance,
|
|
170
|
+
totalFlightsClimbed: totalFlightsClimbed,
|
|
171
|
+
device: nil,
|
|
172
|
+
metadata: metadataDeserialized
|
|
173
|
+
)
|
|
176
174
|
}
|
|
177
175
|
}
|
|
178
176
|
|
|
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
21
|
-
exports.getWheelchairUseAsync = exports.getFitzpatrickSkinTypeAsync = exports.getDateOfBirthAsync = exports.getBloodTypeAsync = exports.getBiologicalSexAsync = exports.currentAppSource = exports.queryMedicationEventsWithAnchor = exports.queryMedicationEvents = exports.queryMedications = exports.requestMedicationsAuthorization = exports.areObjectTypesAvailableAsync = exports.areObjectTypesAvailable = exports.isObjectTypeAvailableAsync = exports.isObjectTypeAvailable = exports.isQuantityCompatibleWithUnit = exports.saveStateOfMindSample = exports.queryStateOfMindSamplesWithAnchor = exports.queryStateOfMindSamples = exports.isProtectedDataAvailable = exports.startWatchApp = exports.saveWorkoutSample = exports.saveQuantitySample = exports.saveCorrelationSample = void 0;
|
|
20
|
+
exports.deleteObjects = exports.requestAuthorization = exports.querySources = exports.queryWorkoutSamplesWithAnchor = exports.queryWorkoutSamples = exports.queryStatisticsCollectionForQuantitySeparateBySource = exports.queryStatisticsForQuantitySeparateBySource = exports.queryStatisticsCollectionForQuantity = exports.queryStatisticsForQuantity = exports.queryQuantitySamplesWithAnchor = exports.queryQuantitySamples = exports.queryElectrocardiogramSamplesWithAnchor = exports.queryElectrocardiogramSamples = exports.queryHeartbeatSeriesSamplesWithAnchor = exports.queryHeartbeatSeriesSamples = exports.queryCorrelationSamplesWithAnchor = exports.queryCorrelationSamples = exports.queryCategorySamplesWithAnchor = exports.queryCategorySamples = exports.isHealthDataAvailableAsync = exports.isHealthDataAvailable = exports.getWheelchairUse = exports.getRequestStatusForAuthorization = exports.getPreferredUnits = exports.getFitzpatrickSkinType = exports.getDateOfBirth = exports.getBloodType = exports.getBiologicalSex = exports.enableBackgroundDelivery = exports.disableBackgroundDelivery = exports.disableAllBackgroundDelivery = exports.requestPerObjectReadAuthorization = exports.authorizationStatusFor = exports.useSubscribeToQuantitySamples = exports.useSubscribeToChanges = exports.useSubscribeToCategorySamples = exports.useStatisticsForQuantity = exports.useSources = exports.useMostRecentWorkout = exports.useMostRecentQuantitySample = exports.useMostRecentCategorySample = exports.useIsHealthDataAvailable = exports.useHealthkitAuthorization = exports.subscribeToQuantitySamples = exports.subscribeToChanges = exports.subscribeToCategorySamples = exports.getPreferredUnit = exports.getMostRecentWorkout = exports.getMostRecentQuantitySample = exports.getMostRecentCategorySample = void 0;
|
|
21
|
+
exports.getWheelchairUseAsync = exports.getFitzpatrickSkinTypeAsync = exports.getDateOfBirthAsync = exports.getBloodTypeAsync = exports.getBiologicalSexAsync = exports.currentAppSource = exports.queryMedicationEventsWithAnchor = exports.queryMedicationEvents = exports.queryMedications = exports.requestMedicationsAuthorization = exports.areObjectTypesAvailableAsync = exports.areObjectTypesAvailable = exports.isObjectTypeAvailableAsync = exports.isObjectTypeAvailable = exports.isQuantityCompatibleWithUnit = exports.saveStateOfMindSample = exports.queryStateOfMindSamplesWithAnchor = exports.queryStateOfMindSamples = exports.isProtectedDataAvailable = exports.startWatchApp = exports.saveWorkoutSample = exports.saveQuantitySample = exports.saveCorrelationSample = exports.saveCategorySample = void 0;
|
|
22
22
|
const react_native_1 = require("react-native");
|
|
23
23
|
const useHealthkitAuthorization_1 = __importDefault(require("./hooks/useHealthkitAuthorization"));
|
|
24
24
|
exports.useHealthkitAuthorization = useHealthkitAuthorization_1.default;
|
|
@@ -59,6 +59,7 @@ __exportStar(require("./types"), exports);
|
|
|
59
59
|
const currentMajorVersionIOS = react_native_1.Platform.OS === 'ios' ? Number.parseInt(react_native_1.Platform.Version, 10) : 0;
|
|
60
60
|
// Named exports - all functions bound to their respective modules
|
|
61
61
|
exports.authorizationStatusFor = modules_1.Core.authorizationStatusFor.bind(modules_1.Core);
|
|
62
|
+
exports.requestPerObjectReadAuthorization = modules_1.Core.requestPerObjectReadAuthorization.bind(modules_1.Core);
|
|
62
63
|
exports.disableAllBackgroundDelivery = modules_1.Core.disableAllBackgroundDelivery.bind(modules_1.Core);
|
|
63
64
|
exports.disableBackgroundDelivery = modules_1.Core.disableBackgroundDelivery.bind(modules_1.Core);
|
|
64
65
|
exports.enableBackgroundDelivery = modules_1.Core.enableBackgroundDelivery.bind(modules_1.Core);
|
|
@@ -160,6 +161,7 @@ exports.default = {
|
|
|
160
161
|
queryWorkoutSamplesWithAnchor: exports.queryWorkoutSamplesWithAnchor,
|
|
161
162
|
querySources: exports.querySources,
|
|
162
163
|
requestAuthorization: exports.requestAuthorization,
|
|
164
|
+
requestPerObjectReadAuthorization: exports.requestPerObjectReadAuthorization,
|
|
163
165
|
deleteObjects: exports.deleteObjects,
|
|
164
166
|
saveCategorySample: exports.saveCategorySample,
|
|
165
167
|
saveCorrelationSample: exports.saveCorrelationSample,
|
|
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.useMostRecentWorkout = exports.useMostRecentQuantitySample = exports.getPreferredUnit = exports.getMostRecentWorkout = exports.getMostRecentQuantitySample = exports.saveStateOfMindSample = exports.queryCorrelationSamplesWithAnchor = exports.queryStateOfMindSamplesWithAnchor = exports.queryStateOfMindSamples = exports.startWatchApp = exports.saveWorkoutSample = exports.queryWorkoutSamplesWithAnchor = exports.queryWorkoutSamples = exports.queryElectrocardiogramSamplesWithAnchor = exports.queryElectrocardiogramSamples = exports.queryHeartbeatSeriesSamplesWithAnchor = exports.queryHeartbeatSeriesSamples = exports.saveCorrelationSample = exports.queryCorrelationSamples = exports.saveCategorySample = exports.isQuantityCompatibleWithUnit = exports.saveQuantitySample = exports.queryStatisticsCollectionForQuantitySeparateBySource = exports.queryStatisticsForQuantitySeparateBySource = exports.queryStatisticsCollectionForQuantity = exports.queryStatisticsForQuantity = exports.queryQuantitySamplesWithAnchor = exports.queryQuantitySamples = exports.getWheelchairUse = exports.getFitzpatrickSkinType = exports.getDateOfBirth = exports.getBloodType = exports.getBiologicalSex = exports.areObjectTypesAvailableAsync = exports.areObjectTypesAvailable = exports.isObjectTypeAvailableAsync = exports.isObjectTypeAvailable = exports.isProtectedDataAvailable = exports.subscribeToChanges = exports.deleteObjects = exports.requestAuthorization = exports.querySources = exports.isHealthDataAvailableAsync = exports.isHealthDataAvailable = exports.getRequestStatusForAuthorization = exports.getPreferredUnits = exports.enableBackgroundDelivery = exports.disableBackgroundDelivery = exports.disableAllBackgroundDelivery = exports.authorizationStatusFor = void 0;
|
|
18
|
-
exports.requestMedicationsAuthorization = exports.subscribeToCategorySamples = exports.useSubscribeToCategorySamples = exports.useSubscribeToQuantitySamples = exports.queryMedicationEventsWithAnchor = exports.queryMedicationEvents = exports.queryMedications = exports.currentAppSource = exports.subscribeToQuantitySamples = exports.getWheelchairUseAsync = exports.getFitzpatrickSkinTypeAsync = exports.getDateOfBirthAsync = exports.getBloodTypeAsync = exports.getBiologicalSexAsync = exports.useStatisticsForQuantity = exports.useSources = exports.useIsHealthDataAvailable = exports.useHealthkitAuthorization = exports.useSubscribeToChanges = void 0;
|
|
18
|
+
exports.requestMedicationsAuthorization = exports.subscribeToCategorySamples = exports.requestPerObjectReadAuthorization = exports.useSubscribeToCategorySamples = exports.useSubscribeToQuantitySamples = exports.queryMedicationEventsWithAnchor = exports.queryMedicationEvents = exports.queryMedications = exports.currentAppSource = exports.subscribeToQuantitySamples = exports.getWheelchairUseAsync = exports.getFitzpatrickSkinTypeAsync = exports.getDateOfBirthAsync = exports.getBloodTypeAsync = exports.getBiologicalSexAsync = exports.useStatisticsForQuantity = exports.useSources = exports.useIsHealthDataAvailable = exports.useHealthkitAuthorization = exports.useSubscribeToChanges = void 0;
|
|
19
19
|
exports.queryCategorySamples = queryCategorySamples;
|
|
20
20
|
exports.queryCategorySamplesWithAnchor = queryCategorySamplesWithAnchor;
|
|
21
21
|
exports.getMostRecentCategorySample = getMostRecentCategorySample;
|
|
@@ -189,6 +189,7 @@ exports.queryMedicationEvents = UnavailableFnFromModule('queryMedicationEvents',
|
|
|
189
189
|
exports.queryMedicationEventsWithAnchor = UnavailableFnFromModule('queryMedicationEventsWithAnchor', Promise.resolve({ newAnchor: '', samples: [], deletedSamples: [] })); // Mocking callback structure
|
|
190
190
|
exports.useSubscribeToQuantitySamples = UnavailableFnFromModule('useSubscribeToQuantitySamples', undefined);
|
|
191
191
|
exports.useSubscribeToCategorySamples = UnavailableFnFromModule('useSubscribeToCategorySamples', undefined);
|
|
192
|
+
exports.requestPerObjectReadAuthorization = UnavailableFnFromModule('requestPerObjectReadAuthorization', Promise.resolve(undefined)); // Mocking callback structure
|
|
192
193
|
exports.subscribeToCategorySamples = UnavailableFnFromModule('subscribeToCategorySamples', {
|
|
193
194
|
remove: () => false,
|
|
194
195
|
}); // Mocking the observer query UUID
|
|
@@ -254,6 +255,7 @@ const HealthkitModule = {
|
|
|
254
255
|
queryMedicationEvents: exports.queryMedicationEvents,
|
|
255
256
|
queryMedicationEventsWithAnchor: exports.queryMedicationEventsWithAnchor,
|
|
256
257
|
requestMedicationsAuthorization: exports.requestMedicationsAuthorization,
|
|
258
|
+
requestPerObjectReadAuthorization: exports.requestPerObjectReadAuthorization,
|
|
257
259
|
subscribeToCategorySamples: exports.subscribeToCategorySamples,
|
|
258
260
|
currentAppSource: exports.currentAppSource,
|
|
259
261
|
// Hooks
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UserAnnotatedMedicationTypeIdentifier = exports.ElectrocardiogramTypeIdentifier = exports.HeartbeatSeriesTypeIdentifier = exports.StateOfMindTypeIdentifier = exports.WorkoutRouteTypeIdentifier = exports.WorkoutTypeIdentifier = void 0;
|
|
3
|
+
exports.AudiogramTypeIdentifier = exports.HKVisionPrescriptionTypeIdentifier = exports.ActivitySummaryTypeIdentifier = exports.UserAnnotatedMedicationTypeIdentifier = exports.ElectrocardiogramTypeIdentifier = exports.HeartbeatSeriesTypeIdentifier = exports.StateOfMindTypeIdentifier = exports.WorkoutRouteTypeIdentifier = exports.WorkoutTypeIdentifier = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Represents a workout type identifier.
|
|
6
6
|
* @see {@link https://developer.apple.com/documentation/healthkit/hkworkouttypeidentifier Apple Docs HKWorkoutTypeIdentifier}
|
|
@@ -27,3 +27,14 @@ exports.HeartbeatSeriesTypeIdentifier = 'HKDataTypeIdentifierHeartbeatSeries';
|
|
|
27
27
|
*/
|
|
28
28
|
exports.ElectrocardiogramTypeIdentifier = 'HKElectrocardiogramType';
|
|
29
29
|
exports.UserAnnotatedMedicationTypeIdentifier = 'HKUserAnnotatedMedicationTypeIdentifier';
|
|
30
|
+
/**
|
|
31
|
+
* Represents a type that identifies activity summary objects.
|
|
32
|
+
* @see {@link https://developer.apple.com/documentation/healthkit/hkactivitysummarytype Apple Docs HKActivitySummaryType}
|
|
33
|
+
*/
|
|
34
|
+
exports.ActivitySummaryTypeIdentifier = 'HKActivitySummaryTypeIdentifier';
|
|
35
|
+
exports.HKVisionPrescriptionTypeIdentifier = 'HKVisionPrescriptionTypeIdentifier';
|
|
36
|
+
/**
|
|
37
|
+
* Represents an audiogram type identifier.
|
|
38
|
+
* @see {@link https://developer.apple.com/documentation/healthkit/HKAudiogramSampleType Apple Docs HKAudiogramSampleType}
|
|
39
|
+
*/
|
|
40
|
+
exports.AudiogramTypeIdentifier = 'HKAudiogramSampleType';
|
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AudiogramTypeIdentifier = exports.ActivitySummaryTypeIdentifier = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Represents a type that identifies activity summary objects.
|
|
6
|
-
* @see {@link https://developer.apple.com/documentation/healthkit/hkactivitysummarytype Apple Docs HKActivitySummaryType}
|
|
7
|
-
*/
|
|
8
|
-
exports.ActivitySummaryTypeIdentifier = 'ActivitySummaryTypeIdentifier';
|
|
9
|
-
/**
|
|
10
|
-
* Represents an audiogram type identifier.
|
|
11
|
-
* @see {@link https://developer.apple.com/documentation/healthkit/HKAudiogramSampleType Apple Docs HKAudiogramSampleType}
|
|
12
|
-
*/
|
|
13
|
-
exports.AudiogramTypeIdentifier = 'HKAudiogramSampleType';
|
|
@@ -22,6 +22,7 @@ const currentMajorVersionIOS = Platform.OS === 'ios' ? Number.parseInt(Platform.
|
|
|
22
22
|
export { getMostRecentCategorySample, getMostRecentQuantitySample, getMostRecentWorkout, getPreferredUnit, subscribeToCategorySamples, subscribeToChanges, subscribeToQuantitySamples, useHealthkitAuthorization, useIsHealthDataAvailable, useMostRecentCategorySample, useMostRecentQuantitySample, useMostRecentWorkout, useSources, useStatisticsForQuantity, useSubscribeToCategorySamples, useSubscribeToChanges, useSubscribeToQuantitySamples, };
|
|
23
23
|
// Named exports - all functions bound to their respective modules
|
|
24
24
|
export const authorizationStatusFor = Core.authorizationStatusFor.bind(Core);
|
|
25
|
+
export const requestPerObjectReadAuthorization = Core.requestPerObjectReadAuthorization.bind(Core);
|
|
25
26
|
export const disableAllBackgroundDelivery = Core.disableAllBackgroundDelivery.bind(Core);
|
|
26
27
|
export const disableBackgroundDelivery = Core.disableBackgroundDelivery.bind(Core);
|
|
27
28
|
export const enableBackgroundDelivery = Core.enableBackgroundDelivery.bind(Core);
|
|
@@ -123,6 +124,7 @@ export default {
|
|
|
123
124
|
queryWorkoutSamplesWithAnchor,
|
|
124
125
|
querySources,
|
|
125
126
|
requestAuthorization,
|
|
127
|
+
requestPerObjectReadAuthorization,
|
|
126
128
|
deleteObjects,
|
|
127
129
|
saveCategorySample,
|
|
128
130
|
saveCorrelationSample,
|
package/lib/module/healthkit.js
CHANGED
|
@@ -167,6 +167,7 @@ export const queryMedicationEvents = UnavailableFnFromModule('queryMedicationEve
|
|
|
167
167
|
export const queryMedicationEventsWithAnchor = UnavailableFnFromModule('queryMedicationEventsWithAnchor', Promise.resolve({ newAnchor: '', samples: [], deletedSamples: [] })); // Mocking callback structure
|
|
168
168
|
export const useSubscribeToQuantitySamples = UnavailableFnFromModule('useSubscribeToQuantitySamples', undefined);
|
|
169
169
|
export const useSubscribeToCategorySamples = UnavailableFnFromModule('useSubscribeToCategorySamples', undefined);
|
|
170
|
+
export const requestPerObjectReadAuthorization = UnavailableFnFromModule('requestPerObjectReadAuthorization', Promise.resolve(undefined)); // Mocking callback structure
|
|
170
171
|
export const subscribeToCategorySamples = UnavailableFnFromModule('subscribeToCategorySamples', {
|
|
171
172
|
remove: () => false,
|
|
172
173
|
}); // Mocking the observer query UUID
|
|
@@ -232,6 +233,7 @@ const HealthkitModule = {
|
|
|
232
233
|
queryMedicationEvents,
|
|
233
234
|
queryMedicationEventsWithAnchor,
|
|
234
235
|
requestMedicationsAuthorization,
|
|
236
|
+
requestPerObjectReadAuthorization,
|
|
235
237
|
subscribeToCategorySamples,
|
|
236
238
|
currentAppSource,
|
|
237
239
|
// Hooks
|
|
@@ -24,3 +24,14 @@ export const HeartbeatSeriesTypeIdentifier = 'HKDataTypeIdentifierHeartbeatSerie
|
|
|
24
24
|
*/
|
|
25
25
|
export const ElectrocardiogramTypeIdentifier = 'HKElectrocardiogramType';
|
|
26
26
|
export const UserAnnotatedMedicationTypeIdentifier = 'HKUserAnnotatedMedicationTypeIdentifier';
|
|
27
|
+
/**
|
|
28
|
+
* Represents a type that identifies activity summary objects.
|
|
29
|
+
* @see {@link https://developer.apple.com/documentation/healthkit/hkactivitysummarytype Apple Docs HKActivitySummaryType}
|
|
30
|
+
*/
|
|
31
|
+
export const ActivitySummaryTypeIdentifier = 'HKActivitySummaryTypeIdentifier';
|
|
32
|
+
export const HKVisionPrescriptionTypeIdentifier = 'HKVisionPrescriptionTypeIdentifier';
|
|
33
|
+
/**
|
|
34
|
+
* Represents an audiogram type identifier.
|
|
35
|
+
* @see {@link https://developer.apple.com/documentation/healthkit/HKAudiogramSampleType Apple Docs HKAudiogramSampleType}
|
|
36
|
+
*/
|
|
37
|
+
export const AudiogramTypeIdentifier = 'HKAudiogramSampleType';
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Represents a type that identifies activity summary objects.
|
|
3
|
-
* @see {@link https://developer.apple.com/documentation/healthkit/hkactivitysummarytype Apple Docs HKActivitySummaryType}
|
|
4
|
-
*/
|
|
5
|
-
export const ActivitySummaryTypeIdentifier = 'ActivitySummaryTypeIdentifier';
|
|
6
|
-
/**
|
|
7
|
-
* Represents an audiogram type identifier.
|
|
8
|
-
* @see {@link https://developer.apple.com/documentation/healthkit/HKAudiogramSampleType Apple Docs HKAudiogramSampleType}
|
|
9
|
-
*/
|
|
10
|
-
export const AudiogramTypeIdentifier = 'HKAudiogramSampleType';
|
|
1
|
+
export {};
|