@kingstinct/react-native-healthkit
Version:
React Native bindings for HealthKit
25 lines (24 loc) • 973 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useMostRecentWorkout = useMostRecentWorkout;
const react_1 = require("react");
const getMostRecentWorkout_1 = __importDefault(require("../utils/getMostRecentWorkout"));
const useSubscribeToChanges_1 = __importDefault(require("./useSubscribeToChanges"));
/**
* @returns the most recent workout sample.
*/
function useMostRecentWorkout() {
const [workout, setWorkout] = (0, react_1.useState)();
const update = (0, react_1.useCallback)(async () => {
setWorkout(await (0, getMostRecentWorkout_1.default)());
}, []);
(0, react_1.useEffect)(() => {
void update();
}, [update]);
(0, useSubscribeToChanges_1.default)('HKWorkoutTypeIdentifier', update);
return workout;
}
exports.default = useMostRecentWorkout;