UNPKG

@kingstinct/react-native-healthkit

Version:
30 lines 1.23 kB
import { useEffect, useState } from 'react'; import ensureUnit from '../utils/ensureUnit'; import getMostRecentQuantitySample from '../utils/getMostRecentQuantitySample'; import subscribeToChanges from '../utils/subscribeToChanges'; /** * @returns the most recent sample for the given quantity type. */ function useMostRecentQuantitySample(identifier, unit) { const [lastSample, setLastSample] = useState(null); useEffect(() => { let cancelSubscription; const init = async () => { const actualUnit = await ensureUnit(identifier, unit); const value = await getMostRecentQuantitySample(identifier, actualUnit); setLastSample(value); cancelSubscription = await subscribeToChanges(identifier, async () => { const value = await getMostRecentQuantitySample(identifier, actualUnit); setLastSample(value); }); }; void init(); return () => { var _cancelSubscription; void ((_cancelSubscription = cancelSubscription) === null || _cancelSubscription === void 0 ? void 0 : _cancelSubscription()); }; }, [identifier, unit]); return lastSample; } export default useMostRecentQuantitySample; //# sourceMappingURL=useMostRecentQuantitySample.js.map