UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

35 lines (34 loc) 1.71 kB
export { createPageContextClientSide }; import { createPageContextShared } from '../../shared/createPageContextShared.js'; import { getPageContextUrlComputed } from '../../shared/getPageContextUrlComputed.js'; import { getBaseServer } from './getBaseServer.js'; import { getGlobalContextClientInternal } from './globalContext.js'; import { assert, augmentType, isBaseServer, objectAssign } from './utils.js'; async function createPageContextClientSide(urlOriginal) { const globalContext = await getGlobalContextClientInternal(); const baseServer = getBaseServer(); assert(isBaseServer(baseServer)); const pageContextCreated = { /* Don't spread globalContext for now? Or never spread it as it leads to confusion? The convenience isn't worth the added confusion? ...globalContext, // least precedence */ globalContext, _pageFilesAll: globalContext._pageFilesAll, _pageConfigs: globalContext._pageConfigs, _pageConfigGlobal: globalContext._pageConfigGlobal, _allPageIds: globalContext._allPageIds, _pageRoutes: globalContext._pageRoutes, _onBeforeRouteHook: globalContext._onBeforeRouteHook, isClientSide: true, isPrerendering: false, urlOriginal, _urlHandler: null, _urlRewrite: null, _baseServer: baseServer }; const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated); objectAssign(pageContextCreated, pageContextUrlComputed); const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal); augmentType(pageContextCreated, pageContextAugmented); return pageContextCreated; }