@kingstinct/react-native-healthkit 13.4.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/ReactNativeHealthkit.podspec +1 -0
  2. package/app.plugin.ts +40 -2
  3. package/ios/BackgroundDeliveryManager.swift +196 -0
  4. package/ios/CategoryTypeModule.swift +1 -1
  5. package/ios/CoreModule.swift +24 -0
  6. package/ios/CorrelationTypeModule.swift +2 -35
  7. package/ios/ElectrocardiogramModule.swift +2 -34
  8. package/ios/HeartbeatSeriesModule.swift +2 -34
  9. package/ios/MedicationModule.swift +3 -35
  10. package/ios/PredicateHelpers.swift +2 -2
  11. package/ios/QuantityTypeModule.swift +11 -11
  12. package/ios/Serializers.swift +58 -90
  13. package/ios/StateOfMindModule.swift +2 -34
  14. package/ios/WorkoutProxy.swift +3 -149
  15. package/ios/generated/HealthkitGenerated.swift +52 -0
  16. package/lib/commonjs/generated/healthkit.generated.js +745 -0
  17. package/lib/commonjs/healthkit.ios.js +51 -17
  18. package/lib/commonjs/healthkit.js +120 -34
  19. package/lib/commonjs/specs/QuantityTypeModule.nitro.js +1 -0
  20. package/lib/commonjs/type-tests/generated-typing.js +2 -0
  21. package/lib/commonjs/types/CategoryType.js +19 -99
  22. package/lib/commonjs/types/Medication.js +2 -0
  23. package/lib/commonjs/types/MetadataEnums.js +17 -0
  24. package/lib/commonjs/types/QuantityType.js +4 -15
  25. package/lib/commonjs/types/WeatherCondition.js +2 -32
  26. package/lib/commonjs/types/Workouts.js +3 -98
  27. package/lib/commonjs/types/index.js +2 -0
  28. package/lib/module/generated/healthkit.generated.js +742 -0
  29. package/lib/module/healthkit.ios.js +49 -15
  30. package/lib/module/healthkit.js +94 -20
  31. package/lib/module/specs/QuantityTypeModule.nitro.js +1 -0
  32. package/lib/module/type-tests/generated-typing.js +1 -0
  33. package/lib/module/types/CategoryType.js +2 -98
  34. package/lib/module/types/Medication.js +1 -0
  35. package/lib/module/types/MetadataEnums.js +1 -0
  36. package/lib/module/types/QuantityType.js +2 -14
  37. package/lib/module/types/WeatherCondition.js +1 -32
  38. package/lib/module/types/Workouts.js +2 -98
  39. package/lib/module/types/index.js +2 -0
  40. package/lib/typescript/generated/healthkit.generated.d.ts +1006 -0
  41. package/lib/typescript/healthkit.d.ts +39 -36
  42. package/lib/typescript/healthkit.ios.d.ts +64 -53
  43. package/lib/typescript/hooks/useMostRecentQuantitySample.d.ts +3 -2
  44. package/lib/typescript/hooks/useMostRecentWorkout.d.ts +2 -2
  45. package/lib/typescript/hooks/useQuantitySampleById.d.ts +5 -4
  46. package/lib/typescript/hooks/useStatisticsForQuantity.d.ts +2 -2
  47. package/lib/typescript/hooks/useSubscribeToQuantitySamples.d.ts +1 -1
  48. package/lib/typescript/modules.d.ts +2 -2
  49. package/lib/typescript/specs/CategoryTypeModule.nitro.d.ts +3 -3
  50. package/lib/typescript/specs/CoreModule.nitro.d.ts +15 -0
  51. package/lib/typescript/specs/QuantityTypeModule.nitro.d.ts +20 -9
  52. package/lib/typescript/type-tests/generated-typing.d.ts +1 -0
  53. package/lib/typescript/types/CategoryType.d.ts +10 -104
  54. package/lib/typescript/types/CategoryTypeIdentifier.d.ts +1 -61
  55. package/lib/typescript/types/CorrelationType.d.ts +8 -2
  56. package/lib/typescript/types/ElectrocardiogramSample.d.ts +8 -1
  57. package/lib/typescript/types/HeartbeatSeries.d.ts +8 -1
  58. package/lib/typescript/types/InterfaceVerification.d.ts +14 -1
  59. package/lib/typescript/types/Medication.d.ts +10 -0
  60. package/lib/typescript/types/MetadataEnums.d.ts +1 -0
  61. package/lib/typescript/types/QuantitySample.d.ts +9 -1
  62. package/lib/typescript/types/QuantityType.d.ts +14 -18
  63. package/lib/typescript/types/QuantityTypeIdentifier.d.ts +1 -671
  64. package/lib/typescript/types/QueryOptions.d.ts +8 -4
  65. package/lib/typescript/types/Shared.d.ts +12 -41
  66. package/lib/typescript/types/StateOfMind.d.ts +8 -1
  67. package/lib/typescript/types/Subscriptions.d.ts +11 -11
  68. package/lib/typescript/types/WeatherCondition.d.ts +1 -30
  69. package/lib/typescript/types/Workouts.d.ts +18 -104
  70. package/lib/typescript/types/index.d.ts +2 -0
  71. package/lib/typescript/utils/getMostRecentQuantitySample.d.ts +2 -1
  72. package/lib/typescript/utils/getMostRecentWorkout.d.ts +2 -1
  73. package/lib/typescript/utils/getPreferredUnit.d.ts +2 -1
  74. package/lib/typescript/utils/getQuantitySampleById.d.ts +2 -1
  75. package/lib/typescript/utils/subscribeToQuantitySamples.d.ts +1 -1
  76. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Bridge.hpp +55 -109
  77. package/nitrogen/generated/ios/ReactNativeHealthkit-Swift-Cxx-Umbrella.hpp +12 -18
  78. package/nitrogen/generated/ios/c++/HybridCategoryTypeModuleSpecSwift.hpp +5 -14
  79. package/nitrogen/generated/ios/c++/HybridCoreModuleSpecSwift.hpp +18 -2
  80. package/nitrogen/generated/ios/c++/HybridCorrelationTypeModuleSpecSwift.hpp +1 -13
  81. package/nitrogen/generated/ios/c++/HybridElectrocardiogramModuleSpecSwift.hpp +1 -13
  82. package/nitrogen/generated/ios/c++/HybridHeartbeatSeriesModuleSpecSwift.hpp +2 -14
  83. package/nitrogen/generated/ios/c++/HybridMedicationModuleSpecSwift.hpp +1 -13
  84. package/nitrogen/generated/ios/c++/HybridQuantityTypeModuleSpecSwift.hpp +19 -28
  85. package/nitrogen/generated/ios/c++/HybridStateOfMindModuleSpecSwift.hpp +2 -14
  86. package/nitrogen/generated/ios/c++/HybridWorkoutProxySpecSwift.hpp +2 -115
  87. package/nitrogen/generated/ios/swift/CategorySample.swift +4 -329
  88. package/nitrogen/generated/ios/swift/CategoryTypeIdentifier.swift +112 -108
  89. package/nitrogen/generated/ios/swift/CategoryTypeIdentifierWriteable.swift +292 -0
  90. package/nitrogen/generated/ios/swift/CorrelationSample.swift +4 -347
  91. package/nitrogen/generated/ios/swift/ElectrocardiogramSample.swift +4 -329
  92. package/nitrogen/generated/ios/swift/FilterForWorkouts.swift +30 -30
  93. package/nitrogen/generated/ios/swift/FilterForWorkoutsBase.swift +30 -30
  94. package/nitrogen/generated/ios/swift/GeneralForm.swift +4 -4
  95. package/nitrogen/generated/ios/swift/HeartbeatSeriesSample.swift +4 -329
  96. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec.swift +1 -1
  97. package/nitrogen/generated/ios/swift/HybridCategoryTypeModuleSpec_cxx.swift +1 -1
  98. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec.swift +2 -0
  99. package/nitrogen/generated/ios/swift/HybridCoreModuleSpec_cxx.swift +38 -0
  100. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec.swift +6 -6
  101. package/nitrogen/generated/ios/swift/HybridQuantityTypeModuleSpec_cxx.swift +6 -6
  102. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec.swift +1 -27
  103. package/nitrogen/generated/ios/swift/HybridWorkoutProxySpec_cxx.swift +2 -340
  104. package/nitrogen/generated/ios/swift/MedicationDoseEvent.swift +4 -329
  105. package/nitrogen/generated/ios/swift/ObjectTypeIdentifier.swift +492 -492
  106. package/nitrogen/generated/ios/swift/QuantitySample.swift +4 -329
  107. package/nitrogen/generated/ios/swift/QuantityTypeIdentifier.swift +380 -384
  108. package/nitrogen/generated/ios/swift/QuantityTypeIdentifierWriteable.swift +372 -376
  109. package/nitrogen/generated/ios/swift/{QueryOptionsWithAnchorAndUnit.swift → QueryOptionsWithAnchorAndStringUnit.swift} +5 -5
  110. package/nitrogen/generated/ios/swift/{QueryOptionsWithSortOrderAndUnit.swift → QueryOptionsWithSortOrderAndStringUnit.swift} +5 -5
  111. package/nitrogen/generated/ios/swift/QueryStatisticsResponseFromSingleSource.swift +37 -37
  112. package/nitrogen/generated/ios/swift/SampleTypeIdentifier.swift +492 -492
  113. package/nitrogen/generated/ios/swift/SampleTypeIdentifierWriteable.swift +482 -486
  114. package/nitrogen/generated/ios/swift/StateOfMindSample.swift +4 -329
  115. package/nitrogen/generated/ios/swift/{StatisticsQueryOptions.swift → StatisticsQueryOptionsWithStringUnit.swift} +5 -5
  116. package/nitrogen/generated/ios/swift/WorkoutSample.swift +4 -402
  117. package/nitrogen/generated/shared/c++/CategorySample.hpp +8 -100
  118. package/nitrogen/generated/shared/c++/CategoryTypeIdentifier.hpp +153 -149
  119. package/nitrogen/generated/shared/c++/CategoryTypeIdentifierWriteable.hpp +328 -0
  120. package/nitrogen/generated/shared/c++/CorrelationSample.hpp +9 -105
  121. package/nitrogen/generated/shared/c++/ElectrocardiogramSample.hpp +7 -99
  122. package/nitrogen/generated/shared/c++/FilterForWorkouts.hpp +13 -13
  123. package/nitrogen/generated/shared/c++/FilterForWorkoutsBase.hpp +13 -13
  124. package/nitrogen/generated/shared/c++/GeneralForm.hpp +7 -7
  125. package/nitrogen/generated/shared/c++/HeartbeatSeriesSample.hpp +8 -100
  126. package/nitrogen/generated/shared/c++/HybridCategoryTypeModuleSpec.hpp +5 -2
  127. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.cpp +2 -0
  128. package/nitrogen/generated/shared/c++/HybridCoreModuleSpec.hpp +4 -2
  129. package/nitrogen/generated/shared/c++/HybridQuantityTypeModuleSpec.hpp +15 -15
  130. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.cpp +1 -27
  131. package/nitrogen/generated/shared/c++/HybridWorkoutProxySpec.hpp +2 -37
  132. package/nitrogen/generated/shared/c++/MedicationDoseEvent.hpp +7 -99
  133. package/nitrogen/generated/shared/c++/ObjectTypeIdentifier.hpp +565 -565
  134. package/nitrogen/generated/shared/c++/QuantitySample.hpp +8 -100
  135. package/nitrogen/generated/shared/c++/QuantityTypeIdentifier.hpp +407 -411
  136. package/nitrogen/generated/shared/c++/QuantityTypeIdentifierWriteable.hpp +398 -402
  137. package/nitrogen/generated/shared/c++/{QueryOptionsWithAnchorAndUnit.hpp → QueryOptionsWithAnchorAndStringUnit.hpp} +11 -11
  138. package/nitrogen/generated/shared/c++/{QueryOptionsWithSortOrderAndUnit.hpp → QueryOptionsWithSortOrderAndStringUnit.hpp} +11 -11
  139. package/nitrogen/generated/shared/c++/QueryStatisticsResponseFromSingleSource.hpp +12 -12
  140. package/nitrogen/generated/shared/c++/SampleTypeIdentifier.hpp +559 -559
  141. package/nitrogen/generated/shared/c++/SampleTypeIdentifierWriteable.hpp +541 -545
  142. package/nitrogen/generated/shared/c++/StateOfMindSample.hpp +8 -100
  143. package/nitrogen/generated/shared/c++/{StatisticsQueryOptions.hpp → StatisticsQueryOptionsWithStringUnit.hpp} +11 -11
  144. package/nitrogen/generated/shared/c++/WorkoutSample.hpp +7 -120
  145. package/package.json +5 -2
  146. package/src/generated/healthkit-schema.json +3680 -0
  147. package/src/generated/healthkit.generated.ts +1307 -0
  148. package/src/healthkit.ios.ts +225 -19
  149. package/src/healthkit.ts +181 -55
  150. package/src/hooks/useMostRecentQuantitySample.ts +6 -5
  151. package/src/hooks/useMostRecentWorkout.ts +2 -2
  152. package/src/hooks/useQuantitySampleById.ts +6 -5
  153. package/src/hooks/useStatisticsForQuantity.ts +2 -1
  154. package/src/hooks/useSubscribeToQuantitySamples.ts +1 -1
  155. package/src/modules.ts +7 -2
  156. package/src/specs/CategoryTypeModule.nitro.ts +8 -5
  157. package/src/specs/CoreModule.nitro.ts +20 -0
  158. package/src/specs/QuantityTypeModule.nitro.ts +81 -7
  159. package/src/test-setup.ts +2 -0
  160. package/src/type-tests/generated-typing.ts +133 -0
  161. package/src/types/CategoryType.ts +52 -148
  162. package/src/types/CategoryTypeIdentifier.ts +5 -134
  163. package/src/types/CorrelationType.ts +13 -3
  164. package/src/types/ElectrocardiogramSample.ts +13 -1
  165. package/src/types/HeartbeatSeries.ts +13 -1
  166. package/src/types/InterfaceVerification.ts +38 -1
  167. package/src/types/Medication.ts +19 -0
  168. package/src/types/MetadataEnums.ts +15 -0
  169. package/src/types/QuantitySample.ts +14 -2
  170. package/src/types/QuantityType.ts +22 -122
  171. package/src/types/QuantityTypeIdentifier.ts +5 -772
  172. package/src/types/QueryOptions.ts +11 -4
  173. package/src/types/Shared.ts +22 -49
  174. package/src/types/StateOfMind.ts +13 -1
  175. package/src/types/Subscriptions.ts +19 -13
  176. package/src/types/WeatherCondition.ts +1 -31
  177. package/src/types/Workouts.ts +44 -108
  178. package/src/types/index.ts +2 -0
  179. package/src/utils/getMostRecentQuantitySample.ts +4 -3
  180. package/src/utils/getMostRecentWorkout.ts +5 -2
  181. package/src/utils/getPreferredUnit.ts +5 -4
  182. package/src/utils/getQuantitySampleById.ts +4 -3
  183. package/src/utils/subscribeToQuantitySamples.ts +5 -3
  184. package/nitrogen/generated/ios/swift/HeartRateMotionContext.swift +0 -44
  185. package/nitrogen/generated/ios/swift/InsulinDeliveryReason.swift +0 -40
  186. package/nitrogen/generated/ios/swift/WeatherCondition.swift +0 -144
  187. package/nitrogen/generated/shared/c++/HeartRateMotionContext.hpp +0 -67
  188. package/nitrogen/generated/shared/c++/InsulinDeliveryReason.hpp +0 -62
  189. package/nitrogen/generated/shared/c++/WeatherCondition.hpp +0 -88
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// QueryOptionsWithAnchorAndUnit.swift
2
+ /// QueryOptionsWithAnchorAndStringUnit.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -8,15 +8,15 @@
8
8
  import NitroModules
