@kingstinct/react-native-healthkit 4.4.0 → 4.4.3

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.
@@ -208,6 +208,8 @@ function useSubscribeToChanges(identifier, onChange) {
208
208
  }, [identifier, onChange]);
209
209
  }
210
210
 
211
+ useSubscribeToChanges(_nativeTypes.HKCategoryTypeIdentifier.appleStandHour, () => {});
212
+
211
213
  function useMostRecentCategorySample(identifier) {
212
214
  const [category, setCategory] = (0, _react.useState)(null);
213
215
  const updater = (0, _react.useCallback)(() => {
@@ -411,7 +413,35 @@ const Healthkit = {
411
413
  useMostRecentCategorySample,
412
414
  useMostRecentQuantitySample,
413
415
  useMostRecentWorkout,
414
- useSubscribeToChanges
416
+ useSubscribeToChanges,
417
+ useIsHealthDataAvailable: () => {
418
+ const [isAvailable, setIsAvailable] = (0, _react.useState)(null);
419
+ (0, _react.useEffect)(() => {
420
+ const init = async () => {
421
+ const res = await _nativeTypes.default.isHealthDataAvailable();
422
+ setIsAvailable(res);
423
+ };
424
+
425
+ void init();
426
+ }, []);
427
+ return isAvailable;
428
+ },
429
+ useHealthkitAuthorization: (read, write) => {
430
+ const [status, setStatus] = (0, _react.useState)(null);
431
+ const refreshAuthStatus = (0, _react.useCallback)(async () => {
432
+ const auth = await getRequestStatusForAuthorization(read, write);
433
+ setStatus(auth);
434
+ return auth;
435
+ }, []);
436
+ const request = (0, _react.useCallback)(async () => {
437
+ await requestAuthorization(read, write);
438
+ return refreshAuthStatus();
439
+ }, []);
440
+ (0, _react.useEffect)(() => {
441
+ void refreshAuthStatus();
442
+ }, []);
443
+ return [status, request];
444
+ }
415
445
  };
416
446
  var _default = Healthkit;
417
447
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["getPreferredUnit","type","unit","getPreferredUnits","ensureUnit","providedUnit","Native","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","HKQuantityTypeIdentifier","distanceWalkingRunning","activeEnergyBurned","HKUnit","Kilocalories","Meters","subscribeToChanges","callback","subscription","EventEmitter","addListener","typeIdentifier","queryId","subscribeToObserverQuery","catch","error","remove","Promise","reject","unsubscribeQuery","getMostRecentQuantitySample","samples","useMostRecentWorkout","workout","setWorkout","useState","useEffect","cancelSubscription","init","w","getMostRecentWorkout","getMostRecentCategorySample","queryCategorySamples","useSubscribeToChanges","onChange","useMostRecentCategorySample","category","setCategory","updater","useCallback","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"],"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 HKCategorySampleRaw,\n HKCategoryTypeIdentifier,\n HKCategoryValueForIdentifier,\n HKCharacteristicTypeIdentifier,\n HKCorrelationRaw,\n HKCorrelationTypeIdentifier,\n HKQuantitySampleRaw,\n HKSampleTypeIdentifier,\n HKUnitSI,\n HKUnitSIPrefix,\n HKWorkoutRaw,\n MetadataMapperForCategoryIdentifier,\n ReadPermissions,\n WritePermissions,\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 (HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier)[],\n write: readonly HKSampleTypeIdentifier[] = [],\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 (HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier)[],\n write: readonly HKSampleTypeIdentifier[] = [],\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\nexport * from './native-types'\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":"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"}
1
+ {"version":3,"names":["getPreferredUnit","type","unit","getPreferredUnits","ensureUnit","providedUnit","Native","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","HKQuantityTypeIdentifier","distanceWalkingRunning","activeEnergyBurned","HKUnit","Kilocalories","Meters","subscribeToChanges","callback","subscription","EventEmitter","addListener","typeIdentifier","queryId","subscribeToObserverQuery","catch","error","remove","Promise","reject","unsubscribeQuery","getMostRecentQuantitySample","samples","useMostRecentWorkout","workout","setWorkout","useState","useEffect","cancelSubscription","init","w","getMostRecentWorkout","getMostRecentCategorySample","queryCategorySamples","useSubscribeToChanges","onChange","HKCategoryTypeIdentifier","appleStandHour","useMostRecentCategorySample","category","setCategory","updater","useCallback","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 HKCategoryTypeIdentifier,\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} 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\nuseSubscribeToChanges(HKCategoryTypeIdentifier.appleStandHour, () => {})\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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"}
@@ -35,46 +35,59 @@ Object.keys(_types).forEach(function (key) {
35
35
  }
36
36
  });
37
37
  });
38
- const notAvailableError = `Platform "${_reactNative.Platform.OS}" not supported, use isHealthDataAvailable to check for availability before using it`;
38
+ const notAvailableError = `[@kingstinct/react-native-healthkit] Platform "${_reactNative.Platform.OS}" not supported`;
39
39
 
40
- const UnavailableFn = () => {
41
- throw new Error(notAvailableError);
42
- };
40
+ function UnavailableFn(retVal) {
41
+ return () => {
42
+ console.warn(notAvailableError);
43
+ return retVal;
44
+ };
45
+ }
43
46
 
