UNPKG

svelte-algolia-instantsearch

Version:
17 lines (16 loc) 740 B
import { getInitialResults, waitForResults } from "instantsearch.js/es/lib/server"; import { getContext } from "svelte"; const serverContext = Symbol("InstantSearch:serverContext"); export const getServerContext = () => getContext(serverContext); // eslint-disable-next-line @typescript-eslint/no-explicit-any export function getServerState(component, serverUrl) { return new Promise((resolve) => { const notifyServer = async (search) => { await waitForResults(search); const results = getInitialResults(search.mainIndex); search.dispose(); resolve(results); }; component.render({}, { context: new Map([[serverContext, { notifyServer, serverUrl }]]) }); }); }