@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
29 lines • 992 B
JavaScript
import { useCallback } from "react";
import useAxiosPrivate from "../../config/useAxiosPrivate";
import useProject from "../projects/useProject";
import { isAbsoluteUrl } from "../../utils/isAbsoluteUrl";
function useGetMetadata() {
const { projectId } = useProject();
const axios = useAxiosPrivate();
const getMetadata = useCallback(async ({ url }) => {
if (!projectId) {
throw new Error("No project specified");
}
if (!url) {
throw new Error("Please specify a URL");
}
const isAbsolute = isAbsoluteUrl(url);
if (!isAbsolute) {
throw new Error("Please provide an absolute URL");
}
const response = await axios.get(`/${projectId}/utils/get-metadata`, {
params: {
url,
},
});
return response.data;
}, [projectId, axios]);
return getMetadata;
}
export default useGetMetadata;
//# sourceMappingURL=useGetMetadata.js.map