@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.
Files changed (347) hide show
  1. package/ReactNativeHealthkit.podspec +4 -1
  2. package/ios/Bridge.h +2 -0
  3. package/ios/CharacteristicTypeModule.swift +6 -10
  4. package/ios/CoreModule.swift +16 -2
  5. package/ios/ElectrocardiogramModule.swift +0 -1
  6. package/ios/ExceptionCatcher.h +1 -14
  7. package/ios/ExceptionCatcher.mm +17 -0
  8. package/ios/HeartbeatSeriesModule.swift +0 -1
  9. package/ios/Helpers.swift +40 -25
  10. package/ios/QuantityTypeModule.swift +35 -42
  11. package/ios/Serializers.swift +11 -28
  12. package/ios/WorkoutProxy.swift +5 -7
  13. package/ios/WorkoutsModule.swift +12 -14
  14. package/ios/module.modulemap +5 -0
  15. package/lib/commonjs/healthkit.ios.js +4 -2
  16. package/lib/commonjs/healthkit.js +3 -1
  17. package/lib/commonjs/types/Constants.js +12 -1
  18. package/lib/commonjs/types/Shared.js +0 -11
  19. package/lib/module/healthkit.ios.js +2 -0
  20. package/lib/module/healthkit.js +2 -0
  21. package/lib/module/types/Constants.js +11 -0
  22. package/lib/module/types/Shared.js +1 -10
  23. package/lib/typescript/healthkit.d.ts +2 -1
  24. package/lib/typescript/healthkit.ios.d.ts +4 -2
  25. package/lib/typescript/specs/CoreModule.nitro.d.ts +3 -2
  26. package/lib/typescript/specs/MedicationModule.nitro.d.ts +3 -0
  27. package/lib/typescript/types/Constants.d.ts +11 -0
  28. package/lib/typescript/types/Shared.d.ts +2 -11
  29. package/lib/typescript/types/Source.d.ts +2 -2
  30. package/nitrogen/generated/ios/ReactNativeHealthkit+autolinking.rb +1 -1
  31. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.cpp +9 -1
  32. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +44 -16
  33. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +4 -1
  34. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.mm +1 -1
  35. package/nitrogen/generated/ios/ReactNativeHealthkitAutolinking.swift +1 -1
  36. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.cpp +1 -1
  37. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +1 -1
  38. package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.cpp +1 -1
  39. package/nitrogen/generated/ios/c++/HybridCharacteristicTypeModuleSpecSwift.hpp +1 -1
  40. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.cpp +1 -1
  41. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +13 -2
  42. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.cpp +1 -1
  43. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +1 -1
  44. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.cpp +1 -1
  45. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +1 -1
  46. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.cpp +1 -1
  47. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +1 -1
  48. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.cpp +1 -1
  49. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +1 -1
  50. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.cpp +1 -1
  51. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +1 -1
  52. package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.cpp +1 -1
  53. package/nitrogen/generated/ios/c++/HybridSourceProxySpecSwift.hpp +1 -1
  54. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.cpp +1 -1
  55. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +1 -1
  56. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.cpp +1 -1
  57. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +1 -1
  58. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.cpp +1 -1
  59. package/nitrogen/generated/ios/c++/HybridWorkoutsModuleSpecSwift.hpp +1 -1
  60. package/nitrogen/generated/ios/swift/AggregationStyle.swift +1 -1
  61. package/nitrogen/generated/ios/swift/AuthDataTypes.swift +1 -1
  62. package/nitrogen/generated/ios/swift/AuthorizationRequestStatus.swift +1 -1
  63. package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +1 -1
  64. package/nitrogen/generated/ios/swift/BiologicalSex.swift +1 -1
  65. package/nitrogen/generated/ios/swift/BloodType.swift +1 -1
  66. package/nitrogen/generated/ios/swift/CategorySample.swift +1 -1
  67. package/nitrogen/generated/ios/swift/CategorySampleForSaving.swift +1 -1
  68. package/nitrogen/generated/ios/swift/CategorySamplesWithAnchorResponse.swift +1 -1
  69. package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +1 -1
  70. package/nitrogen/generated/ios/swift/ComparisonPredicateOperator.swift +1 -1
  71. package/nitrogen/generated/ios/swift/CorrelationObject.swift +1 -1
  72. package/nitrogen/generated/ios/swift/CorrelationSample.swift +1 -1
  73. package/nitrogen/generated/ios/swift/CorrelationTypeIdentifier.swift +1 -1
  74. package/nitrogen/generated/ios/swift/DateFilter.swift +1 -1
  75. package/nitrogen/generated/ios/swift/DeletedSample.swift +1 -1
  76. package/nitrogen/generated/ios/swift/Device.swift +1 -1
  77. package/nitrogen/generated/ios/swift/ECGQueryOptionsWithAnchor.swift +1 -1
  78. package/nitrogen/generated/ios/swift/ECGQueryOptionsWithSortOrder.swift +1 -1
  79. package/nitrogen/generated/ios/swift/ElectrocardiogramClassification.swift +1 -1
  80. package/nitrogen/generated/ios/swift/ElectrocardiogramLead.swift +1 -1
  81. package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +1 -1
  82. package/nitrogen/generated/ios/swift/ElectrocardiogramSamplesWithAnchorResponse.swift +1 -1
  83. package/nitrogen/generated/ios/swift/ElectrocardiogramSymptomsStatus.swift +1 -1
  84. package/nitrogen/generated/ios/swift/ElectrocardiogramVoltage.swift +1 -1
  85. package/nitrogen/generated/ios/swift/FilterForSamples.swift +1 -1
  86. package/nitrogen/generated/ios/swift/FilterForSamplesBase.swift +1 -1
  87. package/nitrogen/generated/ios/swift/FilterForWorkouts.swift +1 -1
  88. package/nitrogen/generated/ios/swift/FilterForWorkoutsBase.swift +1 -1
  89. package/nitrogen/generated/ios/swift/FitzpatrickSkinType.swift +1 -1
  90. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  91. package/nitrogen/generated/ios/swift/Func_void_AuthorizationRequestStatus.swift +1 -1
  92. package/nitrogen/generated/ios/swift/Func_void_BiologicalSex.swift +1 -1
  93. package/nitrogen/generated/ios/swift/Func_void_BloodType.swift +1 -1
  94. package/nitrogen/generated/ios/swift/Func_void_CategorySamplesWithAnchorResponse.swift +1 -1
  95. package/nitrogen/generated/ios/swift/Func_void_ElectrocardiogramSamplesWithAnchorResponse.swift +1 -1
  96. package/nitrogen/generated/ios/swift/Func_void_FitzpatrickSkinType.swift +1 -1
  97. package/nitrogen/generated/ios/swift/Func_void_HeartbeatSeriesSamplesWithAnchorResponse.swift +1 -1
  98. package/nitrogen/generated/ios/swift/Func_void_MedicationDoseEventsWithAnchorResponse.swift +1 -1
  99. package/nitrogen/generated/ios/swift/Func_void_OnChangeCallbackArgs.swift +1 -1
  100. package/nitrogen/generated/ios/swift/Func_void_QuantitySamplesWithAnchorResponse.swift +1 -1
  101. package/nitrogen/generated/ios/swift/Func_void_QueryCorrelationSamplesWithAnchorResponse.swift +1 -1
  102. package/nitrogen/generated/ios/swift/Func_void_QueryStatisticsResponse.swift +1 -1
  103. package/nitrogen/generated/ios/swift/Func_void_QueryWorkoutSamplesWithAnchorResponse.swift +1 -1
  104. package/nitrogen/generated/ios/swift/Func_void_StateOfMindSamplesWithAnchorResponse.swift +1 -1
  105. package/nitrogen/generated/ios/swift/Func_void_WheelchairUse.swift +1 -1
  106. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  107. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -1
  108. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  109. package/nitrogen/generated/ios/swift/Func_void_std__optional_CategorySample_.swift +1 -1
  110. package/nitrogen/generated/ios/swift/Func_void_std__optional_CorrelationSample_.swift +1 -1
  111. package/nitrogen/generated/ios/swift/Func_void_std__optional_QuantitySample_.swift +1 -1
  112. package/nitrogen/generated/ios/swift/Func_void_std__optional_QueryStatisticsResponse_.swift +1 -1
  113. package/nitrogen/generated/ios/swift/Func_void_std__optional_StateOfMindSample_.swift +1 -1
  114. package/nitrogen/generated/ios/swift/Func_void_std__optional_WorkoutPlan_.swift +1 -1
  115. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__chrono__system_clock__time_point_.swift +1 -1
  116. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridWorkoutProxySpec_.swift +1 -1
  117. package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__QueryStatisticsResponse_.swift +1 -1
  118. package/nitrogen/generated/ios/swift/Func_void_std__unordered_map_std__string__bool_.swift +1 -1
  119. package/nitrogen/generated/ios/swift/Func_void_std__vector_CategorySample_.swift +1 -1
  120. package/nitrogen/generated/ios/swift/Func_void_std__vector_CorrelationSample_.swift +1 -1
  121. package/nitrogen/generated/ios/swift/Func_void_std__vector_ElectrocardiogramSample_.swift +1 -1
  122. package/nitrogen/generated/ios/swift/Func_void_std__vector_HeartbeatSeriesSample_.swift +1 -1
  123. package/nitrogen/generated/ios/swift/Func_void_std__vector_IdentifierWithUnit_.swift +1 -1
  124. package/nitrogen/generated/ios/swift/Func_void_std__vector_MedicationDoseEvent_.swift +1 -1
  125. package/nitrogen/generated/ios/swift/Func_void_std__vector_QuantitySample_.swift +1 -1
  126. package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponseFromSingleSource_.swift +1 -1
  127. package/nitrogen/generated/ios/swift/Func_void_std__vector_QueryStatisticsResponse_.swift +1 -1
  128. package/nitrogen/generated/ios/swift/Func_void_std__vector_StateOfMindSample_.swift +1 -1
  129. package/nitrogen/generated/ios/swift/Func_void_std__vector_UserAnnotatedMedication_.swift +1 -1
  130. package/nitrogen/generated/ios/swift/Func_void_std__vector_WorkoutRoute_.swift +1 -1
  131. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridSourceProxySpec__.swift +1 -1
  132. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridWorkoutProxySpec__.swift +1 -1
  133. package/nitrogen/generated/ios/swift/GeneralForm.swift +1 -1
  134. package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +1 -1
  135. package/nitrogen/generated/ios/swift/Heartbeat.swift +1 -1
  136. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +1 -1
  137. package/nitrogen/generated/ios/swift/HeartbeatSeriesSamplesWithAnchorResponse.swift +1 -1
  138. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +1 -1
  139. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +1 -1
  140. package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec.swift +1 -1
  141. package/nitrogen/generated/ios/swift/HybridCharacteristicTypeModuleSpec_cxx.swift +1 -1
  142. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +3 -2
  143. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +21 -2
  144. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec.swift +1 -1
  145. package/nitrogen/generated/ios/swift/HybridCorrelationTypeModuleSpec_cxx.swift +1 -1
  146. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec.swift +1 -1
  147. package/nitrogen/generated/ios/swift/HybridElectrocardiogramModuleSpec_cxx.swift +1 -1
  148. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec.swift +1 -1
  149. package/nitrogen/generated/ios/swift/HybridHeartbeatSeriesModuleSpec_cxx.swift +1 -1
  150. package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec.swift +1 -1
  151. package/nitrogen/generated/ios/swift/HybridMedicationModuleSpec_cxx.swift +1 -1
  152. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +1 -1
  153. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +1 -1
  154. package/nitrogen/generated/ios/swift/HybridSourceProxySpec.swift +1 -1
  155. package/nitrogen/generated/ios/swift/HybridSourceProxySpec_cxx.swift +1 -1
  156. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec.swift +1 -1
  157. package/nitrogen/generated/ios/swift/HybridStateOfMindModuleSpec_cxx.swift +1 -1
  158. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +1 -1
  159. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +1 -1
  160. package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec.swift +1 -1
  161. package/nitrogen/generated/ios/swift/HybridWorkoutsModuleSpec_cxx.swift +1 -1
  162. package/nitrogen/generated/ios/swift/IdentifierWithUnit.swift +1 -1
  163. package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +1 -1
  164. package/nitrogen/generated/ios/swift/IntervalComponents.swift +1 -1
  165. package/nitrogen/generated/ios/swift/LocationForSaving.swift +1 -1
  166. package/nitrogen/generated/ios/swift/MedicationConcept.swift +1 -1
  167. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +1 -1
  168. package/nitrogen/generated/ios/swift/MedicationDoseEventLogStatus.swift +1 -1
  169. package/nitrogen/generated/ios/swift/MedicationDoseEventScheduleType.swift +1 -1
  170. package/nitrogen/generated/ios/swift/MedicationDoseEventsWithAnchorResponse.swift +1 -1
  171. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +5 -5
  172. package/nitrogen/generated/ios/swift/OnChangeCallbackArgs.swift +1 -1
  173. package/nitrogen/generated/ios/swift/PerObjectTypeIdentifier.swift +40 -0
  174. package/nitrogen/generated/ios/swift/PredicateWithMetadataKey.swift +1 -1
  175. package/nitrogen/generated/ios/swift/Quantity.swift +1 -1
  176. package/nitrogen/generated/ios/swift/QuantityDateInterval.swift +1 -1
  177. package/nitrogen/generated/ios/swift/QuantitySample.swift +1 -1
  178. package/nitrogen/generated/ios/swift/QuantitySampleForSaving.swift +1 -1
  179. package/nitrogen/generated/ios/swift/QuantitySamplesWithAnchorResponse.swift +1 -1
  180. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +1 -1
  181. package/nitrogen/generated/ios/swift/QueryCorrelationSamplesWithAnchorResponse.swift +1 -1
  182. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchor.swift +1 -1
  183. package/nitrogen/generated/ios/swift/QueryOptionsWithAnchorAndUnit.swift +1 -1
  184. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrder.swift +1 -1
  185. package/nitrogen/generated/ios/swift/QueryOptionsWithSortOrderAndUnit.swift +1 -1
  186. package/nitrogen/generated/ios/swift/QueryStatisticsResponse.swift +1 -1
  187. package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +1 -1
  188. package/nitrogen/generated/ios/swift/QueryWorkoutSamplesWithAnchorResponse.swift +1 -1
  189. package/nitrogen/generated/ios/swift/RelatedCoding.swift +1 -1
  190. package/nitrogen/generated/ios/swift/SampleForSaving.swift +1 -1
  191. package/nitrogen/generated/ios/swift/SampleType.swift +1 -1
  192. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +1 -1
  193. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +1 -1
  194. package/nitrogen/generated/ios/swift/Source.swift +1 -1
  195. package/nitrogen/generated/ios/swift/SourceRevision.swift +17 -55
  196. package/nitrogen/generated/ios/swift/StateOfMindAssociation.swift +1 -1
  197. package/nitrogen/generated/ios/swift/StateOfMindKind.swift +1 -1
  198. package/nitrogen/generated/ios/swift/StateOfMindLabel.swift +1 -1
  199. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +1 -1
  200. package/nitrogen/generated/ios/swift/StateOfMindSamplesWithAnchorResponse.swift +1 -1
  201. package/nitrogen/generated/ios/swift/StateOfMindValenceClassification.swift +1 -1
  202. package/nitrogen/generated/ios/swift/StatisticsOptions.swift +1 -1
  203. package/nitrogen/generated/ios/swift/StatisticsQueryOptions.swift +1 -1
  204. package/nitrogen/generated/ios/swift/UpdateFrequency.swift +1 -1
  205. package/nitrogen/generated/ios/swift/UserAnnotatedMedication.swift +1 -1
  206. package/nitrogen/generated/ios/swift/Variant_Bool_String_Double_Date.swift +1 -1
  207. package/nitrogen/generated/ios/swift/WeatherCondition.swift +1 -1
  208. package/nitrogen/generated/ios/swift/WheelchairUse.swift +1 -1
  209. package/nitrogen/generated/ios/swift/WorkoutActivity.swift +1 -1
  210. package/nitrogen/generated/ios/swift/WorkoutActivityType.swift +1 -1
  211. package/nitrogen/generated/ios/swift/WorkoutConfiguration.swift +1 -1
  212. package/nitrogen/generated/ios/swift/WorkoutDurationPredicate.swift +1 -1
  213. package/nitrogen/generated/ios/swift/WorkoutEvent.swift +1 -1
  214. package/nitrogen/generated/ios/swift/WorkoutEventType.swift +1 -1
  215. package/nitrogen/generated/ios/swift/WorkoutPlan.swift +1 -1
  216. package/nitrogen/generated/ios/swift/WorkoutQueryOptions.swift +1 -1
  217. package/nitrogen/generated/ios/swift/WorkoutQueryOptionsWithAnchor.swift +1 -1
  218. package/nitrogen/generated/ios/swift/WorkoutRoute.swift +1 -1
  219. package/nitrogen/generated/ios/swift/WorkoutRouteLocation.swift +1 -1
  220. package/nitrogen/generated/ios/swift/WorkoutSample.swift +1 -1
  221. package/nitrogen/generated/ios/swift/WorkoutSessionLocationType.swift +1 -1
  222. package/nitrogen/generated/ios/swift/WorkoutTotals.swift +1 -1
  223. package/nitrogen/generated/shared/c++/AggregationStyle.hpp +1 -1
  224. package/nitrogen/generated/shared/c++/AuthDataTypes.hpp +1 -1
  225. package/nitrogen/generated/shared/c++/AuthorizationRequestStatus.hpp +1 -1
  226. package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +1 -1
  227. package/nitrogen/generated/shared/c++/BiologicalSex.hpp +1 -1
  228. package/nitrogen/generated/shared/c++/BloodType.hpp +1 -1
  229. package/nitrogen/generated/shared/c++/CategorySample.hpp +1 -1
  230. package/nitrogen/generated/shared/c++/CategorySampleForSaving.hpp +1 -1
  231. package/nitrogen/generated/shared/c++/CategorySamplesWithAnchorResponse.hpp +1 -1
  232. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +1 -1
  233. package/nitrogen/generated/shared/c++/ComparisonPredicateOperator.hpp +1 -1
  234. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +1 -1
  235. package/nitrogen/generated/shared/c++/CorrelationTypeIdentifier.hpp +1 -1
  236. package/nitrogen/generated/shared/c++/DateFilter.hpp +1 -1
  237. package/nitrogen/generated/shared/c++/DeletedSample.hpp +1 -1
  238. package/nitrogen/generated/shared/c++/Device.hpp +1 -1
  239. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithAnchor.hpp +1 -1
  240. package/nitrogen/generated/shared/c++/ECGQueryOptionsWithSortOrder.hpp +1 -1
  241. package/nitrogen/generated/shared/c++/ElectrocardiogramClassification.hpp +1 -1
  242. package/nitrogen/generated/shared/c++/ElectrocardiogramLead.hpp +1 -1
  243. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +1 -1
  244. package/nitrogen/generated/shared/c++/ElectrocardiogramSamplesWithAnchorResponse.hpp +1 -1
  245. package/nitrogen/generated/shared/c++/ElectrocardiogramSymptomsStatus.hpp +1 -1
  246. package/nitrogen/generated/shared/c++/ElectrocardiogramVoltage.hpp +1 -1
  247. package/nitrogen/generated/shared/c++/FilterForSamples.hpp +1 -1
  248. package/nitrogen/generated/shared/c++/FilterForSamplesBase.hpp +1 -1
  249. package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +1 -1
  250. package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +1 -1
  251. package/nitrogen/generated/shared/c++/FitzpatrickSkinType.hpp +1 -1
  252. package/nitrogen/generated/shared/c++/GeneralForm.hpp +1 -1
  253. package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +1 -1
  254. package/nitrogen/generated/shared/c++/Heartbeat.hpp +1 -1
  255. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +1 -1
  256. package/nitrogen/generated/shared/c++/HeartbeatSeriesSamplesWithAnchorResponse.hpp +1 -1
  257. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.cpp +1 -1
  258. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +1 -1
  259. package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.cpp +1 -1
  260. package/nitrogen/generated/shared/c++/HybridCharacteristicTypeModuleSpec.hpp +1 -1
  261. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +2 -1
  262. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +9 -2
  263. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.cpp +1 -1
  264. package/nitrogen/generated/shared/c++/HybridCorrelationTypeModuleSpec.hpp +1 -1
  265. package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.cpp +1 -1
  266. package/nitrogen/generated/shared/c++/HybridElectrocardiogramModuleSpec.hpp +1 -1
  267. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.cpp +1 -1
  268. package/nitrogen/generated/shared/c++/HybridHeartbeatSeriesModuleSpec.hpp +1 -1
  269. package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.cpp +1 -1
  270. package/nitrogen/generated/shared/c++/HybridMedicationModuleSpec.hpp +1 -1
  271. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.cpp +1 -1
  272. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +1 -1
  273. package/nitrogen/generated/shared/c++/HybridSourceProxySpec.cpp +1 -1
  274. package/nitrogen/generated/shared/c++/HybridSourceProxySpec.hpp +1 -1
  275. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.cpp +1 -1
  276. package/nitrogen/generated/shared/c++/HybridStateOfMindModuleSpec.hpp +1 -1
  277. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +1 -1
  278. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +1 -1
  279. package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.cpp +1 -1
  280. package/nitrogen/generated/shared/c++/HybridWorkoutsModuleSpec.hpp +1 -1
  281. package/nitrogen/generated/shared/c++/IdentifierWithUnit.hpp +1 -1
  282. package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +1 -1
  283. package/nitrogen/generated/shared/c++/IntervalComponents.hpp +1 -1
  284. package/nitrogen/generated/shared/c++/LocationForSaving.hpp +1 -1
  285. package/nitrogen/generated/shared/c++/MedicationConcept.hpp +1 -1
  286. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +1 -1
  287. package/nitrogen/generated/shared/c++/MedicationDoseEventLogStatus.hpp +1 -1
  288. package/nitrogen/generated/shared/c++/MedicationDoseEventScheduleType.hpp +1 -1
  289. package/nitrogen/generated/shared/c++/MedicationDoseEventsWithAnchorResponse.hpp +1 -1
  290. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +5 -5
  291. package/nitrogen/generated/shared/c++/OnChangeCallbackArgs.hpp +1 -1
  292. package/nitrogen/generated/shared/c++/PerObjectTypeIdentifier.hpp +76 -0
  293. package/nitrogen/generated/shared/c++/PredicateWithMetadataKey.hpp +1 -1
  294. package/nitrogen/generated/shared/c++/Quantity.hpp +1 -1
  295. package/nitrogen/generated/shared/c++/QuantityDateInterval.hpp +1 -1
  296. package/nitrogen/generated/shared/c++/QuantitySample.hpp +1 -1
  297. package/nitrogen/generated/shared/c++/QuantitySampleForSaving.hpp +1 -1
  298. package/nitrogen/generated/shared/c++/QuantitySamplesWithAnchorResponse.hpp +1 -1
  299. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +1 -1
  300. package/nitrogen/generated/shared/c++/QueryCorrelationSamplesWithAnchorResponse.hpp +1 -1
  301. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchor.hpp +1 -1
  302. package/nitrogen/generated/shared/c++/QueryOptionsWithAnchorAndUnit.hpp +1 -1
  303. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrder.hpp +1 -1
  304. package/nitrogen/generated/shared/c++/QueryOptionsWithSortOrderAndUnit.hpp +1 -1
  305. package/nitrogen/generated/shared/c++/QueryStatisticsResponse.hpp +1 -1
  306. package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +1 -1
  307. package/nitrogen/generated/shared/c++/QueryWorkoutSamplesWithAnchorResponse.hpp +1 -1
  308. package/nitrogen/generated/shared/c++/RelatedCoding.hpp +1 -1
  309. package/nitrogen/generated/shared/c++/SampleType.hpp +1 -1
  310. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +1 -1
  311. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +1 -1
  312. package/nitrogen/generated/shared/c++/Source.hpp +1 -1
  313. package/nitrogen/generated/shared/c++/SourceRevision.hpp +11 -11
  314. package/nitrogen/generated/shared/c++/StateOfMindAssociation.hpp +1 -1
  315. package/nitrogen/generated/shared/c++/StateOfMindKind.hpp +1 -1
  316. package/nitrogen/generated/shared/c++/StateOfMindLabel.hpp +1 -1
  317. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +1 -1
  318. package/nitrogen/generated/shared/c++/StateOfMindSamplesWithAnchorResponse.hpp +1 -1
  319. package/nitrogen/generated/shared/c++/StateOfMindValenceClassification.hpp +1 -1
  320. package/nitrogen/generated/shared/c++/StatisticsOptions.hpp +1 -1
  321. package/nitrogen/generated/shared/c++/StatisticsQueryOptions.hpp +1 -1
  322. package/nitrogen/generated/shared/c++/UpdateFrequency.hpp +1 -1
  323. package/nitrogen/generated/shared/c++/UserAnnotatedMedication.hpp +1 -1
  324. package/nitrogen/generated/shared/c++/WeatherCondition.hpp +1 -1
  325. package/nitrogen/generated/shared/c++/WheelchairUse.hpp +1 -1
  326. package/nitrogen/generated/shared/c++/WorkoutActivity.hpp +1 -1
  327. package/nitrogen/generated/shared/c++/WorkoutActivityType.hpp +1 -1
  328. package/nitrogen/generated/shared/c++/WorkoutConfiguration.hpp +1 -1
  329. package/nitrogen/generated/shared/c++/WorkoutDurationPredicate.hpp +1 -1
  330. package/nitrogen/generated/shared/c++/WorkoutEvent.hpp +1 -1
  331. package/nitrogen/generated/shared/c++/WorkoutEventType.hpp +1 -1
  332. package/nitrogen/generated/shared/c++/WorkoutPlan.hpp +1 -1
  333. package/nitrogen/generated/shared/c++/WorkoutQueryOptions.hpp +1 -1
  334. package/nitrogen/generated/shared/c++/WorkoutQueryOptionsWithAnchor.hpp +1 -1
  335. package/nitrogen/generated/shared/c++/WorkoutRoute.hpp +1 -1
  336. package/nitrogen/generated/shared/c++/WorkoutRouteLocation.hpp +1 -1
  337. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +1 -1
  338. package/nitrogen/generated/shared/c++/WorkoutSessionLocationType.hpp +1 -1
  339. package/nitrogen/generated/shared/c++/WorkoutTotals.hpp +1 -1
  340. package/package.json +2 -1
  341. package/src/healthkit.ios.ts +3 -0
  342. package/src/healthkit.ts +6 -0
  343. package/src/specs/CoreModule.nitro.ts +6 -1
  344. package/src/specs/MedicationModule.nitro.ts +3 -0
  345. package/src/types/Constants.ts +16 -0
  346. package/src/types/Shared.ts +8 -13
  347. 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
