UNPKG

@saberhq/sail

Version:

Account caching and batched loading for React-based Solana applications.

30 lines 1.55 kB
import type { ProgramAccount } from "@saberhq/token-utils"; import type { PublicKey } from "@solana/web3.js"; import type { UseQueryOptions } from "react-query"; import type { ProgramAccountParsers } from "./programAccounts"; import type { BatchedParsedAccountQueryData, BatchedParsedAccountQueryKeys, BatchParsedAccountQueryResult } from "./useBatchedParsedAccounts"; import type { ParsedAccountQueryResult } from "./useParsedAccount"; /** * React hooks for program account parsers. */ export declare type ProgramParserHooks<T> = { /** * Uses the data of a single key. */ useSingleData: (key: PublicKey | null | undefined, options?: Omit<UseQueryOptions<ProgramAccount<T> | null | undefined>, "queryFn" | "queryKey">) => ParsedAccountQueryResult<T>; /** * Uses the data of multiple keys. */ useData: (keys: (PublicKey | null | undefined)[], options?: Omit<UseQueryOptions<ProgramAccount<T> | null | undefined>, "queryFn" | "queryKey">) => ParsedAccountQueryResult<T>[]; /** * Uses the data of multiple keys, batched into a single call. */ useBatchedData: (keys: BatchedParsedAccountQueryKeys, options?: Omit<UseQueryOptions<BatchedParsedAccountQueryData<T>>, "queryFn" | "queryKey">) => BatchParsedAccountQueryResult<T>; }; /** * Makes hooks for parsers. * @param parsers * @returns */ export declare const makeProgramParserHooks: <M, A extends keyof M>(parsers: ProgramAccountParsers<M>) => { [K in A]: ProgramParserHooks<M[K]>; }; //# sourceMappingURL=makeProgramParserHooks.d.ts.map