@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
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","Native","EventEmitter","HKQuantityTypeIdentifier","HKUnit","getPreferredUnit","type","unit","getPreferredUnits","ensureUnit","providedUnit","deserializeSample","sample","startDate","Date","endDate","deserializeWorkout","deserializCategorySample","serializeDate","date","toISOString","prepareOptions","options","limit","Infinity","ascending","from","to","queryQuantitySamples","identifier","opts","quantitySamples","map","getPreferredUnitsTyped","energyUnit","distanceUnit","units","distanceWalkingRunning","activeEnergyBurned","Kilocalories","Meters","subscribeToChanges","callback","subscription","addListener","typeIdentifier","queryId","subscribeToObserverQuery","catch","error","remove","Promise","reject","unsubscribeQuery","getMostRecentQuantitySample","samples","useMostRecentWorkout","workout","setWorkout","cancelSubscription","init","w","getMostRecentWorkout","getMostRecentCategorySample","queryCategorySamples","useSubscribeToChanges","onChange","useMostRecentCategorySample","category","setCategory","updater","then","useMostRecentQuantitySample","lastSample","setLastSample","actualUnit","value","saveQuantitySample","start","end","metadata","queryStatisticsForQuantity","toDate","mostRecentQuantityDateInterval","rawResponse","response","requestAuthorization","read","write","readPermissions","reduce","obj","cur","writePermissions","getDateOfBirth","dateOfBirth","getRequestStatusForAuthorization","results","queryWorkouts","workouts","queryWorkoutSamples","saveCategorySample","identifiers","i","buildUnitWithPrefix","prefix","deserializeCorrelation","s","objects","o","quantity","undefined","ensureMetadata","queryCorrelationSamples","correlations","saveCorrelationSample","saveWorkoutSample","quantities","_start","getWorkoutRoutes","workoutUUID","Healthkit","authorizationStatusFor","bind","isHealthDataAvailable","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","getFitzpatrickSkinType","getWheelchairUse","getBloodType","useIsHealthDataAvailable","isAvailable","setIsAvailable","res","useHealthkitAuthorization","status","setStatus","refreshAuthStatus","auth","request"],"sources":["index.ios.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nimport Native, {\n EventEmitter,\n HKQuantityTypeIdentifier,\n HKUnit,\n} from './native-types'\n\nimport type {\n HealthkitReadAuthorization,\n HealthkitWriteAuthorization,\n HKAuthorizationRequestStatus,\n HKCategorySampleRaw,\n HKCategoryValueForIdentifier,\n HKCorrelationRaw,\n HKCorrelationTypeIdentifier,\n HKQuantitySampleRaw,\n HKUnitSI,\n HKUnitSIPrefix,\n HKWorkoutRaw,\n MetadataMapperForCategoryIdentifier,\n ReadPermissions,\n WritePermissions,\n HKSampleTypeIdentifier,\n HKCategoryTypeIdentifier,\n} from './native-types'\nimport type {\n GenericQueryOptions,\n GetMostRecentCategorySampleFn,\n GetMostRecentQuantitySampleFn,\n GetMostRecentWorkoutFn,\n GetPreferredUnitFn,\n GetPreferredUnitsFn,\n GetWorkoutRoutesFn,\n HKCategorySample,\n HKCorrelation,\n HKQuantitySample,\n HKWorkout,\n QueryCategorySamplesFn,\n QueryCorrelationSamplesFn,\n QueryQuantitySamplesFn,\n QueryStatisticsForQuantityFn,\n QueryWorkoutsFn,\n ReactNativeHealthkit,\n SaveCorrelationSampleFn,\n SaveQuantitySampleFn,\n SaveWorkoutSampleFn,\n SubscribeToChangesFn,\n} from './types'\n\nconst getPreferredUnit: GetPreferredUnitFn = async (type) => {\n const [unit] = await getPreferredUnits([type])\n return unit\n}\n\nconst ensureUnit = async <TUnit extends HKUnit>(\n type: HKQuantityTypeIdentifier,\n providedUnit?: TUnit,\n) => {\n if (providedUnit) {\n return providedUnit\n }\n const unit = await Native.getPreferredUnits([type])\n return unit[type] as TUnit\n}\n\nfunction deserializeSample<\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends HKUnit\n>(\n sample: HKQuantitySampleRaw<TIdentifier, TUnit>,\n): HKQuantitySample<TIdentifier, TUnit> {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n }\n}\n\nfunction deserializeWorkout<TEnergy extends HKUnit, TDistance extends HKUnit>(\n sample: HKWorkoutRaw<TEnergy, TDistance>,\n): HKWorkout<TEnergy, TDistance> {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n }\n}\n\nconst deserializCategorySample = <T extends HKCategoryTypeIdentifier>(\n sample: HKCategorySampleRaw<T>,\n): HKCategorySample<T> => ({\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n})\n\nconst serializeDate = (date?: Date | null): string => (date ? date.toISOString() : new Date(0).toISOString())\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\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\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 if (!energyUnit || !distanceUnit) {\n const units = await Native.getPreferredUnits([\n HKQuantityTypeIdentifier.distanceWalkingRunning,\n HKQuantityTypeIdentifier.activeEnergyBurned,\n ])\n if (!energyUnit) {\n energyUnit = units[HKQuantityTypeIdentifier.distanceWalkingRunning] as\n | TEnergy\n | undefined\n }\n if (!distanceUnit) {\n distanceUnit = units[HKQuantityTypeIdentifier.activeEnergyBurned] as\n | TDistance\n | undefined\n }\n }\n if (!energyUnit) {\n energyUnit = HKUnit.Kilocalories as TEnergy\n }\n if (!distanceUnit) {\n distanceUnit = HKUnit.Meters as TDistance\n }\n return { energyUnit, distanceUnit }\n}\n\nconst subscribeToChanges: SubscribeToChangesFn = async (\n identifier,\n callback,\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\nconst getMostRecentQuantitySample: GetMostRecentQuantitySampleFn = async (\n identifier,\n unit,\n) => {\n const samples = await queryQuantitySamples(identifier, {\n limit: 1,\n unit,\n })\n return samples[0]\n}\n\nfunction useMostRecentWorkout<\n TEnergy extends HKUnit,\n TDistance extends HKUnit\n>(options?: { readonly energyUnit?: TEnergy; readonly distanceUnit?: TDistance }) {\n const [workout, setWorkout] = useState<HKWorkout<TEnergy, TDistance> | null>(\n null,\n )\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined\n\n const init = async () => {\n const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(\n options,\n )\n\n cancelSubscription = await subscribeToChanges(\n 'HKWorkoutTypeIdentifier',\n async () => {\n const w = await getMostRecentWorkout({ energyUnit, distanceUnit })\n setWorkout(w)\n },\n )\n }\n void init()\n return () => {\n void cancelSubscription?.()\n }\n }, [options])\n return workout\n}\n\nconst getMostRecentCategorySample: GetMostRecentCategorySampleFn = async (\n identifier,\n) => {\n const samples = await queryCategorySamples(identifier, {\n limit: 1,\n ascending: false,\n })\n\n return samples[0]\n}\n\nfunction useSubscribeToChanges<TIdentifier extends HKSampleTypeIdentifier>(\n identifier: TIdentifier,\n onChange: () => void,\n): void {\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined\n\n const init = async () => {\n cancelSubscription = await subscribeToChanges(identifier, onChange)\n }\n void init()\n\n return () => {\n void cancelSubscription?.()\n }\n }, [identifier, onChange])\n}\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\nfunction useMostRecentQuantitySample<\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends HKUnit = HKUnit\n>(identifier: TIdentifier, unit?: TUnit) {\n const [lastSample, setLastSample] = useState<HKQuantitySample<\n TIdentifier,\n TUnit\n > | null>(null)\n\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined\n\n const init = async () => {\n const actualUnit = await ensureUnit(identifier, unit)\n\n cancelSubscription = await subscribeToChanges(identifier, async () => {\n const value = await getMostRecentQuantitySample(identifier, actualUnit)\n setLastSample(value)\n })\n }\n void init()\n\n return () => {\n void cancelSubscription?.()\n }\n }, [identifier, unit])\n\n return lastSample\n}\n\nconst saveQuantitySample: SaveQuantitySampleFn = async (\n identifier,\n unit,\n value,\n options,\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\nconst queryStatisticsForQuantity: QueryStatisticsForQuantityFn = async (\n identifier,\n options,\n from,\n to,\n unit,\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\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\nconst getDateOfBirth = async () => {\n const dateOfBirth = await Native.getDateOfBirth()\n return new Date(dateOfBirth)\n}\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\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\nconst queryWorkouts: QueryWorkoutsFn = async (options) => {\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\nconst getMostRecentWorkout: GetMostRecentWorkoutFn = async (options) => {\n const workouts = await queryWorkouts({\n limit: 1,\n ascending: false,\n energyUnit: options?.energyUnit,\n distanceUnit: options?.distanceUnit,\n })\n\n return workouts[0]\n}\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\nconst getPreferredUnits: GetPreferredUnitsFn = async (identifiers) => {\n const units = await Native.getPreferredUnits(identifiers)\n return identifiers.map((i) => units[i])\n}\n\nconst buildUnitWithPrefix = (prefix: HKUnitSIPrefix, unit: HKUnitSI) => `${prefix}${unit}` as HKUnit\n\nfunction deserializeCorrelation<\n TIdentifier extends HKCorrelationTypeIdentifier\n>(s: HKCorrelationRaw<TIdentifier>): HKCorrelation<TIdentifier> {\n return {\n ...s,\n objects: s.objects.map((o) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (o.quantity !== undefined) {\n return deserializeSample(o as HKQuantitySampleRaw)\n }\n\n return deserializCategorySample(o as HKCategorySampleRaw)\n }),\n endDate: new Date(s.endDate),\n startDate: new Date(s.startDate),\n }\n}\n\nfunction ensureMetadata<TMetadata>(metadata?: TMetadata) {\n return metadata || ({} as TMetadata)\n}\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\nconst saveCorrelationSample: SaveCorrelationSampleFn = async (\n typeIdentifier,\n samples,\n options,\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,\n start,\n end,\n ensureMetadata(options?.metadata),\n )\n}\n\nconst saveWorkoutSample: SaveWorkoutSampleFn = async (\n typeIdentifier,\n quantities,\n _start,\n options,\n) => {\n const start = _start.toISOString()\n const end = (options?.end || new Date()).toISOString()\n\n return Native.saveWorkoutSample(\n typeIdentifier,\n quantities,\n start,\n end,\n ensureMetadata(options?.metadata),\n )\n}\n\nconst getWorkoutRoutes: GetWorkoutRoutesFn = async (workoutUUID: string) => Native.getWorkoutRoutes(workoutUUID)\n\nconst Healthkit: ReactNativeHealthkit = {\n authorizationStatusFor: Native.authorizationStatusFor.bind(Native),\n\n isHealthDataAvailable: Native.isHealthDataAvailable.bind(Native),\n\n buildUnitWithPrefix,\n\n disableAllBackgroundDelivery: Native.disableAllBackgroundDelivery,\n disableBackgroundDelivery: Native.disableBackgroundDelivery,\n enableBackgroundDelivery: Native.enableBackgroundDelivery,\n\n // simple convenience getters\n getBiologicalSex: Native.getBiologicalSex.bind(Native),\n getFitzpatrickSkinType: Native.getFitzpatrickSkinType.bind(Native),\n getWheelchairUse: Native.getWheelchairUse,\n getBloodType: Native.getBloodType.bind(Native),\n getDateOfBirth,\n\n getMostRecentQuantitySample,\n getMostRecentCategorySample,\n getMostRecentWorkout,\n\n getPreferredUnit,\n getPreferredUnits,\n getRequestStatusForAuthorization,\n\n getWorkoutRoutes,\n\n // query methods\n queryCategorySamples,\n queryCorrelationSamples,\n queryQuantitySamples,\n queryStatisticsForQuantity,\n queryWorkouts,\n\n requestAuthorization,\n\n // save methods\n saveCategorySample,\n saveCorrelationSample,\n saveQuantitySample,\n saveWorkoutSample,\n\n // subscriptions\n subscribeToChanges,\n\n // hooks\n useMostRecentCategorySample,\n\n useMostRecentQuantitySample,\n useMostRecentWorkout,\n\n useSubscribeToChanges,\n\n 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 useHealthkitAuthorization: (read, write) => {\n const [status, setStatus] = useState<HKAuthorizationRequestStatus | null>(null)\n const refreshAuthStatus = useCallback(async () => {\n const auth = await getRequestStatusForAuthorization(read, write)\n setStatus(auth)\n return auth\n }, [])\n\n const request = useCallback(async () => {\n await requestAuthorization(read, write)\n return refreshAuthStatus()\n }, [])\n\n useEffect(() => {\n void refreshAuthStatus()\n }, [])\n\n return [status, request]\n },\n}\n\nexport * from './native-types'\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":"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"}
1
+ {"version":3,"names":["useHealthkitAuthorization","useIsHealthDataAvailable","useMostRecentCategorySample","useMostRecentQuantitySample","useMostRecentWorkout","useSubscribeToChanges","Native","getDateOfBirth","getMostRecentCategorySample","getMostRecentQuantitySample","getMostRecentWorkout","getPreferredUnit","getPreferredUnits","getRequestStatusForAuthorization","queryCategorySamples","queryCorrelationSamples","queryQuantitySamples","queryStatisticsForQuantity","queryWorkouts","requestAuthorization","saveCategorySample","saveCorrelationSample","saveQuantitySample","saveWorkoutSample","subscribeToChanges","Healthkit","authorizationStatusFor","bind","isHealthDataAvailable","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","getFitzpatrickSkinType","getWheelchairUse","getBloodType","getWorkoutRoutes"],"sources":["index.ios.tsx"],"sourcesContent":["import useHealthkitAuthorization from './hooks/useHealthkitAuthorization'\nimport useIsHealthDataAvailable from './hooks/useIsHealthDataAvailable'\nimport useMostRecentCategorySample from './hooks/useMostRecentCategorySample'\nimport useMostRecentQuantitySample from './hooks/useMostRecentQuantitySample'\nimport useMostRecentWorkout from './hooks/useMostRecentWorkout'\nimport useSubscribeToChanges from './hooks/useSubscribeToChanges'\nimport Native from './native-types'\nimport getDateOfBirth from './utils/getDateOfBirth'\nimport getMostRecentCategorySample from './utils/getMostRecentCategorySample'\nimport getMostRecentQuantitySample from './utils/getMostRecentQuantitySample'\nimport getMostRecentWorkout from './utils/getMostRecentWorkout'\nimport getPreferredUnit from './utils/getPreferredUnit'\nimport getPreferredUnits from './utils/getPreferredUnits'\nimport getRequestStatusForAuthorization from './utils/getRequestStatusForAuthorization'\nimport queryCategorySamples from './utils/queryCategorySamples'\nimport queryCorrelationSamples from './utils/queryCorrelationSamples'\nimport queryQuantitySamples from './utils/queryQuantitySamples'\nimport queryStatisticsForQuantity from './utils/queryStatisticsForQuantity'\nimport queryWorkouts from './utils/queryWorkouts'\nimport requestAuthorization from './utils/requestAuthorization'\nimport saveCategorySample from './utils/saveCategorySample'\nimport saveCorrelationSample from './utils/saveCorrelationSample'\nimport saveQuantitySample from './utils/saveQuantitySample'\nimport saveWorkoutSample from './utils/saveWorkoutSample'\nimport subscribeToChanges from './utils/subscribeToChanges'\n\nconst Healthkit = {\n authorizationStatusFor: Native.authorizationStatusFor.bind(Native),\n\n isHealthDataAvailable: Native.isHealthDataAvailable.bind(Native),\n\n disableAllBackgroundDelivery: Native.disableAllBackgroundDelivery.bind(Native),\n disableBackgroundDelivery: Native.disableBackgroundDelivery.bind(Native),\n enableBackgroundDelivery: Native.enableBackgroundDelivery.bind(Native),\n\n // simple convenience getters\n getBiologicalSex: Native.getBiologicalSex.bind(Native),\n getFitzpatrickSkinType: Native.getFitzpatrickSkinType.bind(Native),\n getWheelchairUse: Native.getWheelchairUse.bind(Native),\n getBloodType: Native.getBloodType.bind(Native),\n\n getWorkoutRoutes: Native.getWorkoutRoutes.bind(Native),\n\n getDateOfBirth,\n\n getMostRecentQuantitySample,\n getMostRecentCategorySample,\n getMostRecentWorkout,\n\n getPreferredUnit,\n getPreferredUnits,\n getRequestStatusForAuthorization,\n\n // query methods\n queryCategorySamples,\n queryCorrelationSamples,\n queryQuantitySamples,\n queryStatisticsForQuantity,\n queryWorkouts,\n\n requestAuthorization,\n\n // save methods\n saveCategorySample,\n saveCorrelationSample,\n saveQuantitySample,\n saveWorkoutSample,\n\n // subscriptions\n subscribeToChanges,\n\n // hooks\n useMostRecentCategorySample,\n\n useMostRecentQuantitySample,\n useMostRecentWorkout,\n\n useSubscribeToChanges,\n\n useIsHealthDataAvailable,\n useHealthkitAuthorization,\n}\n\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":"AAAA,OAAOA,yBAAP,MAAsC,mCAAtC;AACA,OAAOC,wBAAP,MAAqC,kCAArC;AACA,OAAOC,2BAAP,MAAwC,qCAAxC;AACA,OAAOC,2BAAP,MAAwC,qCAAxC;AACA,OAAOC,oBAAP,MAAiC,8BAAjC;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,MAAP,MAAmB,gBAAnB;AACA,OAAOC,cAAP,MAA2B,wBAA3B;AACA,OAAOC,2BAAP,MAAwC,qCAAxC;AACA,OAAOC,2BAAP,MAAwC,qCAAxC;AACA,OAAOC,oBAAP,MAAiC,8BAAjC;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,gCAAP,MAA6C,0CAA7C;AACA,OAAOC,oBAAP,MAAiC,8BAAjC;AACA,OAAOC,uBAAP,MAAoC,iCAApC;AACA,OAAOC,oBAAP,MAAiC,8BAAjC;AACA,OAAOC,0BAAP,MAAuC,oCAAvC;AACA,OAAOC,aAAP,MAA0B,uBAA1B;AACA,OAAOC,oBAAP,MAAiC,8BAAjC;AACA,OAAOC,kBAAP,MAA+B,4BAA/B;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,4BAA/B;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,kBAAP,MAA+B,4BAA/B;AAEA,MAAMC,SAAS,GAAG;EAChBC,sBAAsB,EAAEpB,MAAM,CAACoB,sBAAP,CAA8BC,IAA9B,CAAmCrB,MAAnC,CADR;EAGhBsB,qBAAqB,EAAEtB,MAAM,CAACsB,qBAAP,CAA6BD,IAA7B,CAAkCrB,MAAlC,CAHP;EAKhBuB,4BAA4B,EAAEvB,MAAM,CAACuB,4BAAP,CAAoCF,IAApC,CAAyCrB,MAAzC,CALd;EAMhBwB,yBAAyB,EAAExB,MAAM,CAACwB,yBAAP,CAAiCH,IAAjC,CAAsCrB,MAAtC,CANX;EAOhByB,wBAAwB,EAAEzB,MAAM,CAACyB,wBAAP,CAAgCJ,IAAhC,CAAqCrB,MAArC,CAPV;EAShB;EACA0B,gBAAgB,EAAE1B,MAAM,CAAC0B,gBAAP,CAAwBL,IAAxB,CAA6BrB,MAA7B,CAVF;EAWhB2B,sBAAsB,EAAE3B,MAAM,CAAC2B,sBAAP,CAA8BN,IAA9B,CAAmCrB,MAAnC,CAXR;EAYhB4B,gBAAgB,EAAE5B,MAAM,CAAC4B,gBAAP,CAAwBP,IAAxB,CAA6BrB,MAA7B,CAZF;EAahB6B,YAAY,EAAE7B,MAAM,CAAC6B,YAAP,CAAoBR,IAApB,CAAyBrB,MAAzB,CAbE;EAehB8B,gBAAgB,EAAE9B,MAAM,CAAC8B,gBAAP,CAAwBT,IAAxB,CAA6BrB,MAA7B,CAfF;EAiBhBC,cAjBgB;EAmBhBE,2BAnBgB;EAoBhBD,2BApBgB;EAqBhBE,oBArBgB;EAuBhBC,gBAvBgB;EAwBhBC,iBAxBgB;EAyBhBC,gCAzBgB;EA2BhB;EACAC,oBA5BgB;EA6BhBC,uBA7BgB;EA8BhBC,oBA9BgB;EA+BhBC,0BA/BgB;EAgChBC,aAhCgB;EAkChBC,oBAlCgB;EAoChB;EACAC,kBArCgB;EAsChBC,qBAtCgB;EAuChBC,kBAvCgB;EAwChBC,iBAxCgB;EA0ChB;EACAC,kBA3CgB;EA6ChB;EACAtB,2BA9CgB;EAgDhBC,2BAhDgB;EAiDhBC,oBAjDgB;EAmDhBC,qBAnDgB;EAqDhBJ,wBArDgB;EAsDhBD;AAtDgB,CAAlB;AAyDA,cAAc,SAAd;AAEA,eAAeyB,SAAf"}
@@ -1,17 +1,21 @@
1
1
  import { Platform } from 'react-native';
2
- import { HKAuthorizationRequestStatus, HKBiologicalSex, HKBloodType, HKFitzpatrickSkinType, HKUnit, HKWheelchairUse } from './native-types';
2
+ import { HKAuthorizationRequestStatus, HKBiologicalSex, HKBloodType, HKFitzpatrickSkinType, HKUnits, HKWheelchairUse } from './native-types';
3
3
  const notAvailableError = `[@kingstinct/react-native-healthkit] Platform "${Platform.OS}" not supported`;
4
+ let hasWarned = false;
4
5
 
5
6
  function UnavailableFn(retVal) {
6
7
  return () => {
7
- console.warn(notAvailableError);
8
+ if (!hasWarned) {
9
+ console.warn(notAvailableError);
10
+ hasWarned = true;
11
+ }
12
+
8
13
  return retVal;
9
14
  };
10
15
  }
11
16
 
12
17
  const Healthkit = {
13
18
  authorizationStatusFor: UnavailableFn(Promise.resolve(false)),
14
- buildUnitWithPrefix: UnavailableFn(HKUnit.Atmospheres),
15
19
  disableAllBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
16
20
  disableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
17
21
  enableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
@@ -22,7 +26,7 @@ const Healthkit = {
22
26
  getMostRecentCategorySample: UnavailableFn(Promise.resolve(null)),
23
27
  getMostRecentQuantitySample: UnavailableFn(Promise.resolve(null)),
24
28
  getMostRecentWorkout: UnavailableFn(Promise.resolve(null)),
25
- getPreferredUnit: UnavailableFn(Promise.resolve(HKUnit.Atmospheres)),
29
+ getPreferredUnit: UnavailableFn(Promise.resolve(HKUnits.Count)),
26
30
  getPreferredUnits: UnavailableFn(Promise.resolve([])),
27
31
  getRequestStatusForAuthorization: UnavailableFn(Promise.resolve(HKAuthorizationRequestStatus.unknown)),
28
32
  getWheelchairUse: UnavailableFn(Promise.resolve(HKWheelchairUse.notSet)),
@@ -51,10 +55,9 @@ const Healthkit = {
51
55
  useMostRecentQuantitySample: UnavailableFn(null),
52
56
  useMostRecentWorkout: UnavailableFn(null),
53
57
  useSubscribeToChanges: UnavailableFn([null, () => null]),
54
- useHealthkitAuthorization: UnavailableFn([null, async () => Promise.resolve(null)]),
55
- useIsHealthDataAvailable: UnavailableFn(false)
58
+ useHealthkitAuthorization: UnavailableFn([null, async () => Promise.resolve(HKAuthorizationRequestStatus.unknown)]),
59
+ useIsHealthDataAvailable: () => false
56
60
  };
57
- export * from './native-types';
58
61
  export * from './types';
59
62
  export default Healthkit;
60
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","HKAuthorizationRequestStatus","HKBiologicalSex","HKBloodType","HKFitzpatrickSkinType","HKUnit","HKWheelchairUse","notAvailableError","OS","UnavailableFn","retVal","console","warn","Healthkit","authorizationStatusFor","Promise","resolve","buildUnitWithPrefix","Atmospheres","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","notSet","getBloodType","getDateOfBirth","Date","getFitzpatrickSkinType","getMostRecentCategorySample","getMostRecentQuantitySample","getMostRecentWorkout","getPreferredUnit","getPreferredUnits","getRequestStatusForAuthorization","unknown","getWheelchairUse","getWorkoutRoutes","isHealthDataAvailable","queryCategorySamples","queryCorrelationSamples","queryQuantitySamples","queryStatisticsForQuantity","averageQuantity","undefined","maximumQuantity","minimumQuantity","sumQuantity","mostRecentQuantity","mostRecentQuantityDateInterval","duration","queryWorkouts","requestAuthorization","saveCategorySample","saveCorrelationSample","saveQuantitySample","saveWorkoutSample","subscribeToChanges","useMostRecentCategorySample","useMostRecentQuantitySample","useMostRecentWorkout","useSubscribeToChanges","useHealthkitAuthorization","useIsHealthDataAvailable"],"sources":["index.tsx"],"sourcesContent":["import { Platform } from 'react-native'\n\nimport {\n HKAuthorizationRequestStatus, HKBiologicalSex, HKBloodType, HKFitzpatrickSkinType, HKUnit, HKWheelchairUse,\n} from './native-types'\n\nimport type { ReactNativeHealthkit } from './types'\n\nconst notAvailableError = `[@kingstinct/react-native-healthkit] Platform \"${\n Platform.OS\n}\" not supported`\n\nfunction UnavailableFn<T = unknown>(retVal: T) {\n return () => {\n console.warn(notAvailableError)\n return retVal\n }\n}\n\nconst Healthkit: ReactNativeHealthkit = {\n authorizationStatusFor: UnavailableFn(Promise.resolve(false)),\n buildUnitWithPrefix: UnavailableFn(HKUnit.Atmospheres),\n disableAllBackgroundDelivery: UnavailableFn(Promise.resolve(false)),\n disableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),\n enableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),\n getBiologicalSex: UnavailableFn(Promise.resolve(HKBiologicalSex.notSet)),\n getBloodType: UnavailableFn(Promise.resolve(HKBloodType.notSet)),\n getDateOfBirth: UnavailableFn(Promise.resolve(new Date(0))),\n getFitzpatrickSkinType: UnavailableFn(Promise.resolve(HKFitzpatrickSkinType.notSet)),\n getMostRecentCategorySample: UnavailableFn(Promise.resolve(null)),\n getMostRecentQuantitySample: UnavailableFn(Promise.resolve(null)),\n getMostRecentWorkout: UnavailableFn(Promise.resolve(null)),\n getPreferredUnit: UnavailableFn(Promise.resolve(HKUnit.Atmospheres)),\n getPreferredUnits: UnavailableFn(Promise.resolve([])),\n getRequestStatusForAuthorization: UnavailableFn(Promise.resolve(HKAuthorizationRequestStatus.unknown)),\n getWheelchairUse: UnavailableFn(Promise.resolve(HKWheelchairUse.notSet)),\n getWorkoutRoutes: UnavailableFn(Promise.resolve([])),\n isHealthDataAvailable: async () => Promise.resolve(false),\n queryCategorySamples: UnavailableFn(Promise.resolve([])),\n queryCorrelationSamples: UnavailableFn(Promise.resolve([])),\n queryQuantitySamples: UnavailableFn(Promise.resolve([])),\n queryStatisticsForQuantity: UnavailableFn(Promise.resolve({\n averageQuantity: undefined,\n maximumQuantity: undefined,\n minimumQuantity: undefined,\n sumQuantity: undefined,\n mostRecentQuantity: undefined,\n mostRecentQuantityDateInterval: undefined,\n duration: undefined,\n })),\n queryWorkouts: UnavailableFn(Promise.resolve([])),\n requestAuthorization: UnavailableFn(Promise.resolve(false)),\n saveCategorySample: UnavailableFn(Promise.resolve(false)),\n saveCorrelationSample: UnavailableFn(Promise.resolve(false)),\n saveQuantitySample: UnavailableFn(Promise.resolve(false)),\n saveWorkoutSample: UnavailableFn(Promise.resolve(false)),\n subscribeToChanges: UnavailableFn(Promise.resolve(async () => Promise.resolve(false))),\n useMostRecentCategorySample: UnavailableFn(null),\n useMostRecentQuantitySample: UnavailableFn(null),\n useMostRecentWorkout: UnavailableFn(null),\n useSubscribeToChanges: UnavailableFn([null, () => null]),\n useHealthkitAuthorization: UnavailableFn([null, async () => Promise.resolve(null)] as const),\n useIsHealthDataAvailable: UnavailableFn(false),\n}\n\nexport * from './native-types'\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","HKAuthorizationRequestStatus","HKBiologicalSex","HKBloodType","HKFitzpatrickSkinType","HKUnits","HKWheelchairUse","notAvailableError","OS","hasWarned","UnavailableFn","retVal","console","warn","Healthkit","authorizationStatusFor","Promise","resolve","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","notSet","getBloodType","getDateOfBirth","Date","getFitzpatrickSkinType","getMostRecentCategorySample","getMostRecentQuantitySample","getMostRecentWorkout","getPreferredUnit","Count","getPreferredUnits","getRequestStatusForAuthorization","unknown","getWheelchairUse","getWorkoutRoutes","isHealthDataAvailable","queryCategorySamples","queryCorrelationSamples","queryQuantitySamples","queryStatisticsForQuantity","averageQuantity","undefined","maximumQuantity","minimumQuantity","sumQuantity","mostRecentQuantity","mostRecentQuantityDateInterval","duration","queryWorkouts","requestAuthorization","saveCategorySample","saveCorrelationSample","saveQuantitySample","saveWorkoutSample","subscribeToChanges","useMostRecentCategorySample","useMostRecentQuantitySample","useMostRecentWorkout","useSubscribeToChanges","useHealthkitAuthorization","useIsHealthDataAvailable"],"sources":["index.tsx"],"sourcesContent":["import { Platform } from 'react-native'\n\nimport {\n HKAuthorizationRequestStatus, HKBiologicalSex, HKBloodType, HKFitzpatrickSkinType, HKUnits, HKWheelchairUse,\n} from './native-types'\n\nimport type ReactNativeHealthkit from './index.ios'\n\nconst notAvailableError = `[@kingstinct/react-native-healthkit] Platform \"${\n Platform.OS\n}\" not supported`\n\nlet hasWarned = false\n\nfunction UnavailableFn<T = unknown>(retVal: T) {\n return () => {\n if (!hasWarned) {\n console.warn(notAvailableError)\n hasWarned = true\n }\n return retVal\n }\n}\n\nconst Healthkit: typeof ReactNativeHealthkit = {\n authorizationStatusFor: UnavailableFn(Promise.resolve(false)),\n disableAllBackgroundDelivery: UnavailableFn(Promise.resolve(false)),\n disableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),\n enableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),\n getBiologicalSex: UnavailableFn(Promise.resolve(HKBiologicalSex.notSet)),\n getBloodType: UnavailableFn(Promise.resolve(HKBloodType.notSet)),\n getDateOfBirth: UnavailableFn(Promise.resolve(new Date(0))),\n getFitzpatrickSkinType: UnavailableFn(Promise.resolve(HKFitzpatrickSkinType.notSet)),\n getMostRecentCategorySample: UnavailableFn(Promise.resolve(null)),\n getMostRecentQuantitySample: UnavailableFn(Promise.resolve(null)),\n getMostRecentWorkout: UnavailableFn(Promise.resolve(null)),\n getPreferredUnit: UnavailableFn(Promise.resolve(HKUnits.Count)),\n getPreferredUnits: UnavailableFn(Promise.resolve([])),\n getRequestStatusForAuthorization: UnavailableFn(Promise.resolve(HKAuthorizationRequestStatus.unknown)),\n getWheelchairUse: UnavailableFn(Promise.resolve(HKWheelchairUse.notSet)),\n getWorkoutRoutes: UnavailableFn(Promise.resolve([])),\n isHealthDataAvailable: async () => Promise.resolve(false),\n queryCategorySamples: UnavailableFn(Promise.resolve([])),\n queryCorrelationSamples: UnavailableFn(Promise.resolve([])),\n queryQuantitySamples: UnavailableFn(Promise.resolve([])),\n queryStatisticsForQuantity: UnavailableFn(Promise.resolve({\n averageQuantity: undefined,\n maximumQuantity: undefined,\n minimumQuantity: undefined,\n sumQuantity: undefined,\n mostRecentQuantity: undefined,\n mostRecentQuantityDateInterval: undefined,\n duration: undefined,\n })),\n queryWorkouts: UnavailableFn(Promise.resolve([])),\n requestAuthorization: UnavailableFn(Promise.resolve(false)),\n saveCategorySample: UnavailableFn(Promise.resolve(false)),\n saveCorrelationSample: UnavailableFn(Promise.resolve(false)),\n saveQuantitySample: UnavailableFn(Promise.resolve(false)),\n saveWorkoutSample: UnavailableFn(Promise.resolve(false)),\n subscribeToChanges: UnavailableFn(Promise.resolve(async () => Promise.resolve(false))),\n useMostRecentCategorySample: UnavailableFn(null),\n useMostRecentQuantitySample: UnavailableFn(null),\n useMostRecentWorkout: UnavailableFn(null),\n useSubscribeToChanges: UnavailableFn([null, () => null]),\n useHealthkitAuthorization: UnavailableFn([null, async () => Promise.resolve(HKAuthorizationRequestStatus.unknown)] as const),\n useIsHealthDataAvailable: () => false,\n}\n\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":"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"}
@@ -97,8 +97,17 @@ export let HKQuantityTypeIdentifier;
97
97
  HKQuantityTypeIdentifier["stairAscentSpeed"] = "HKQuantityTypeIdentifierStairAscentSpeed";
98
98
  HKQuantityTypeIdentifier["stairDescentSpeed"] = "HKQuantityTypeIdentifierStairDescentSpeed";
99
99
  HKQuantityTypeIdentifier["uvExposure"] = "HKQuantityTypeIdentifierUvExposure";
100
+ HKQuantityTypeIdentifier["appleMoveTime"] = "HKQuantityTypeIdentifierAppleMoveTime";
101
+ HKQuantityTypeIdentifier["appleWalkingSteadiness"] = "HKQuantityTypeIdentifierAppleWalkingSteadiness";
102
+ HKQuantityTypeIdentifier["numberOfAlcoholicBeverages"] = "HKQuantityTypeIdentifierNumberOfAlcoholicBeverages";
100
103
  })(HKQuantityTypeIdentifier || (HKQuantityTypeIdentifier = {}));