44
47
  const Healthkit = {
45
- authorizationStatusFor: UnavailableFn,
46
- buildUnitWithPrefix: UnavailableFn,
47
- disableAllBackgroundDelivery: UnavailableFn,
48
- disableBackgroundDelivery: UnavailableFn,
49
- enableBackgroundDelivery: UnavailableFn,
50
- getBiologicalSex: UnavailableFn,
51
- getBloodType: UnavailableFn,
52
- getDateOfBirth: UnavailableFn,
53
- getFitzpatrickSkinType: UnavailableFn,
54
- getMostRecentCategorySample: UnavailableFn,
55
- getMostRecentQuantitySample: UnavailableFn,
56
- getMostRecentWorkout: UnavailableFn,
57
- getPreferredUnit: UnavailableFn,
58
- getPreferredUnits: UnavailableFn,
59
- getRequestStatusForAuthorization: UnavailableFn,
60
- getWheelchairUse: UnavailableFn,
61
- getWorkoutRoutes: UnavailableFn,
48
+ authorizationStatusFor: UnavailableFn(Promise.resolve(false)),
49
+ buildUnitWithPrefix: UnavailableFn(_nativeTypes.HKUnit.Atmospheres),
50
+ disableAllBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
51
+ disableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
52
+ enableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
53
+ getBiologicalSex: UnavailableFn(Promise.resolve(_nativeTypes.HKBiologicalSex.notSet)),
54
+ getBloodType: UnavailableFn(Promise.resolve(_nativeTypes.HKBloodType.notSet)),
55
+ getDateOfBirth: UnavailableFn(Promise.resolve(new Date(0))),
56
+ getFitzpatrickSkinType: UnavailableFn(Promise.resolve(_nativeTypes.HKFitzpatrickSkinType.notSet)),
57
+ getMostRecentCategorySample: UnavailableFn(Promise.resolve(null)),
58
+ getMostRecentQuantitySample: UnavailableFn(Promise.resolve(null)),
59
+ getMostRecentWorkout: UnavailableFn(Promise.resolve(null)),
60
+ getPreferredUnit: UnavailableFn(Promise.resolve(_nativeTypes.HKUnit.Atmospheres)),
61
+ getPreferredUnits: UnavailableFn(Promise.resolve([])),
62
+ getRequestStatusForAuthorization: UnavailableFn(Promise.resolve(_nativeTypes.HKAuthorizationRequestStatus.unknown)),
63
+ getWheelchairUse: UnavailableFn(Promise.resolve(_nativeTypes.HKWheelchairUse.notSet)),
64
+ getWorkoutRoutes: UnavailableFn(Promise.resolve([])),
62
65
  isHealthDataAvailable: async () => Promise.resolve(false),
63
- queryCategorySamples: UnavailableFn,
64
- queryCorrelationSamples: UnavailableFn,
65
- queryQuantitySamples: UnavailableFn,
66
- queryStatisticsForQuantity: UnavailableFn,
67
- queryWorkouts: UnavailableFn,
68
- requestAuthorization: UnavailableFn,
69
- saveCategorySample: UnavailableFn,
70
- saveCorrelationSample: UnavailableFn,
71
- saveQuantitySample: UnavailableFn,
72
- saveWorkoutSample: UnavailableFn,
73
- subscribeToChanges: UnavailableFn,
74
- useMostRecentCategorySample: UnavailableFn,
75
- useMostRecentQuantitySample: UnavailableFn,
76
- useMostRecentWorkout: UnavailableFn,
77
- useSubscribeToChanges: UnavailableFn
66
+ queryCategorySamples: UnavailableFn(Promise.resolve([])),
67
+ queryCorrelationSamples: UnavailableFn(Promise.resolve([])),
68
+ queryQuantitySamples: UnavailableFn(Promise.resolve([])),
69
+ queryStatisticsForQuantity: UnavailableFn(Promise.resolve({
70
+ averageQuantity: undefined,
71
+ maximumQuantity: undefined,
72
+ minimumQuantity: undefined,
73
+ sumQuantity: undefined,
74
+ mostRecentQuantity: undefined,
75
+ mostRecentQuantityDateInterval: undefined,
76
+ duration: undefined
77
+ })),
78
+ queryWorkouts: UnavailableFn(Promise.resolve([])),
79
+ requestAuthorization: UnavailableFn(Promise.resolve(false)),
80
+ saveCategorySample: UnavailableFn(Promise.resolve(false)),
81
+ saveCorrelationSample: UnavailableFn(Promise.resolve(false)),
82
+ saveQuantitySample: UnavailableFn(Promise.resolve(false)),
83
+ saveWorkoutSample: UnavailableFn(Promise.resolve(false)),
84
+ subscribeToChanges: UnavailableFn(Promise.resolve(async () => Promise.resolve(false))),
85
+ useMostRecentCategorySample: UnavailableFn(null),
86
+ useMostRecentQuantitySample: UnavailableFn(null),
87
+ useMostRecentWorkout: UnavailableFn(null),
88
+ useSubscribeToChanges: UnavailableFn([null, () => null]),
89
+ useHealthkitAuthorization: UnavailableFn([null, async () => Promise.resolve(null)]),
90
+ useIsHealthDataAvailable: UnavailableFn(false)
78
91
  };
79
92
  var _default = Healthkit;
