@reservoir0x/relay-kit-hooks
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
39 lines • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.queryRequests = void 0;
const tslib_1 = require("tslib");
const relay_sdk_1 = require("@reservoir0x/relay-sdk");
const react_1 = require("react");
const react_query_1 = require("@tanstack/react-query");
const fetcher_js_1 = tslib_1.__importDefault(require("../fetcher.js"));
const queryRequests = function (baseApiUrl = relay_sdk_1.MAINNET_RELAY_API, options, pageParam, headers) {
const baseUrl = typeof window !== 'undefined' ? window.location.origin : undefined;
const url = new URL(`${baseApiUrl}/requests/v2`, baseUrl);
let query = { ...options };
if (pageParam) {
query.continuation = pageParam;
}
(0, relay_sdk_1.setParams)(url, query);
return (0, fetcher_js_1.default)(url.href, headers);
};
exports.queryRequests = queryRequests;
function default_1(options, baseApiUrl, queryOptions) {
const response = react_query_1.useInfiniteQuery({
queryKey: ['useUserTransactions', options],
enabled: options !== undefined,
queryFn: (data) => (0, exports.queryRequests)(baseApiUrl, options, data.pageParam),
getNextPageParam: (data) => {
return data.continuation;
},
initialPageParam: null,
retry: false,
...queryOptions
});
const transactions = (0, react_1.useMemo)(() => response.data?.pages?.flatMap((page) => page?.requests || []) ?? [], [response.data]);
return {
...response,
data: transactions
};
}
exports.default = default_1;
//# sourceMappingURL=useRequests.js.map