UNPKG

react-firehooks

Version:

Lightweight dependency-free collection of React hooks for Firebase

18 lines (17 loc) 1.01 kB
import { getBytes } from "firebase/storage"; import { useCallback } from "react"; import { useGet } from "../internal/useGet.js"; import { isStorageRefEqual } from "./internal.js"; /** * Returns the data of a Google Cloud Storage object * @param reference Reference to a Google Cloud Storage object * @param maxDownloadSizeBytes If set, the maximum allowed size in bytes to retrieve * @returns Data, loading state, and error * - value: Object data; `undefined` if data of the object is currently being downloaded, or an error occurred * - loading: `true` while downloading the data of the object; `false` if the data was downloaded successfully or an error occurred * - error: `undefined` if no error occurred */ export function useBytes(reference, maxDownloadSizeBytes) { const fetchBytes = useCallback(async (ref) => getBytes(ref, maxDownloadSizeBytes), [maxDownloadSizeBytes]); return useGet(reference !== null && reference !== void 0 ? reference : undefined, fetchBytes, isStorageRefEqual); }