101
104
 
105
+ export let HKCategoryValueLowCardioFitnessEvent;
106
+
107
+ (function (HKCategoryValueLowCardioFitnessEvent) {
108
+ HKCategoryValueLowCardioFitnessEvent[HKCategoryValueLowCardioFitnessEvent["lowFitness"] = 1] = "lowFitness";
109
+ })(HKCategoryValueLowCardioFitnessEvent || (HKCategoryValueLowCardioFitnessEvent = {}));
110
+
102
111
  export let HKHeartRateMotionContext;
103
112
 
104
113
  (function (HKHeartRateMotionContext) {
@@ -130,6 +139,55 @@ export let HKCategoryTypeIdentifier;
130
139
  HKCategoryTypeIdentifier["irregularHeartRhythmEvent"] = "HKCategoryTypeIdentifierIrregularHeartRhythmEvent";
131
140
  HKCategoryTypeIdentifier["audioExposureEvent"] = "HKCategoryTypeIdentifierAudioExposureEvent";
132
141
  HKCategoryTypeIdentifier["toothbrushingEvent"] = "HKCategoryTypeIdentifierToothbrushingEvent";
142
+ HKCategoryTypeIdentifier["lowCardioFitnessEvent"] = "HKCategoryTypeIdentifierLowCardioFitnessEvent";
143
+ HKCategoryTypeIdentifier["contraceptive"] = "HKCategoryTypeIdentifierContraceptive";
144
+ HKCategoryTypeIdentifier["lactation"] = "HKCategoryTypeIdentifierLactation";
145
+ HKCategoryTypeIdentifier["pregnancy"] = "HKCategoryTypeIdentifierPregnancy";
146
+ HKCategoryTypeIdentifier["pregnancyTestResult"] = "HKCategoryTypeIdentifierPregnancyTestResult";
147
+ HKCategoryTypeIdentifier["progesteroneTestResult"] = "HKCategoryTypeIdentifierProgesteroneTestResult";
148
+ HKCategoryTypeIdentifier["environmentalAudioExposureEvent"] = "HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent";
149
+ HKCategoryTypeIdentifier["headphoneAudioExposureEvent"] = "HKCategoryTypeIdentifierHeadphoneAudioExposureEvent";
150
+ HKCategoryTypeIdentifier["appleWalkingSteadinessEvent"] = "HKCategoryTypeIdentifierAppleWalkingSteadinessEvent";
151
+ HKCategoryTypeIdentifier["handwashingEvent"] = "HKCategoryTypeIdentifierHandwashingEvent";
152
+ HKCategoryTypeIdentifier["abdominalCramps"] = "HKCategoryTypeIdentifierAbdominalCramps";
153
+ HKCategoryTypeIdentifier["acne"] = "HKCategoryTypeIdentifierAcne";
154
+ HKCategoryTypeIdentifier["appetiteChanges"] = "HKCategoryTypeIdentifierAppetiteChanges";
155
+ HKCategoryTypeIdentifier["bladderIncontinence"] = "HKCategoryTypeIdentifierBladderIncontinence";
156
+ HKCategoryTypeIdentifier["bloating"] = "HKCategoryTypeIdentifierBloating";
157
+ HKCategoryTypeIdentifier["breastPain"] = "HKCategoryTypeIdentifierBreastPain";
158
+ HKCategoryTypeIdentifier["chestTightnessOrPain"] = "HKCategoryTypeIdentifierChestTightnessOrPain";
159
+ HKCategoryTypeIdentifier["chills"] = "HKCategoryTypeIdentifierChills";
160
+ HKCategoryTypeIdentifier["constipation"] = "HKCategoryTypeIdentifierConstipation";
161
+ HKCategoryTypeIdentifier["coughing"] = "HKCategoryTypeIdentifierCoughing";
162
+ HKCategoryTypeIdentifier["diarrhea"] = "HKCategoryTypeIdentifierDiarrhea";
163
+ HKCategoryTypeIdentifier["dizziness"] = "HKCategoryTypeIdentifierDizziness";
164
+ HKCategoryTypeIdentifier["drySkin"] = "HKCategoryTypeIdentifierDrySkin";
165
+ HKCategoryTypeIdentifier["fainting"] = "HKCategoryTypeIdentifierFainting";
166
+ HKCategoryTypeIdentifier["fatigue"] = "HKCategoryTypeIdentifierFatigue";
167
+ HKCategoryTypeIdentifier["fever"] = "HKCategoryTypeIdentifierFever";
168
+ HKCategoryTypeIdentifier["generalizedBodyAche"] = "HKCategoryTypeIdentifierGeneralizedBodyAche";
169
+ HKCategoryTypeIdentifier["hairLoss"] = "HKCategoryTypeIdentifierHairLoss";
170
+ HKCategoryTypeIdentifier["headache"] = "HKCategoryTypeIdentifierHeadache";
171
+ HKCategoryTypeIdentifier["heartburn"] = "HKCategoryTypeIdentifierHeartburn";
172
+ HKCategoryTypeIdentifier["hotFlashes"] = "HKCategoryTypeIdentifierHotFlashes";
173
+ HKCategoryTypeIdentifier["lossOfSmell"] = "HKCategoryTypeIdentifierLossOfSmell";
174
+ HKCategoryTypeIdentifier["lossOfTaste"] = "HKCategoryTypeIdentifierLossOfTaste";
175
+ HKCategoryTypeIdentifier["lowerBackPain"] = "HKCategoryTypeIdentifierLowerBackPain";
176
+ HKCategoryTypeIdentifier["memoryLapse"] = "HKCategoryTypeIdentifierMemoryLapse";
177
+ HKCategoryTypeIdentifier["moodChanges"] = "HKCategoryTypeIdentifierMoodChanges";
178
+ HKCategoryTypeIdentifier["nausea"] = "HKCategoryTypeIdentifierNausea";
179
+ HKCategoryTypeIdentifier["nightSweats"] = "HKCategoryTypeIdentifierNightSweats";
180
+ HKCategoryTypeIdentifier["pelvicPain"] = "HKCategoryTypeIdentifierPelvicPain";
181
+ HKCategoryTypeIdentifier["rapidPoundingOrFlutteringHeartbeat"] = "HKCategoryTypeIdentifierRapidPoundingOrFlutteringHeartbeat";
182
+ HKCategoryTypeIdentifier["runnyNose"] = "HKCategoryTypeIdentifierRunnyNose";
183
+ HKCategoryTypeIdentifier["shortnessOfBreath"] = "HKCategoryTypeIdentifierShortnessOfBreath";
184
+ HKCategoryTypeIdentifier["sinusCongestion"] = "HKCategoryTypeIdentifierSinusCongestion";
185
+ HKCategoryTypeIdentifier["skippedHeartbeat"] = "HKCategoryTypeIdentifierSkippedHeartbeat";
186
+ HKCategoryTypeIdentifier["sleepChanges"] = "HKCategoryTypeIdentifierSleepChanges";
187
+ HKCategoryTypeIdentifier["soreThroat"] = "HKCategoryTypeIdentifierSoreThroat";
188
+ HKCategoryTypeIdentifier["vaginalDryness"] = "HKCategoryTypeIdentifierVaginalDryness";
189
+ HKCategoryTypeIdentifier["vomiting"] = "HKCategoryTypeIdentifierVomiting";
190
+ HKCategoryTypeIdentifier["wheezing"] = "HKCategoryTypeIdentifierWheezing";
133
191
  })(HKCategoryTypeIdentifier || (HKCategoryTypeIdentifier = {}));
