UNPKG

@riadvargas/svelte-algolia-instantsearch

Version:
18 lines (17 loc) 777 B
import { getInitialResults, waitForResults } from "instantsearch.js/es/lib/server"; import { getContext } from "svelte"; import { render } from "svelte/server"; 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); }; render(component, { context: new Map([[serverContext, { notifyServer, serverUrl }]]) }); }); }