UNPKG

vormiaqueryjs

Version:

Vormia Query Js - A npm package for query management with VormiaPHP laravel Backend application

62 lines (61 loc) 1.93 kB
import { useQuery } from "@tanstack/react-query"; import { getGlobalVormiaClient } from "../client/createVormiaClient.mjs"; import { VormiaError } from "../client/utils/VormiaError.mjs"; function useVormiaQuery(options) { const client = getGlobalVormiaClient(); const { endpoint, method = "GET", params, data: bodyData, headers, transform, enabled = true, setEncrypt = false, ...queryOptions } = options; const queryKey = [endpoint, method, params, bodyData, headers, setEncrypt]; const queryFn = async () => { var _a, _b; try { let config = { method, params: method === "GET" ? params : void 0, data: method !== "GET" ? bodyData || params : void 0, headers }; if (setEncrypt && config.data) { const { encryptWithPublicKey } = await import("../client/utils/encryption.mjs"); config.data = encryptWithPublicKey(config.data); } const response = await client.request({ url: endpoint, ...config }); let responseData = response.data; if (setEncrypt && responseData) { const { decryptWithPrivateKey } = await import("../client/utils/encryption.mjs"); responseData = decryptWithPrivateKey(responseData); } if (transform) { responseData = transform(responseData); } return responseData; } catch (error) { const errorMessage = error instanceof Error ? error.message : "An unknown error occurred"; const status = (_a = error == null ? void 0 : error.response) == null ? void 0 : _a.status; const errorData = (_b = error == null ? void 0 : error.response) == null ? void 0 : _b.data; throw new VormiaError(errorMessage, status, errorData); } }; return useQuery({ queryKey, queryFn, enabled, ...queryOptions }); } export { useVormiaQuery }; //# sourceMappingURL=react.mjs.map