9
9
 
10
10
  /**
11
- * Represents an instance of `QueryOptionsWithAnchorAndUnit`, backed by a C++ struct.
11
+ * Represents an instance of `QueryOptionsWithAnchorAndStringUnit`, backed by a C++ struct.
12
12
  */
13
- public typealias QueryOptionsWithAnchorAndUnit = margelo.nitro.healthkit.QueryOptionsWithAnchorAndUnit
13
+ public typealias QueryOptionsWithAnchorAndStringUnit = margelo.nitro.healthkit.QueryOptionsWithAnchorAndStringUnit
14
14
 
15
- public extension QueryOptionsWithAnchorAndUnit {
15
+ public extension QueryOptionsWithAnchorAndStringUnit {
16
16
  private typealias bridge = margelo.nitro.healthkit.bridge.swift
17
17
 
18
18
  /**
19
- * Create a new instance of `QueryOptionsWithAnchorAndUnit`.
19
+ * Create a new instance of `QueryOptionsWithAnchorAndStringUnit`.
20
20
  */
21
21
  init(unit: String?, anchor: String?, filter: FilterForSamples?, limit: Double) {
22
22
  self.init({ () -> bridge.std__optional_std__string_ in
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// QueryOptionsWithSortOrderAndUnit.swift
2
+ /// QueryOptionsWithSortOrderAndStringUnit.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -8,15 +8,15 @@
8
8
  import NitroModules
9
9
 
10
10
  /**
11
- * Represents an instance of `QueryOptionsWithSortOrderAndUnit`, backed by a C++ struct.
11
+ * Represents an instance of `QueryOptionsWithSortOrderAndStringUnit`, backed by a C++ struct.
12
12
  */
13
- public typealias QueryOptionsWithSortOrderAndUnit = margelo.nitro.healthkit.QueryOptionsWithSortOrderAndUnit
13
+ public typealias QueryOptionsWithSortOrderAndStringUnit = margelo.nitro.healthkit.QueryOptionsWithSortOrderAndStringUnit
14
14
 
15
- public extension QueryOptionsWithSortOrderAndUnit {
15
+ public extension QueryOptionsWithSortOrderAndStringUnit {
16
16
  private typealias bridge = margelo.nitro.healthkit.bridge.swift
17
17
 
18
18
  /**
19
- * Create a new instance of `QueryOptionsWithSortOrderAndUnit`.
19
+ * Create a new instance of `QueryOptionsWithSortOrderAndStringUnit`.
20
20
  */
21
21
  init(unit: String?, ascending: Bool?, filter: FilterForSamples?, limit: Double) {
22
22
  self.init({ () -> bridge.std__optional_std__string_ in
@@ -18,10 +18,22 @@ public extension QueryStatisticsResponseFromSingleSource {
18
18
  /**
19
19
  * Create a new instance of `QueryStatisticsResponseFromSingleSource`.
20
20
  */
21
- init(source: (any HybridSourceProxySpec), duration: Quantity?, averageQuantity: Quantity?, maximumQuantity: Quantity?, minimumQuantity: Quantity?, sumQuantity: Quantity?, mostRecentQuantity: Quantity?, mostRecentQuantityDateInterval: QuantityDateInterval?, startDate: Date?, endDate: Date?) {
21
+ init(source: (any HybridSourceProxySpec), startDate: Date?, endDate: Date?, duration: Quantity?, averageQuantity: Quantity?, maximumQuantity: Quantity?, minimumQuantity: Quantity?, sumQuantity: Quantity?, mostRecentQuantity: Quantity?, mostRecentQuantityDateInterval: QuantityDateInterval?) {
22
22
  self.init({ () -> bridge.std__shared_ptr_HybridSourceProxySpec_ in
23
23
  let __cxxWrapped = source.getCxxWrapper()
24
24
  return __cxxWrapped.getCxxPart()
25
+ }(), { () -> bridge.std__optional_std__chrono__system_clock__time_point_ in
26
+ if let __unwrappedValue = startDate {
27
+ return bridge.create_std__optional_std__chrono__system_clock__time_point_(__unwrappedValue.toCpp())
28
+ } else {
29
+ return .init()
30
+ }
31
+ }(), { () -> bridge.std__optional_std__chrono__system_clock__time_point_ in
32
+ if let __unwrappedValue = endDate {
33
+ return bridge.create_std__optional_std__chrono__system_clock__time_point_(__unwrappedValue.toCpp())
34
+ } else {
35
+ return .init()
36
+ }
25
37
  }(), { () -> bridge.std__optional_Quantity_ in
26
38
  if let __unwrappedValue = duration {
27
39
  return bridge.create_std__optional_Quantity_(__unwrappedValue)
@@ -64,18 +76,6 @@ public extension QueryStatisticsResponseFromSingleSource {
64
76
  } else {
65
77
  return .init()
66
78
  }
67
- }(), { () -> bridge.std__optional_std__chrono__system_clock__time_point_ in
68
- if let __unwrappedValue = startDate {
69
- return bridge.create_std__optional_std__chrono__system_clock__time_point_(__unwrappedValue.toCpp())
70
- } else {
71
- return .init()
72
- }
73
- }(), { () -> bridge.std__optional_std__chrono__system_clock__time_point_ in
74
- if let __unwrappedValue = endDate {
75
- return bridge.create_std__optional_std__chrono__system_clock__time_point_(__unwrappedValue.toCpp())
76
- } else {
77
- return .init()
78
- }
79
79
  }())
80
80
  }
81
81
 
@@ -88,6 +88,30 @@ public extension QueryStatisticsResponseFromSingleSource {
88
88
  }()
89
89
  }
90
90
 
91
+ @inline(__always)
92
+ var startDate: Date? {
93
+ return { () -> Date? in
94
+ if bridge.has_value_std__optional_std__chrono__system_clock__time_point_(self.__startDate) {
95
+ let __unwrapped = bridge.get_std__optional_std__chrono__system_clock__time_point_(self.__startDate)
96
+ return Date(fromChrono: __unwrapped)
97
+ } else {
98
+ return nil
99
+ }
100
+ }()
101
+ }
102
+
103
+ @inline(__always)
104
+ var endDate: Date? {
105
+ return { () -> Date? in
106
+ if bridge.has_value_std__optional_std__chrono__system_clock__time_point_(self.__endDate) {
107
+ let __unwrapped = bridge.get_std__optional_std__chrono__system_clock__time_point_(self.__endDate)
108
+ return Date(fromChrono: __unwrapped)
109
+ } else {
110
+ return nil
111
+ }
112
+ }()
113
+ }
114
+
91
115
  @inline(__always)
92
116
  var duration: Quantity? {
93
117
  return self.__duration.value
@@ -122,28 +146,4 @@ public extension QueryStatisticsResponseFromSingleSource {
122
146
  var mostRecentQuantityDateInterval: QuantityDateInterval? {
123
147
  return self.__mostRecentQuantityDateInterval.value
124
148
  }
125
-
126
- @inline(__always)
127
- var startDate: Date? {
128
- return { () -> Date? in
129
- if bridge.has_value_std__optional_std__chrono__system_clock__time_point_(self.__startDate) {
130
- let __unwrapped = bridge.get_std__optional_std__chrono__system_clock__time_point_(self.__startDate)
131
- return Date(fromChrono: __unwrapped)
132
- } else {
133
- return nil
134
- }
135
- }()
136
- }
137
-
138
- @inline(__always)
139
- var endDate: Date? {
140
- return { () -> Date? in
141
- if bridge.has_value_std__optional_std__chrono__system_clock__time_point_(self.__endDate) {
142
- let __unwrapped = bridge.get_std__optional_std__chrono__system_clock__time_point_(self.__endDate)
143
- return Date(fromChrono: __unwrapped)
144
- } else {
145
- return nil
146
- }
147
- }()
148
- }
149
149
  }