134
192
 
135
193
  export let HKCategoryValueAppleStandHour;
@@ -402,6 +460,25 @@ export let HKInsulinDeliveryReason;
402
460
  HKInsulinDeliveryReason[HKInsulinDeliveryReason["bolus"] = 2] = "bolus";
403
461
  })(HKInsulinDeliveryReason || (HKInsulinDeliveryReason = {}));
404
462
 
463
+ var HKCategoryValuePregnancyTestResult;
464
+ /* needs further mapping
465
+
466
+ contraceptive = 'HKCategoryTypeIdentifierContraceptive',
467
+ lactation = 'HKCategoryTypeIdentifierLactation',
468
+ pregnancy = 'HKCategoryTypeIdentifierPregnancy',
469
+
470
+ progesteroneTestResult = 'HKCategoryTypeIdentifierProgesteroneTestResult',
471
+ environmentalAudioExposureEvent = 'HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent',
472
+ headphoneAudioExposureEvent = 'HKCategoryTypeIdentifierHeadphoneAudioExposureEvent',
473
+ appleWalkingSteadinessEvent = 'HKCategoryTypeIdentifierAppleWalkingSteadinessEvent',
474
+ handwashingEvent = 'HKCategoryTypeIdentifierHandwashingEvent', // HKCategoryValue */
475
+
476
+ (function (HKCategoryValuePregnancyTestResult) {
477
+ HKCategoryValuePregnancyTestResult[HKCategoryValuePregnancyTestResult["positive"] = 2] = "positive";
478
+ HKCategoryValuePregnancyTestResult[HKCategoryValuePregnancyTestResult["negative"] = 1] = "negative";
479
+ HKCategoryValuePregnancyTestResult[HKCategoryValuePregnancyTestResult["indeterminate"] = 3] = "indeterminate";
480
+ })(HKCategoryValuePregnancyTestResult || (HKCategoryValuePregnancyTestResult = {}));
481
+
405
482
  // Maps directly to https://developer.apple.com/documentation/healthkit/hkwheelchairuse
