vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
65 lines (64 loc) • 3.24 kB
TypeScript
export { createGlobalContextShared };
export { getGlobalContextSyncErrMsg };
export type { GlobalContextBase };
export type { GlobalContextBasePublic };
export type GlobalContextInternal = GlobalContextServerInternal | GlobalContextClientInternal;
import type { PageFile } from './getPageFiles.js';
import type { PageConfigRuntime } from '../types/PageConfig.js';
import type { GlobalContextServerInternal } from '../node/runtime/globalContext.js';
import type { GlobalContextClientInternal } from '../client/runtime-client-routing/globalContext.js';
import { type Hook } from './hooks/getHook.js';
declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
declare function createGlobalContextShared<GlobalContextAddendum extends object>(virtualFileExports: unknown, globalObject: {
globalContext?: Record<string, unknown>;
onCreateGlobalContextHooks?: Hook[];
}, addGlobalContext?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddendum>): Promise<{
/**
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
*
* https://vike.dev/globalContext#typescript
*/
isGlobalContext: true;
_isOriginalObject: true;
_virtualFileExports: unknown;
_pageFilesAll: PageFile[];
_pageConfigs: PageConfigRuntime[];
_pageConfigGlobal: import("../types/PageConfig.js").PageConfigGlobalRuntime;
_allPageIds: string[];
_vikeConfigPublicGlobal: {
config: import("../types/index.js").ConfigResolved;
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
};
config: import("../types/index.js").ConfigResolved;
pages: {
[k: string]: import("./page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
};
} & Awaited<GlobalContextAddendum>>;
type GlobalContextBasePublic = Pick<GlobalContextBase, 'config' | 'pages' | 'isGlobalContext'>;
type GlobalContextBase = ReturnType<typeof createGlobalContextBase>;
declare function createGlobalContextBase(virtualFileExports: unknown): {
/**
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
*
* https://vike.dev/globalContext#typescript
*/
isGlobalContext: true;
_isOriginalObject: true;
_virtualFileExports: unknown;
_pageFilesAll: PageFile[];
_pageConfigs: PageConfigRuntime[];
_pageConfigGlobal: import("../types/PageConfig.js").PageConfigGlobalRuntime;
_allPageIds: string[];
_vikeConfigPublicGlobal: {
config: import("../types/index.js").ConfigResolved;
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
};
config: import("../types/index.js").ConfigResolved;
pages: {
[k: string]: import("./page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
};
};