@saberhq/sail
Version:
Account caching and batched loading for React-based Solana applications.
19 lines • 816 B
JavaScript
import mapValues from "lodash.mapvalues";
import { makeProgramAccountParsers } from "./programAccounts";
import { useBatchedParsedAccounts } from "./useBatchedParsedAccounts";
import { useParsedAccount, useParsedAccounts } from "./useParsedAccount";
/**
* Makes hooks for parsers.
* @param parsers
* @returns
*/
export const makeProgramParserHooks = (parsers) => {
const sailParsers = makeProgramAccountParsers(parsers);
const hooks = mapValues(sailParsers, (parser) => ({
useSingleData: (key, options) => useParsedAccount(key, parser, options),
useData: (keys, options) => useParsedAccounts(keys, parser, options),
useBatchedData: (keys, options) => useBatchedParsedAccounts(keys, parser, options),
}));
return hooks;
};
//# sourceMappingURL=makeProgramParserHooks.js.map