UNPKG

@renegade-fi/core

Version:
32 lines (25 loc) 896 B
import { reconnect } from "./actions/reconnect.js"; import type { Config, State } from "./createConfig.js"; type HydrateParameters = { initialState?: State | undefined; reconnectOnMount?: boolean | undefined; }; export function hydrate(config: Config | undefined, parameters: HydrateParameters) { if (!config) return { onMount: () => {} }; const { initialState, reconnectOnMount } = parameters; if (initialState && !config._internal.store.persist.hasHydrated()) config.setState({ ...initialState, status: reconnectOnMount ? initialState.status : "disconnected", }); return { async onMount() { if (config._internal.ssr) { await config._internal.store.persist.rehydrate(); } if (reconnectOnMount) { reconnect(config); } }, }; }