@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
34 lines • 1.32 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
const useProject_1 = __importDefault(require("../projects/useProject"));
const isAbsoluteUrl_1 = require("../../utils/isAbsoluteUrl");
function useGetMetadata() {
const { projectId } = (0, useProject_1.default)();
const axios = (0, useAxiosPrivate_1.default)();
const getMetadata = (0, react_1.useCallback)(async ({ url }) => {
if (!projectId) {
throw new Error("No project specified");
}
if (!url) {
throw new Error("Please specify a URL");
}
const isAbsolute = (0, isAbsoluteUrl_1.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;
}
exports.default = useGetMetadata;
//# sourceMappingURL=useGetMetadata.js.map