UNPKG

@kingstinct/react-native-healthkit

Version:
487 lines (484 loc) 22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { authorizationStatusFor: true, availableQuantityTypes: true, disableAllBackgroundDelivery: true, disableBackgroundDelivery: true, enableBackgroundDelivery: true, getBiologicalSex: true, getBloodType: true, getFitzpatrickSkinType: true, getWheelchairUse: true, getWorkoutRoutes: true, isHealthDataAvailable: true, queryWorkouts: true, isProtectedDataAvailable: true, useHealthkitAuthorization: true, useIsHealthDataAvailable: true, useMostRecentCategorySample: true, useMostRecentQuantitySample: true, useMostRecentWorkout: true, useSources: true, useStatisticsForQuantity: true, useSubscribeToChanges: true, deleteQuantitySample: true, deleteSamples: true, getDateOfBirth: true, getMostRecentCategorySample: true, getMostRecentQuantitySample: true, getMostRecentWorkout: true, getPreferredUnit: true, getPreferredUnits: true, getRequestStatusForAuthorization: true, getWorkoutPlanById: true, queryCategorySamples: true, queryCategorySamplesWithAnchor: true, queryCorrelationSamples: true, queryHeartbeatSeriesSamples: true, queryHeartbeatSeriesSamplesWithAnchor: true, queryQuantitySamples: true, queryQuantitySamplesWithAnchor: true, querySources: true, queryStatisticsForQuantity: true, queryWorkoutSamples: true, queryWorkoutSamplesWithAnchor: true, requestAuthorization: true, saveCategorySample: true, saveCorrelationSample: true, saveQuantitySample: true, saveWorkoutRoute: true, saveWorkoutSample: true, subscribeToChanges: true }; exports.default = exports.availableQuantityTypes = exports.authorizationStatusFor = void 0; Object.defineProperty(exports, "deleteQuantitySample", { enumerable: true, get: function () { return _deleteQuantitySample.default; } }); Object.defineProperty(exports, "deleteSamples", { enumerable: true, get: function () { return _deleteSamples.default; } }); exports.getBloodType = exports.getBiologicalSex = exports.enableBackgroundDelivery = exports.disableBackgroundDelivery = exports.disableAllBackgroundDelivery = void 0; Object.defineProperty(exports, "getDateOfBirth", { enumerable: true, get: function () { return _getDateOfBirth.default; } }); exports.getFitzpatrickSkinType = void 0; Object.defineProperty(exports, "getMostRecentCategorySample", { enumerable: true, get: function () { return _getMostRecentCategorySample.default; } }); Object.defineProperty(exports, "getMostRecentQuantitySample", { enumerable: true, get: function () { return _getMostRecentQuantitySample.default; } }); Object.defineProperty(exports, "getMostRecentWorkout", { enumerable: true, get: function () { return _getMostRecentWorkout.default; } }); Object.defineProperty(exports, "getPreferredUnit", { enumerable: true, get: function () { return _getPreferredUnit.default; } }); Object.defineProperty(exports, "getPreferredUnits", { enumerable: true, get: function () { return _getPreferredUnits.default; } }); Object.defineProperty(exports, "getRequestStatusForAuthorization", { enumerable: true, get: function () { return _getRequestStatusForAuthorization.default; } }); exports.getWheelchairUse = void 0; Object.defineProperty(exports, "getWorkoutPlanById", { enumerable: true, get: function () { return _getWorkoutPlanById.default; } }); exports.isProtectedDataAvailable = exports.isHealthDataAvailable = exports.getWorkoutRoutes = void 0; Object.defineProperty(exports, "queryCategorySamples", { enumerable: true, get: function () { return _queryCategorySamples.default; } }); Object.defineProperty(exports, "queryCategorySamplesWithAnchor", { enumerable: true, get: function () { return _queryCategorySamplesWithAnchor.default; } }); Object.defineProperty(exports, "queryCorrelationSamples", { enumerable: true, get: function () { return _queryCorrelationSamples.default; } }); Object.defineProperty(exports, "queryHeartbeatSeriesSamples", { enumerable: true, get: function () { return _queryHeartbeatSeriesSamples.default; } }); Object.defineProperty(exports, "queryHeartbeatSeriesSamplesWithAnchor", { enumerable: true, get: function () { return _queryHeartbeatSeriesSamplesWithAnchor.default; } }); Object.defineProperty(exports, "queryQuantitySamples", { enumerable: true, get: function () { return _queryQuantitySamples.default; } }); Object.defineProperty(exports, "queryQuantitySamplesWithAnchor", { enumerable: true, get: function () { return _queryQuantitySamplesWithAnchor.default; } }); Object.defineProperty(exports, "querySources", { enumerable: true, get: function () { return _querySources.default; } }); Object.defineProperty(exports, "queryStatisticsForQuantity", { enumerable: true, get: function () { return _queryStatisticsForQuantity.default; } }); Object.defineProperty(exports, "queryWorkoutSamples", { enumerable: true, get: function () { return _queryWorkouts.default; } }); Object.defineProperty(exports, "queryWorkoutSamplesWithAnchor", { enumerable: true, get: function () { return _queryWorkoutSamplesWithAnchor.default; } }); exports.queryWorkouts = void 0; Object.defineProperty(exports, "requestAuthorization", { enumerable: true, get: function () { return _requestAuthorization.default; } }); Object.defineProperty(exports, "saveCategorySample", { enumerable: true, get: function () { return _saveCategorySample.default; } }); Object.defineProperty(exports, "saveCorrelationSample", { enumerable: true, get: function () { return _saveCorrelationSample.default; } }); Object.defineProperty(exports, "saveQuantitySample", { enumerable: true, get: function () { return _saveQuantitySample.default; } }); Object.defineProperty(exports, "saveWorkoutRoute", { enumerable: true, get: function () { return _saveWorkoutRoute.default; } }); Object.defineProperty(exports, "saveWorkoutSample", { enumerable: true, get: function () { return _saveWorkoutSample.default; } }); Object.defineProperty(exports, "subscribeToChanges", { enumerable: true, get: function () { return _subscribeToChanges.default; } }); Object.defineProperty(exports, "useHealthkitAuthorization", { enumerable: true, get: function () { return _useHealthkitAuthorization.default; } }); Object.defineProperty(exports, "useIsHealthDataAvailable", { enumerable: true, get: function () { return _useIsHealthDataAvailable.default; } }); Object.defineProperty(exports, "useMostRecentCategorySample", { enumerable: true, get: function () { return _useMostRecentCategorySample.default; } }); Object.defineProperty(exports, "useMostRecentQuantitySample", { enumerable: true, get: function () { return _useMostRecentQuantitySample.default; } }); Object.defineProperty(exports, "useMostRecentWorkout", { enumerable: true, get: function () { return _useMostRecentWorkout.default; } }); Object.defineProperty(exports, "useSources", { enumerable: true, get: function () { return _useSources.default; } }); Object.defineProperty(exports, "useStatisticsForQuantity", { enumerable: true, get: function () { return _useStatisticsForQuantity.default; } }); Object.defineProperty(exports, "useSubscribeToChanges", { enumerable: true, get: function () { return _useSubscribeToChanges.default; } }); var _reactNative = require("react-native"); var _useHealthkitAuthorization = _interopRequireDefault(require("./hooks/useHealthkitAuthorization")); var _useIsHealthDataAvailable = _interopRequireDefault(require("./hooks/useIsHealthDataAvailable")); var _useMostRecentCategorySample = _interopRequireDefault(require("./hooks/useMostRecentCategorySample")); var _useMostRecentQuantitySample = _interopRequireDefault(require("./hooks/useMostRecentQuantitySample")); var _useMostRecentWorkout = _interopRequireDefault(require("./hooks/useMostRecentWorkout")); var _useSources = _interopRequireDefault(require("./hooks/useSources")); var _useStatisticsForQuantity = _interopRequireDefault(require("./hooks/useStatisticsForQuantity")); var _useSubscribeToChanges = _interopRequireDefault(require("./hooks/useSubscribeToChanges")); var _nativeTypes = _interopRequireWildcard(require("./native-types")); var _deleteQuantitySample = _interopRequireDefault(require("./utils/deleteQuantitySample")); var _deleteSamples = _interopRequireDefault(require("./utils/deleteSamples")); var _getDateOfBirth = _interopRequireDefault(require("./utils/getDateOfBirth")); var _getMostRecentCategorySample = _interopRequireDefault(require("./utils/getMostRecentCategorySample")); var _getMostRecentQuantitySample = _interopRequireDefault(require("./utils/getMostRecentQuantitySample")); var _getMostRecentWorkout = _interopRequireDefault(require("./utils/getMostRecentWorkout")); var _getPreferredUnit = _interopRequireDefault(require("./utils/getPreferredUnit")); var _getPreferredUnits = _interopRequireDefault(require("./utils/getPreferredUnits")); var _getRequestStatusForAuthorization = _interopRequireDefault(require("./utils/getRequestStatusForAuthorization")); var _getWorkoutPlanById = _interopRequireDefault(require("./utils/getWorkoutPlanById")); var _queryCategorySamples = _interopRequireDefault(require("./utils/queryCategorySamples")); var _queryCategorySamplesWithAnchor = _interopRequireDefault(require("./utils/queryCategorySamplesWithAnchor")); var _queryCorrelationSamples = _interopRequireDefault(require("./utils/queryCorrelationSamples")); var _queryHeartbeatSeriesSamples = _interopRequireDefault(require("./utils/queryHeartbeatSeriesSamples")); var _queryHeartbeatSeriesSamplesWithAnchor = _interopRequireDefault(require("./utils/queryHeartbeatSeriesSamplesWithAnchor")); var _queryQuantitySamples = _interopRequireDefault(require("./utils/queryQuantitySamples")); var _queryQuantitySamplesWithAnchor = _interopRequireDefault(require("./utils/queryQuantitySamplesWithAnchor")); var _querySources = _interopRequireDefault(require("./utils/querySources")); var _queryStatisticsForQuantity = _interopRequireDefault(require("./utils/queryStatisticsForQuantity")); var _queryWorkouts = _interopRequireDefault(require("./utils/queryWorkouts")); var _queryWorkoutSamplesWithAnchor = _interopRequireDefault(require("./utils/queryWorkoutSamplesWithAnchor")); var _requestAuthorization = _interopRequireDefault(require("./utils/requestAuthorization")); var _saveCategorySample = _interopRequireDefault(require("./utils/saveCategorySample")); var _saveCorrelationSample = _interopRequireDefault(require("./utils/saveCorrelationSample")); var _saveQuantitySample = _interopRequireDefault(require("./utils/saveQuantitySample")); var _saveWorkoutRoute = _interopRequireDefault(require("./utils/saveWorkoutRoute")); var _saveWorkoutSample = _interopRequireDefault(require("./utils/saveWorkoutSample")); var _subscribeToChanges = _interopRequireDefault(require("./utils/subscribeToChanges")); var _types = require("./types"); Object.keys(_types).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _types[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _types[key]; } }); }); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const currentMajorVersionIOS = _reactNative.Platform.OS === 'ios' ? parseInt(_reactNative.Platform.Version, 10) : 0; const allQuantityTypesList = [...Object.values(_nativeTypes.HKQuantityTypeIdentifier)]; const availableQuantityTypes = (majorVersionIOS = currentMajorVersionIOS) => { if (majorVersionIOS >= 17) { return allQuantityTypesList; } // remove types that are not available before iOS 17 return allQuantityTypesList.filter(type => ![_nativeTypes.HKQuantityTypeIdentifier.cyclingCadence, _nativeTypes.HKQuantityTypeIdentifier.cyclingFunctionalThresholdPower, _nativeTypes.HKQuantityTypeIdentifier.cyclingPower, _nativeTypes.HKQuantityTypeIdentifier.cyclingSpeed, _nativeTypes.HKQuantityTypeIdentifier.physicalEffort, _nativeTypes.HKQuantityTypeIdentifier.timeInDaylight].includes(type)); }; exports.availableQuantityTypes = availableQuantityTypes; const authorizationStatusFor = exports.authorizationStatusFor = _nativeTypes.default.authorizationStatusFor.bind(_nativeTypes.default); const isHealthDataAvailable = exports.isHealthDataAvailable = _nativeTypes.default.isHealthDataAvailable.bind(_nativeTypes.default); const isProtectedDataAvailable = exports.isProtectedDataAvailable = _nativeTypes.default.isProtectedDataAvailable.bind(_nativeTypes.default); const disableBackgroundDelivery = exports.disableBackgroundDelivery = _nativeTypes.default.disableBackgroundDelivery.bind(_nativeTypes.default); const disableAllBackgroundDelivery = exports.disableAllBackgroundDelivery = _nativeTypes.default.disableAllBackgroundDelivery.bind(_nativeTypes.default); const enableBackgroundDelivery = exports.enableBackgroundDelivery = _nativeTypes.default.enableBackgroundDelivery.bind(_nativeTypes.default); const getBiologicalSex = exports.getBiologicalSex = _nativeTypes.default.getBiologicalSex.bind(_nativeTypes.default); const getFitzpatrickSkinType = exports.getFitzpatrickSkinType = _nativeTypes.default.getFitzpatrickSkinType.bind(_nativeTypes.default); const getWheelchairUse = exports.getWheelchairUse = _nativeTypes.default.getWheelchairUse.bind(_nativeTypes.default); const getBloodType = exports.getBloodType = _nativeTypes.default.getBloodType.bind(_nativeTypes.default); const getWorkoutRoutes = exports.getWorkoutRoutes = _nativeTypes.default.getWorkoutRoutes.bind(_nativeTypes.default); /** * @see {@link https://developer.apple.com/documentation/healthkit/about_the_healthkit_framework About the HealthKit Framework (Apple Docs)} */ var _default = exports.default = { /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614154-authorizationstatus authorizationStatus(for:) (Apple Docs) } * @see {@link https://developer.apple.com/documentation/healthkit/authorizing_access_to_health_data Authorizing access to health data (Apple Docs) } */ authorizationStatusFor, /** * * @returns All available quantity types for the current iOS version (currently excluding types that are not available before iOS 17) */ availableQuantityTypes, /** * @description By default, HealthKit data is available on iOS and watchOS. HealthKit data is also available on iPadOS 17 or later. However, devices running in an enterprise environment may restrict access to HealthKit data. * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614180-ishealthdataavailable isHealthDataAvailable() (Apple Docs)} * @returns {boolean} true if HealthKit is available; otherwise, false. */ isHealthDataAvailable, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614181-isprotecteddataavailable isProtectedDataAvailable() (Apple Docs)} * @see {@link https://developer.apple.com/documentation/healthkit/protecting_user_privacy#3705074 Protecting User Privacy - Access encrypted data (Apple Docs)} * @returns {boolean} A Boolean value that indicates whether content protection is active. */ isProtectedDataAvailable, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614158-disableallbackgrounddelivery disableAllBackgroundDelivery(completion:) (Apple Docs)} */ disableAllBackgroundDelivery, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614177-disablebackgrounddelivery disableBackgroundDelivery(for:withCompletion:) (Apple Docs)} */ disableBackgroundDelivery, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614175-enablebackgrounddelivery enableBackgroundDelivery(for:frequency:withCompletion:) (Apple Docs)} */ enableBackgroundDelivery, // simple convenience getters /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614171-biologicalsex biologicalSex() (Apple Docs)} */ getBiologicalSex, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614161-fitzpatrickskintype fitzpatrickSkinType() (Apple Docs)} */ getFitzpatrickSkinType, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1648356-wheelchairuse wheelchairUse() (Apple Docs)} */ getWheelchairUse, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614164-bloodtype bloodType() (Apple Docs)} */ getBloodType, /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1648357-dateofbirthcomponents dateOfBirthComponents() (Apple Docs)} */ getDateOfBirth: _getDateOfBirth.default, getMostRecentQuantitySample: _getMostRecentQuantitySample.default, getMostRecentCategorySample: _getMostRecentCategorySample.default, getMostRecentWorkout: _getMostRecentWorkout.default, /** * @see {@link https://developer.apple.com/documentation/healthkit/workouts_and_activity_rings/reading_route_data Reading route data (Apple Docs)} * @see {@link https://developer.apple.com/documentation/healthkit/hkworkoutroutequery HKWorkoutRouteQuery (Apple Docs)} */ getWorkoutRoutes, getWorkoutPlanById: _getWorkoutPlanById.default, getPreferredUnit: _getPreferredUnit.default, getPreferredUnits: _getPreferredUnits.default, getRequestStatusForAuthorization: _getRequestStatusForAuthorization.default, // query methods queryCategorySamples: _queryCategorySamples.default, queryCategorySamplesWithAnchor: _queryCategorySamplesWithAnchor.default, queryCorrelationSamples: _queryCorrelationSamples.default, queryHeartbeatSeriesSamples: _queryHeartbeatSeriesSamples.default, queryHeartbeatSeriesSamplesWithAnchor: _queryHeartbeatSeriesSamplesWithAnchor.default, queryQuantitySamples: _queryQuantitySamples.default, queryQuantitySamplesWithAnchor: _queryQuantitySamplesWithAnchor.default, queryStatisticsForQuantity: _queryStatisticsForQuantity.default, /** * @deprecated Use queryWorkoutSamples instead */ queryWorkouts: _queryWorkouts.default, queryWorkoutSamples: _queryWorkouts.default, queryWorkoutSamplesWithAnchor: _queryWorkoutSamplesWithAnchor.default, querySources: _querySources.default, requestAuthorization: _requestAuthorization.default, // delete methods deleteQuantitySample: _deleteQuantitySample.default, deleteSamples: _deleteSamples.default, // save methods /** * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614168-savecategorysample save(_:withCompletion:) (Apple Docs)} * @see {@link https://developer.apple.com/documentation/healthkit/saving_data_to_healthkit Saving data to HealthKit (Apple Docs)} */ saveCategorySample: _saveCategorySample.default, saveCorrelationSample: _saveCorrelationSample.default, saveQuantitySample: _saveQuantitySample.default, saveWorkoutSample: _saveWorkoutSample.default, saveWorkoutRoute: _saveWorkoutRoute.default, // subscriptions subscribeToChanges: _subscribeToChanges.default, /** * @returns the most recent sample for the given category type. */ useMostRecentCategorySample: _useMostRecentCategorySample.default, /** * @returns the most recent sample for the given quantity type. */ useMostRecentQuantitySample: _useMostRecentQuantitySample.default, /** * @returns the most recent workout sample. */ useMostRecentWorkout: _useMostRecentWorkout.default, useSubscribeToChanges: _useSubscribeToChanges.default, /** * @description By default, HealthKit data is available on iOS and watchOS. HealthKit data is also available on iPadOS 17 or later. However, devices running in an enterprise environment may restrict access to HealthKit data. * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614180-ishealthdataavailable Apple Docs} * @returns {boolean | null} true if HealthKit is available; otherwise, false. null while initializing. */ useIsHealthDataAvailable: _useIsHealthDataAvailable.default, /** * @description Hook to retrieve the current authorization status for the given types, and request authorization if needed. * @see {@link https://developer.apple.com/documentation/healthkit/hkhealthstore/1614152-requestauthorization Apple Docs - requestAuthorization} * @see {@link https://developer.apple.com/documentation/healthkit/authorizing_access_to_health_data Apple Docs - Authorizing access to health data} */ useHealthkitAuthorization: _useHealthkitAuthorization.default, useSources: _useSources.default, useStatisticsForQuantity: _useStatisticsForQuantity.default }; const queryWorkouts = exports.queryWorkouts = _queryWorkouts.default; //# sourceMappingURL=index.ios.js.map