@reservoir0x/relay-kit-hooks
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
62 lines • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.queryExecutionStatus = void 0;
const tslib_1 = require("tslib");
const relay_sdk_1 = require("@reservoir0x/relay-sdk");
const fetcher_js_1 = tslib_1.__importDefault(require("../fetcher.js"));
const react_query_1 = require("@tanstack/react-query");
const react_1 = require("react");
const queryExecutionStatus = function (baseApiUrl = relay_sdk_1.MAINNET_RELAY_API, options, headers) {
return new Promise((resolve, reject) => {
const url = new URL(`${baseApiUrl}/intents/status/v2`);
let query = { ...options };
(0, relay_sdk_1.setParams)(url, query);
(0, fetcher_js_1.default)(url.href, headers)
.then((response) => {
const request = {
url: url.href,
method: 'get'
};
resolve({
...response,
request
});
})
.catch((e) => {
reject(e);
});
});
};
exports.queryExecutionStatus = queryExecutionStatus;
function default_1(client, options, onRequest, onResponse, queryOptions) {
const queryKey = ['useExecutionStatus', options];
const response = react_query_1.useQuery({
queryKey: queryKey,
queryFn: () => {
onRequest?.();
const promise = (0, exports.queryExecutionStatus)(client?.baseApiUrl, options);
promise.then((response) => {
onResponse?.(response);
});
return promise;
},
enabled: client !== undefined && options !== undefined,
retry: false,
...queryOptions
});
return (0, react_1.useMemo)(() => ({
...response,
data: response.error ? undefined : response.data,
queryKey
}), [
response.data,
response.error,
response.isLoading,
response.isFetching,
response.isRefetching,
response.dataUpdatedAt,
queryKey
]);
}
exports.default = default_1;
//# sourceMappingURL=useExecutionStatus.js.map