406
483
  export let HKWheelchairUse; // Unit types are a straight mapping from here https://developer.apple.com/documentation/healthkit/hkunit/1615733-init
407
484
 
@@ -411,80 +488,160 @@ export let HKWheelchairUse; // Unit types are a straight mapping from here https
411
488
  HKWheelchairUse[HKWheelchairUse["yes"] = 2] = "yes";
412
489
  })(HKWheelchairUse || (HKWheelchairUse = {}));
413
490
 
414
- export let HKUnitSIPrefix;
415
-
416
- (function (HKUnitSIPrefix) {
417
- HKUnitSIPrefix["Pico"] = "p";
418
- HKUnitSIPrefix["Nano"] = "n";
419
- HKUnitSIPrefix["Micro"] = "mc";
420
- HKUnitSIPrefix["Milli"] = "m";
421
- HKUnitSIPrefix["Centi"] = "c";
422
- HKUnitSIPrefix["Deci"] = "d";
423
- HKUnitSIPrefix["Deca"] = "da";
424
- HKUnitSIPrefix["Hecto"] = "h";
425
- HKUnitSIPrefix["Kilo"] = "k";
426
- HKUnitSIPrefix["Mega"] = "M";
427
- HKUnitSIPrefix["Giga"] = "G";
428
- HKUnitSIPrefix["Tera"] = "T";
429
- })(HKUnitSIPrefix || (HKUnitSIPrefix = {}));
430
-
431
- export let HKUnitSI;
432
-
433
- (function (HKUnitSI) {
434
- HKUnitSI["Grams"] = "g";
435
- HKUnitSI["Joules"] = "J";
436
- HKUnitSI["Kelvin"] = "K";
437
- HKUnitSI["Liters"] = "l";
438
- HKUnitSI["Meters"] = "m";
439
- HKUnitSI["Pascals"] = "Pa";
440
- HKUnitSI["Seconds"] = "s";
441
- HKUnitSI["Siemens"] = "S";
442
- })(HKUnitSI || (HKUnitSI = {}));
443
-
444
- export let HKUnit;
445
-
446
- (function (HKUnit) {
447
- HKUnit["Grams"] = "g";
448
- HKUnit["Joules"] = "J";
449
- HKUnit["Kelvin"] = "K";
450
- HKUnit["Liters"] = "l";
451
- HKUnit["Meters"] = "m";
452
- HKUnit["Pascals"] = "Pa";
453
- HKUnit["Seconds"] = "s";
454
- HKUnit["Siemens"] = "S";
455
- HKUnit["Atmospheres"] = "atm";
456
- HKUnit["CentimetersOfWater"] = "cmAq";
457
- HKUnit["Count"] = "count";
458
- HKUnit["Days"] = "d";
459
- HKUnit["DecibelHearingLevel"] = "dBHL";
460
- HKUnit["DecibelSoundPressureLevel"] = "dBASPL";
461
- HKUnit["DegreesCelsius"] = "degC";
462
- HKUnit["DegreesFahrenheit"] = "degF";
463
- HKUnit["Feet"] = "ft";
464
- HKUnit["Hertz"] = "Hz";
465
- HKUnit["Hours"] = "hr";
466
- HKUnit["ImperialCup"] = "cup_imp";
467
- HKUnit["ImperialFluidOunces"] = "fl_oz_imp";
468
- HKUnit["ImperialPint"] = "pt_imp";
469
- HKUnit["Inches"] = "in";
470
- HKUnit["InternationalUnit"] = "IU";
471
- HKUnit["Kilocalories"] = "kcal";
472
- HKUnit["LargeCalories"] = "Cal";
473
- HKUnit["Miles"] = "mi";
474
- HKUnit["MillimetersOfMercury"] = "mmHg";
475
- HKUnit["Minutes"] = "min";
476
- HKUnit["Ounces"] = "oz";
477
- HKUnit["Percent"] = "%";
478
- HKUnit["Pounds"] = "lb";
479
- HKUnit["SmallCalories"] = "cal";
480
- HKUnit["Stones"] = "st";
481
- HKUnit["USCup"] = "cup_us";
482
- HKUnit["USFluidOunces"] = "fl_oz_us";
483
- HKUnit["USPint"] = "pt_us";
484
- HKUnit["Yard"] = "yd";
485
- HKUnit["GlucoseMmolPerL"] = "mmol<180.15588000005408>/l";
486
- HKUnit["GlucoseMgPerDl"] = "mg/dL";
487
- })(HKUnit || (HKUnit = {}));
491
+ export let HKMetricPrefix;
492
+
493
+ (function (HKMetricPrefix) {
494
+ HKMetricPrefix["None"] = "";
495
+ HKMetricPrefix["Pico"] = "p";
496
+ HKMetricPrefix["Nano"] = "n";
497
+ HKMetricPrefix["Micro"] = "mc";
498
+ HKMetricPrefix["Milli"] = "m";
499
+ HKMetricPrefix["Centi"] = "c";
500
+ HKMetricPrefix["Deci"] = "d";
501
+ HKMetricPrefix["Deca"] = "da";
502
+ HKMetricPrefix["Hecto"] = "h";
503
+ HKMetricPrefix["Kilo"] = "k";
504
+ HKMetricPrefix["Mega"] = "M";
505
+ HKMetricPrefix["Giga"] = "G";
506
+ HKMetricPrefix["Tera"] = "T";
507
+ HKMetricPrefix["Femto"] = "f";
508
+ })(HKMetricPrefix || (HKMetricPrefix = {}));
509
+
510
+ export let HKUnitMetric;
511
+
512
+ (function (HKUnitMetric) {
513
+ HKUnitMetric["Gram"] = "g";
514
+ HKUnitMetric["Joule"] = "J";
515
+ HKUnitMetric["Kelvin"] = "K";
516
+ HKUnitMetric["Liter"] = "l";
517
+ HKUnitMetric["Meter"] = "m";
518
+ HKUnitMetric["Pascal"] = "Pa";
519
+ HKUnitMetric["Second"] = "s";
520
+ HKUnitMetric["Siemen"] = "S";
521
+ HKUnitMetric["Hertz"] = "Hz";
522
+ HKUnitMetric["Volt"] = "V";
523
+ })(HKUnitMetric || (HKUnitMetric = {}));
524
+
525
+ export let HKUnits;
526
+
527
+ (function (HKUnits) {
528
+ HKUnits["DecibelHearingLevel"] = "dBHL";
529
+ HKUnits["DecibelSoundPressureLevel"] = "dBASPL";
530
+ HKUnits["Percent"] = "%";
531
+ HKUnits["Count"] = "count";
532
+ HKUnits["InternationalUnit"] = "IU";
533
+ })(HKUnits || (HKUnits = {}));
534
+
535
+ /**
536
+ * More SI prefixes also available as literals, just type the string
537
+ * @example 'cm', 'km'
538
+ */
539
+ export let UnitOfLength;
540
+
541
+ (function (UnitOfLength) {
542
+ UnitOfLength["Feet"] = "ft";
543
+ UnitOfLength["Meter"] = "m";
544
+ UnitOfLength["Inches"] = "in";
545
+ UnitOfLength["Yards"] = "yd";
546
+ UnitOfLength["Miles"] = "mi";
547
+ })(UnitOfLength || (UnitOfLength = {}));
548
+
549
+ /**
550
+ * More SI prefixes also available as literals, just type the string
551
+ * @example 'ml', 'cl'
552
+ */
553
+ export let UnitOfVolume;
554
+
555
+ (function (UnitOfVolume) {
556
+ UnitOfVolume["ImperialCup"] = "cup_imp";
557
+ UnitOfVolume["ImperialFluidOunces"] = "fl_oz_imp";
558
+ UnitOfVolume["ImperialPint"] = "pt_imp";
559
+ UnitOfVolume["USCup"] = "cup_us";
560
+ UnitOfVolume["USFluidOunces"] = "fl_oz_us";
561
+ UnitOfVolume["USPint"] = "pt_us";
562
+ UnitOfVolume["Liter"] = "l";
563
+ })(UnitOfVolume || (UnitOfVolume = {}));
564
+
565
+ /**
566
+ * More SI prefixes also available as literals, just type the string
567
+ * @example 'mg', 'kg'
568
+ */
569
+ export let UnitOfMass;
570
+ /**
571
+ * More SI prefixes also available as literals, just type the string
572
+ * @example 'mg', 'kg'
573
+ */
574
+
575
+ (function (UnitOfMass) {
576
+ UnitOfMass["Ounces"] = "oz";
577
+ UnitOfMass["Stones"] = "st";
578
+ UnitOfMass["Pounds"] = "lb";
579
+ UnitOfMass["Gram"] = "g";
580
+ })(UnitOfMass || (UnitOfMass = {}));
581
+
582
+ /**
583
+ * More SI prefixes also available as literals, just type the string
584
+ * @example 'kPa', 'hPa'
585
+ */
586
+ export let UnitOfPressure;
587
+ /**
588
+ * More SI prefixes also available as literals, just type the string
589
+ * @example 'kPa', 'hPa'
590
+ */
591
+
592
+ (function (UnitOfPressure) {
593
+ UnitOfPressure["Atmospheres"] = "atm";
594
+ UnitOfPressure["CentimetersOfWater"] = "cmAq";
595
+ UnitOfPressure["MillimetersOfMercury"] = "mmHg";
596
+ UnitOfPressure["InchesOfMercury"] = "inHg";
597
+ UnitOfPressure["DecibelAWeightedSoundPressureLevel"] = "dBASPL";
598
+ UnitOfPressure["Pascals"] = "Pa";
599
+ })(UnitOfPressure || (UnitOfPressure = {}));
600
+
601
+ /**
602
+ * More SI prefixes also available as literals, just type the string
603
+ * @example 'ms'
604
+ */
605
+ export let UnitOfTime;
606
+ /**
607
+ * More SI prefixes also available as literals, just type the string
608
+ * @example 'ms'
609
+ */
610
+
611
+ (function (UnitOfTime) {
612
+ UnitOfTime["Days"] = "d";
613
+ UnitOfTime["Minutes"] = "min";
614
+ UnitOfTime["Hours"] = "hr";
615
+ UnitOfTime["Seconds"] = "s";
616
+ })(UnitOfTime || (UnitOfTime = {}));
617
+
618
+ export let TemperatureUnit;
619
+ /**
620
+ * More SI prefixes also available as literals, just type the string
621
+ * @example 'kJ'
622
+ */
623
+
624
+ (function (TemperatureUnit) {
625
+ TemperatureUnit["DegreesCelsius"] = "degC";
626
+ TemperatureUnit["DegreesFahrenheit"] = "degF";
627
+ TemperatureUnit["Kelvin"] = "K";
628
+ })(TemperatureUnit || (TemperatureUnit = {}));
629
+
630
+ export let UnitOfEnergy;
631
+
632
+ (function (UnitOfEnergy) {
633
+ UnitOfEnergy["Kilocalories"] = "kcal";
634
+ UnitOfEnergy["LargeCalories"] = "Cal";
635
+ UnitOfEnergy["SmallCalories"] = "cal";
636
+ UnitOfEnergy["Joules"] = "J";
637
+ })(UnitOfEnergy || (UnitOfEnergy = {}));
638
+
639
+ export let BloodGlucoseUnit;
640
+
641
+ (function (BloodGlucoseUnit) {
642
+ BloodGlucoseUnit["GlucoseMmolPerL"] = "mmol<180.15588000005408>/l";
643
+ BloodGlucoseUnit["GlucoseMgPerDl"] = "mg/dL";
644
+ })(BloodGlucoseUnit || (BloodGlucoseUnit = {}));
488
645
 
489
646
  // Straight mapping to https://developer.apple.com/documentation/healthkit/hkcharacteristictypeidentifier
490
647
  export let HKCharacteristicTypeIdentifier;
@@ -495,6 +652,7 @@ export let HKCharacteristicTypeIdentifier;
495
652
  HKCharacteristicTypeIdentifier["bloodType"] = "HKCharacteristicTypeIdentifierBloodType";
496
653
  HKCharacteristicTypeIdentifier["dateOfBirth"] = "HKCharacteristicTypeIdentifierDateOfBirth";
497
654
  HKCharacteristicTypeIdentifier["wheelchairUse"] = "HKCharacteristicTypeIdentifierWheelchairUse";
655
+ HKCharacteristicTypeIdentifier["activityMoveMode"] = "HKCharacteristicTypeIdentifierActivityMoveMode";
498
656
  })(HKCharacteristicTypeIdentifier || (HKCharacteristicTypeIdentifier = {}));
499
657
 
500
658
  export let HKUpdateFrequency;