UNPKG

@cross-nft-marketplace/auction-house-nft-hooks

Version:

Generic react hooks for fetching cross-nft-marketplace auctions, nfts, and data on arbitary 721s. Powers nft-components.

31 lines (30 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useAuctions = void 0; const tslib_1 = require("tslib"); const react_1 = require("react"); const swr_1 = tslib_1.__importDefault(require("swr")); const NFTFetchContext_1 = require("../context/NFTFetchContext"); const ErrorUtils_1 = require("../fetcher/ErrorUtils"); /** * Fetches on-chain NFT auction data for the given curator * * @param curators * @param approved * @returns useNFTType hook results include loading, error, and data (ReserveAuctionPartialFragment). */ function useAuctions(curators = [], approved = null, options = {}) { options.onErrorRetry = ErrorUtils_1.onErrorRetry; const fetcher = react_1.useContext(NFTFetchContext_1.NFTFetchContext); const queryKey = JSON.stringify({ type: 'useAuctions', curators, approved }); const { data, error } = swr_1.default(queryKey, async (query) => { const { curators, approved } = JSON.parse(query); return await fetcher.fetchReserveAuctions(curators.map((curator) => curator.toLowerCase()), approved); }, options); return { loading: !error && !data, error, data, }; } exports.useAuctions = useAuctions;