80
93
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["notAvailableError","Platform","OS","UnavailableFn","Error","Healthkit","authorizationStatusFor","buildUnitWithPrefix","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","getBloodType","getDateOfBirth","getFitzpatrickSkinType","getMostRecentCategorySample","getMostRecentQuantitySample","getMostRecentWorkout","getPreferredUnit","getPreferredUnits","getRequestStatusForAuthorization","getWheelchairUse","getWorkoutRoutes","isHealthDataAvailable","Promise","resolve","queryCategorySamples","queryCorrelationSamples","queryQuantitySamples","queryStatisticsForQuantity","queryWorkouts","requestAuthorization","saveCategorySample","saveCorrelationSample","saveQuantitySample","saveWorkoutSample","subscribeToChanges","useMostRecentCategorySample","useMostRecentQuantitySample","useMostRecentWorkout","useSubscribeToChanges"],"sources":["index.tsx"],"sourcesContent":["import { Platform } from 'react-native'\n\nimport type { ReactNativeHealthkit } from './types'\n\nconst notAvailableError = `Platform \"${\n Platform.OS\n}\" not supported, use isHealthDataAvailable to check for availability before using it`\n\nconst UnavailableFn = () => {\n throw new Error(notAvailableError)\n}\n\nconst Healthkit: ReactNativeHealthkit = {\n authorizationStatusFor: UnavailableFn,\n buildUnitWithPrefix: UnavailableFn,\n disableAllBackgroundDelivery: UnavailableFn,\n disableBackgroundDelivery: UnavailableFn,\n enableBackgroundDelivery: UnavailableFn,\n getBiologicalSex: UnavailableFn,\n getBloodType: UnavailableFn,\n getDateOfBirth: UnavailableFn,\n getFitzpatrickSkinType: UnavailableFn,\n getMostRecentCategorySample: UnavailableFn,\n getMostRecentQuantitySample: UnavailableFn,\n getMostRecentWorkout: UnavailableFn,\n getPreferredUnit: UnavailableFn,\n getPreferredUnits: UnavailableFn,\n getRequestStatusForAuthorization: UnavailableFn,\n getWheelchairUse: UnavailableFn,\n getWorkoutRoutes: UnavailableFn,\n isHealthDataAvailable: async () => Promise.resolve(false),\n queryCategorySamples: UnavailableFn,\n queryCorrelationSamples: UnavailableFn,\n queryQuantitySamples: UnavailableFn,\n queryStatisticsForQuantity: UnavailableFn,\n queryWorkouts: UnavailableFn,\n requestAuthorization: UnavailableFn,\n saveCategorySample: UnavailableFn,\n saveCorrelationSample: UnavailableFn,\n saveQuantitySample: UnavailableFn,\n saveWorkoutSample: UnavailableFn,\n subscribeToChanges: UnavailableFn,\n useMostRecentCategorySample: UnavailableFn,\n useMostRecentQuantitySample: UnavailableFn,\n useMostRecentWorkout: UnavailableFn,\n useSubscribeToChanges: UnavailableFn,\n}\n\nexport * from './native-types'\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":";;;;;;;;AAAA;;AAgDA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AA7CA,MAAMA,iBAAiB,GAAI,aACzBC,qBAAA,CAASC,EACV,sFAFD;;AAIA,MAAMC,aAAa,GAAG,MAAM;EAC1B,MAAM,IAAIC,KAAJ,CAAUJ,iBAAV,CAAN;AACD,CAFD;;AAIA,MAAMK,SAA+B,GAAG;EACtCC,sBAAsB,EAAEH,aADc;EAEtCI,mBAAmB,EAAEJ,aAFiB;EAGtCK,4BAA4B,EAAEL,aAHQ;EAItCM,yBAAyB,EAAEN,aAJW;EAKtCO,wBAAwB,EAAEP,aALY;EAMtCQ,gBAAgB,EAAER,aANoB;EAOtCS,YAAY,EAAET,aAPwB;EAQtCU,cAAc,EAAEV,aARsB;EAStCW,sBAAsB,EAAEX,aATc;EAUtCY,2BAA2B,EAAEZ,aAVS;EAWtCa,2BAA2B,EAAEb,aAXS;EAYtCc,oBAAoB,EAAEd,aAZgB;EAatCe,gBAAgB,EAAEf,aAboB;EActCgB,iBAAiB,EAAEhB,aAdmB;EAetCiB,gCAAgC,EAAEjB,aAfI;EAgBtCkB,gBAAgB,EAAElB,aAhBoB;EAiBtCmB,gBAAgB,EAAEnB,aAjBoB;EAkBtCoB,qBAAqB,EAAE,YAAYC,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAlBG;EAmBtCC,oBAAoB,EAAEvB,aAnBgB;EAoBtCwB,uBAAuB,EAAExB,aApBa;EAqBtCyB,oBAAoB,EAAEzB,aArBgB;EAsBtC0B,0BAA0B,EAAE1B,aAtBU;EAuBtC2B,aAAa,EAAE3B,aAvBuB;EAwBtC4B,oBAAoB,EAAE5B,aAxBgB;EAyBtC6B,kBAAkB,EAAE7B,aAzBkB;EA0BtC8B,qBAAqB,EAAE9B,aA1Be;EA2BtC+B,kBAAkB,EAAE/B,aA3BkB;EA4BtCgC,iBAAiB,EAAEhC,aA5BmB;EA6BtCiC,kBAAkB,EAAEjC,aA7BkB;EA8BtCkC,2BAA2B,EAAElC,aA9BS;EA+BtCmC,2BAA2B,EAAEnC,aA/BS;EAgCtCoC,oBAAoB,EAAEpC,aAhCgB;EAiCtCqC,qBAAqB,EAAErC;AAjCe,CAAxC;eAuCeE,S"}
1
+ {"version":3,"names":["notAvailableError","Platform","OS","UnavailableFn","retVal","console","warn","Healthkit","authorizationStatusFor","Promise","resolve","buildUnitWithPrefix","HKUnit","Atmospheres","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","HKBiologicalSex","notSet","getBloodType","HKBloodType","getDateOfBirth","Date","getFitzpatrickSkinType","HKFitzpatrickSkinType","getMostRecentCategorySample","getMostRecentQuantitySample","getMostRecentWorkout","getPreferredUnit","getPreferredUnits","getRequestStatusForAuthorization","HKAuthorizationRequestStatus","unknown","getWheelchairUse","HKWheelchairUse","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":";;;;;;;;AAAA;;AAEA;;AA+DA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AA1DA,MAAMA,iBAAiB,GAAI,kDACzBC,qBAAA,CAASC,EACV,iBAFD;;AAIA,SAASC,aAAT,CAAoCC,MAApC,EAA+C;EAC7C,OAAO,MAAM;IACXC,OAAO,CAACC,IAAR,CAAaN,iBAAb;IACA,OAAOI,MAAP;EACD,CAHD;AAID;;AAED,MAAMG,SAA+B,GAAG;EACtCC,sBAAsB,EAAEL,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CADC;EAEtCC,mBAAmB,EAAER,aAAa,CAACS,mBAAA,CAAOC,WAAR,CAFI;EAGtCC,4BAA4B,EAAEX,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CAHL;EAItCK,yBAAyB,EAAEZ,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CAJF;EAKtCM,wBAAwB,EAAEb,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CALD;EAMtCO,gBAAgB,EAAEd,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgBQ,4BAAA,CAAgBC,MAAhC,CAAD,CANO;EAOtCC,YAAY,EAAEjB,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgBW,wBAAA,CAAYF,MAA5B,CAAD,CAPW;EAQtCG,cAAc,EAAEnB,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,IAAIa,IAAJ,CAAS,CAAT,CAAhB,CAAD,CARS;EAStCC,sBAAsB,EAAErB,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgBe,kCAAA,CAAsBN,MAAtC,CAAD,CATC;EAUtCO,2BAA2B,EAAEvB,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAD,CAVJ;EAWtCiB,2BAA2B,EAAExB,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAD,CAXJ;EAYtCkB,oBAAoB,EAAEzB,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAD,CAZG;EAatCmB,gBAAgB,EAAE1B,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgBE,mBAAA,CAAOC,WAAvB,CAAD,CAbO;EActCiB,iBAAiB,EAAE3B,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAD,CAdM;EAetCqB,gCAAgC,EAAE5B,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgBsB,yCAAA,CAA6BC,OAA7C,CAAD,CAfT;EAgBtCC,gBAAgB,EAAE/B,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgByB,4BAAA,CAAgBhB,MAAhC,CAAD,CAhBO;EAiBtCiB,gBAAgB,EAAEjC,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAD,CAjBO;EAkBtC2B,qBAAqB,EAAE,YAAY5B,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAlBG;EAmBtC4B,oBAAoB,EAAEnC,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAD,CAnBG;EAoBtC6B,uBAAuB,EAAEpC,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAD,CApBA;EAqBtC8B,oBAAoB,EAAErC,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAD,CArBG;EAsBtC+B,0BAA0B,EAAEtC,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB;IACxDgC,eAAe,EAAEC,SADuC;IAExDC,eAAe,EAAED,SAFuC;IAGxDE,eAAe,EAAEF,SAHuC;IAIxDG,WAAW,EAAEH,SAJ2C;IAKxDI,kBAAkB,EAAEJ,SALoC;IAMxDK,8BAA8B,EAAEL,SANwB;IAOxDM,QAAQ,EAAEN;EAP8C,CAAhB,CAAD,CAtBH;EA+BtCO,aAAa,EAAE/C,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAD,CA/BU;EAgCtCyC,oBAAoB,EAAEhD,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CAhCG;EAiCtC0C,kBAAkB,EAAEjD,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CAjCK;EAkCtC2C,qBAAqB,EAAElD,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CAlCE;EAmCtC4C,kBAAkB,EAAEnD,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CAnCK;EAoCtC6C,iBAAiB,EAAEpD,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAD,CApCM;EAqCtC8C,kBAAkB,EAAErD,aAAa,CAACM,OAAO,CAACC,OAAR,CAAgB,YAAYD,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAA5B,CAAD,CArCK;EAsCtC+C,2BAA2B,EAAEtD,aAAa,CAAC,IAAD,CAtCJ;EAuCtCuD,2BAA2B,EAAEvD,aAAa,CAAC,IAAD,CAvCJ;EAwCtCwD,oBAAoB,EAAExD,aAAa,CAAC,IAAD,CAxCG;EAyCtCyD,qBAAqB,EAAEzD,aAAa,CAAC,CAAC,IAAD,EAAO,MAAM,IAAb,CAAD,CAzCE;EA0CtC0D,yBAAyB,EAAE1D,aAAa,CAAC,CAAC,IAAD,EAAO,YAAYM,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAnB,CAAD,CA1CF;EA2CtCoD,wBAAwB,EAAE3D,aAAa,CAAC,KAAD;AA3CD,CAAxC;eAiDeI,S"}
@@ -13,8 +13,105 @@ const HKAudiogramTypeIdentifier = 'HKAudiogramTypeIdentifier';
13
13
  exports.HKAudiogramTypeIdentifier = HKAudiogramTypeIdentifier;
14
14
  const HKWorkoutRouteTypeIdentifier = 'HKWorkoutRouteTypeIdentifier';
15
15
  exports.HKWorkoutRouteTypeIdentifier = HKWorkoutRouteTypeIdentifier;
16
- const HKDataTypeIdentifierHeartbeatSeries = 'HKDataTypeIdentifierHeartbeatSeries';
16
+ const HKDataTypeIdentifierHeartbeatSeries = 'HKDataTypeIdentifierHeartbeatSeries'; // Straight mapping to https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier
17
+
17
18
  exports.HKDataTypeIdentifierHeartbeatSeries = HKDataTypeIdentifierHeartbeatSeries;
19
+ let HKQuantityTypeIdentifier;
20
+ exports.HKQuantityTypeIdentifier = HKQuantityTypeIdentifier;
21
+
22
+ (function (HKQuantityTypeIdentifier) {
23
+ HKQuantityTypeIdentifier["bodyMassIndex"] = "HKQuantityTypeIdentifierBodyMassIndex";
24
+ HKQuantityTypeIdentifier["bodyFatPercentage"] = "HKQuantityTypeIdentifierBodyFatPercentage";
25
+ HKQuantityTypeIdentifier["height"] = "HKQuantityTypeIdentifierHeight";
26
+ HKQuantityTypeIdentifier["bodyMass"] = "HKQuantityTypeIdentifierBodyMass";
27
+ HKQuantityTypeIdentifier["leanBodyMass"] = "HKQuantityTypeIdentifierLeanBodyMass";
28
+ HKQuantityTypeIdentifier["waistCircumference"] = "HKQuantityTypeIdentifierWaistCircumference";
29
+ HKQuantityTypeIdentifier["stepCount"] = "HKQuantityTypeIdentifierStepCount";
30
+ HKQuantityTypeIdentifier["distanceWalkingRunning"] = "HKQuantityTypeIdentifierDistanceWalkingRunning";
31
+ HKQuantityTypeIdentifier["distanceCycling"] = "HKQuantityTypeIdentifierDistanceCycling";
32
+ HKQuantityTypeIdentifier["distanceWheelchair"] = "HKQuantityTypeIdentifierDistanceWheelchair";
33
+ HKQuantityTypeIdentifier["basalEnergyBurned"] = "HKQuantityTypeIdentifierBasalEnergyBurned";
34
+ HKQuantityTypeIdentifier["activeEnergyBurned"] = "HKQuantityTypeIdentifierActiveEnergyBurned";
35
+ HKQuantityTypeIdentifier["flightsClimbed"] = "HKQuantityTypeIdentifierFlightsClimbed";
36
+ HKQuantityTypeIdentifier["nikeFuel"] = "HKQuantityTypeIdentifierNikeFuel";
37
+ HKQuantityTypeIdentifier["appleExerciseTime"] = "HKQuantityTypeIdentifierAppleExerciseTime";
38
+ HKQuantityTypeIdentifier["pushCount"] = "HKQuantityTypeIdentifierPushCount";
39
+ HKQuantityTypeIdentifier["distanceSwimming"] = "HKQuantityTypeIdentifierDistanceSwimming";
40
+ HKQuantityTypeIdentifier["swimmingStrokeCount"] = "HKQuantityTypeIdentifierSwimmingStrokeCount";
41
+ HKQuantityTypeIdentifier["vo2Max"] = "HKQuantityTypeIdentifierVo2Max";
42
+ HKQuantityTypeIdentifier["distanceDownhillSnowSports"] = "HKQuantityTypeIdentifierDistanceDownhillSnowSports";
43
+ HKQuantityTypeIdentifier["appleStandTime"] = "HKQuantityTypeIdentifierAppleStandTime";
44
+ HKQuantityTypeIdentifier["heartRate"] = "HKQuantityTypeIdentifierHeartRate";
45
+ HKQuantityTypeIdentifier["bodyTemperature"] = "HKQuantityTypeIdentifierBodyTemperature";
46
+ HKQuantityTypeIdentifier["basalBodyTemperature"] = "HKQuantityTypeIdentifierBasalBodyTemperature";
47
+ HKQuantityTypeIdentifier["bloodPressureSystolic"] = "HKQuantityTypeIdentifierBloodPressureSystolic";
48
+ HKQuantityTypeIdentifier["bloodPressureDiastolic"] = "HKQuantityTypeIdentifierBloodPressureDiastolic";
49
+ HKQuantityTypeIdentifier["respiratoryRate"] = "HKQuantityTypeIdentifierRespiratoryRate";
50
+ HKQuantityTypeIdentifier["restingHeartRate"] = "HKQuantityTypeIdentifierRestingHeartRate";
51
+ HKQuantityTypeIdentifier["walkingHeartRateAverage"] = "HKQuantityTypeIdentifierWalkingHeartRateAverage";
52
+ HKQuantityTypeIdentifier["heartRateVariabilitySDNN"] = "HKQuantityTypeIdentifierHeartRateVariabilitySDNN";
53
+ HKQuantityTypeIdentifier["oxygenSaturation"] = "HKQuantityTypeIdentifierOxygenSaturation";
54
+ HKQuantityTypeIdentifier["peripheralPerfusionIndex"] = "HKQuantityTypeIdentifierPeripheralPerfusionIndex";
55
+ HKQuantityTypeIdentifier["bloodGlucose"] = "HKQuantityTypeIdentifierBloodGlucose";
56
+ HKQuantityTypeIdentifier["numberOfTimesFallen"] = "HKQuantityTypeIdentifierNumberOfTimesFallen";
57
+ HKQuantityTypeIdentifier["electrodermalActivity"] = "HKQuantityTypeIdentifierElectrodermalActivity";
58
+ HKQuantityTypeIdentifier["inhalerUsage"] = "HKQuantityTypeIdentifierInhalerUsage";
59
+ HKQuantityTypeIdentifier["insulinDelivery"] = "HKQuantityTypeIdentifierInsulinDelivery";
60
+ HKQuantityTypeIdentifier["bloodAlcoholContent"] = "HKQuantityTypeIdentifierBloodAlcoholContent";
61
+ HKQuantityTypeIdentifier["forcedVitalCapacity"] = "HKQuantityTypeIdentifierForcedVitalCapacity";
62
+ HKQuantityTypeIdentifier["forcedExpiratoryVolume1"] = "HKQuantityTypeIdentifierForcedExpiratoryVolume1";
63
+ HKQuantityTypeIdentifier["peakExpiratoryFlowRate"] = "HKQuantityTypeIdentifierPeakExpiratoryFlowRate";
64
+ HKQuantityTypeIdentifier["environmentalAudioExposure"] = "HKQuantityTypeIdentifierEnvironmentalAudioExposure";
65
+ HKQuantityTypeIdentifier["headphoneAudioExposure"] = "HKQuantityTypeIdentifierHeadphoneAudioExposure";
66
+ HKQuantityTypeIdentifier["dietaryFatTotal"] = "HKQuantityTypeIdentifierDietaryFatTotal";
67
+ HKQuantityTypeIdentifier["dietaryFatPolyunsaturated"] = "HKQuantityTypeIdentifierDietaryFatPolyunsaturated";
68
+ HKQuantityTypeIdentifier["dietaryFatMonounsaturated"] = "HKQuantityTypeIdentifierDietaryFatMonounsaturated";
69
+ HKQuantityTypeIdentifier["dietaryFatSaturated"] = "HKQuantityTypeIdentifierDietaryFatSaturated";
70
+ HKQuantityTypeIdentifier["dietaryCholesterol"] = "HKQuantityTypeIdentifierDietaryCholesterol";
71
+ HKQuantityTypeIdentifier["dietarySodium"] = "HKQuantityTypeIdentifierDietarySodium";
72
+ HKQuantityTypeIdentifier["dietaryCarbohydrates"] = "HKQuantityTypeIdentifierDietaryCarbohydrates";
73
+ HKQuantityTypeIdentifier["dietaryFiber"] = "HKQuantityTypeIdentifierDietaryFiber";
74
+ HKQuantityTypeIdentifier["dietarySugar"] = "HKQuantityTypeIdentifierDietarySugar";
75
+ HKQuantityTypeIdentifier["dietaryEnergyConsumed"] = "HKQuantityTypeIdentifierDietaryEnergyConsumed";
76
+ HKQuantityTypeIdentifier["dietaryProtein"] = "HKQuantityTypeIdentifierDietaryProtein";
77
+ HKQuantityTypeIdentifier["dietaryVitaminA"] = "HKQuantityTypeIdentifierDietaryVitaminA";
78
+ HKQuantityTypeIdentifier["dietaryVitaminB6"] = "HKQuantityTypeIdentifierDietaryVitaminB6";
79
+ HKQuantityTypeIdentifier["dietaryVitaminB12"] = "HKQuantityTypeIdentifierDietaryVitaminB12";
80
+ HKQuantityTypeIdentifier["dietaryVitaminC"] = "HKQuantityTypeIdentifierDietaryVitaminC";
81
+ HKQuantityTypeIdentifier["dietaryVitaminD"] = "HKQuantityTypeIdentifierDietaryVitaminD";
82
+ HKQuantityTypeIdentifier["dietaryVitaminE"] = "HKQuantityTypeIdentifierDietaryVitaminE";
83
+ HKQuantityTypeIdentifier["dietaryVitaminK"] = "HKQuantityTypeIdentifierDietaryVitaminK";
84
+ HKQuantityTypeIdentifier["dietaryCalcium"] = "HKQuantityTypeIdentifierDietaryCalcium";
85
+ HKQuantityTypeIdentifier["dietaryIron"] = "HKQuantityTypeIdentifierDietaryIron";
86
+ HKQuantityTypeIdentifier["dietaryThiamin"] = "HKQuantityTypeIdentifierDietaryThiamin";
87
+ HKQuantityTypeIdentifier["dietaryRiboflavin"] = "HKQuantityTypeIdentifierDietaryRiboflavin";
88
+ HKQuantityTypeIdentifier["dietaryNiacin"] = "HKQuantityTypeIdentifierDietaryNiacin";
89
+ HKQuantityTypeIdentifier["dietaryFolate"] = "HKQuantityTypeIdentifierDietaryFolate";
90
+ HKQuantityTypeIdentifier["dietaryBiotin"] = "HKQuantityTypeIdentifierDietaryBiotin";
91
+ HKQuantityTypeIdentifier["dietaryPantothenicAcid"] = "HKQuantityTypeIdentifierDietaryPantothenicAcid";
92
+ HKQuantityTypeIdentifier["dietaryPhosphorus"] = "HKQuantityTypeIdentifierDietaryPhosphorus";
93
+ HKQuantityTypeIdentifier["dietaryIodine"] = "HKQuantityTypeIdentifierDietaryIodine";
94
+ HKQuantityTypeIdentifier["dietaryMagnesium"] = "HKQuantityTypeIdentifierDietaryMagnesium";
95
+ HKQuantityTypeIdentifier["dietaryZinc"] = "HKQuantityTypeIdentifierDietaryZinc";
96
+ HKQuantityTypeIdentifier["dietarySelenium"] = "HKQuantityTypeIdentifierDietarySelenium";
97
+ HKQuantityTypeIdentifier["dietaryCopper"] = "HKQuantityTypeIdentifierDietaryCopper";
98
+ HKQuantityTypeIdentifier["dietaryManganese"] = "HKQuantityTypeIdentifierDietaryManganese";
99
+ HKQuantityTypeIdentifier["dietaryChromium"] = "HKQuantityTypeIdentifierDietaryChromium";
100
+ HKQuantityTypeIdentifier["dietaryMolybdenum"] = "HKQuantityTypeIdentifierDietaryMolybdenum";
101
+ HKQuantityTypeIdentifier["dietaryChloride"] = "HKQuantityTypeIdentifierDietaryChloride";
102
+ HKQuantityTypeIdentifier["dietaryPotassium"] = "HKQuantityTypeIdentifierDietaryPotassium";
103
+ HKQuantityTypeIdentifier["dietaryCaffeine"] = "HKQuantityTypeIdentifierDietaryCaffeine";
104
+ HKQuantityTypeIdentifier["dietaryWater"] = "HKQuantityTypeIdentifierDietaryWater";
105
+ HKQuantityTypeIdentifier["sixMinuteWalkTestDistance"] = "HKQuantityTypeIdentifierSixMinuteWalkTestDistance";
106
+ HKQuantityTypeIdentifier["walkingSpeed"] = "HKQuantityTypeIdentifierWalkingSpeed";
107
+ HKQuantityTypeIdentifier["walkingStepLength"] = "HKQuantityTypeIdentifierWalkingStepLength";
108
+ HKQuantityTypeIdentifier["walkingAsymmetryPercentage"] = "HKQuantityTypeIdentifierWalkingAsymmetryPercentage";
109
+ HKQuantityTypeIdentifier["walkingDoubleSupportPercentage"] = "HKQuantityTypeIdentifierWalkingDoubleSupportPercentage";
110
+ HKQuantityTypeIdentifier["stairAscentSpeed"] = "HKQuantityTypeIdentifierStairAscentSpeed";
111
+ HKQuantityTypeIdentifier["stairDescentSpeed"] = "HKQuantityTypeIdentifierStairDescentSpeed";
112
+ HKQuantityTypeIdentifier["uvExposure"] = "HKQuantityTypeIdentifierUvExposure";
113
+ })(HKQuantityTypeIdentifier || (exports.HKQuantityTypeIdentifier = HKQuantityTypeIdentifier = {}));
114
+
18
115
  let HKHeartRateMotionContext;
19
116
  exports.HKHeartRateMotionContext = HKHeartRateMotionContext;
20
117
 
@@ -24,6 +121,14 @@ exports.HKHeartRateMotionContext = HKHeartRateMotionContext;
24
121
  HKHeartRateMotionContext[HKHeartRateMotionContext["sedentary"] = 1] = "sedentary";
25
122
  })(HKHeartRateMotionContext || (exports.HKHeartRateMotionContext = HKHeartRateMotionContext = {}));
