@meilisearch/instant-meilisearch
Version:
The search client to use Meilisearch with InstantSearch.
24 lines • 1.03 kB
JavaScript
/** @param {ResponseCacher} cache */
export function SearchResolver(client, cache) {
return {
multiSearch: async function (searchQueries, instantSearchPagination) {
const key = cache.formatKey([searchQueries]);
const cachedResponse = cache.getEntry(key);
// Check if specific request is already cached with its associated search response.
if (cachedResponse)
return cachedResponse;
const searchResponses = await client.multiSearch({
queries: searchQueries,
});
const responseWithPagination = searchResponses.results.map((response, index) => ({
...response,
// TODO: should be removed at one point
pagination: instantSearchPagination[index] || {},
}));
// Cache response
cache.setEntry(key, responseWithPagination);
return responseWithPagination;
},
};
}
//# sourceMappingURL=search-resolver.js.map