UNPKG

vike

Version:

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

50 lines (49 loc) 3.49 kB
export { execHook }; export { execHookGlobal }; export { execHookDirect }; export { execHookDirectSingle }; export { execHookDirectSingleWithReturn }; export { execHookDirectWithoutPageContext }; export { execHookDirectSync }; export { getPageContext }; export { providePageContext }; export { isUserHookError }; export type { PageContextExecHook }; import type { PageContextClient, PageContextServer } from '../../types/PageContext.js'; import type { Hook, HookLoc } from './getHook.js'; import type { VikeConfigPublicPageLazy } from '../getPageFiles.js'; import type { HookName, HookNameGlobal } from '../../types/Config.js'; import type { PageConfigGlobalRuntime } from '../../types/PageConfig.js'; import type { PageContextForPublicUsageServer } from '../../node/runtime/renderPage/preparePageContextForPublicUsageServer.js'; import type { PageContextForPublicUsageClientShared } from '../../client/shared/preparePageContextForPublicUsageClientShared.js'; import { type PageContextPrepareMinimum } from '../preparePageContextForPublicUsage.js'; import type { GlobalContextPrepareMinimum } from '../prepareGlobalContextForPublicUsage.js'; type PageContextExecHook = VikeConfigPublicPageLazy & PageContextForPublicUsage; type PageContextForPublicUsage = PageContextForPublicUsageServer | PageContextForPublicUsageClientShared; type HookWithResult = Hook & { hookReturn: unknown; }; declare function execHook<PageContext extends PageContextExecHook>(hookName: HookName, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>; declare function execHookGlobal<HookArg extends PageContextPrepareMinimum | GlobalContextPrepareMinimum>(hookName: HookNameGlobal, pageConfigGlobal: PageConfigGlobalRuntime, pageContext: PageContextPrepareMinimum | null, hookArg: HookArg, prepareForPublicUsage: (hookArg: HookArg) => HookArg): Promise<void>; declare function execHookDirect<PageContext extends PageContextPrepareMinimum>(hooks: Hook[], pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>; declare function execHookDirectSingle<PageContext extends PageContextExecHook>(hook: Hook, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<void>; declare function execHookDirectSingleWithReturn<PageContext extends PageContextExecHook>(hook: Hook, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): Promise<{ hookReturn: unknown; }>; declare function isUserHookError(err: unknown): false | HookLoc; declare function execHookDirectWithoutPageContext<HookReturn>(hookFnCaller: () => HookReturn, hook: Omit<Hook, 'hookFn'>): Promise<HookReturn>; declare function execHookDirectSync<PageContext extends PageContextPrepareMinimum>(hook: Omit<Hook, 'hookTimeout'>, pageContext: PageContext, preparePageContextForPublicUsage: (pageContext: PageContext) => PageContext): { hookReturn: unknown; }; /** * Access `pageContext` object inside Vike hooks, in order to create universal hooks. * * https://vike.dev/getPageContext */ declare function getPageContext<PageContext = PageContextClient | PageContextServer>(): null | PageContext; /** * Provide `pageContext` for universal hooks. * * https://vike.dev/getPageContext */ declare function providePageContext(pageContext: null | PageContextClient | PageContextServer): void;