@kingstinct/react-native-healthkit 9.0.0 → 9.0.2
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/README.md +192 -0
- package/app.plugin.js +0 -1
- package/ios/Helpers.swift +33 -37
- package/ios/WorkoutProxy.swift +7 -0
- package/lib/commonjs/hooks/useCategorySampleById.js +36 -0
- package/lib/commonjs/hooks/useHealthkitAuthorization.js +34 -0
- package/lib/commonjs/hooks/useIsHealthDataAvailable.js +23 -0
- package/lib/commonjs/hooks/useMostRecentCategorySample.js +21 -0
- package/lib/commonjs/hooks/useMostRecentQuantitySample.js +22 -0
- package/lib/commonjs/hooks/useMostRecentWorkout.js +31 -0
- package/lib/commonjs/hooks/useQuantitySampleById.js +34 -0
- package/lib/commonjs/hooks/useSources.js +17 -0
- package/lib/commonjs/hooks/useStatisticsForQuantity.js +26 -0
- package/lib/commonjs/hooks/useSubscribeToChanges.js +20 -0
- package/lib/commonjs/hooks/useWorkoutById.js +46 -0
- package/lib/commonjs/index.ios.js +144 -0
- package/lib/commonjs/index.js +210 -0
- package/lib/commonjs/modules.js +12 -0
- package/lib/commonjs/specs/CategoryTypeModule.nitro.js +5 -0
- package/lib/commonjs/specs/CharacteristicTypeModule.nitro.js +2 -0
- package/lib/commonjs/specs/CoreModule.nitro.js +2 -0
- package/lib/commonjs/specs/CorrelationTypeModule.nitro.js +2 -0
- package/lib/commonjs/specs/HeartbeatSeriesModule.nitro.js +2 -0
- package/lib/commonjs/specs/QuantityTypeModule.nitro.js +2 -0
- package/lib/commonjs/specs/SourceProxy.nitro.js +2 -0
- package/lib/commonjs/specs/StateOfMindModule.nitro.js +2 -0
- package/lib/commonjs/specs/WorkoutProxy.nitro.js +2 -0
- package/lib/commonjs/specs/WorkoutSessionModule.nitro.js +19 -0
- package/lib/commonjs/specs/WorkoutsModule.nitro.js +2 -0
- package/lib/commonjs/types/Auth.js +21 -0
- package/lib/commonjs/types/Background.js +13 -0
- package/lib/commonjs/types/CategoryType.js +101 -0
- package/lib/commonjs/types/CategoryTypeIdentifier.js +2 -0
- package/lib/commonjs/types/Characteristics.js +48 -0
- package/lib/commonjs/types/Constants.js +23 -0
- package/lib/commonjs/types/CorrelationType.js +2 -0
- package/lib/commonjs/types/Device.js +2 -0
- package/lib/commonjs/types/HeartbeatSeries.js +2 -0
- package/lib/commonjs/types/InterfaceVerification.js +24 -0
- package/lib/commonjs/types/InterfaceVerificationExample.js +33 -0
- package/lib/commonjs/types/QuantitySample.js +2 -0
- package/lib/commonjs/types/QuantityType.js +17 -0
- package/lib/commonjs/types/QuantityTypeIdentifier.js +2 -0
- package/lib/commonjs/types/QueryOptions.js +2 -0
- package/lib/commonjs/types/Shared.js +13 -0
- package/lib/commonjs/types/Source.js +2 -0
- package/lib/commonjs/types/StateOfMind.js +90 -0
- package/lib/commonjs/types/Subscriptons.js +2 -0
- package/lib/commonjs/types/Units.js +2 -0
- package/lib/commonjs/types/WeatherCondition.js +35 -0
- package/lib/commonjs/types/WorkoutKit.js +12 -0
- package/lib/commonjs/types/Workouts.js +150 -0
- package/lib/commonjs/utils/getCategorySampleById.js +12 -0
- package/lib/commonjs/utils/getMostRecentCategorySample.js +12 -0
- package/lib/commonjs/utils/getMostRecentQuantitySample.js +11 -0
- package/lib/commonjs/utils/getMostRecentWorkout.js +13 -0
- package/lib/commonjs/utils/getPreferredUnit.js +12 -0
- package/lib/commonjs/utils/getQuantitySampleById.js +14 -0
- package/lib/commonjs/utils/getWorkoutById.js +15 -0
- package/lib/commonjs/utils/subscribeToChanges.js +11 -0
- package/lib/module/hooks/useCategorySampleById.js +30 -0
- package/lib/module/hooks/useHealthkitAuthorization.js +30 -0
- package/lib/module/hooks/useIsHealthDataAvailable.js +19 -0
- package/lib/module/hooks/useMostRecentCategorySample.js +15 -0
- package/lib/module/hooks/useMostRecentQuantitySample.js +16 -0
- package/lib/module/hooks/useMostRecentWorkout.js +25 -0
- package/lib/module/hooks/useQuantitySampleById.js +28 -0
- package/lib/module/hooks/useSources.js +14 -0
- package/lib/module/hooks/useStatisticsForQuantity.js +20 -0
- package/lib/module/hooks/useSubscribeToChanges.js +17 -0
- package/lib/module/hooks/useWorkoutById.js +40 -0
- package/lib/module/index.ios.js +126 -0
- package/lib/module/index.js +202 -0
- package/lib/module/modules.js +9 -0
- package/lib/module/specs/CategoryTypeModule.nitro.js +4 -0
- package/lib/module/specs/CharacteristicTypeModule.nitro.js +1 -0
- package/lib/module/specs/CoreModule.nitro.js +1 -0
- package/lib/module/specs/CorrelationTypeModule.nitro.js +1 -0
- package/lib/module/specs/HeartbeatSeriesModule.nitro.js +1 -0
- package/lib/module/specs/QuantityTypeModule.nitro.js +1 -0
- package/lib/module/specs/SourceProxy.nitro.js +1 -0
- package/lib/module/specs/StateOfMindModule.nitro.js +1 -0
- package/lib/module/specs/WorkoutProxy.nitro.js +1 -0
- package/lib/module/specs/WorkoutSessionModule.nitro.js +16 -0
- package/lib/module/specs/WorkoutsModule.nitro.js +1 -0
- package/lib/module/types/Auth.js +18 -0
- package/lib/module/types/Background.js +10 -0
- package/lib/module/types/CategoryType.js +98 -0
- package/lib/module/types/CategoryTypeIdentifier.js +1 -0
- package/lib/module/types/Characteristics.js +45 -0
- package/lib/module/types/Constants.js +20 -0
- package/lib/module/types/CorrelationType.js +1 -0
- package/lib/module/types/Device.js +1 -0
- package/lib/module/types/HeartbeatSeries.js +1 -0
- package/lib/module/types/InterfaceVerification.js +23 -0
- package/lib/module/types/InterfaceVerificationExample.js +32 -0
- package/lib/module/types/QuantitySample.js +1 -0
- package/lib/module/types/QuantityType.js +14 -0
- package/lib/module/types/QuantityTypeIdentifier.js +1 -0
- package/lib/module/types/QueryOptions.js +1 -0
- package/lib/module/types/Shared.js +10 -0
- package/lib/module/types/Source.js +1 -0
- package/lib/module/types/StateOfMind.js +87 -0
- package/lib/module/types/Subscriptons.js +1 -0
- package/lib/module/types/Units.js +1 -0
- package/lib/module/types/WeatherCondition.js +32 -0
- package/lib/module/types/WorkoutKit.js +9 -0
- package/lib/module/types/Workouts.js +147 -0
- package/lib/module/utils/getCategorySampleById.js +9 -0
- package/lib/module/utils/getMostRecentCategorySample.js +9 -0
- package/lib/module/utils/getMostRecentQuantitySample.js +9 -0
- package/lib/module/utils/getMostRecentWorkout.js +11 -0
- package/lib/module/utils/getPreferredUnit.js +10 -0
- package/lib/module/utils/getQuantitySampleById.js +12 -0
- package/lib/module/utils/getWorkoutById.js +13 -0
- package/lib/module/utils/subscribeToChanges.js +7 -0
- package/lib/typescript/hooks/useCategorySampleById.d.ts +11 -0
- package/lib/typescript/hooks/useHealthkitAuthorization.d.ts +9 -0
- package/lib/typescript/hooks/useIsHealthDataAvailable.d.ts +7 -0
- package/lib/typescript/hooks/useMostRecentCategorySample.d.ts +7 -0
- package/lib/typescript/hooks/useMostRecentQuantitySample.d.ts +7 -0
- package/lib/typescript/hooks/useMostRecentWorkout.d.ts +9 -0
- package/lib/typescript/hooks/useQuantitySampleById.d.ts +14 -0
- package/lib/typescript/hooks/useSources.d.ts +4 -0
- package/lib/typescript/hooks/useStatisticsForQuantity.d.ts +4 -0
- package/lib/typescript/hooks/useSubscribeToChanges.d.ts +4 -0
- package/lib/typescript/hooks/useWorkoutById.d.ts +13 -0
- package/lib/typescript/index.d.ts +74 -0
- package/lib/typescript/index.ios.d.ts +142 -0
- package/lib/typescript/modules.d.ts +16 -0
- package/lib/typescript/specs/CategoryTypeModule.nitro.d.ts +16 -0
- package/lib/typescript/specs/CharacteristicTypeModule.nitro.d.ts +16 -0
- package/lib/typescript/specs/CoreModule.nitro.d.ts +60 -0
- package/lib/typescript/specs/CorrelationTypeModule.nitro.d.ts +8 -0
- package/lib/typescript/specs/HeartbeatSeriesModule.nitro.d.ts +9 -0
- package/lib/typescript/specs/QuantityTypeModule.nitro.d.ts +16 -0
- package/lib/typescript/specs/SourceProxy.nitro.d.ts +14 -0
- package/lib/typescript/specs/StateOfMindModule.nitro.d.ts +9 -0
- package/lib/typescript/specs/WorkoutProxy.nitro.d.ts +10 -0
- package/lib/typescript/specs/WorkoutSessionModule.nitro.d.ts +47 -0
- package/lib/typescript/specs/WorkoutsModule.nitro.d.ts +13 -0
- package/lib/typescript/types/Auth.d.ts +16 -0
- package/lib/typescript/types/Background.d.ts +9 -0
- package/lib/typescript/types/CategoryType.d.ts +144 -0
- package/lib/typescript/types/CategoryTypeIdentifier.d.ts +31 -0
- package/lib/typescript/types/Characteristics.d.ts +41 -0
- package/lib/typescript/types/Constants.d.ts +20 -0
- package/lib/typescript/types/CorrelationType.d.ts +21 -0
- package/lib/typescript/types/Device.d.ts +13 -0
- package/lib/typescript/types/HeartbeatSeries.d.ts +25 -0
- package/lib/typescript/types/InterfaceVerification.d.ts +73 -0
- package/lib/typescript/types/InterfaceVerificationExample.d.ts +58 -0
- package/lib/typescript/types/QuantitySample.d.ts +27 -0
- package/lib/typescript/types/QuantityType.d.ts +63 -0
- package/lib/typescript/types/QuantityTypeIdentifier.d.ts +659 -0
- package/lib/typescript/types/QueryOptions.d.ts +47 -0
- package/lib/typescript/types/Shared.d.ts +39 -0
- package/lib/typescript/types/Source.d.ts +10 -0
- package/lib/typescript/types/StateOfMind.d.ts +103 -0
- package/lib/typescript/types/Subscriptons.d.ts +8 -0
- package/lib/typescript/types/Units.d.ts +97 -0
- package/lib/typescript/types/WeatherCondition.d.ts +30 -0
- package/lib/typescript/types/WorkoutKit.d.ts +16 -0
- package/lib/typescript/types/Workouts.d.ts +254 -0
- package/lib/typescript/utils/getCategorySampleById.d.ts +3 -0
- package/lib/typescript/utils/getMostRecentCategorySample.d.ts +3 -0
- package/lib/typescript/utils/getMostRecentQuantitySample.d.ts +3 -0
- package/lib/typescript/utils/getMostRecentWorkout.d.ts +3 -0
- package/lib/typescript/utils/getPreferredUnit.d.ts +3 -0
- package/lib/typescript/utils/getQuantitySampleById.d.ts +3 -0
- package/lib/typescript/utils/getWorkoutById.d.ts +3 -0
- package/lib/typescript/utils/subscribeToChanges.d.ts +5 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/ios/ReactNativeHealthkit+autolinking.rb +60 -0
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +450 -0
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +2570 -0
- package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +326 -0
- package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +89 -0
- package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +130 -0
- package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +146 -0
- package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.hpp +155 -0
- package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +300 -0
- package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +120 -0
- package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +138 -0
- package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +196 -0
- package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.hpp +77 -0
- package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +138 -0
- package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +196 -0
- package/nitrogen/generated/ios/c++/HybridWorkoutSessionModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridWorkoutSessionModuleSpecSwift.hpp +107 -0
- package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +172 -0
- package/nitrogen/generated/ios/swift/AuthorizationRequestStatus.swift +44 -0
- package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +44 -0
- package/nitrogen/generated/ios/swift/BiologicalSex.swift +48 -0
- package/nitrogen/generated/ios/swift/BloodType.swift +68 -0
- package/nitrogen/generated/ios/swift/CategorySample.swift +148 -0
- package/nitrogen/generated/ios/swift/CategorySampleForSaving.swift +108 -0
- package/nitrogen/generated/ios/swift/CategorySamplesWithAnchorResponse.swift +81 -0
- package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +288 -0
- package/nitrogen/generated/ios/swift/ComparisonPredicateOperator.swift +88 -0
- package/nitrogen/generated/ios/swift/CorrelationObject.swift +16 -0
- package/nitrogen/generated/ios/swift/CorrelationSample.swift +117 -0
- package/nitrogen/generated/ios/swift/CorrelationTypeIdentifier.swift +40 -0
- package/nitrogen/generated/ios/swift/DeletedSample.swift +64 -0
- package/nitrogen/generated/ios/swift/Device.swift +256 -0
- package/nitrogen/generated/ios/swift/FilterForSamples.swift +21 -0
- package/nitrogen/generated/ios/swift/FilterForSamplesAnd.swift +94 -0
- package/nitrogen/generated/ios/swift/FilterForSamplesOr.swift +94 -0
- package/nitrogen/generated/ios/swift/FitzpatrickSkinType.swift +60 -0
- package/nitrogen/generated/ios/swift/Func_void_AuthorizationRequestStatus.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_BiologicalSex.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_BloodType.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_CategorySamplesWithAnchorResponse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_FitzpatrickSkinType.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_HeartbeatSeriesSamplesWithAnchorResponse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_OnChangeCallbackArgs.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_QuantitySamplesWithAnchorResponse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_QueryStatisticsResponse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_QueryWorkoutSamplesWithAnchorResponse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_WheelchairUse.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_WorkoutEventType.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_WorkoutSessionState_WorkoutSessionState_std__chrono__system_clock__time_point.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__chrono__system_clock__time_point.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_WorkoutPlan_.swift +52 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__bool_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_CategorySample_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_CorrelationSample_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_HeartbeatSeriesSample_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_IdentifierWithUnit_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_QuantitySample_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponse_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_RemoteSessionSharableData_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_StateOfMindSample_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_WorkoutRoute_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_margelo__nitro__healthkit__HybridSourceProxySpec__.swift +50 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_margelo__nitro__healthkit__HybridWorkoutProxySpec__.swift +50 -0
- package/nitrogen/generated/ios/swift/Heartbeat.swift +46 -0
- package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +167 -0
- package/nitrogen/generated/ios/swift/HeartbeatSeriesSamplesWithAnchorResponse.swift +81 -0
- package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +50 -0
- package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +171 -0
- package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec_cxx.swift +257 -0
- package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +69 -0
- package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +523 -0
- package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +49 -0
- package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +49 -0
- package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +152 -0
- package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +54 -0
- package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +285 -0
- package/nitrogen/generated/ios/swift/HybridSourceProxySpec.swift +48 -0
- package/nitrogen/generated/ios/swift/HybridSourceProxySpec_cxx.swift +125 -0
- package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +49 -0
- package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +158 -0
- package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +64 -0
- package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +351 -0
- package/nitrogen/generated/ios/swift/HybridWorkoutSessionModuleSpec.swift +49 -0
- package/nitrogen/generated/ios/swift/HybridWorkoutSessionModuleSpec_cxx.swift +133 -0
- package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec.swift +51 -0
- package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec_cxx.swift +187 -0
- package/nitrogen/generated/ios/swift/IdentifierWithUnit.swift +46 -0
- package/nitrogen/generated/ios/swift/IntervalComponents.swift +139 -0
- package/nitrogen/generated/ios/swift/LocationForSaving.swift +112 -0
- package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +820 -0
- package/nitrogen/generated/ios/swift/OnChangeCallbackArgs.swift +64 -0
- package/nitrogen/generated/ios/swift/PredicateForSamples.swift +19 -0
- package/nitrogen/generated/ios/swift/PredicateForWorkouts.swift +21 -0
- package/nitrogen/generated/ios/swift/PredicateForWorkoutsAnd.swift +108 -0
- package/nitrogen/generated/ios/swift/PredicateForWorkoutsOr.swift +108 -0
- package/nitrogen/generated/ios/swift/PredicateFromWorkout.swift +45 -0
- package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +35 -0
- package/nitrogen/generated/ios/swift/PredicateWithStartAndEnd.swift +128 -0
- package/nitrogen/generated/ios/swift/PredicateWithUUID.swift +35 -0
- package/nitrogen/generated/ios/swift/PredicateWithUUIDs.swift +47 -0
- package/nitrogen/generated/ios/swift/Quantity.swift +46 -0
- package/nitrogen/generated/ios/swift/QuantityDateInterval.swift +46 -0
- package/nitrogen/generated/ios/swift/QuantitySample.swift +159 -0
- package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +119 -0
- package/nitrogen/generated/ios/swift/QuantitySamplesWithAnchorResponse.swift +81 -0
- package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +508 -0
- package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +166 -0
- package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +195 -0
- package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +160 -0
- package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +189 -0
- package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +227 -0
- package/nitrogen/generated/ios/swift/QueryWorkoutSamplesWithAnchorResponse.swift +91 -0
- package/nitrogen/generated/ios/swift/RemoteSessionSharableData.swift +46 -0
- package/nitrogen/generated/ios/swift/SampleForSaving.swift +16 -0
- package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +792 -0
- package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +772 -0
- package/nitrogen/generated/ios/swift/Source.swift +46 -0
- package/nitrogen/generated/ios/swift/SourceRevision.swift +150 -0
- package/nitrogen/generated/ios/swift/StateOfMindAssociation.swift +104 -0
- package/nitrogen/generated/ios/swift/StateOfMindKind.swift +40 -0
- package/nitrogen/generated/ios/swift/StateOfMindLabel.swift +184 -0
- package/nitrogen/generated/ios/swift/StateOfMindSample.swift +223 -0
- package/nitrogen/generated/ios/swift/StateOfMindValenceClassification.swift +60 -0
- package/nitrogen/generated/ios/swift/StatisticsOptions.swift +60 -0
- package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +129 -0
- package/nitrogen/generated/ios/swift/UpdateFrequency.swift +48 -0
- package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout.swift +19 -0
- package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_FilterForSamplesAnd_FilterForSamplesOr.swift +21 -0
- package/nitrogen/generated/ios/swift/Variant_PredicateWithUUID_PredicateWithUUIDs_PredicateWithMetadataKey_PredicateWithStartAndEnd_PredicateFromWorkout_WorkoutActivityTypePredicate_WorkoutDurationPredicate_PredicateForWorkoutsOr_PredicateForWorkoutsAnd.swift +23 -0
- package/nitrogen/generated/ios/swift/WheelchairUse.swift +44 -0
- package/nitrogen/generated/ios/swift/WorkoutActivity.swift +68 -0
- package/nitrogen/generated/ios/swift/WorkoutActivityType.swift +368 -0
- package/nitrogen/generated/ios/swift/WorkoutActivityTypePredicate.swift +35 -0
- package/nitrogen/generated/ios/swift/WorkoutConfiguration.swift +58 -0
- package/nitrogen/generated/ios/swift/WorkoutDurationPredicate.swift +46 -0
- package/nitrogen/generated/ios/swift/WorkoutEvent.swift +57 -0
- package/nitrogen/generated/ios/swift/WorkoutEventType.swift +64 -0
- package/nitrogen/generated/ios/swift/WorkoutPlan.swift +46 -0
- package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +232 -0
- package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +238 -0
- package/nitrogen/generated/ios/swift/WorkoutRoute.swift +99 -0
- package/nitrogen/generated/ios/swift/WorkoutRouteLocation.swift +146 -0
- package/nitrogen/generated/ios/swift/WorkoutSample.swift +364 -0
- package/nitrogen/generated/ios/swift/WorkoutSessionLocationType.swift +44 -0
- package/nitrogen/generated/ios/swift/WorkoutSessionMirroringStartHandlerOptions.swift +118 -0
- package/nitrogen/generated/ios/swift/WorkoutSessionState.swift +56 -0
- package/nitrogen/generated/ios/swift/WorkoutTotals.swift +70 -0
- package/nitrogen/generated/shared/c++/AuthorizationRequestStatus.hpp +65 -0
- package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +65 -0
- package/nitrogen/generated/shared/c++/BiologicalSex.hpp +66 -0
- package/nitrogen/generated/shared/c++/BloodType.hpp +71 -0
- package/nitrogen/generated/shared/c++/CategorySample.hpp +110 -0
- package/nitrogen/generated/shared/c++/CategorySampleForSaving.hpp +98 -0
- package/nitrogen/generated/shared/c++/CategorySamplesWithAnchorResponse.hpp +83 -0
- package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +326 -0
- package/nitrogen/generated/shared/c++/ComparisonPredicateOperator.hpp +76 -0
- package/nitrogen/generated/shared/c++/CorrelationSample.hpp +98 -0
- package/nitrogen/generated/shared/c++/CorrelationTypeIdentifier.hpp +78 -0
- package/nitrogen/generated/shared/c++/DeletedSample.hpp +76 -0
- package/nitrogen/generated/shared/c++/Device.hpp +98 -0
- package/nitrogen/generated/shared/c++/FilterForSamplesAnd.hpp +84 -0
- package/nitrogen/generated/shared/c++/FilterForSamplesOr.hpp +84 -0
- package/nitrogen/generated/shared/c++/FitzpatrickSkinType.hpp +69 -0
- package/nitrogen/generated/shared/c++/Heartbeat.hpp +73 -0
- package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +107 -0
- package/nitrogen/generated/shared/c++/HeartbeatSeriesSamplesWithAnchorResponse.hpp +83 -0
- package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +84 -0
- package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.hpp +83 -0
- package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +42 -0
- package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +140 -0
- package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +27 -0
- package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +123 -0
- package/nitrogen/generated/shared/c++/HybridSourceProxySpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridSourceProxySpec.hpp +65 -0
- package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +83 -0
- package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +38 -0
- package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +114 -0
- package/nitrogen/generated/shared/c++/HybridWorkoutSessionModuleSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridWorkoutSessionModuleSpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.hpp +95 -0
- package/nitrogen/generated/shared/c++/IdentifierWithUnit.hpp +73 -0
- package/nitrogen/generated/shared/c++/IntervalComponents.hpp +85 -0
- package/nitrogen/generated/shared/c++/LocationForSaving.hpp +97 -0
- package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +858 -0
- package/nitrogen/generated/shared/c++/OnChangeCallbackArgs.hpp +76 -0
- package/nitrogen/generated/shared/c++/PredicateForWorkoutsAnd.hpp +90 -0
- package/nitrogen/generated/shared/c++/PredicateForWorkoutsOr.hpp +90 -0
- package/nitrogen/generated/shared/c++/PredicateFromWorkout.hpp +71 -0
- package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +69 -0
- package/nitrogen/generated/shared/c++/PredicateWithStartAndEnd.hpp +82 -0
- package/nitrogen/generated/shared/c++/PredicateWithUUID.hpp +69 -0
- package/nitrogen/generated/shared/c++/PredicateWithUUIDs.hpp +70 -0
- package/nitrogen/generated/shared/c++/Quantity.hpp +73 -0
- package/nitrogen/generated/shared/c++/QuantityDateInterval.hpp +73 -0
- package/nitrogen/generated/shared/c++/QuantitySample.hpp +114 -0
- package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +103 -0
- package/nitrogen/generated/shared/c++/QuantitySamplesWithAnchorResponse.hpp +83 -0
- package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +546 -0
- package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +99 -0
- package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +103 -0
- package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +98 -0
- package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +103 -0
- package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +98 -0
- package/nitrogen/generated/shared/c++/QueryWorkoutSamplesWithAnchorResponse.hpp +84 -0
- package/nitrogen/generated/shared/c++/RemoteSessionSharableData.hpp +75 -0
- package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +830 -0
- package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +810 -0
- package/nitrogen/generated/shared/c++/Source.hpp +73 -0
- package/nitrogen/generated/shared/c++/SourceRevision.hpp +85 -0
- package/nitrogen/generated/shared/c++/StateOfMindAssociation.hpp +80 -0
- package/nitrogen/generated/shared/c++/StateOfMindKind.hpp +64 -0
- package/nitrogen/generated/shared/c++/StateOfMindLabel.hpp +100 -0
- package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +132 -0
- package/nitrogen/generated/shared/c++/StateOfMindValenceClassification.hpp +69 -0
- package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +98 -0
- package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +89 -0
- package/nitrogen/generated/shared/c++/UpdateFrequency.hpp +66 -0
- package/nitrogen/generated/shared/c++/WheelchairUse.hpp +65 -0
- package/nitrogen/generated/shared/c++/WorkoutActivity.hpp +82 -0
- package/nitrogen/generated/shared/c++/WorkoutActivityType.hpp +146 -0
- package/nitrogen/generated/shared/c++/WorkoutActivityTypePredicate.hpp +70 -0
- package/nitrogen/generated/shared/c++/WorkoutConfiguration.hpp +78 -0
- package/nitrogen/generated/shared/c++/WorkoutDurationPredicate.hpp +74 -0
- package/nitrogen/generated/shared/c++/WorkoutEvent.hpp +79 -0
- package/nitrogen/generated/shared/c++/WorkoutEventType.hpp +70 -0
- package/nitrogen/generated/shared/c++/WorkoutPlan.hpp +75 -0
- package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +113 -0
- package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +113 -0
- package/nitrogen/generated/shared/c++/WorkoutRoute.hpp +81 -0
- package/nitrogen/generated/shared/c++/WorkoutRouteLocation.hpp +106 -0
- package/nitrogen/generated/shared/c++/WorkoutSample.hpp +144 -0
- package/nitrogen/generated/shared/c++/WorkoutSessionLocationType.hpp +65 -0
- package/nitrogen/generated/shared/c++/WorkoutSessionMirroringStartHandlerOptions.hpp +92 -0
- package/nitrogen/generated/shared/c++/WorkoutSessionState.hpp +68 -0
- package/nitrogen/generated/shared/c++/WorkoutTotals.hpp +73 -0
- package/package.json +35 -12
- package/src/hooks/useCategorySampleById.ts +41 -0
- package/src/hooks/useQuantitySampleById.ts +44 -0
- package/src/hooks/useWorkoutById.ts +55 -0
- package/src/index.ios.ts +1 -9
- package/src/index.ts +4 -16
- package/src/utils/getCategorySampleById.ts +16 -0
- package/src/utils/getQuantitySampleById.ts +20 -0
- package/src/utils/getWorkoutById.ts +20 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridHeartbeatSeriesModuleSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `HeartbeatSeriesSample` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::healthkit { struct HeartbeatSeriesSample; }
|
|
18
|
+
// Forward declaration of `QueryOptionsWithSortOrder` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrder; }
|
|
20
|
+
// Forward declaration of `HeartbeatSeriesSamplesWithAnchorResponse` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::healthkit { struct HeartbeatSeriesSamplesWithAnchorResponse; }
|
|
22
|
+
// Forward declaration of `QueryOptionsWithAnchor` to properly resolve imports.
|
|
23
|
+
namespace margelo::nitro::healthkit { struct QueryOptionsWithAnchor; }
|
|
24
|
+
|
|
25
|
+
#include <NitroModules/Promise.hpp>
|
|
26
|
+
#include <vector>
|
|
27
|
+
#include "HeartbeatSeriesSample.hpp"
|
|
28
|
+
#include <optional>
|
|
29
|
+
#include "QueryOptionsWithSortOrder.hpp"
|
|
30
|
+
#include "HeartbeatSeriesSamplesWithAnchorResponse.hpp"
|
|
31
|
+
#include "QueryOptionsWithAnchor.hpp"
|
|
32
|
+
|
|
33
|
+
namespace margelo::nitro::healthkit {
|
|
34
|
+
|
|
35
|
+
using namespace margelo::nitro;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* An abstract base class for `HeartbeatSeriesModule`
|
|
39
|
+
* Inherit this class to create instances of `HybridHeartbeatSeriesModuleSpec` in C++.
|
|
40
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
41
|
+
* @example
|
|
42
|
+
* ```cpp
|
|
43
|
+
* class HybridHeartbeatSeriesModule: public HybridHeartbeatSeriesModuleSpec {
|
|
44
|
+
* public:
|
|
45
|
+
* HybridHeartbeatSeriesModule(...): HybridObject(TAG) { ... }
|
|
46
|
+
* // ...
|
|
47
|
+
* };
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
class HybridHeartbeatSeriesModuleSpec: public virtual HybridObject {
|
|
51
|
+
public:
|
|
52
|
+
// Constructor
|
|
53
|
+
explicit HybridHeartbeatSeriesModuleSpec(): HybridObject(TAG) { }
|
|
54
|
+
|
|
55
|
+
// Destructor
|
|
56
|
+
~HybridHeartbeatSeriesModuleSpec() override = default;
|
|
57
|
+
|
|
58
|
+
public:
|
|
59
|
+
// Properties
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
public:
|
|
63
|
+
// Methods
|
|
64
|
+
virtual std::shared_ptr<Promise<std::vector<HeartbeatSeriesSample>>> queryHeartbeatSeriesSamples(const std::optional<QueryOptionsWithSortOrder>& options) = 0;
|
|
65
|
+
virtual std::shared_ptr<Promise<HeartbeatSeriesSamplesWithAnchorResponse>> queryHeartbeatSeriesSamplesWithAnchor(const QueryOptionsWithAnchor& options) = 0;
|
|
66
|
+
|
|
67
|
+
protected:
|
|
68
|
+
// Hybrid Setup
|
|
69
|
+
void loadHybridMethods() override;
|
|
70
|
+
|
|
71
|
+
protected:
|
|
72
|
+
// Tag for logging
|
|
73
|
+
static constexpr auto TAG = "HeartbeatSeriesModule";
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridQuantityTypeModuleSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridQuantityTypeModuleSpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::healthkit {
|
|
11
|
+
|
|
12
|
+
void HybridQuantityTypeModuleSpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("isQuantityCompatibleWithUnit", &HybridQuantityTypeModuleSpec::isQuantityCompatibleWithUnit);
|
|
18
|
+
prototype.registerHybridMethod("saveQuantitySample", &HybridQuantityTypeModuleSpec::saveQuantitySample);
|
|
19
|
+
prototype.registerHybridMethod("deleteQuantitySamples", &HybridQuantityTypeModuleSpec::deleteQuantitySamples);
|
|
20
|
+
prototype.registerHybridMethod("queryQuantitySamples", &HybridQuantityTypeModuleSpec::queryQuantitySamples);
|
|
21
|
+
prototype.registerHybridMethod("queryStatisticsForQuantity", &HybridQuantityTypeModuleSpec::queryStatisticsForQuantity);
|
|
22
|
+
prototype.registerHybridMethod("queryStatisticsCollectionForQuantity", &HybridQuantityTypeModuleSpec::queryStatisticsCollectionForQuantity);
|
|
23
|
+
prototype.registerHybridMethod("queryQuantitySamplesWithAnchor", &HybridQuantityTypeModuleSpec::queryQuantitySamplesWithAnchor);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridQuantityTypeModuleSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `QuantityTypeIdentifier` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::healthkit { enum class QuantityTypeIdentifier; }
|
|
18
|
+
// Forward declaration of `AnyMap` to properly resolve imports.
|
|
19
|
+
namespace NitroModules { class AnyMap; }
|
|
20
|
+
// Forward declaration of `PredicateWithUUID` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::healthkit { struct PredicateWithUUID; }
|
|
22
|
+
// Forward declaration of `PredicateWithUUIDs` to properly resolve imports.
|
|
23
|
+
namespace margelo::nitro::healthkit { struct PredicateWithUUIDs; }
|
|
24
|
+
// Forward declaration of `PredicateWithMetadataKey` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::healthkit { struct PredicateWithMetadataKey; }
|
|
26
|
+
// Forward declaration of `PredicateWithStartAndEnd` to properly resolve imports.
|
|
27
|
+
namespace margelo::nitro::healthkit { struct PredicateWithStartAndEnd; }
|
|
28
|
+
// Forward declaration of `PredicateFromWorkout` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::healthkit { struct PredicateFromWorkout; }
|
|
30
|
+
// Forward declaration of `FilterForSamplesAnd` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::healthkit { struct FilterForSamplesAnd; }
|
|
32
|
+
// Forward declaration of `FilterForSamplesOr` to properly resolve imports.
|
|
33
|
+
namespace margelo::nitro::healthkit { struct FilterForSamplesOr; }
|
|
34
|
+
// Forward declaration of `QuantitySample` to properly resolve imports.
|
|
35
|
+
namespace margelo::nitro::healthkit { struct QuantitySample; }
|
|
36
|
+
// Forward declaration of `QueryOptionsWithSortOrderAndUnit` to properly resolve imports.
|
|
37
|
+
namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrderAndUnit; }
|
|
38
|
+
// Forward declaration of `QueryStatisticsResponse` to properly resolve imports.
|
|
39
|
+
namespace margelo::nitro::healthkit { struct QueryStatisticsResponse; }
|
|
40
|
+
// Forward declaration of `StatisticsOptions` to properly resolve imports.
|
|
41
|
+
namespace margelo::nitro::healthkit { enum class StatisticsOptions; }
|
|
42
|
+
// Forward declaration of `StatisticsQueryOptions` to properly resolve imports.
|
|
43
|
+
namespace margelo::nitro::healthkit { struct StatisticsQueryOptions; }
|
|
44
|
+
// Forward declaration of `IntervalComponents` to properly resolve imports.
|
|
45
|
+
namespace margelo::nitro::healthkit { struct IntervalComponents; }
|
|
46
|
+
// Forward declaration of `QuantitySamplesWithAnchorResponse` to properly resolve imports.
|
|
47
|
+
namespace margelo::nitro::healthkit { struct QuantitySamplesWithAnchorResponse; }
|
|
48
|
+
// Forward declaration of `QueryOptionsWithAnchorAndUnit` to properly resolve imports.
|
|
49
|
+
namespace margelo::nitro::healthkit { struct QueryOptionsWithAnchorAndUnit; }
|
|
50
|
+
|
|
51
|
+
#include "QuantityTypeIdentifier.hpp"
|
|
52
|
+
#include <string>
|
|
53
|
+
#include <NitroModules/Promise.hpp>
|
|
54
|
+
#include <chrono>
|
|
55
|
+
#include <NitroModules/AnyMap.hpp>
|
|
56
|
+
#include <variant>
|
|
57
|
+
#include "PredicateWithUUID.hpp"
|
|
58
|
+
#include "PredicateWithUUIDs.hpp"
|
|
59
|
+
#include "PredicateWithMetadataKey.hpp"
|
|
60
|
+
#include "PredicateWithStartAndEnd.hpp"
|
|
61
|
+
#include "PredicateFromWorkout.hpp"
|
|
62
|
+
#include "FilterForSamplesAnd.hpp"
|
|
63
|
+
#include "FilterForSamplesOr.hpp"
|
|
64
|
+
#include <vector>
|
|
65
|
+
#include "QuantitySample.hpp"
|
|
66
|
+
#include <optional>
|
|
67
|
+
#include "QueryOptionsWithSortOrderAndUnit.hpp"
|
|
68
|
+
#include "QueryStatisticsResponse.hpp"
|
|
69
|
+
#include "StatisticsOptions.hpp"
|
|
70
|
+
#include "StatisticsQueryOptions.hpp"
|
|
71
|
+
#include "IntervalComponents.hpp"
|
|
72
|
+
#include "QuantitySamplesWithAnchorResponse.hpp"
|
|
73
|
+
#include "QueryOptionsWithAnchorAndUnit.hpp"
|
|
74
|
+
|
|
75
|
+
namespace margelo::nitro::healthkit {
|
|
76
|
+
|
|
77
|
+
using namespace margelo::nitro;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* An abstract base class for `QuantityTypeModule`
|
|
81
|
+
* Inherit this class to create instances of `HybridQuantityTypeModuleSpec` in C++.
|
|
82
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
83
|
+
* @example
|
|
84
|
+
* ```cpp
|
|
85
|
+
* class HybridQuantityTypeModule: public HybridQuantityTypeModuleSpec {
|
|
86
|
+
* public:
|
|
87
|
+
* HybridQuantityTypeModule(...): HybridObject(TAG) { ... }
|
|
88
|
+
* // ...
|
|
89
|
+
* };
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
class HybridQuantityTypeModuleSpec: public virtual HybridObject {
|
|
93
|
+
public:
|
|
94
|
+
// Constructor
|
|
95
|
+
explicit HybridQuantityTypeModuleSpec(): HybridObject(TAG) { }
|
|
96
|
+
|
|
97
|
+
// Destructor
|
|
98
|
+
~HybridQuantityTypeModuleSpec() override = default;
|
|
99
|
+
|
|
100
|
+
public:
|
|
101
|
+
// Properties
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
public:
|
|
105
|
+
// Methods
|
|
106
|
+
virtual bool isQuantityCompatibleWithUnit(QuantityTypeIdentifier identifier, const std::string& unit) = 0;
|
|
107
|
+
virtual std::shared_ptr<Promise<bool>> saveQuantitySample(QuantityTypeIdentifier identifier, const std::string& unit, double value, std::chrono::system_clock::time_point start, std::chrono::system_clock::time_point end, const std::shared_ptr<AnyMap>& metadata) = 0;
|
|
108
|
+
virtual std::shared_ptr<Promise<bool>> deleteQuantitySamples(QuantityTypeIdentifier identifier, const std::variant<PredicateWithUUID, PredicateWithUUIDs, PredicateWithMetadataKey, PredicateWithStartAndEnd, PredicateFromWorkout, FilterForSamplesAnd, FilterForSamplesOr>& filter) = 0;
|
|
109
|
+
virtual std::shared_ptr<Promise<std::vector<QuantitySample>>> queryQuantitySamples(QuantityTypeIdentifier identifier, const std::optional<QueryOptionsWithSortOrderAndUnit>& options) = 0;
|
|
110
|
+
virtual std::shared_ptr<Promise<QueryStatisticsResponse>> queryStatisticsForQuantity(QuantityTypeIdentifier identifier, const std::vector<StatisticsOptions>& statistics, const std::optional<StatisticsQueryOptions>& options) = 0;
|
|
111
|
+
virtual std::shared_ptr<Promise<std::vector<QueryStatisticsResponse>>> queryStatisticsCollectionForQuantity(QuantityTypeIdentifier identifier, const std::vector<StatisticsOptions>& statistics, const std::string& anchorDate, const IntervalComponents& intervalComponents, const std::optional<StatisticsQueryOptions>& options) = 0;
|
|
112
|
+
virtual std::shared_ptr<Promise<QuantitySamplesWithAnchorResponse>> queryQuantitySamplesWithAnchor(QuantityTypeIdentifier identifier, const QueryOptionsWithAnchorAndUnit& options) = 0;
|
|
113
|
+
|
|
114
|
+
protected:
|
|
115
|
+
// Hybrid Setup
|
|
116
|
+
void loadHybridMethods() override;
|
|
117
|
+
|
|
118
|
+
protected:
|
|
119
|
+
// Tag for logging
|
|
120
|
+
static constexpr auto TAG = "QuantityTypeModule";
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridSourceProxySpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridSourceProxySpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::healthkit {
|
|
11
|
+
|
|
12
|
+
void HybridSourceProxySpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridGetter("bundleIdentifier", &HybridSourceProxySpec::getBundleIdentifier);
|
|
18
|
+
prototype.registerHybridMethod("toJSON", &HybridSourceProxySpec::toJSON);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridSourceProxySpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `Source` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::healthkit { struct Source; }
|
|
18
|
+
|
|
19
|
+
#include <string>
|
|
20
|
+
#include "Source.hpp"
|
|
21
|
+
#include <optional>
|
|
22
|
+
|
|
23
|
+
namespace margelo::nitro::healthkit {
|
|
24
|
+
|
|
25
|
+
using namespace margelo::nitro;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* An abstract base class for `SourceProxy`
|
|
29
|
+
* Inherit this class to create instances of `HybridSourceProxySpec` in C++.
|
|
30
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
31
|
+
* @example
|
|
32
|
+
* ```cpp
|
|
33
|
+
* class HybridSourceProxy: public HybridSourceProxySpec {
|
|
34
|
+
* public:
|
|
35
|
+
* HybridSourceProxy(...): HybridObject(TAG) { ... }
|
|
36
|
+
* // ...
|
|
37
|
+
* };
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
class HybridSourceProxySpec: public virtual HybridObject {
|
|
41
|
+
public:
|
|
42
|
+
// Constructor
|
|
43
|
+
explicit HybridSourceProxySpec(): HybridObject(TAG) { }
|
|
44
|
+
|
|
45
|
+
// Destructor
|
|
46
|
+
~HybridSourceProxySpec() override = default;
|
|
47
|
+
|
|
48
|
+
public:
|
|
49
|
+
// Properties
|
|
50
|
+
virtual std::string getBundleIdentifier() = 0;
|
|
51
|
+
|
|
52
|
+
public:
|
|
53
|
+
// Methods
|
|
54
|
+
virtual Source toJSON(const std::optional<std::string>& key) = 0;
|
|
55
|
+
|
|
56
|
+
protected:
|
|
57
|
+
// Hybrid Setup
|
|
58
|
+
void loadHybridMethods() override;
|
|
59
|
+
|
|
60
|
+
protected:
|
|
61
|
+
// Tag for logging
|
|
62
|
+
static constexpr auto TAG = "SourceProxy";
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridStateOfMindModuleSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridStateOfMindModuleSpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::healthkit {
|
|
11
|
+
|
|
12
|
+
void HybridStateOfMindModuleSpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("queryStateOfMindSamples", &HybridStateOfMindModuleSpec::queryStateOfMindSamples);
|
|
18
|
+
prototype.registerHybridMethod("saveStateOfMindSample", &HybridStateOfMindModuleSpec::saveStateOfMindSample);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridStateOfMindModuleSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `StateOfMindSample` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::healthkit { struct StateOfMindSample; }
|
|
18
|
+
// Forward declaration of `QueryOptionsWithSortOrder` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::healthkit { struct QueryOptionsWithSortOrder; }
|
|
20
|
+
// Forward declaration of `StateOfMindKind` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::healthkit { enum class StateOfMindKind; }
|
|
22
|
+
// Forward declaration of `StateOfMindLabel` to properly resolve imports.
|
|
23
|
+
namespace margelo::nitro::healthkit { enum class StateOfMindLabel; }
|
|
24
|
+
// Forward declaration of `StateOfMindAssociation` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::healthkit { enum class StateOfMindAssociation; }
|
|
26
|
+
// Forward declaration of `AnyMap` to properly resolve imports.
|
|
27
|
+
namespace NitroModules { class AnyMap; }
|
|
28
|
+
|
|
29
|
+
#include <NitroModules/Promise.hpp>
|
|
30
|
+
#include <vector>
|
|
31
|
+
#include "StateOfMindSample.hpp"
|
|
32
|
+
#include <optional>
|
|
33
|
+
#include "QueryOptionsWithSortOrder.hpp"
|
|
34
|
+
#include <chrono>
|
|
35
|
+
#include "StateOfMindKind.hpp"
|
|
36
|
+
#include "StateOfMindLabel.hpp"
|
|
37
|
+
#include "StateOfMindAssociation.hpp"
|
|
38
|
+
#include <NitroModules/AnyMap.hpp>
|
|
39
|
+
|
|
40
|
+
namespace margelo::nitro::healthkit {
|
|
41
|
+
|
|
42
|
+
using namespace margelo::nitro;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* An abstract base class for `StateOfMindModule`
|
|
46
|
+
* Inherit this class to create instances of `HybridStateOfMindModuleSpec` in C++.
|
|
47
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
48
|
+
* @example
|
|
49
|
+
* ```cpp
|
|
50
|
+
* class HybridStateOfMindModule: public HybridStateOfMindModuleSpec {
|
|
51
|
+
* public:
|
|
52
|
+
* HybridStateOfMindModule(...): HybridObject(TAG) { ... }
|
|
53
|
+
* // ...
|
|
54
|
+
* };
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
class HybridStateOfMindModuleSpec: public virtual HybridObject {
|
|
58
|
+
public:
|
|
59
|
+
// Constructor
|
|
60
|
+
explicit HybridStateOfMindModuleSpec(): HybridObject(TAG) { }
|
|
61
|
+
|
|
62
|
+
// Destructor
|
|
63
|
+
~HybridStateOfMindModuleSpec() override = default;
|
|
64
|
+
|
|
65
|
+
public:
|
|
66
|
+
// Properties
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
public:
|
|
70
|
+
// Methods
|
|
71
|
+
virtual std::shared_ptr<Promise<std::vector<StateOfMindSample>>> queryStateOfMindSamples(const std::optional<QueryOptionsWithSortOrder>& options) = 0;
|
|
72
|
+
virtual std::shared_ptr<Promise<bool>> saveStateOfMindSample(std::chrono::system_clock::time_point date, StateOfMindKind kind, double valence, const std::vector<StateOfMindLabel>& labels, const std::vector<StateOfMindAssociation>& associations, const std::optional<std::shared_ptr<AnyMap>>& metadata) = 0;
|
|
73
|
+
|
|
74
|
+
protected:
|
|
75
|
+
// Hybrid Setup
|
|
76
|
+
void loadHybridMethods() override;
|
|
77
|
+
|
|
78
|
+
protected:
|
|
79
|
+
// Tag for logging
|
|
80
|
+
static constexpr auto TAG = "StateOfMindModule";
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridWorkoutProxySpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridWorkoutProxySpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::healthkit {
|
|
11
|
+
|
|
12
|
+
void HybridWorkoutProxySpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridGetter("uuid", &HybridWorkoutProxySpec::getUuid);
|
|
18
|
+
prototype.registerHybridGetter("device", &HybridWorkoutProxySpec::getDevice);
|
|
19
|
+
prototype.registerHybridGetter("workoutActivityType", &HybridWorkoutProxySpec::getWorkoutActivityType);
|
|
20
|
+
prototype.registerHybridGetter("duration", &HybridWorkoutProxySpec::getDuration);
|
|
21
|
+
prototype.registerHybridGetter("totalDistance", &HybridWorkoutProxySpec::getTotalDistance);
|
|
22
|
+
prototype.registerHybridGetter("totalEnergyBurned", &HybridWorkoutProxySpec::getTotalEnergyBurned);
|
|
23
|
+
prototype.registerHybridGetter("totalSwimmingStrokeCount", &HybridWorkoutProxySpec::getTotalSwimmingStrokeCount);
|
|
24
|
+
prototype.registerHybridGetter("totalFlightsClimbed", &HybridWorkoutProxySpec::getTotalFlightsClimbed);
|
|
25
|
+
prototype.registerHybridGetter("startDate", &HybridWorkoutProxySpec::getStartDate);
|
|
26
|
+
prototype.registerHybridGetter("endDate", &HybridWorkoutProxySpec::getEndDate);
|
|
27
|
+
prototype.registerHybridGetter("metadata", &HybridWorkoutProxySpec::getMetadata);
|
|
28
|
+
prototype.registerHybridGetter("sourceRevision", &HybridWorkoutProxySpec::getSourceRevision);
|
|
29
|
+
prototype.registerHybridGetter("events", &HybridWorkoutProxySpec::getEvents);
|
|
30
|
+
prototype.registerHybridGetter("activities", &HybridWorkoutProxySpec::getActivities);
|
|
31
|
+
prototype.registerHybridMethod("toJSON", &HybridWorkoutProxySpec::toJSON);
|
|
32
|
+
prototype.registerHybridMethod("saveWorkoutRoute", &HybridWorkoutProxySpec::saveWorkoutRoute);
|
|
33
|
+
prototype.registerHybridMethod("getWorkoutPlan", &HybridWorkoutProxySpec::getWorkoutPlan);
|
|
34
|
+
prototype.registerHybridMethod("getWorkoutRoutes", &HybridWorkoutProxySpec::getWorkoutRoutes);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridWorkoutProxySpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `Device` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::healthkit { struct Device; }
|
|
18
|
+
// Forward declaration of `WorkoutActivityType` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::healthkit { enum class WorkoutActivityType; }
|
|
20
|
+
// Forward declaration of `Quantity` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::healthkit { struct Quantity; }
|
|
22
|
+
// Forward declaration of `AnyMap` to properly resolve imports.
|
|
23
|
+
namespace NitroModules { class AnyMap; }
|
|
24
|
+
// Forward declaration of `SourceRevision` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::healthkit { struct SourceRevision; }
|
|
26
|
+
// Forward declaration of `WorkoutEvent` to properly resolve imports.
|
|
27
|
+
namespace margelo::nitro::healthkit { struct WorkoutEvent; }
|
|
28
|
+
// Forward declaration of `WorkoutActivity` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::healthkit { struct WorkoutActivity; }
|
|
30
|
+
// Forward declaration of `WorkoutSample` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::healthkit { struct WorkoutSample; }
|
|
32
|
+
// Forward declaration of `LocationForSaving` to properly resolve imports.
|
|
33
|
+
namespace margelo::nitro::healthkit { struct LocationForSaving; }
|
|
34
|
+
// Forward declaration of `WorkoutPlan` to properly resolve imports.
|
|
35
|
+
namespace margelo::nitro::healthkit { struct WorkoutPlan; }
|
|
36
|
+
// Forward declaration of `WorkoutRoute` to properly resolve imports.
|
|
37
|
+
namespace margelo::nitro::healthkit { struct WorkoutRoute; }
|
|
38
|
+
|
|
39
|
+
#include <string>
|
|
40
|
+
#include <optional>
|
|
41
|
+
#include "Device.hpp"
|
|
42
|
+
#include "WorkoutActivityType.hpp"
|
|
43
|
+
#include "Quantity.hpp"
|
|
44
|
+
#include <chrono>
|
|
45
|
+
#include <NitroModules/AnyMap.hpp>
|
|
46
|
+
#include "SourceRevision.hpp"
|
|
47
|
+
#include <vector>
|
|
48
|
+
#include "WorkoutEvent.hpp"
|
|
49
|
+
#include "WorkoutActivity.hpp"
|
|
50
|
+
#include "WorkoutSample.hpp"
|
|
51
|
+
#include <NitroModules/Promise.hpp>
|
|
52
|
+
#include "LocationForSaving.hpp"
|
|
53
|
+
#include "WorkoutPlan.hpp"
|
|
54
|
+
#include "WorkoutRoute.hpp"
|
|
55
|
+
|
|
56
|
+
namespace margelo::nitro::healthkit {
|
|
57
|
+
|
|
58
|
+
using namespace margelo::nitro;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* An abstract base class for `WorkoutProxy`
|
|
62
|
+
* Inherit this class to create instances of `HybridWorkoutProxySpec` in C++.
|
|
63
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
64
|
+
* @example
|
|
65
|
+
* ```cpp
|
|
66
|
+
* class HybridWorkoutProxy: public HybridWorkoutProxySpec {
|
|
67
|
+
* public:
|
|
68
|
+
* HybridWorkoutProxy(...): HybridObject(TAG) { ... }
|
|
69
|
+
* // ...
|
|
70
|
+
* };
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
class HybridWorkoutProxySpec: public virtual HybridObject {
|
|
74
|
+
public:
|
|
75
|
+
// Constructor
|
|
76
|
+
explicit HybridWorkoutProxySpec(): HybridObject(TAG) { }
|
|
77
|
+
|
|
78
|
+
// Destructor
|
|
79
|
+
~HybridWorkoutProxySpec() override = default;
|
|
80
|
+
|
|
81
|
+
public:
|
|
82
|
+
// Properties
|
|
83
|
+
virtual std::string getUuid() = 0;
|
|
84
|
+
virtual std::optional<Device> getDevice() = 0;
|
|
85
|
+
virtual WorkoutActivityType getWorkoutActivityType() = 0;
|
|
86
|
+
virtual Quantity getDuration() = 0;
|
|
87
|
+
virtual std::optional<Quantity> getTotalDistance() = 0;
|
|
88
|
+
virtual std::optional<Quantity> getTotalEnergyBurned() = 0;
|
|
89
|
+
virtual std::optional<Quantity> getTotalSwimmingStrokeCount() = 0;
|
|
90
|
+
virtual std::optional<Quantity> getTotalFlightsClimbed() = 0;
|
|
91
|
+
virtual std::chrono::system_clock::time_point getStartDate() = 0;
|
|
92
|
+
virtual std::chrono::system_clock::time_point getEndDate() = 0;
|
|
93
|
+
virtual std::optional<std::shared_ptr<AnyMap>> getMetadata() = 0;
|
|
94
|
+
virtual std::optional<SourceRevision> getSourceRevision() = 0;
|
|
95
|
+
virtual std::optional<std::vector<WorkoutEvent>> getEvents() = 0;
|
|
96
|
+
virtual std::optional<std::vector<WorkoutActivity>> getActivities() = 0;
|
|
97
|
+
|
|
98
|
+
public:
|
|
99
|
+
// Methods
|
|
100
|
+
virtual WorkoutSample toJSON(const std::optional<std::string>& key) = 0;
|
|
101
|
+
virtual std::shared_ptr<Promise<bool>> saveWorkoutRoute(const std::vector<LocationForSaving>& locations) = 0;
|
|
102
|
+
virtual std::shared_ptr<Promise<std::optional<WorkoutPlan>>> getWorkoutPlan() = 0;
|
|
103
|
+
virtual std::shared_ptr<Promise<std::vector<WorkoutRoute>>> getWorkoutRoutes() = 0;
|
|
104
|
+
|
|
105
|
+
protected:
|
|
106
|
+
// Hybrid Setup
|
|
107
|
+
void loadHybridMethods() override;
|
|
108
|
+
|
|
109
|
+
protected:
|
|
110
|
+
// Tag for logging
|
|
111
|
+
static constexpr auto TAG = "WorkoutProxy";
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridWorkoutSessionModuleSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridWorkoutSessionModuleSpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::healthkit {
|
|
11
|
+
|
|
12
|
+
void HybridWorkoutSessionModuleSpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("startWatchAppWithWorkoutConfiguration", &HybridWorkoutSessionModuleSpec::startWatchAppWithWorkoutConfiguration);
|
|
18
|
+
prototype.registerHybridMethod("workoutSessionMirroringStartHandler", &HybridWorkoutSessionModuleSpec::workoutSessionMirroringStartHandler);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
} // namespace margelo::nitro::healthkit
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridWorkoutSessionModuleSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `WorkoutConfiguration` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::healthkit { struct WorkoutConfiguration; }
|
|
18
|
+
// Forward declaration of `WorkoutSessionMirroringStartHandlerOptions` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::healthkit { struct WorkoutSessionMirroringStartHandlerOptions; }
|
|
20
|
+
|
|
21
|
+
#include <NitroModules/Promise.hpp>
|
|
22
|
+
#include "WorkoutConfiguration.hpp"
|
|
23
|
+
#include "WorkoutSessionMirroringStartHandlerOptions.hpp"
|
|
24
|
+
|
|
25
|
+
namespace margelo::nitro::healthkit {
|
|
26
|
+
|
|
27
|
+
using namespace margelo::nitro;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* An abstract base class for `WorkoutSessionModule`
|
|
31
|
+
* Inherit this class to create instances of `HybridWorkoutSessionModuleSpec` in C++.
|
|
32
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
33
|
+
* @example
|
|
34
|
+
* ```cpp
|
|
35
|
+
* class HybridWorkoutSessionModule: public HybridWorkoutSessionModuleSpec {
|
|
36
|
+
* public:
|
|
37
|
+
* HybridWorkoutSessionModule(...): HybridObject(TAG) { ... }
|
|
38
|
+
* // ...
|
|
39
|
+
* };
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
class HybridWorkoutSessionModuleSpec: public virtual HybridObject {
|
|
43
|
+
public:
|
|
44
|
+
// Constructor
|
|
45
|
+
explicit HybridWorkoutSessionModuleSpec(): HybridObject(TAG) { }
|
|
46
|
+
|
|
47
|
+
// Destructor
|
|
48
|
+
~HybridWorkoutSessionModuleSpec() override = default;
|
|
49
|
+
|
|
50
|
+
public:
|
|
51
|
+
// Properties
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
// Methods
|
|
56
|
+
virtual std::shared_ptr<Promise<bool>> startWatchAppWithWorkoutConfiguration(const WorkoutConfiguration& workoutConfiguration) = 0;
|
|
57
|
+
virtual bool workoutSessionMirroringStartHandler(const WorkoutSessionMirroringStartHandlerOptions& options) = 0;
|
|
58
|
+
|
|
59
|
+
protected:
|
|
60
|
+
// Hybrid Setup
|
|
61
|
+
void loadHybridMethods() override;
|
|
62
|
+
|
|
63
|
+
protected:
|
|
64
|
+
// Tag for logging
|
|
65
|
+
static constexpr auto TAG = "WorkoutSessionModule";
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
} // namespace margelo::nitro::healthkit
|