26
123
 
124
+ let HKCorrelationTypeIdentifier;
125
+ exports.HKCorrelationTypeIdentifier = HKCorrelationTypeIdentifier;
126
+
127
+ (function (HKCorrelationTypeIdentifier) {
128
+ HKCorrelationTypeIdentifier["bloodPressure"] = "HKCorrelationTypeIdentifierBloodPressure";
129
+ HKCorrelationTypeIdentifier["food"] = "HKCorrelationTypeIdentifierFood";
130
+ })(HKCorrelationTypeIdentifier || (exports.HKCorrelationTypeIdentifier = HKCorrelationTypeIdentifier = {}));
131
+
27
132
  let HKCategoryTypeIdentifier;
28
133
  exports.HKCategoryTypeIdentifier = HKCategoryTypeIdentifier;
29
134
 
@@ -169,102 +274,12 @@ exports.HKWeatherCondition = HKWeatherCondition;
169
274
  HKWeatherCondition[HKWeatherCondition["tornado"] = 27] = "tornado";
170
275
  })(HKWeatherCondition || (exports.HKWeatherCondition = HKWeatherCondition = {}));
171
276
 
172
- // Straight mapping to https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier
173
- let HKQuantityTypeIdentifier;
174
- exports.HKQuantityTypeIdentifier = HKQuantityTypeIdentifier;
277
+ var HKIndoorWorkout;
175
278
 
