UNPKG

@gqty/react

Version:

The No-GraphQL Client for React

36 lines (31 loc) 1.12 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const React = require('react'); const utils = require('../utils.js'); const IS_SERVER = typeof window === "undefined"; function createSSRHelpers({ hydrateCache, prepareRender, query, refetch }, { defaults: { refetchAfterHydrate } }) { const prepareReactRender = async function prepareReactRender2(element) { const ssrPrepass = utils.getDefault(await Promise.resolve().then(function () { return require('react-ssr-prepass'); })); return prepareRender(() => ssrPrepass(element)); }; const useHydrateCache = function useHydrateCache2({ cacheSnapshot, shouldRefetch = refetchAfterHydrate }) { React.useMemo(() => { if (!IS_SERVER && cacheSnapshot) { hydrateCache({ cacheSnapshot, shouldRefetch: false }); } }, [cacheSnapshot]); React.useEffect(() => { if (!IS_SERVER && shouldRefetch) { refetch(query).catch(console.error); } }, [shouldRefetch]); }; return { useHydrateCache, prepareReactRender }; } exports.createSSRHelpers = createSSRHelpers;