@saberhq/sail
Version:
Account caching and batched loading for React-based Solana applications.
24 lines • 1.16 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeProgramParserHooks = void 0;
const tslib_1 = require("tslib");
const lodash_mapvalues_1 = tslib_1.__importDefault(require("lodash.mapvalues"));
const programAccounts_1 = require("./programAccounts");
const useBatchedParsedAccounts_1 = require("./useBatchedParsedAccounts");
const useParsedAccount_1 = require("./useParsedAccount");
/**
* Makes hooks for parsers.
* @param parsers
* @returns
*/
const makeProgramParserHooks = (parsers) => {
const sailParsers = (0, programAccounts_1.makeProgramAccountParsers)(parsers);
const hooks = (0, lodash_mapvalues_1.default)(sailParsers, (parser) => ({
useSingleData: (key, options) => (0, useParsedAccount_1.useParsedAccount)(key, parser, options),
useData: (keys, options) => (0, useParsedAccount_1.useParsedAccounts)(keys, parser, options),
useBatchedData: (keys, options) => (0, useBatchedParsedAccounts_1.useBatchedParsedAccounts)(keys, parser, options),
}));
return hooks;
};
exports.makeProgramParserHooks = makeProgramParserHooks;
//# sourceMappingURL=makeProgramParserHooks.js.map
;