176
- (function (HKQuantityTypeIdentifier) {
177
- HKQuantityTypeIdentifier["bodyMassIndex"] = "HKQuantityTypeIdentifierBodyMassIndex";
178
- HKQuantityTypeIdentifier["bodyFatPercentage"] = "HKQuantityTypeIdentifierBodyFatPercentage";
179
- HKQuantityTypeIdentifier["height"] = "HKQuantityTypeIdentifierHeight";
180
- HKQuantityTypeIdentifier["bodyMass"] = "HKQuantityTypeIdentifierBodyMass";
181
- HKQuantityTypeIdentifier["leanBodyMass"] = "HKQuantityTypeIdentifierLeanBodyMass";
182
- HKQuantityTypeIdentifier["waistCircumference"] = "HKQuantityTypeIdentifierWaistCircumference";
183
- HKQuantityTypeIdentifier["stepCount"] = "HKQuantityTypeIdentifierStepCount";
184
- HKQuantityTypeIdentifier["distanceWalkingRunning"] = "HKQuantityTypeIdentifierDistanceWalkingRunning";
185
- HKQuantityTypeIdentifier["distanceCycling"] = "HKQuantityTypeIdentifierDistanceCycling";
186
- HKQuantityTypeIdentifier["distanceWheelchair"] = "HKQuantityTypeIdentifierDistanceWheelchair";
187
- HKQuantityTypeIdentifier["basalEnergyBurned"] = "HKQuantityTypeIdentifierBasalEnergyBurned";
188
- HKQuantityTypeIdentifier["activeEnergyBurned"] = "HKQuantityTypeIdentifierActiveEnergyBurned";
189
- HKQuantityTypeIdentifier["flightsClimbed"] = "HKQuantityTypeIdentifierFlightsClimbed";
190
- HKQuantityTypeIdentifier["nikeFuel"] = "HKQuantityTypeIdentifierNikeFuel";
191
- HKQuantityTypeIdentifier["appleExerciseTime"] = "HKQuantityTypeIdentifierAppleExerciseTime";
192
- HKQuantityTypeIdentifier["pushCount"] = "HKQuantityTypeIdentifierPushCount";
193
- HKQuantityTypeIdentifier["distanceSwimming"] = "HKQuantityTypeIdentifierDistanceSwimming";
194
- HKQuantityTypeIdentifier["swimmingStrokeCount"] = "HKQuantityTypeIdentifierSwimmingStrokeCount";
195
- HKQuantityTypeIdentifier["vo2Max"] = "HKQuantityTypeIdentifierVo2Max";
196
- HKQuantityTypeIdentifier["distanceDownhillSnowSports"] = "HKQuantityTypeIdentifierDistanceDownhillSnowSports";
197
- HKQuantityTypeIdentifier["appleStandTime"] = "HKQuantityTypeIdentifierAppleStandTime";
198
- HKQuantityTypeIdentifier["heartRate"] = "HKQuantityTypeIdentifierHeartRate";
199
- HKQuantityTypeIdentifier["bodyTemperature"] = "HKQuantityTypeIdentifierBodyTemperature";
200
- HKQuantityTypeIdentifier["basalBodyTemperature"] = "HKQuantityTypeIdentifierBasalBodyTemperature";
201
- HKQuantityTypeIdentifier["bloodPressureSystolic"] = "HKQuantityTypeIdentifierBloodPressureSystolic";
202
- HKQuantityTypeIdentifier["bloodPressureDiastolic"] = "HKQuantityTypeIdentifierBloodPressureDiastolic";
203
- HKQuantityTypeIdentifier["respiratoryRate"] = "HKQuantityTypeIdentifierRespiratoryRate";
204
- HKQuantityTypeIdentifier["restingHeartRate"] = "HKQuantityTypeIdentifierRestingHeartRate";
205
- HKQuantityTypeIdentifier["walkingHeartRateAverage"] = "HKQuantityTypeIdentifierWalkingHeartRateAverage";
206
- HKQuantityTypeIdentifier["heartRateVariabilitySDNN"] = "HKQuantityTypeIdentifierHeartRateVariabilitySDNN";
207
- HKQuantityTypeIdentifier["oxygenSaturation"] = "HKQuantityTypeIdentifierOxygenSaturation";
208
- HKQuantityTypeIdentifier["peripheralPerfusionIndex"] = "HKQuantityTypeIdentifierPeripheralPerfusionIndex";
209
- HKQuantityTypeIdentifier["bloodGlucose"] = "HKQuantityTypeIdentifierBloodGlucose";
210
- HKQuantityTypeIdentifier["numberOfTimesFallen"] = "HKQuantityTypeIdentifierNumberOfTimesFallen";
211
- HKQuantityTypeIdentifier["electrodermalActivity"] = "HKQuantityTypeIdentifierElectrodermalActivity";
212
- HKQuantityTypeIdentifier["inhalerUsage"] = "HKQuantityTypeIdentifierInhalerUsage";
213
- HKQuantityTypeIdentifier["insulinDelivery"] = "HKQuantityTypeIdentifierInsulinDelivery";
214
- HKQuantityTypeIdentifier["bloodAlcoholContent"] = "HKQuantityTypeIdentifierBloodAlcoholContent";
215
- HKQuantityTypeIdentifier["forcedVitalCapacity"] = "HKQuantityTypeIdentifierForcedVitalCapacity";
216
- HKQuantityTypeIdentifier["forcedExpiratoryVolume1"] = "HKQuantityTypeIdentifierForcedExpiratoryVolume1";
217
- HKQuantityTypeIdentifier["peakExpiratoryFlowRate"] = "HKQuantityTypeIdentifierPeakExpiratoryFlowRate";
218
- HKQuantityTypeIdentifier["environmentalAudioExposure"] = "HKQuantityTypeIdentifierEnvironmentalAudioExposure";
219
- HKQuantityTypeIdentifier["headphoneAudioExposure"] = "HKQuantityTypeIdentifierHeadphoneAudioExposure";
220
- HKQuantityTypeIdentifier["dietaryFatTotal"] = "HKQuantityTypeIdentifierDietaryFatTotal";
221
- HKQuantityTypeIdentifier["dietaryFatPolyunsaturated"] = "HKQuantityTypeIdentifierDietaryFatPolyunsaturated";
222
- HKQuantityTypeIdentifier["dietaryFatMonounsaturated"] = "HKQuantityTypeIdentifierDietaryFatMonounsaturated";
223
- HKQuantityTypeIdentifier["dietaryFatSaturated"] = "HKQuantityTypeIdentifierDietaryFatSaturated";
224
- HKQuantityTypeIdentifier["dietaryCholesterol"] = "HKQuantityTypeIdentifierDietaryCholesterol";
225
- HKQuantityTypeIdentifier["dietarySodium"] = "HKQuantityTypeIdentifierDietarySodium";
226
- HKQuantityTypeIdentifier["dietaryCarbohydrates"] = "HKQuantityTypeIdentifierDietaryCarbohydrates";
227
- HKQuantityTypeIdentifier["dietaryFiber"] = "HKQuantityTypeIdentifierDietaryFiber";
228
- HKQuantityTypeIdentifier["dietarySugar"] = "HKQuantityTypeIdentifierDietarySugar";
229
- HKQuantityTypeIdentifier["dietaryEnergyConsumed"] = "HKQuantityTypeIdentifierDietaryEnergyConsumed";
230
- HKQuantityTypeIdentifier["dietaryProtein"] = "HKQuantityTypeIdentifierDietaryProtein";
231
- HKQuantityTypeIdentifier["dietaryVitaminA"] = "HKQuantityTypeIdentifierDietaryVitaminA";
232
- HKQuantityTypeIdentifier["dietaryVitaminB6"] = "HKQuantityTypeIdentifierDietaryVitaminB6";
233
- HKQuantityTypeIdentifier["dietaryVitaminB12"] = "HKQuantityTypeIdentifierDietaryVitaminB12";
234
- HKQuantityTypeIdentifier["dietaryVitaminC"] = "HKQuantityTypeIdentifierDietaryVitaminC";
235
- HKQuantityTypeIdentifier["dietaryVitaminD"] = "HKQuantityTypeIdentifierDietaryVitaminD";
236
- HKQuantityTypeIdentifier["dietaryVitaminE"] = "HKQuantityTypeIdentifierDietaryVitaminE";
237
- HKQuantityTypeIdentifier["dietaryVitaminK"] = "HKQuantityTypeIdentifierDietaryVitaminK";
238
- HKQuantityTypeIdentifier["dietaryCalcium"] = "HKQuantityTypeIdentifierDietaryCalcium";
239
- HKQuantityTypeIdentifier["dietaryIron"] = "HKQuantityTypeIdentifierDietaryIron";
240
- HKQuantityTypeIdentifier["dietaryThiamin"] = "HKQuantityTypeIdentifierDietaryThiamin";
241
- HKQuantityTypeIdentifier["dietaryRiboflavin"] = "HKQuantityTypeIdentifierDietaryRiboflavin";
242
- HKQuantityTypeIdentifier["dietaryNiacin"] = "HKQuantityTypeIdentifierDietaryNiacin";
243
- HKQuantityTypeIdentifier["dietaryFolate"] = "HKQuantityTypeIdentifierDietaryFolate";
244
- HKQuantityTypeIdentifier["dietaryBiotin"] = "HKQuantityTypeIdentifierDietaryBiotin";
245
- HKQuantityTypeIdentifier["dietaryPantothenicAcid"] = "HKQuantityTypeIdentifierDietaryPantothenicAcid";
246
- HKQuantityTypeIdentifier["dietaryPhosphorus"] = "HKQuantityTypeIdentifierDietaryPhosphorus";
247
- HKQuantityTypeIdentifier["dietaryIodine"] = "HKQuantityTypeIdentifierDietaryIodine";
248
- HKQuantityTypeIdentifier["dietaryMagnesium"] = "HKQuantityTypeIdentifierDietaryMagnesium";
249
- HKQuantityTypeIdentifier["dietaryZinc"] = "HKQuantityTypeIdentifierDietaryZinc";
250
- HKQuantityTypeIdentifier["dietarySelenium"] = "HKQuantityTypeIdentifierDietarySelenium";
251
- HKQuantityTypeIdentifier["dietaryCopper"] = "HKQuantityTypeIdentifierDietaryCopper";
252
- HKQuantityTypeIdentifier["dietaryManganese"] = "HKQuantityTypeIdentifierDietaryManganese";
253
- HKQuantityTypeIdentifier["dietaryChromium"] = "HKQuantityTypeIdentifierDietaryChromium";
254
- HKQuantityTypeIdentifier["dietaryMolybdenum"] = "HKQuantityTypeIdentifierDietaryMolybdenum";
255
- HKQuantityTypeIdentifier["dietaryChloride"] = "HKQuantityTypeIdentifierDietaryChloride";
256
- HKQuantityTypeIdentifier["dietaryPotassium"] = "HKQuantityTypeIdentifierDietaryPotassium";
257
- HKQuantityTypeIdentifier["dietaryCaffeine"] = "HKQuantityTypeIdentifierDietaryCaffeine";
258
- HKQuantityTypeIdentifier["dietaryWater"] = "HKQuantityTypeIdentifierDietaryWater";
259
- HKQuantityTypeIdentifier["sixMinuteWalkTestDistance"] = "HKQuantityTypeIdentifierSixMinuteWalkTestDistance";
260
- HKQuantityTypeIdentifier["walkingSpeed"] = "HKQuantityTypeIdentifierWalkingSpeed";
261
- HKQuantityTypeIdentifier["walkingStepLength"] = "HKQuantityTypeIdentifierWalkingStepLength";
262
- HKQuantityTypeIdentifier["walkingAsymmetryPercentage"] = "HKQuantityTypeIdentifierWalkingAsymmetryPercentage";
263
- HKQuantityTypeIdentifier["walkingDoubleSupportPercentage"] = "HKQuantityTypeIdentifierWalkingDoubleSupportPercentage";
264
- HKQuantityTypeIdentifier["stairAscentSpeed"] = "HKQuantityTypeIdentifierStairAscentSpeed";
265
- HKQuantityTypeIdentifier["stairDescentSpeed"] = "HKQuantityTypeIdentifierStairDescentSpeed";
266
- HKQuantityTypeIdentifier["uvExposure"] = "HKQuantityTypeIdentifierUvExposure";
267
- })(HKQuantityTypeIdentifier || (exports.HKQuantityTypeIdentifier = HKQuantityTypeIdentifier = {}));
279
+ (function (HKIndoorWorkout) {
280
+ HKIndoorWorkout[HKIndoorWorkout["false"] = 0] = "false";
281
+ HKIndoorWorkout[HKIndoorWorkout["true"] = 1] = "true";
282
+ })(HKIndoorWorkout || (HKIndoorWorkout = {}));
268
283
 
