UNPKG

react-native-cloud-storage

Version:

☁️ Save to & read from iCloud and Google Drive using React Native

29 lines (26 loc) 1.18 kB
"use strict"; import { useCallback, useEffect, useState } from 'react'; import RNCloudStorage from '../cloud-storage'; /** * A hook that tests whether or not the cloud storage is available. * @param cloudStorageInstance - An optional instance of RNCloudStorage to use instead of the default instance. * @returns A boolean indicating whether or not the cloud storage is available. */ export const useIsCloudAvailable = cloudStorageInstance => { const [isAvailable, setIsAvailable] = useState(false); const instance = cloudStorageInstance ?? RNCloudStorage.getDefaultInstance(); const handleAvailabilityChange = useCallback(available => { setIsAvailable(available); }, []); useEffect(() => { // Set the initial availability state instance.isCloudAvailable().then(setIsAvailable); // Listen for changes to the cloud availability using the native event emitter instance.subscribeToCloudAvailability(handleAvailabilityChange); return () => { instance.unsubscribeFromCloudAvailability(handleAvailabilityChange); }; }, [instance, handleAvailabilityChange]); return isAvailable; }; //# sourceMappingURL=use-is-cloud-available.js.map