@kingstinct/react-native-healthkit 4.4.4 → 5.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 (235) hide show
  1. package/README.md +1 -1
  2. package/ios/ReactNativeHealthkit.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  3. package/ios/ReactNativeHealthkit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  4. package/ios/ReactNativeHealthkit.xcodeproj/project.xcworkspace/xcuserdata/robertherber.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  5. package/ios/ReactNativeHealthkit.xcodeproj/xcuserdata/robertherber.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  6. package/lib/commonjs/hooks/useHealthkitAuthorization.js +41 -0
  7. package/lib/commonjs/hooks/useHealthkitAuthorization.js.map +1 -0
  8. package/lib/commonjs/hooks/useIsHealthDataAvailable.js +29 -0
  9. package/lib/commonjs/hooks/useIsHealthDataAvailable.js.map +1 -0
  10. package/lib/commonjs/hooks/useMostRecentCategorySample.js +27 -0
  11. package/lib/commonjs/hooks/useMostRecentCategorySample.js.map +1 -0
  12. package/lib/commonjs/hooks/useMostRecentQuantitySample.js +43 -0
  13. package/lib/commonjs/hooks/useMostRecentQuantitySample.js.map +1 -0
  14. package/lib/commonjs/hooks/useMostRecentWorkout.js +60 -0
  15. package/lib/commonjs/hooks/useMostRecentWorkout.js.map +1 -0
  16. package/lib/commonjs/hooks/useStatisticsForQuantity.js +35 -0
  17. package/lib/commonjs/hooks/useStatisticsForQuantity.js.map +1 -0
  18. package/lib/commonjs/hooks/useSubscribeToChanges.js +37 -0
  19. package/lib/commonjs/hooks/useSubscribeToChanges.js.map +1 -0
  20. package/lib/commonjs/index.ios.js +66 -394
  21. package/lib/commonjs/index.ios.js.map +1 -1
  22. package/lib/commonjs/index.js +9 -17
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/native-types.js +249 -78
  25. package/lib/commonjs/native-types.js.map +1 -1
  26. package/lib/commonjs/types.js +13 -0
  27. package/lib/commonjs/types.js.map +1 -1
  28. package/lib/commonjs/utils/deserializeCategorySample.js +15 -0
  29. package/lib/commonjs/utils/deserializeCategorySample.js.map +1 -0
  30. package/lib/commonjs/utils/deserializeCorrelation.js +32 -0
  31. package/lib/commonjs/utils/deserializeCorrelation.js.map +1 -0
  32. package/lib/commonjs/utils/deserializeSample.js +17 -0
  33. package/lib/commonjs/utils/deserializeSample.js.map +1 -0
  34. package/lib/commonjs/utils/deserializeWorkout.js +17 -0
  35. package/lib/commonjs/utils/deserializeWorkout.js.map +1 -0
  36. package/lib/commonjs/utils/ensureMetadata.js +14 -0
  37. package/lib/commonjs/utils/ensureMetadata.js.map +1 -0
  38. package/lib/commonjs/utils/ensureUnit.js +23 -0
  39. package/lib/commonjs/utils/ensureUnit.js.map +1 -0
  40. package/lib/commonjs/utils/getDateOfBirth.js +19 -0
  41. package/lib/commonjs/utils/getDateOfBirth.js.map +1 -0
  42. package/lib/commonjs/utils/getMostRecentCategorySample.js +22 -0
  43. package/lib/commonjs/utils/getMostRecentCategorySample.js.map +1 -0
  44. package/lib/commonjs/utils/getMostRecentQuantitySample.js +22 -0
  45. package/lib/commonjs/utils/getMostRecentQuantitySample.js.map +1 -0
  46. package/lib/commonjs/utils/getMostRecentWorkout.js +24 -0
  47. package/lib/commonjs/utils/getMostRecentWorkout.js.map +1 -0
  48. package/lib/commonjs/utils/getPreferredUnit.js +19 -0
  49. package/lib/commonjs/utils/getPreferredUnit.js.map +1 -0
  50. package/lib/commonjs/utils/getPreferredUnits.js +19 -0
  51. package/lib/commonjs/utils/getPreferredUnits.js.map +1 -0
  52. package/lib/commonjs/utils/getPreferredUnitsTyped.js +46 -0
  53. package/lib/commonjs/utils/getPreferredUnitsTyped.js.map +1 -0
  54. package/lib/commonjs/utils/getRequestStatusForAuthorization.js +25 -0
  55. package/lib/commonjs/utils/getRequestStatusForAuthorization.js.map +1 -0
  56. package/lib/commonjs/utils/prepareOptions.js +27 -0
  57. package/lib/commonjs/utils/prepareOptions.js.map +1 -0
  58. package/lib/commonjs/utils/queryCategorySamples.js +24 -0
  59. package/lib/commonjs/utils/queryCategorySamples.js.map +1 -0
  60. package/lib/commonjs/utils/queryCorrelationSamples.js +24 -0
  61. package/lib/commonjs/utils/queryCorrelationSamples.js.map +1 -0
  62. package/lib/commonjs/utils/queryQuantitySamples.js +27 -0
  63. package/lib/commonjs/utils/queryQuantitySamples.js.map +1 -0
  64. package/lib/commonjs/utils/queryStatisticsForQuantity.js +34 -0
  65. package/lib/commonjs/utils/queryStatisticsForQuantity.js.map +1 -0
  66. package/lib/commonjs/utils/queryWorkouts.js +30 -0
  67. package/lib/commonjs/utils/queryWorkouts.js.map +1 -0
  68. package/lib/commonjs/utils/requestAuthorization.js +25 -0
  69. package/lib/commonjs/utils/requestAuthorization.js.map +1 -0
  70. package/lib/commonjs/utils/saveCategorySample.js +21 -0
  71. package/lib/commonjs/utils/saveCategorySample.js.map +1 -0
  72. package/lib/commonjs/utils/saveCorrelationSample.js +24 -0
  73. package/lib/commonjs/utils/saveCorrelationSample.js.map +1 -0
  74. package/lib/commonjs/utils/saveQuantitySample.js +21 -0
  75. package/lib/commonjs/utils/saveQuantitySample.js.map +1 -0
  76. package/lib/commonjs/utils/saveWorkoutSample.js +25 -0
  77. package/lib/commonjs/utils/saveWorkoutSample.js.map +1 -0
  78. package/lib/commonjs/utils/serializeDate.js +12 -0
  79. package/lib/commonjs/utils/serializeDate.js.map +1 -0
  80. package/lib/commonjs/utils/subscribeToChanges.js +37 -0
  81. package/lib/commonjs/utils/subscribeToChanges.js.map +1 -0
  82. package/lib/module/hooks/useHealthkitAuthorization.js +29 -0
  83. package/lib/module/hooks/useHealthkitAuthorization.js.map +1 -0
  84. package/lib/module/hooks/useIsHealthDataAvailable.js +18 -0
  85. package/lib/module/hooks/useIsHealthDataAvailable.js.map +1 -0
  86. package/lib/module/hooks/useMostRecentCategorySample.js +15 -0
  87. package/lib/module/hooks/useMostRecentCategorySample.js.map +1 -0
  88. package/lib/module/hooks/useMostRecentQuantitySample.js +30 -0
  89. package/lib/module/hooks/useMostRecentQuantitySample.js.map +1 -0
  90. package/lib/module/hooks/useMostRecentWorkout.js +47 -0
  91. package/lib/module/hooks/useMostRecentWorkout.js.map +1 -0
  92. package/lib/module/hooks/useStatisticsForQuantity.js +23 -0
  93. package/lib/module/hooks/useStatisticsForQuantity.js.map +1 -0
  94. package/lib/module/hooks/useSubscribeToChanges.js +26 -0
  95. package/lib/module/hooks/useSubscribeToChanges.js.map +1 -0
  96. package/lib/module/index.ios.js +32 -370
  97. package/lib/module/index.ios.js.map +1 -1
  98. package/lib/module/index.js +10 -7
  99. package/lib/module/index.js.map +1 -1
  100. package/lib/module/native-types.js +232 -74
  101. package/lib/module/native-types.js.map +1 -1
  102. package/lib/module/types.js +15 -0
  103. package/lib/module/types.js.map +1 -1
  104. package/lib/module/utils/deserializeCategorySample.js +7 -0
  105. package/lib/module/utils/deserializeCategorySample.js.map +1 -0
  106. package/lib/module/utils/deserializeCorrelation.js +21 -0
  107. package/lib/module/utils/deserializeCorrelation.js.map +1 -0
  108. package/lib/module/utils/deserializeSample.js +9 -0
  109. package/lib/module/utils/deserializeSample.js.map +1 -0
  110. package/lib/module/utils/deserializeWorkout.js +9 -0
  111. package/lib/module/utils/deserializeWorkout.js.map +1 -0
  112. package/lib/module/utils/ensureMetadata.js +6 -0
  113. package/lib/module/utils/ensureMetadata.js.map +1 -0
  114. package/lib/module/utils/ensureUnit.js +13 -0
  115. package/lib/module/utils/ensureUnit.js.map +1 -0
  116. package/lib/module/utils/getDateOfBirth.js +9 -0
  117. package/lib/module/utils/getDateOfBirth.js.map +1 -0
  118. package/lib/module/utils/getMostRecentCategorySample.js +12 -0
  119. package/lib/module/utils/getMostRecentCategorySample.js.map +1 -0
  120. package/lib/module/utils/getMostRecentQuantitySample.js +12 -0
  121. package/lib/module/utils/getMostRecentQuantitySample.js.map +1 -0
  122. package/lib/module/utils/getMostRecentWorkout.js +14 -0
  123. package/lib/module/utils/getMostRecentWorkout.js.map +1 -0
  124. package/lib/module/utils/getPreferredUnit.js +9 -0
  125. package/lib/module/utils/getPreferredUnit.js.map +1 -0
  126. package/lib/module/utils/getPreferredUnits.js +9 -0
  127. package/lib/module/utils/getPreferredUnits.js.map +1 -0
  128. package/lib/module/utils/getPreferredUnitsTyped.js +34 -0
  129. package/lib/module/utils/getPreferredUnitsTyped.js.map +1 -0
  130. package/lib/module/utils/getRequestStatusForAuthorization.js +15 -0
  131. package/lib/module/utils/getRequestStatusForAuthorization.js.map +1 -0
  132. package/lib/module/utils/prepareOptions.js +17 -0
  133. package/lib/module/utils/prepareOptions.js.map +1 -0
  134. package/lib/module/utils/queryCategorySamples.js +12 -0
  135. package/lib/module/utils/queryCategorySamples.js.map +1 -0
  136. package/lib/module/utils/queryCorrelationSamples.js +12 -0
  137. package/lib/module/utils/queryCorrelationSamples.js.map +1 -0
  138. package/lib/module/utils/queryQuantitySamples.js +14 -0
  139. package/lib/module/utils/queryQuantitySamples.js.map +1 -0
  140. package/lib/module/utils/queryStatisticsForQuantity.js +23 -0
  141. package/lib/module/utils/queryStatisticsForQuantity.js.map +1 -0
  142. package/lib/module/utils/queryWorkouts.js +17 -0
  143. package/lib/module/utils/queryWorkouts.js.map +1 -0
  144. package/lib/module/utils/requestAuthorization.js +15 -0
  145. package/lib/module/utils/requestAuthorization.js.map +1 -0
  146. package/lib/module/utils/saveCategorySample.js +11 -0
  147. package/lib/module/utils/saveCategorySample.js.map +1 -0
  148. package/lib/module/utils/saveCorrelationSample.js +13 -0
  149. package/lib/module/utils/saveCorrelationSample.js.map +1 -0
  150. package/lib/module/utils/saveQuantitySample.js +11 -0
  151. package/lib/module/utils/saveQuantitySample.js.map +1 -0
  152. package/lib/module/utils/saveWorkoutSample.js +14 -0
  153. package/lib/module/utils/saveWorkoutSample.js.map +1 -0
  154. package/lib/module/utils/serializeDate.js +4 -0
  155. package/lib/module/utils/serializeDate.js.map +1 -0
  156. package/lib/module/utils/subscribeToChanges.js +25 -0
  157. package/lib/module/utils/subscribeToChanges.js.map +1 -0
  158. package/lib/typescript/example-expo/App.d.ts +2 -0
  159. package/lib/typescript/src/hooks/useHealthkitAuthorization.d.ts +3 -0
  160. package/lib/typescript/src/hooks/useIsHealthDataAvailable.d.ts +2 -0
  161. package/lib/typescript/src/hooks/useMostRecentCategorySample.d.ts +4 -0
  162. package/lib/typescript/src/hooks/useMostRecentQuantitySample.d.ts +4 -0
  163. package/lib/typescript/src/hooks/useMostRecentWorkout.d.ts +7 -0
  164. package/lib/typescript/src/hooks/useStatisticsForQuantity.d.ts +4 -0
  165. package/lib/typescript/src/hooks/useSubscribeToChanges.d.ts +3 -0
  166. package/lib/typescript/src/index.d.ts +2 -3
  167. package/lib/typescript/src/index.ios.d.ts +48 -3
  168. package/lib/typescript/src/native-types.d.ts +235 -70
  169. package/lib/typescript/src/types.d.ts +14 -90
  170. package/lib/typescript/src/utils/deserializeCategorySample.d.ts +4 -0
  171. package/lib/typescript/src/utils/deserializeCorrelation.d.ts +4 -0
  172. package/lib/typescript/src/utils/deserializeSample.d.ts +4 -0
  173. package/lib/typescript/src/utils/deserializeWorkout.d.ts +4 -0
  174. package/lib/typescript/src/utils/ensureMetadata.d.ts +2 -0
  175. package/lib/typescript/src/utils/ensureUnit.d.ts +3 -0
  176. package/lib/typescript/src/utils/getDateOfBirth.d.ts +2 -0
  177. package/lib/typescript/src/utils/getMostRecentCategorySample.d.ts +3 -0
  178. package/lib/typescript/src/utils/getMostRecentQuantitySample.d.ts +3 -0
  179. package/lib/typescript/src/utils/getMostRecentWorkout.d.ts +5 -0
  180. package/lib/typescript/src/utils/getPreferredUnit.d.ts +4 -0
  181. package/lib/typescript/src/utils/getPreferredUnits.d.ts +4 -0
  182. package/lib/typescript/src/utils/getPreferredUnitsTyped.d.ts +9 -0
  183. package/lib/typescript/src/utils/getRequestStatusForAuthorization.d.ts +3 -0
  184. package/lib/typescript/src/utils/prepareOptions.d.ts +8 -0
  185. package/lib/typescript/src/utils/queryCategorySamples.d.ts +5 -0
  186. package/lib/typescript/src/utils/queryCorrelationSamples.d.ts +5 -0
  187. package/lib/typescript/src/utils/queryQuantitySamples.d.ts +7 -0
  188. package/lib/typescript/src/utils/queryStatisticsForQuantity.d.ts +14 -0
  189. package/lib/typescript/src/utils/queryWorkouts.d.ts +4 -0
  190. package/lib/typescript/src/utils/requestAuthorization.d.ts +3 -0
  191. package/lib/typescript/src/utils/saveCategorySample.d.ts +7 -0
  192. package/lib/typescript/src/utils/saveCorrelationSample.d.ts +8 -0
  193. package/lib/typescript/src/utils/saveQuantitySample.d.ts +7 -0
  194. package/lib/typescript/src/utils/saveWorkoutSample.d.ts +7 -0
  195. package/lib/typescript/src/utils/serializeDate.d.ts +2 -0
  196. package/lib/typescript/src/utils/subscribeToChanges.d.ts +3 -0
  197. package/package.json +17 -6
  198. package/src/hooks/useHealthkitAuthorization.ts +39 -0
  199. package/src/hooks/useIsHealthDataAvailable.ts +17 -0
  200. package/src/hooks/useMostRecentCategorySample.ts +24 -0
  201. package/src/hooks/useMostRecentQuantitySample.ts +39 -0
  202. package/src/hooks/useMostRecentWorkout.ts +60 -0
  203. package/src/hooks/useStatisticsForQuantity.ts +42 -0
  204. package/src/hooks/useSubscribeToChanges.ts +31 -0
  205. package/src/index.ios.tsx +36 -569
  206. package/src/index.tsx +12 -9
  207. package/src/native-types.ts +323 -93
  208. package/src/types.ts +41 -152
  209. package/src/utils/deserializeCategorySample.ts +12 -0
  210. package/src/utils/deserializeCorrelation.ts +28 -0
  211. package/src/utils/deserializeSample.ts +17 -0
  212. package/src/utils/deserializeWorkout.ts +14 -0
  213. package/src/utils/ensureMetadata.ts +5 -0
  214. package/src/utils/ensureUnit.ts +19 -0
  215. package/src/utils/getDateOfBirth.ts +8 -0
  216. package/src/utils/getMostRecentCategorySample.ts +18 -0
  217. package/src/utils/getMostRecentQuantitySample.ts +19 -0
  218. package/src/utils/getMostRecentWorkout.ts +27 -0
  219. package/src/utils/getPreferredUnit.ts +14 -0
  220. package/src/utils/getPreferredUnits.ts +14 -0
  221. package/src/utils/getPreferredUnitsTyped.ts +38 -0
  222. package/src/utils/getRequestStatusForAuthorization.ts +21 -0
  223. package/src/utils/prepareOptions.ts +15 -0
  224. package/src/utils/queryCategorySamples.ts +29 -0
  225. package/src/utils/queryCorrelationSamples.ts +29 -0
  226. package/src/utils/queryQuantitySamples.ts +36 -0
  227. package/src/utils/queryStatisticsForQuantity.ts +38 -0
  228. package/src/utils/queryWorkouts.ts +28 -0
  229. package/src/utils/requestAuthorization.ts +18 -0
  230. package/src/utils/saveCategorySample.ts +27 -0
  231. package/src/utils/saveCorrelationSample.ts +34 -0
  232. package/src/utils/saveQuantitySample.ts +29 -0
  233. package/src/utils/saveWorkoutSample.ts +28 -0
  234. package/src/utils/serializeDate.ts +3 -0
  235. package/src/utils/subscribeToChanges.ts +32 -0
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const getPreferredUnits = async identifiers => {
13
+ const units = await _nativeTypes.default.getPreferredUnits(identifiers);
14
+ return identifiers.map(i => units[i]);
15
+ };
16
+
17
+ var _default = getPreferredUnits;
18
+ exports.default = _default;
19
+ //# sourceMappingURL=getPreferredUnits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getPreferredUnits","identifiers","units","Native","map","i"],"sources":["getPreferredUnits.ts"],"sourcesContent":["import Native from '../native-types'\n\nimport type { HKQuantityTypeIdentifier, HKUnit } from '../native-types'\n\nexport type GetPreferredUnitsFn = (\n identifiers: readonly HKQuantityTypeIdentifier[]\n) => Promise<readonly HKUnit[]>;\n\nconst getPreferredUnits: GetPreferredUnitsFn = async (identifiers) => {\n const units = await Native.getPreferredUnits(identifiers)\n return identifiers.map((i) => units[i])\n}\n\nexport default getPreferredUnits\n"],"mappings":";;;;;;;AAAA;;;;AAQA,MAAMA,iBAAsC,GAAG,MAAOC,WAAP,IAAuB;EACpE,MAAMC,KAAK,GAAG,MAAMC,oBAAA,CAAOH,iBAAP,CAAyBC,WAAzB,CAApB;EACA,OAAOA,WAAW,CAACG,GAAZ,CAAiBC,CAAD,IAAOH,KAAK,CAACG,CAAD,CAA5B,CAAP;AACD,CAHD;;eAKeL,iB"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireWildcard(require("../native-types"));
9
+
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+
14
+ async function getPreferredUnitsTyped(options) {
15
+ let energyUnit = options === null || options === void 0 ? void 0 : options.energyUnit;
16
+ let distanceUnit = options === null || options === void 0 ? void 0 : options.distanceUnit;
17
+
18
+ if (!energyUnit || !distanceUnit) {
19
+ const units = await _nativeTypes.default.getPreferredUnits([_nativeTypes.HKQuantityTypeIdentifier.distanceWalkingRunning, _nativeTypes.HKQuantityTypeIdentifier.activeEnergyBurned]);
20
+
21
+ if (!energyUnit) {
22
+ energyUnit = units[_nativeTypes.HKQuantityTypeIdentifier.activeEnergyBurned];
23
+ }
24
+
25
+ if (!distanceUnit) {
26
+ distanceUnit = units[_nativeTypes.HKQuantityTypeIdentifier.distanceWalkingRunning];
27
+ }
28
+ }
29
+
30
+ if (!energyUnit) {
31
+ energyUnit = _nativeTypes.UnitOfEnergy.Kilocalories;
32
+ }
33
+
34
+ if (!distanceUnit) {
35
+ distanceUnit = _nativeTypes.UnitOfLength.Meter;
36
+ }
37
+
38
+ return {
39
+ energyUnit,
40
+ distanceUnit
41
+ };
42
+ }
43
+
44
+ var _default = getPreferredUnitsTyped;
45
+ exports.default = _default;
46
+ //# sourceMappingURL=getPreferredUnitsTyped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getPreferredUnitsTyped","options","energyUnit","distanceUnit","units","Native","getPreferredUnits","HKQuantityTypeIdentifier","distanceWalkingRunning","activeEnergyBurned","UnitOfEnergy","Kilocalories","UnitOfLength","Meter"],"sources":["getPreferredUnitsTyped.ts"],"sourcesContent":["import Native, { HKQuantityTypeIdentifier, UnitOfEnergy, UnitOfLength } from '../native-types'\n\nimport type { HKUnit } from '../native-types'\n\nasync function getPreferredUnitsTyped<\n TEnergy extends HKUnit,\n TDistance extends HKUnit\n>(options?: { readonly energyUnit?: TEnergy; readonly distanceUnit?: TDistance }) {\n let energyUnit = options?.energyUnit\n let distanceUnit = options?.distanceUnit\n\n if (!energyUnit || !distanceUnit) {\n const units = await Native.getPreferredUnits([\n HKQuantityTypeIdentifier.distanceWalkingRunning,\n HKQuantityTypeIdentifier.activeEnergyBurned,\n ])\n if (!energyUnit) {\n energyUnit = units[HKQuantityTypeIdentifier.activeEnergyBurned] as\n | TEnergy\n | undefined\n }\n if (!distanceUnit) {\n distanceUnit = units[HKQuantityTypeIdentifier.distanceWalkingRunning] as\n | TDistance\n | undefined\n }\n }\n\n if (!energyUnit) {\n energyUnit = UnitOfEnergy.Kilocalories as TEnergy\n }\n if (!distanceUnit) {\n distanceUnit = UnitOfLength.Meter as TDistance\n }\n return { energyUnit, distanceUnit }\n}\n\nexport default getPreferredUnitsTyped\n"],"mappings":";;;;;;;AAAA;;;;;;AAIA,eAAeA,sBAAf,CAGEC,OAHF,EAGkF;EAChF,IAAIC,UAAU,GAAGD,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEC,UAA1B;EACA,IAAIC,YAAY,GAAGF,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEE,YAA5B;;EAEA,IAAI,CAACD,UAAD,IAAe,CAACC,YAApB,EAAkC;IAChC,MAAMC,KAAK,GAAG,MAAMC,oBAAA,CAAOC,iBAAP,CAAyB,CAC3CC,qCAAA,CAAyBC,sBADkB,EAE3CD,qCAAA,CAAyBE,kBAFkB,CAAzB,CAApB;;IAIA,IAAI,CAACP,UAAL,EAAiB;MACfA,UAAU,GAAGE,KAAK,CAACG,qCAAA,CAAyBE,kBAA1B,CAAlB;IAGD;;IACD,IAAI,CAACN,YAAL,EAAmB;MACjBA,YAAY,GAAGC,KAAK,CAACG,qCAAA,CAAyBC,sBAA1B,CAApB;IAGD;EACF;;EAED,IAAI,CAACN,UAAL,EAAiB;IACfA,UAAU,GAAGQ,yBAAA,CAAaC,YAA1B;EACD;;EACD,IAAI,CAACR,YAAL,EAAmB;IACjBA,YAAY,GAAGS,yBAAA,CAAaC,KAA5B;EACD;;EACD,OAAO;IAAEX,UAAF;IAAcC;EAAd,CAAP;AACD;;eAEcH,sB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const getRequestStatusForAuthorization = async function (read) {
13
+ let write = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
14
+ const readPermissions = read.reduce((obj, cur) => ({ ...obj,
15
+ [cur]: true
16
+ }), {});
17
+ const writePermissions = write.reduce((obj, cur) => ({ ...obj,
18
+ [cur]: true
19
+ }), {});
20
+ return _nativeTypes.default.getRequestStatusForAuthorization(writePermissions, readPermissions);
21
+ };
22
+
23
+ var _default = getRequestStatusForAuthorization;
24
+ exports.default = _default;
25
+ //# sourceMappingURL=getRequestStatusForAuthorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRequestStatusForAuthorization","read","write","readPermissions","reduce","obj","cur","writePermissions","Native"],"sources":["getRequestStatusForAuthorization.ts"],"sourcesContent":["import Native from '../native-types'\n\nimport type {\n HealthkitReadAuthorization, HealthkitWriteAuthorization, ReadPermissions, WritePermissions,\n} from '../native-types'\n\nconst getRequestStatusForAuthorization = async (\n read: readonly HealthkitReadAuthorization[],\n write: readonly HealthkitWriteAuthorization[] = [],\n) => {\n const readPermissions = read.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as ReadPermissions)\n\n const writePermissions = write.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as WritePermissions)\n\n return Native.getRequestStatusForAuthorization(\n writePermissions,\n readPermissions,\n )\n}\n\nexport default getRequestStatusForAuthorization\n"],"mappings":";;;;;;;AAAA;;;;AAMA,MAAMA,gCAAgC,GAAG,gBACvCC,IADuC,EAGpC;EAAA,IADHC,KACG,uEAD6C,EAC7C;EACH,MAAMC,eAAe,GAAGF,IAAI,CAACG,MAAL,CAAY,CAACC,GAAD,EAAMC,GAAN,MAAe,EAAE,GAAGD,GAAL;IAAU,CAACC,GAAD,GAAO;EAAjB,CAAf,CAAZ,EAAqD,EAArD,CAAxB;EAEA,MAAMC,gBAAgB,GAAGL,KAAK,CAACE,MAAN,CAAa,CAACC,GAAD,EAAMC,GAAN,MAAe,EAAE,GAAGD,GAAL;IAAU,CAACC,GAAD,GAAO;EAAjB,CAAf,CAAb,EAAsD,EAAtD,CAAzB;EAEA,OAAOE,oBAAA,CAAOR,gCAAP,CACLO,gBADK,EAELJ,eAFK,CAAP;AAID,CAZD;;eAceH,gC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _serializeDate = _interopRequireDefault(require("./serializeDate"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const prepareOptions = options => {
13
+ const limit = !options.limit || options.limit === Infinity ? 0 : options.limit;
14
+ const ascending = options.ascending ?? limit === 0;
15
+ const from = (0, _serializeDate.default)(options.from);
16
+ const to = (0, _serializeDate.default)(options.to);
17
+ return {
18
+ limit,
19
+ ascending,
20
+ from,
21
+ to
22
+ };
23
+ };
24
+
25
+ var _default = prepareOptions;
26
+ exports.default = _default;
27
+ //# sourceMappingURL=prepareOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["prepareOptions","options","limit","Infinity","ascending","from","serializeDate","to"],"sources":["prepareOptions.ts"],"sourcesContent":["import serializeDate from './serializeDate'\n\nimport type { GenericQueryOptions } from '../types'\n\nconst prepareOptions = (options: GenericQueryOptions) => {\n const limit = !options.limit || options.limit === Infinity ? 0 : options.limit\n const ascending = options.ascending ?? limit === 0\n const from = serializeDate(options.from)\n const to = serializeDate(options.to)\n return {\n limit, ascending, from, to,\n }\n}\n\nexport default prepareOptions\n"],"mappings":";;;;;;;AAAA;;;;AAIA,MAAMA,cAAc,GAAIC,OAAD,IAAkC;EACvD,MAAMC,KAAK,GAAG,CAACD,OAAO,CAACC,KAAT,IAAkBD,OAAO,CAACC,KAAR,KAAkBC,QAApC,GAA+C,CAA/C,GAAmDF,OAAO,CAACC,KAAzE;EACA,MAAME,SAAS,GAAGH,OAAO,CAACG,SAAR,IAAqBF,KAAK,KAAK,CAAjD;EACA,MAAMG,IAAI,GAAG,IAAAC,sBAAA,EAAcL,OAAO,CAACI,IAAtB,CAAb;EACA,MAAME,EAAE,GAAG,IAAAD,sBAAA,EAAcL,OAAO,CAACM,EAAtB,CAAX;EACA,OAAO;IACLL,KADK;IACEE,SADF;IACaC,IADb;IACmBE;EADnB,CAAP;AAGD,CARD;;eAUeP,c"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _deserializeCategorySample = _interopRequireDefault(require("./deserializeCategorySample"));
11
+
12
+ var _prepareOptions = _interopRequireDefault(require("./prepareOptions"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const queryCategorySamples = async (identifier, options) => {
17
+ const opts = (0, _prepareOptions.default)(options);
18
+ const results = await _nativeTypes.default.queryCategorySamples(identifier, opts.from, opts.to, opts.limit, opts.ascending);
19
+ return results.map(_deserializeCategorySample.default);
20
+ };
21
+
22
+ var _default = queryCategorySamples;
23
+ exports.default = _default;
24
+ //# sourceMappingURL=queryCategorySamples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryCategorySamples","identifier","options","opts","prepareOptions","results","Native","from","to","limit","ascending","map","deserializCategorySample"],"sources":["queryCategorySamples.ts"],"sourcesContent":["import Native from '../native-types'\nimport deserializCategorySample from './deserializeCategorySample'\nimport prepareOptions from './prepareOptions'\n\nimport type { HKCategoryTypeIdentifier } from '../native-types'\nimport type { GenericQueryOptions, HKCategorySample } from '../types'\n\nexport type QueryCategorySamplesFn = <T extends HKCategoryTypeIdentifier>(\n identifier: T,\n options: GenericQueryOptions\n) => Promise<readonly HKCategorySample<T>[]>;\n\nconst queryCategorySamples: QueryCategorySamplesFn = async (\n identifier,\n options,\n) => {\n const opts = prepareOptions(options)\n const results = await Native.queryCategorySamples(\n identifier,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending,\n )\n\n return results.map(deserializCategorySample)\n}\n\nexport default queryCategorySamples\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAUA,MAAMA,oBAA4C,GAAG,OACnDC,UADmD,EAEnDC,OAFmD,KAGhD;EACH,MAAMC,IAAI,GAAG,IAAAC,uBAAA,EAAeF,OAAf,CAAb;EACA,MAAMG,OAAO,GAAG,MAAMC,oBAAA,CAAON,oBAAP,CACpBC,UADoB,EAEpBE,IAAI,CAACI,IAFe,EAGpBJ,IAAI,CAACK,EAHe,EAIpBL,IAAI,CAACM,KAJe,EAKpBN,IAAI,CAACO,SALe,CAAtB;EAQA,OAAOL,OAAO,CAACM,GAAR,CAAYC,kCAAZ,CAAP;AACD,CAdD;;eAgBeZ,oB"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _deserializeCorrelation = _interopRequireDefault(require("./deserializeCorrelation"));
11
+
12
+ var _prepareOptions = _interopRequireDefault(require("./prepareOptions"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const queryCorrelationSamples = async (typeIdentifier, options) => {
17
+ const opts = (0, _prepareOptions.default)(options);
18
+ const correlations = await _nativeTypes.default.queryCorrelationSamples(typeIdentifier, opts.from, opts.to);
19
+ return correlations.map(_deserializeCorrelation.default);
20
+ };
21
+
22
+ var _default = queryCorrelationSamples;
23
+ exports.default = _default;
24
+ //# sourceMappingURL=queryCorrelationSamples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryCorrelationSamples","typeIdentifier","options","opts","prepareOptions","correlations","Native","from","to","map","deserializeCorrelation"],"sources":["queryCorrelationSamples.ts"],"sourcesContent":["import Native from '../native-types'\nimport deserializeCorrelation from './deserializeCorrelation'\nimport prepareOptions from './prepareOptions'\n\nimport type { HKCorrelationTypeIdentifier } from '../native-types'\nimport type { GenericQueryOptions, HKCorrelation } from '../types'\n\nexport type QueryCorrelationSamplesFn = <\n TIdentifier extends HKCorrelationTypeIdentifier\n>(\n typeIdentifier: TIdentifier,\n options: Omit<GenericQueryOptions, 'ascending' | 'limit'>\n) => Promise<readonly HKCorrelation<TIdentifier>[]>;\n\nconst queryCorrelationSamples: QueryCorrelationSamplesFn = async (\n typeIdentifier,\n options,\n) => {\n const opts = prepareOptions(options)\n const correlations = await Native.queryCorrelationSamples(\n typeIdentifier,\n opts.from,\n opts.to,\n )\n\n return correlations.map(deserializeCorrelation)\n}\n\nexport default queryCorrelationSamples\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAYA,MAAMA,uBAAkD,GAAG,OACzDC,cADyD,EAEzDC,OAFyD,KAGtD;EACH,MAAMC,IAAI,GAAG,IAAAC,uBAAA,EAAeF,OAAf,CAAb;EACA,MAAMG,YAAY,GAAG,MAAMC,oBAAA,CAAON,uBAAP,CACzBC,cADyB,EAEzBE,IAAI,CAACI,IAFoB,EAGzBJ,IAAI,CAACK,EAHoB,CAA3B;EAMA,OAAOH,YAAY,CAACI,GAAb,CAAiBC,+BAAjB,CAAP;AACD,CAZD;;eAceV,uB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _deserializeSample = _interopRequireDefault(require("./deserializeSample"));
11
+
12
+ var _ensureUnit = _interopRequireDefault(require("./ensureUnit"));
13
+
14
+ var _prepareOptions = _interopRequireDefault(require("./prepareOptions"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const queryQuantitySamples = async (identifier, options) => {
19
+ const unit = await (0, _ensureUnit.default)(identifier, options.unit);
20
+ const opts = (0, _prepareOptions.default)(options);
21
+ const quantitySamples = await _nativeTypes.default.queryQuantitySamples(identifier, unit, opts.from, opts.to, opts.limit, opts.ascending);
22
+ return quantitySamples.map(_deserializeSample.default);
23
+ };
24
+
25
+ var _default = queryQuantitySamples;
26
+ exports.default = _default;
27
+ //# sourceMappingURL=queryQuantitySamples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryQuantitySamples","identifier","options","unit","ensureUnit","opts","prepareOptions","quantitySamples","Native","from","to","limit","ascending","map","deserializeSample"],"sources":["queryQuantitySamples.ts"],"sourcesContent":["import Native from '../native-types'\nimport deserializeSample from './deserializeSample'\nimport ensureUnit from './ensureUnit'\nimport prepareOptions from './prepareOptions'\n\nimport type { HKQuantityTypeIdentifier, UnitForIdentifier } from '../native-types'\nimport type { GenericQueryOptions, HKQuantitySample } from '../types'\n\nexport type QueryQuantitySamplesFn = <\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends UnitForIdentifier<TIdentifier>\n>(\n identifier: TIdentifier,\n options: GenericQueryOptions & { readonly unit?: TUnit }\n) => Promise<readonly HKQuantitySample<TIdentifier>[]>;\n\nconst queryQuantitySamples: QueryQuantitySamplesFn = async (\n identifier,\n options,\n) => {\n const unit = await ensureUnit(identifier, options.unit)\n const opts = prepareOptions(options)\n\n const quantitySamples = await Native.queryQuantitySamples(\n identifier,\n unit,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending,\n )\n\n return quantitySamples.map(deserializeSample)\n}\n\nexport default queryQuantitySamples\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAaA,MAAMA,oBAA4C,GAAG,OACnDC,UADmD,EAEnDC,OAFmD,KAGhD;EACH,MAAMC,IAAI,GAAG,MAAM,IAAAC,mBAAA,EAAWH,UAAX,EAAuBC,OAAO,CAACC,IAA/B,CAAnB;EACA,MAAME,IAAI,GAAG,IAAAC,uBAAA,EAAeJ,OAAf,CAAb;EAEA,MAAMK,eAAe,GAAG,MAAMC,oBAAA,CAAOR,oBAAP,CAC5BC,UAD4B,EAE5BE,IAF4B,EAG5BE,IAAI,CAACI,IAHuB,EAI5BJ,IAAI,CAACK,EAJuB,EAK5BL,IAAI,CAACM,KALuB,EAM5BN,IAAI,CAACO,SANuB,CAA9B;EASA,OAAOL,eAAe,CAACM,GAAhB,CAAoBC,0BAApB,CAAP;AACD,CAjBD;;eAmBed,oB"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _ensureUnit = _interopRequireDefault(require("./ensureUnit"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ async function queryStatisticsForQuantity(identifier, options, from, to, unit) {
15
+ const actualUnit = await (0, _ensureUnit.default)(identifier, unit);
16
+ const toDate = to || new Date();
17
+ const {
18
+ mostRecentQuantityDateInterval,
19
+ ...rawResponse
20
+ } = await _nativeTypes.default.queryStatisticsForQuantity(identifier, actualUnit, from.toISOString(), toDate.toISOString(), options);
21
+ const response = { ...rawResponse,
22
+ ...(mostRecentQuantityDateInterval ? {
23
+ mostRecentQuantityDateInterval: {
24
+ from: new Date(mostRecentQuantityDateInterval.from),
25
+ to: new Date(mostRecentQuantityDateInterval.to)
26
+ }
27
+ } : {})
28
+ };
29
+ return response;
30
+ }
31
+
32
+ var _default = queryStatisticsForQuantity;
33
+ exports.default = _default;
34
+ //# sourceMappingURL=queryStatisticsForQuantity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryStatisticsForQuantity","identifier","options","from","to","unit","actualUnit","ensureUnit","toDate","Date","mostRecentQuantityDateInterval","rawResponse","Native","toISOString","response"],"sources":["queryStatisticsForQuantity.ts"],"sourcesContent":["import Native from '../native-types'\nimport ensureUnit from './ensureUnit'\n\nimport type { HKQuantityTypeIdentifier, HKStatisticsOptions, UnitForIdentifier } from '../native-types'\n\nasync function queryStatisticsForQuantity<TIdentifier extends HKQuantityTypeIdentifier, TUnit extends UnitForIdentifier<TIdentifier> = UnitForIdentifier<TIdentifier>>(\n identifier: TIdentifier,\n options: readonly HKStatisticsOptions[],\n from: Date,\n to?: Date,\n unit?: TUnit,\n) {\n const actualUnit = await ensureUnit(identifier, unit)\n const toDate = to || new Date()\n const { mostRecentQuantityDateInterval, ...rawResponse } = await Native.queryStatisticsForQuantity(\n identifier,\n actualUnit,\n from.toISOString(),\n toDate.toISOString(),\n options,\n )\n\n const response = {\n ...rawResponse,\n ...(mostRecentQuantityDateInterval\n ? {\n mostRecentQuantityDateInterval: {\n from: new Date(mostRecentQuantityDateInterval.from),\n to: new Date(mostRecentQuantityDateInterval.to),\n },\n }\n : {}),\n }\n\n return response\n}\n\nexport default queryStatisticsForQuantity\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAIA,eAAeA,0BAAf,CACEC,UADF,EAEEC,OAFF,EAGEC,IAHF,EAIEC,EAJF,EAKEC,IALF,EAME;EACA,MAAMC,UAAU,GAAG,MAAM,IAAAC,mBAAA,EAAWN,UAAX,EAAuBI,IAAvB,CAAzB;EACA,MAAMG,MAAM,GAAGJ,EAAE,IAAI,IAAIK,IAAJ,EAArB;EACA,MAAM;IAAEC,8BAAF;IAAkC,GAAGC;EAArC,IAAqD,MAAMC,oBAAA,CAAOZ,0BAAP,CAC/DC,UAD+D,EAE/DK,UAF+D,EAG/DH,IAAI,CAACU,WAAL,EAH+D,EAI/DL,MAAM,CAACK,WAAP,EAJ+D,EAK/DX,OAL+D,CAAjE;EAQA,MAAMY,QAAQ,GAAG,EACf,GAAGH,WADY;IAEf,IAAID,8BAA8B,GAC9B;MACAA,8BAA8B,EAAE;QAC9BP,IAAI,EAAE,IAAIM,IAAJ,CAASC,8BAA8B,CAACP,IAAxC,CADwB;QAE9BC,EAAE,EAAE,IAAIK,IAAJ,CAASC,8BAA8B,CAACN,EAAxC;MAF0B;IADhC,CAD8B,GAO9B,EAPJ;EAFe,CAAjB;EAYA,OAAOU,QAAP;AACD;;eAEcd,0B"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _deserializeWorkout = _interopRequireDefault(require("./deserializeWorkout"));
11
+
12
+ var _getPreferredUnitsTyped = _interopRequireDefault(require("./getPreferredUnitsTyped"));
13
+
14
+ var _prepareOptions = _interopRequireDefault(require("./prepareOptions"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ async function queryWorkouts(options) {
19
+ const {
20
+ energyUnit,
21
+ distanceUnit
22
+ } = await (0, _getPreferredUnitsTyped.default)(options);
23
+ const opts = (0, _prepareOptions.default)(options);
24
+ const workouts = await _nativeTypes.default.queryWorkoutSamples(energyUnit, distanceUnit, opts.from, opts.to, opts.limit, opts.ascending);
25
+ return workouts.map(_deserializeWorkout.default);
26
+ }
27
+
28
+ var _default = queryWorkouts;
29
+ exports.default = _default;
30
+ //# sourceMappingURL=queryWorkouts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryWorkouts","options","energyUnit","distanceUnit","getPreferredUnitsTyped","opts","prepareOptions","workouts","Native","queryWorkoutSamples","from","to","limit","ascending","map","deserializeWorkout"],"sources":["queryWorkouts.ts"],"sourcesContent":["import Native from '../native-types'\nimport deserializeWorkout from './deserializeWorkout'\nimport getPreferredUnitsTyped from './getPreferredUnitsTyped'\nimport prepareOptions from './prepareOptions'\n\nimport type { EnergyUnit, LengthUnit } from '../native-types'\nimport type { QueryWorkoutsOptions } from '../types'\n\nasync function queryWorkouts<\n TEnergy extends EnergyUnit,\n TDistance extends LengthUnit\n>(options: QueryWorkoutsOptions<TEnergy, TDistance>) {\n const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(options)\n const opts = prepareOptions(options)\n\n const workouts = await Native.queryWorkoutSamples(\n energyUnit,\n distanceUnit,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending,\n )\n\n return workouts.map(deserializeWorkout)\n}\n\nexport default queryWorkouts\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAKA,eAAeA,aAAf,CAGEC,OAHF,EAGqD;EACnD,MAAM;IAAEC,UAAF;IAAcC;EAAd,IAA+B,MAAM,IAAAC,+BAAA,EAAuBH,OAAvB,CAA3C;EACA,MAAMI,IAAI,GAAG,IAAAC,uBAAA,EAAeL,OAAf,CAAb;EAEA,MAAMM,QAAQ,GAAG,MAAMC,oBAAA,CAAOC,mBAAP,CACrBP,UADqB,EAErBC,YAFqB,EAGrBE,IAAI,CAACK,IAHgB,EAIrBL,IAAI,CAACM,EAJgB,EAKrBN,IAAI,CAACO,KALgB,EAMrBP,IAAI,CAACQ,SANgB,CAAvB;EASA,OAAON,QAAQ,CAACO,GAAT,CAAaC,2BAAb,CAAP;AACD;;eAEcf,a"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const requestAuthorization = async function (read) {
13
+ let write = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
14
+ const readPermissions = read.reduce((obj, cur) => ({ ...obj,
15
+ [cur]: true
16
+ }), {});
17
+ const writePermissions = write.reduce((obj, cur) => ({ ...obj,
18
+ [cur]: true
19
+ }), {});
20
+ return _nativeTypes.default.requestAuthorization(writePermissions, readPermissions);
21
+ };
22
+
23
+ var _default = requestAuthorization;
24
+ exports.default = _default;
25
+ //# sourceMappingURL=requestAuthorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["requestAuthorization","read","write","readPermissions","reduce","obj","cur","writePermissions","Native"],"sources":["requestAuthorization.ts"],"sourcesContent":["import Native from '../native-types'\n\nimport type {\n HealthkitReadAuthorization, HealthkitWriteAuthorization, ReadPermissions, WritePermissions,\n} from '../native-types'\n\nconst requestAuthorization = async (\n read: readonly HealthkitReadAuthorization[],\n write: readonly HealthkitWriteAuthorization[] = [],\n): Promise<boolean> => {\n const readPermissions = read.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as ReadPermissions)\n\n const writePermissions = write.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as WritePermissions)\n\n return Native.requestAuthorization(writePermissions, readPermissions)\n}\n\nexport default requestAuthorization\n"],"mappings":";;;;;;;AAAA;;;;AAMA,MAAMA,oBAAoB,GAAG,gBAC3BC,IAD2B,EAGN;EAAA,IADrBC,KACqB,uEAD2B,EAC3B;EACrB,MAAMC,eAAe,GAAGF,IAAI,CAACG,MAAL,CAAY,CAACC,GAAD,EAAMC,GAAN,MAAe,EAAE,GAAGD,GAAL;IAAU,CAACC,GAAD,GAAO;EAAjB,CAAf,CAAZ,EAAqD,EAArD,CAAxB;EAEA,MAAMC,gBAAgB,GAAGL,KAAK,CAACE,MAAN,CAAa,CAACC,GAAD,EAAMC,GAAN,MAAe,EAAE,GAAGD,GAAL;IAAU,CAACC,GAAD,GAAO;EAAjB,CAAf,CAAb,EAAsD,EAAtD,CAAzB;EAEA,OAAOE,oBAAA,CAAOR,oBAAP,CAA4BO,gBAA5B,EAA8CJ,eAA9C,CAAP;AACD,CATD;;eAWeH,oB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ async function saveCategorySample(identifier, value, options) {
13
+ const start = (options === null || options === void 0 ? void 0 : options.start) || (options === null || options === void 0 ? void 0 : options.end) || new Date();
14
+ const end = (options === null || options === void 0 ? void 0 : options.end) || (options === null || options === void 0 ? void 0 : options.start) || new Date();
15
+ const metadata = (options === null || options === void 0 ? void 0 : options.metadata) || {};
16
+ return _nativeTypes.default.saveCategorySample(identifier, value, start.toISOString(), end.toISOString(), metadata || {});
17
+ }
18
+
19
+ var _default = saveCategorySample;
20
+ exports.default = _default;
21
+ //# sourceMappingURL=saveCategorySample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["saveCategorySample","identifier","value","options","start","end","Date","metadata","Native","toISOString"],"sources":["saveCategorySample.ts"],"sourcesContent":["import Native from '../native-types'\n\nimport type { HKCategoryTypeIdentifier, HKCategoryValueForIdentifier, MetadataMapperForCategoryIdentifier } from '../native-types'\n\nasync function saveCategorySample<T extends HKCategoryTypeIdentifier>(\n identifier: T,\n value: HKCategoryValueForIdentifier<T>,\n options?: {\n readonly start?: Date;\n readonly end?: Date;\n readonly metadata?: MetadataMapperForCategoryIdentifier<T>;\n },\n) {\n const start = options?.start || options?.end || new Date()\n const end = options?.end || options?.start || new Date()\n const metadata = options?.metadata || {}\n\n return Native.saveCategorySample(\n identifier,\n value,\n start.toISOString(),\n end.toISOString(),\n metadata || {},\n )\n}\n\nexport default saveCategorySample\n"],"mappings":";;;;;;;AAAA;;;;AAIA,eAAeA,kBAAf,CACEC,UADF,EAEEC,KAFF,EAGEC,OAHF,EAQE;EACA,MAAMC,KAAK,GAAG,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,KAAT,MAAkBD,OAAlB,aAAkBA,OAAlB,uBAAkBA,OAAO,CAAEE,GAA3B,KAAkC,IAAIC,IAAJ,EAAhD;EACA,MAAMD,GAAG,GAAG,CAAAF,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEE,GAAT,MAAgBF,OAAhB,aAAgBA,OAAhB,uBAAgBA,OAAO,CAAEC,KAAzB,KAAkC,IAAIE,IAAJ,EAA9C;EACA,MAAMC,QAAQ,GAAG,CAAAJ,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEI,QAAT,KAAqB,EAAtC;EAEA,OAAOC,oBAAA,CAAOR,kBAAP,CACLC,UADK,EAELC,KAFK,EAGLE,KAAK,CAACK,WAAN,EAHK,EAILJ,GAAG,CAACI,WAAJ,EAJK,EAKLF,QAAQ,IAAI,EALP,CAAP;AAOD;;eAEcP,kB"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _ensureMetadata = _interopRequireDefault(require("./ensureMetadata"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ async function saveCorrelationSample(typeIdentifier, samples, options) {
15
+ const start = ((options === null || options === void 0 ? void 0 : options.start) || new Date()).toISOString();
16
+ const end = ((options === null || options === void 0 ? void 0 : options.end) || new Date()).toISOString();
17
+ return _nativeTypes.default.saveCorrelationSample(typeIdentifier, samples.map(s => ({ ...s,
18
+ metadata: (0, _ensureMetadata.default)(s.metadata)
19
+ })), start, end, (0, _ensureMetadata.default)(options === null || options === void 0 ? void 0 : options.metadata));
20
+ }
21
+
22
+ var _default = saveCorrelationSample;
23
+ exports.default = _default;
24
+ //# sourceMappingURL=saveCorrelationSample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["saveCorrelationSample","typeIdentifier","samples","options","start","Date","toISOString","end","Native","map","s","metadata","ensureMetadata"],"sources":["saveCorrelationSample.ts"],"sourcesContent":["import Native from '../native-types'\nimport ensureMetadata from './ensureMetadata'\n\nimport type { MetadataMapperForCorrelationIdentifier, HKCorrelationTypeIdentifier } from '../native-types'\nimport type { HKCategorySampleForSaving, HKQuantitySampleForSaving } from '../types'\n\nasync function saveCorrelationSample<\n TIdentifier extends HKCorrelationTypeIdentifier,\n TSamples extends readonly(\n | HKCategorySampleForSaving\n | HKQuantitySampleForSaving\n )[]\n>(\n typeIdentifier: TIdentifier,\n samples: TSamples,\n options?: {\n readonly start?: Date;\n readonly end?: Date;\n readonly metadata?: MetadataMapperForCorrelationIdentifier<TIdentifier>;\n },\n) {\n const start = (options?.start || new Date()).toISOString()\n const end = (options?.end || new Date()).toISOString()\n\n return Native.saveCorrelationSample(\n typeIdentifier,\n samples.map((s) => ({ ...s, metadata: ensureMetadata(s.metadata) })),\n start,\n end,\n ensureMetadata(options?.metadata),\n )\n}\n\nexport default saveCorrelationSample\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAKA,eAAeA,qBAAf,CAOEC,cAPF,EAQEC,OARF,EASEC,OATF,EAcE;EACA,MAAMC,KAAK,GAAG,CAAC,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,KAAT,KAAkB,IAAIC,IAAJ,EAAnB,EAA+BC,WAA/B,EAAd;EACA,MAAMC,GAAG,GAAG,CAAC,CAAAJ,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEI,GAAT,KAAgB,IAAIF,IAAJ,EAAjB,EAA6BC,WAA7B,EAAZ;EAEA,OAAOE,oBAAA,CAAOR,qBAAP,CACLC,cADK,EAELC,OAAO,CAACO,GAAR,CAAaC,CAAD,KAAQ,EAAE,GAAGA,CAAL;IAAQC,QAAQ,EAAE,IAAAC,uBAAA,EAAeF,CAAC,CAACC,QAAjB;EAAlB,CAAR,CAAZ,CAFK,EAGLP,KAHK,EAILG,GAJK,EAKL,IAAAK,uBAAA,EAAeT,OAAf,aAAeA,OAAf,uBAAeA,OAAO,CAAEQ,QAAxB,CALK,CAAP;AAOD;;eAEcX,qB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ async function saveQuantitySample(identifier, unit, value, options) {
13
+ const start = (options === null || options === void 0 ? void 0 : options.start) || (options === null || options === void 0 ? void 0 : options.end) || new Date();
14
+ const end = (options === null || options === void 0 ? void 0 : options.end) || (options === null || options === void 0 ? void 0 : options.start) || new Date();
15
+ const metadata = (options === null || options === void 0 ? void 0 : options.metadata) || {};
16
+ return _nativeTypes.default.saveQuantitySample(identifier, unit, value, start.toISOString(), end.toISOString(), metadata);
17
+ }
18
+
19
+ var _default = saveQuantitySample;
20
+ exports.default = _default;
21
+ //# sourceMappingURL=saveQuantitySample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["saveQuantitySample","identifier","unit","value","options","start","end","Date","metadata","Native","toISOString"],"sources":["saveQuantitySample.ts"],"sourcesContent":["import Native from '../native-types'\n\nimport type { MetadataMapperForQuantityIdentifier, HKQuantityTypeIdentifier, UnitForIdentifier } from '../native-types'\n\nasync function saveQuantitySample<TType extends HKQuantityTypeIdentifier>(\n identifier: TType,\n unit: UnitForIdentifier<TType>,\n value: number,\n options?: {\n readonly start?: Date;\n readonly end?: Date;\n readonly metadata?: MetadataMapperForQuantityIdentifier<TType>;\n },\n) {\n const start = options?.start || options?.end || new Date()\n const end = options?.end || options?.start || new Date()\n const metadata = options?.metadata || {}\n\n return Native.saveQuantitySample(\n identifier,\n unit,\n value,\n start.toISOString(),\n end.toISOString(),\n metadata,\n )\n}\n\nexport default saveQuantitySample\n"],"mappings":";;;;;;;AAAA;;;;AAIA,eAAeA,kBAAf,CACEC,UADF,EAEEC,IAFF,EAGEC,KAHF,EAIEC,OAJF,EASE;EACA,MAAMC,KAAK,GAAG,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,KAAT,MAAkBD,OAAlB,aAAkBA,OAAlB,uBAAkBA,OAAO,CAAEE,GAA3B,KAAkC,IAAIC,IAAJ,EAAhD;EACA,MAAMD,GAAG,GAAG,CAAAF,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEE,GAAT,MAAgBF,OAAhB,aAAgBA,OAAhB,uBAAgBA,OAAO,CAAEC,KAAzB,KAAkC,IAAIE,IAAJ,EAA9C;EACA,MAAMC,QAAQ,GAAG,CAAAJ,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEI,QAAT,KAAqB,EAAtC;EAEA,OAAOC,oBAAA,CAAOT,kBAAP,CACLC,UADK,EAELC,IAFK,EAGLC,KAHK,EAILE,KAAK,CAACK,WAAN,EAJK,EAKLJ,GAAG,CAACI,WAAJ,EALK,EAMLF,QANK,CAAP;AAQD;;eAEcR,kB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
9
+
10
+ var _ensureMetadata = _interopRequireDefault(require("./ensureMetadata"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ async function saveWorkoutSample(typeIdentifier, quantities, _start, options) {
15
+ const start = _start.toISOString();
16
+
17
+ const end = ((options === null || options === void 0 ? void 0 : options.end) || new Date()).toISOString();
18
+ return _nativeTypes.default.saveWorkoutSample(typeIdentifier, quantities.map(s => ({ ...s,
19
+ metadata: (0, _ensureMetadata.default)(s.metadata)
20
+ })), start, end, (0, _ensureMetadata.default)(options === null || options === void 0 ? void 0 : options.metadata));
21
+ }
22
+
23
+ var _default = saveWorkoutSample;
24
+ exports.default = _default;
25
+ //# sourceMappingURL=saveWorkoutSample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["saveWorkoutSample","typeIdentifier","quantities","_start","options","start","toISOString","end","Date","Native","map","s","metadata","ensureMetadata"],"sources":["saveWorkoutSample.ts"],"sourcesContent":["import Native from '../native-types'\nimport ensureMetadata from './ensureMetadata'\n\nimport type { HKWorkoutActivityType, HKWorkoutMetadata } from '../native-types'\nimport type { HKQuantitySampleForSaving } from '../types'\n\nasync function saveWorkoutSample<TIdentifier extends HKWorkoutActivityType>(\n typeIdentifier: TIdentifier,\n quantities: readonly HKQuantitySampleForSaving[],\n _start: Date,\n options?: {\n readonly end?: Date;\n readonly metadata?: HKWorkoutMetadata;\n },\n) {\n const start = _start.toISOString()\n const end = (options?.end || new Date()).toISOString()\n\n return Native.saveWorkoutSample(\n typeIdentifier,\n quantities.map(((s) => ({ ...s, metadata: ensureMetadata(s.metadata) }))),\n start,\n end,\n ensureMetadata(options?.metadata),\n )\n}\n\nexport default saveWorkoutSample\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAKA,eAAeA,iBAAf,CACEC,cADF,EAEEC,UAFF,EAGEC,MAHF,EAIEC,OAJF,EAQE;EACA,MAAMC,KAAK,GAAGF,MAAM,CAACG,WAAP,EAAd;;EACA,MAAMC,GAAG,GAAG,CAAC,CAAAH,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEG,GAAT,KAAgB,IAAIC,IAAJ,EAAjB,EAA6BF,WAA7B,EAAZ;EAEA,OAAOG,oBAAA,CAAOT,iBAAP,CACLC,cADK,EAELC,UAAU,CAACQ,GAAX,CAAiBC,CAAD,KAAQ,EAAE,GAAGA,CAAL;IAAQC,QAAQ,EAAE,IAAAC,uBAAA,EAAeF,CAAC,CAACC,QAAjB;EAAlB,CAAR,CAAhB,CAFK,EAGLP,KAHK,EAILE,GAJK,EAKL,IAAAM,uBAAA,EAAeT,OAAf,aAAeA,OAAf,uBAAeA,OAAO,CAAEQ,QAAxB,CALK,CAAP;AAOD;;eAEcZ,iB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ const serializeDate = date => date ? date.toISOString() : new Date(0).toISOString();
9
+
10
+ var _default = serializeDate;
11
+ exports.default = _default;
12
+ //# sourceMappingURL=serializeDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["serializeDate","date","toISOString","Date"],"sources":["serializeDate.ts"],"sourcesContent":["const serializeDate = (date?: Date | null): string => (date ? date.toISOString() : new Date(0).toISOString())\n\nexport default serializeDate\n"],"mappings":";;;;;;;AAAA,MAAMA,aAAa,GAAIC,IAAD,IAAiCA,IAAI,GAAGA,IAAI,CAACC,WAAL,EAAH,GAAwB,IAAIC,IAAJ,CAAS,CAAT,EAAYD,WAAZ,EAAnF;;eAEeF,a"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _ = require("..");
9
+
10
+ var _nativeTypes = _interopRequireDefault(require("../native-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const subscribeToChanges = async (identifier, callback) => {
15
+ const subscription = _.EventEmitter.addListener('onChange', _ref => {
16
+ let {
17
+ typeIdentifier
18
+ } = _ref;
19
+
20
+ if (typeIdentifier === identifier) {
21
+ callback();
22
+ }
23
+ });
24
+
25
+ const queryId = await _nativeTypes.default.subscribeToObserverQuery(identifier).catch(async error => {
26
+ subscription.remove();
27
+ return Promise.reject(error);
28
+ });
29
+ return async () => {
30
+ subscription.remove();
31
+ return _nativeTypes.default.unsubscribeQuery(queryId);
32
+ };
33
+ };
34
+
35
+ var _default = subscribeToChanges;
36
+ exports.default = _default;
37
+ //# sourceMappingURL=subscribeToChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["subscribeToChanges","identifier","callback","subscription","EventEmitter","addListener","typeIdentifier","queryId","Native","subscribeToObserverQuery","catch","error","remove","Promise","reject","unsubscribeQuery"],"sources":["subscribeToChanges.ts"],"sourcesContent":["import { EventEmitter } from '..'\nimport Native from '../native-types'\n\nimport type { HKSampleTypeIdentifier } from '..'\n\nconst subscribeToChanges = async (\n identifier: HKSampleTypeIdentifier,\n callback: () => void,\n) => {\n const subscription = EventEmitter.addListener(\n 'onChange',\n ({ typeIdentifier }) => {\n if (typeIdentifier === identifier) {\n callback()\n }\n },\n )\n\n const queryId = await Native.subscribeToObserverQuery(identifier).catch(\n async (error) => {\n subscription.remove()\n return Promise.reject(error)\n },\n )\n\n return async () => {\n subscription.remove()\n return Native.unsubscribeQuery(queryId)\n }\n}\n\nexport default subscribeToChanges\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAIA,MAAMA,kBAAkB,GAAG,OACzBC,UADyB,EAEzBC,QAFyB,KAGtB;EACH,MAAMC,YAAY,GAAGC,cAAA,CAAaC,WAAb,CACnB,UADmB,EAEnB,QAAwB;IAAA,IAAvB;MAAEC;IAAF,CAAuB;;IACtB,IAAIA,cAAc,KAAKL,UAAvB,EAAmC;MACjCC,QAAQ;IACT;EACF,CANkB,CAArB;;EASA,MAAMK,OAAO,GAAG,MAAMC,oBAAA,CAAOC,wBAAP,CAAgCR,UAAhC,EAA4CS,KAA5C,CACpB,MAAOC,KAAP,IAAiB;IACfR,YAAY,CAACS,MAAb;IACA,OAAOC,OAAO,CAACC,MAAR,CAAeH,KAAf,CAAP;EACD,CAJmB,CAAtB;EAOA,OAAO,YAAY;IACjBR,YAAY,CAACS,MAAb;IACA,OAAOJ,oBAAA,CAAOO,gBAAP,CAAwBR,OAAxB,CAAP;EACD,CAHD;AAID,CAxBD;;eA0BeP,kB"}
@@ -0,0 +1,29 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import getRequestStatusForAuthorization from '../utils/getRequestStatusForAuthorization';
3
+ import requestAuthorization from '../utils/requestAuthorization';
4
+
5
+ const useHealthkitAuthorization = (read, write) => {
6
+ const [status, setStatus] = useState(null);
7
+ const readMemo = useRef(read);
8
+ const writeMemo = useRef(write);
9
+ useEffect(() => {
10
+ readMemo.current = read;
11
+ writeMemo.current = write;
12
+ }, [read, write]);
13
+ const refreshAuthStatus = useCallback(async () => {
14
+ const auth = await getRequestStatusForAuthorization(readMemo.current, writeMemo.current);
15
+ setStatus(auth);
16
+ return auth;
17
+ }, []);
18
+ const request = useCallback(async () => {
19
+ await requestAuthorization(readMemo.current, writeMemo.current);
20
+ return refreshAuthStatus();
21
+ }, [refreshAuthStatus]);
22
+ useEffect(() => {
23
+ void refreshAuthStatus();
24
+ }, [refreshAuthStatus]);
25
+ return [status, request];
26
+ };
27
+
28
+ export default useHealthkitAuthorization;
29
+ //# sourceMappingURL=useHealthkitAuthorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","getRequestStatusForAuthorization","requestAuthorization","useHealthkitAuthorization","read","write","status","setStatus","readMemo","writeMemo","current","refreshAuthStatus","auth","request"],"sources":["useHealthkitAuthorization.ts"],"sourcesContent":["import {\n useCallback, useEffect, useRef, useState,\n} from 'react'\n\nimport getRequestStatusForAuthorization from '../utils/getRequestStatusForAuthorization'\nimport requestAuthorization from '../utils/requestAuthorization'\n\nimport type { HealthkitReadAuthorization, HealthkitWriteAuthorization, HKAuthorizationRequestStatus } from '../native-types'\n\nconst useHealthkitAuthorization = (read: readonly HealthkitReadAuthorization[], write?: readonly HealthkitWriteAuthorization[]) => {\n const [status, setStatus] = useState<HKAuthorizationRequestStatus | null>(null)\n\n const readMemo = useRef(read)\n const writeMemo = useRef(write)\n\n useEffect(() => {\n readMemo.current = read\n writeMemo.current = write\n }, [read, write])\n\n const refreshAuthStatus = useCallback(async () => {\n const auth = await getRequestStatusForAuthorization(readMemo.current, writeMemo.current)\n setStatus(auth)\n return auth\n }, [])\n\n const request = useCallback(async () => {\n await requestAuthorization(readMemo.current, writeMemo.current)\n return refreshAuthStatus()\n }, [refreshAuthStatus])\n\n useEffect(() => {\n void refreshAuthStatus()\n }, [refreshAuthStatus])\n\n return [status, request] as const\n}\n\nexport default useHealthkitAuthorization\n"],"mappings":"AAAA,SACEA,WADF,EACeC,SADf,EAC0BC,MAD1B,EACkCC,QADlC,QAEO,OAFP;AAIA,OAAOC,gCAAP,MAA6C,2CAA7C;AACA,OAAOC,oBAAP,MAAiC,+BAAjC;;AAIA,MAAMC,yBAAyB,GAAG,CAACC,IAAD,EAA8CC,KAA9C,KAAiG;EACjI,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBP,QAAQ,CAAsC,IAAtC,CAApC;EAEA,MAAMQ,QAAQ,GAAGT,MAAM,CAACK,IAAD,CAAvB;EACA,MAAMK,SAAS,GAAGV,MAAM,CAACM,KAAD,CAAxB;EAEAP,SAAS,CAAC,MAAM;IACdU,QAAQ,CAACE,OAAT,GAAmBN,IAAnB;IACAK,SAAS,CAACC,OAAV,GAAoBL,KAApB;EACD,CAHQ,EAGN,CAACD,IAAD,EAAOC,KAAP,CAHM,CAAT;EAKA,MAAMM,iBAAiB,GAAGd,WAAW,CAAC,YAAY;IAChD,MAAMe,IAAI,GAAG,MAAMX,gCAAgC,CAACO,QAAQ,CAACE,OAAV,EAAmBD,SAAS,CAACC,OAA7B,CAAnD;IACAH,SAAS,CAACK,IAAD,CAAT;IACA,OAAOA,IAAP;EACD,CAJoC,EAIlC,EAJkC,CAArC;EAMA,MAAMC,OAAO,GAAGhB,WAAW,CAAC,YAAY;IACtC,MAAMK,oBAAoB,CAACM,QAAQ,CAACE,OAAV,EAAmBD,SAAS,CAACC,OAA7B,CAA1B;IACA,OAAOC,iBAAiB,EAAxB;EACD,CAH0B,EAGxB,CAACA,iBAAD,CAHwB,CAA3B;EAKAb,SAAS,CAAC,MAAM;IACd,KAAKa,iBAAiB,EAAtB;EACD,CAFQ,EAEN,CAACA,iBAAD,CAFM,CAAT;EAIA,OAAO,CAACL,MAAD,EAASO,OAAT,CAAP;AACD,CA3BD;;AA6BA,eAAeV,yBAAf"}
@@ -0,0 +1,18 @@
1
+ import { useEffect, useState } from 'react';
2
+ import Native from '../native-types';
3
+
4
+ const useIsHealthDataAvailable = () => {
5
+ const [isAvailable, setIsAvailable] = useState(null);
6
+ useEffect(() => {
7
+ const init = async () => {
8
+ const res = await Native.isHealthDataAvailable();
9
+ setIsAvailable(res);
10
+ };
11
+
12
+ void init();
13
+ }, []);
14
+ return isAvailable;
15
+ };
16
+
17
+ export default useIsHealthDataAvailable;
18
+ //# sourceMappingURL=useIsHealthDataAvailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","Native","useIsHealthDataAvailable","isAvailable","setIsAvailable","init","res","isHealthDataAvailable"],"sources":["useIsHealthDataAvailable.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nimport Native from '../native-types'\n\nconst useIsHealthDataAvailable = () => {\n const [isAvailable, setIsAvailable] = useState<boolean | null>(null)\n useEffect(() => {\n const init = async () => {\n const res = await Native.isHealthDataAvailable()\n setIsAvailable(res)\n }\n void init()\n }, [])\n return isAvailable\n}\n\nexport default useIsHealthDataAvailable\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,QAApB,QAAoC,OAApC;AAEA,OAAOC,MAAP,MAAmB,iBAAnB;;AAEA,MAAMC,wBAAwB,GAAG,MAAM;EACrC,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCJ,QAAQ,CAAiB,IAAjB,CAA9C;EACAD,SAAS,CAAC,MAAM;IACd,MAAMM,IAAI,GAAG,YAAY;MACvB,MAAMC,GAAG,GAAG,MAAML,MAAM,CAACM,qBAAP,EAAlB;MACAH,cAAc,CAACE,GAAD,CAAd;IACD,CAHD;;IAIA,KAAKD,IAAI,EAAT;EACD,CANQ,EAMN,EANM,CAAT;EAOA,OAAOF,WAAP;AACD,CAVD;;AAYA,eAAeD,wBAAf"}
@@ -0,0 +1,15 @@
1
+ import { useCallback, useState } from 'react';
2
+ import getMostRecentCategorySample from '../utils/getMostRecentCategorySample';
3
+ import useSubscribeToChanges from './useSubscribeToChanges';
4
+
5
+ function useMostRecentCategorySample(identifier) {
6
+ const [category, setCategory] = useState(null);
7
+ const updater = useCallback(() => {
8
+ void getMostRecentCategorySample(identifier).then(setCategory);
9
+ }, [identifier]);
10
+ useSubscribeToChanges(identifier, updater);
11
+ return category;
12
+ }
13
+
14
+ export default useMostRecentCategorySample;
15
+ //# sourceMappingURL=useMostRecentCategorySample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useState","getMostRecentCategorySample","useSubscribeToChanges","useMostRecentCategorySample","identifier","category","setCategory","updater","then"],"sources":["useMostRecentCategorySample.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\n\nimport getMostRecentCategorySample from '../utils/getMostRecentCategorySample'\nimport useSubscribeToChanges from './useSubscribeToChanges'\n\nimport type { HKCategoryTypeIdentifier } from '../native-types'\nimport type { HKCategorySample } from '../types'\n\nfunction useMostRecentCategorySample<\n TCategory extends HKCategoryTypeIdentifier\n>(identifier: TCategory) {\n const [category, setCategory] = useState<HKCategorySample<TCategory> | null>(\n null,\n )\n const updater = useCallback(() => {\n void getMostRecentCategorySample(identifier).then(setCategory)\n }, [identifier])\n\n useSubscribeToChanges(identifier, updater)\n\n return category\n}\n\nexport default useMostRecentCategorySample\n"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,QAAtB,QAAsC,OAAtC;AAEA,OAAOC,2BAAP,MAAwC,sCAAxC;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;;AAKA,SAASC,2BAAT,CAEEC,UAFF,EAEyB;EACvB,MAAM,CAACC,QAAD,EAAWC,WAAX,IAA0BN,QAAQ,CACtC,IADsC,CAAxC;EAGA,MAAMO,OAAO,GAAGR,WAAW,CAAC,MAAM;IAChC,KAAKE,2BAA2B,CAACG,UAAD,CAA3B,CAAwCI,IAAxC,CAA6CF,WAA7C,CAAL;EACD,CAF0B,EAExB,CAACF,UAAD,CAFwB,CAA3B;EAIAF,qBAAqB,CAACE,UAAD,EAAaG,OAAb,CAArB;EAEA,OAAOF,QAAP;AACD;;AAED,eAAeF,2BAAf"}