269
284
  let HKAuthorizationRequestStatus;
270
285
  exports.HKAuthorizationRequestStatus = HKAuthorizationRequestStatus;
@@ -522,14 +537,6 @@ exports.HKCharacteristicTypeIdentifier = HKCharacteristicTypeIdentifier;
522
537
  HKCharacteristicTypeIdentifier["wheelchairUse"] = "HKCharacteristicTypeIdentifierWheelchairUse";
523
538
  })(HKCharacteristicTypeIdentifier || (exports.HKCharacteristicTypeIdentifier = HKCharacteristicTypeIdentifier = {}));
524
539
 
525
- let HKCorrelationTypeIdentifier;
526
- exports.HKCorrelationTypeIdentifier = HKCorrelationTypeIdentifier;
527
-
528
- (function (HKCorrelationTypeIdentifier) {
529
- HKCorrelationTypeIdentifier["bloodPressure"] = "HKCorrelationTypeIdentifierBloodPressure";
530
- HKCorrelationTypeIdentifier["food"] = "HKCorrelationTypeIdentifierFood";
531
- })(HKCorrelationTypeIdentifier || (exports.HKCorrelationTypeIdentifier = HKCorrelationTypeIdentifier = {}));
532
-
533
540
  let HKUpdateFrequency;
534
541
  exports.HKUpdateFrequency = HKUpdateFrequency;
535
542