@@ -6,3 +6,5 @@
6
6
  //
7
7
 
8
8
  #pragma once
9
+
10
+ #import "ExceptionCatcher.h"
@@ -80,20 +80,16 @@ class CharacteristicTypeModule: HybridCharacteristicTypeModuleSpec {
80
80
  }
81
81
 
82
82
  func getFitzpatrickSkinType() throws -> FitzpatrickSkinType {
83
- if #available(iOS 9.0, *) {
84
- let skinTypeObject = try store.fitzpatrickSkinType()
83
+ let skinTypeObject = try store.fitzpatrickSkinType()
85
84
 
86
- if let skinType = FitzpatrickSkinType(rawValue: Int32(skinTypeObject.skinType.rawValue)) {
87
- return skinType
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
- throw runtimeErrorWithPrefix("Fitzpatrick skin type is not available before iOS 9.0")
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(
@@ -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: ObjectTypeIdentifier, filter: FilterForSamples)
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 objectTypeFrom(objectTypeIdentifier: objectTypeIdentifier)
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 {
@@ -129,7 +129,6 @@ func serializeClassification(_ classification: HKElectrocardiogram.Classificatio
129
129
  }
130
130
  }
131
131
 
132
- @available(iOS 14.0, *)
133
132
  class ElectrocardiogramModule: HybridElectrocardiogramModuleSpec {
134
133
 
135
134
  // Query (simple)
@@ -1,17 +1,4 @@
1
1
  #import <Foundation/Foundation.h>
2
2
  #import <HealthKit/HealthKit.h>
3
3
 
4
- NS_INLINE HKUnit * _Nullable HKUnitFromStringCatchingExceptions(NSString * _Nonnull unitString, NSError * _Nullable * _Nullable outError) {
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 #available(iOS 11.0, *) {
262
- if typeIdentifier == HKWorkoutRouteTypeIdentifier {
263
- return try initializeSeriesType(typeIdentifier)
264
- }
261
+ if typeIdentifier == HKWorkoutRouteTypeIdentifier {
262
+ return try initializeSeriesType(typeIdentifier)
265
263
  }
266
264
 
267
- if #available(iOS 13, *) {
268
- if typeIdentifier == HKAudiogramTypeIdentifier {
269
- return HKObjectType.audiogramSampleType()
270
- }
265
+ if typeIdentifier == HKAudiogramTypeIdentifier {
266
+ return HKObjectType.audiogramSampleType()
267
+ }
271
268
 
272
- if typeIdentifier == HKDataTypeIdentifierHeartbeatSeries {
273
- return try initializeSeriesType(typeIdentifier)
274
- }
269
+ if typeIdentifier == HKDataTypeIdentifierHeartbeatSeries {
270
+ return try initializeSeriesType(typeIdentifier)
271
+ }
275
272
 
276
- if typeIdentifier == HKAudiogramTypeIdentifier {
277
- return HKSampleType.audiogramSampleType()
278
- }
273
+ if typeIdentifier == HKAudiogramTypeIdentifier {
274
+ return HKSampleType.audiogramSampleType()
279
275
  }
280
276
 
281
- if #available(iOS 14, *) {
282
- if typeIdentifier == HKElectrocardiogramType {
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
- if #available(iOS 13, *) {
458
- if statistic == .duration {
459
- opts.insert(HKStatisticsOptions.duration)
460
- }
461
- if statistic == .mostrecent {
462
- opts.insert(HKStatisticsOptions.mostRecent)
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 #available(iOS 12, *) {
85
- if let mostRecent = gottenStats.mostRecentQuantity() {
86
- response.mostRecentQuantity = Quantity(
87
- unit: unit.unitString,
88
- quantity: mostRecent.doubleValue(for: unit)
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
- if let mostRecentDateInterval = gottenStats.mostRecentQuantityDateInterval() {
93
- response.mostRecentQuantityDateInterval = QuantityDateInterval(
94
- from: mostRecentDateInterval.start,
95
- to: mostRecentDateInterval.end
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 #available(iOS 13, *) {
101
- if let duration = gottenStats.duration() {
102
- let durationUnit = HKUnit.second()
103
- response.duration = Quantity(
104
- unit: durationUnit.unitString,
105
- quantity: duration.doubleValue(for: durationUnit)
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 #available(iOS 12, *) {
205
- if let mostRecent = gottenStats.mostRecentQuantity(for: source) {
206
- response.mostRecentQuantity = Quantity(
207
- unit: unit.unitString,
208
- quantity: mostRecent.doubleValue(for: unit)
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
- if let mostRecentDateInterval = gottenStats.mostRecentQuantityDateInterval(for: source) {
213
- response.mostRecentQuantityDateInterval = QuantityDateInterval(
214
- from: mostRecentDateInterval.start,
215
- to: mostRecentDateInterval.end
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 #available(iOS 13, *) {
221
- if let duration = gottenStats.duration(for: source) {
222
- let durationUnit = HKUnit.second()
223
- response.duration = Quantity(
224
- unit: durationUnit.unitString,
225
- quantity: duration.doubleValue(for: durationUnit)
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
  }
@@ -218,19 +218,15 @@ func serializeUnknownQuantityTyped(quantity: HKQuantity?) -> Quantity? {
218
218
  return serializeQuantityTyped(unit: METUnit, quantity: quantity)
219
219
  }
220
220
 
221
- if #available(iOS 11, *) {
222
- if quantity.is(compatibleWith: HKUnit.internationalUnit()) {
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 #available(iOS 13, *) {
228
- if quantity.is(compatibleWith: HKUnit.hertz()) {
229
- return serializeQuantityTyped(unit: HKUnit.hertz(), quantity: quantity)
230
- }
231
- if quantity.is(compatibleWith: HKUnit.decibelHearingLevel()) {
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?) -> String? {
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: nil,
346
- productType: nil
327
+ operatingSystemVersion: serializeOperatingSystemVersion(
328
+ hkSourceRevision.operatingSystemVersion),
329
+ productType: hkSourceRevision.productType
347
330
  )
348
331
  }
349
332
 
@@ -329,13 +329,11 @@ class WorkoutProxy: HybridWorkoutProxySpec {
329
329
  }
330
330
 
331
331
  var totalFlightsClimbed: Quantity? {
332
- if #available(iOS 11, *) {
333
- if let hkTotalFlightsClimbed = workout.totalFlightsClimbed {
334
- return Quantity(
335
- unit: "count",
336
- quantity: hkTotalFlightsClimbed.doubleValue(for: HKUnit.count())
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
  }
@@ -159,20 +159,18 @@ class WorkoutsModule: HybridWorkoutsModuleSpec {
159
159
  metadata: metadataDeserialized
160
160
  )
161
161
  } else {
162
- if #available(iOS 11, *) {
163
- if let totalFlightsClimbed = totalFlightsClimbed {
164
- workout = HKWorkout.init(
165
- activityType: type,
166
- start: startDate,
167
- end: endDate,
168
- workoutEvents: nil,
169
- totalEnergyBurned: totalEnergyBurned,
170
- totalDistance: totalDistance,
171
- totalFlightsClimbed: totalFlightsClimbed,
172
- device: nil,
173
- metadata: metadataDeserialized
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
 
@@ -0,0 +1,5 @@
1
+ module ReactNativeHealthkit_Private {
2
+ header "Bridge.h"
3
+ header "ExceptionCatcher.h"
4
+ export *
5
+ }
@@ -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.saveCategorySample = 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.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 = 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,
@@ -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 {};