vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
41 lines (40 loc) • 2.84 kB
TypeScript
export { execHook };
export { execHookGlobal };
export { execHookList };
export { execHookSingle };
export { execHookSingleSync };
export { execHookSingleWithReturn };
export { execHookSingleWithoutPageContext };
export { getPageContext_sync };
export { providePageContext };
export { isUserHookError };
export type { PageContextExecHook };
import type { PageContextClient, PageContextServer } from '../../types/PageContext.js';
import type { Hook, HookLoc } from './getHook.js';
import type { PageContextConfig } from '../getPageFiles.js';
import type { HookName, HookNameGlobal } from '../../types/Config.js';
import { type PageContextPublicMinimum } from '../getPageContextPublicShared.js';
import type { GlobalContextPublicMinimum } from '../getGlobalContextPublicShared.js';
type HookWithResult = Hook & {
hookReturn: unknown;
};
type PageContextExecHook = PageContextPublicMinimum;
declare function execHook<PageContext extends PageContextExecHook & PageContextConfig>(hookName: HookName, pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>;
declare function execHookGlobal(hookName: HookNameGlobal, globalContext: GlobalContextPublicMinimum, getGlobalContextPublic: (globalContext: GlobalContextPublicMinimum) => GlobalContextPublicMinimum): Promise<void>;
declare function execHookList<PageContext extends PageContextExecHook>(hooks: Hook[], pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<HookWithResult[]>;
declare function execHookSingle<PageContext extends PageContextExecHook>(hook: Hook, pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<void>;
declare function execHookSingleWithReturn<PageContext extends PageContextExecHook>(hook: Hook, pageContext: PageContext, getPageContextPublic: (pageContext: PageContext) => PageContext): Promise<{
hookReturn: unknown;
}>;
declare function isUserHookError(err: unknown): false | HookLoc;
declare function execHookSingleWithoutPageContext<HookReturn>(hook: Omit<Hook, 'hookFn'>, globalContext: GlobalContextPublicMinimum, hookFnCaller: () => HookReturn): Promise<HookReturn>;
declare function execHookSingleSync<PageContext extends PageContextExecHook>(hook: Omit<Hook<PageContext>, 'hookTimeout'>, globalContext: GlobalContextPublicMinimum, pageContext: PageContext | null, getPageContextPublic: (pageContext: PageContext) => PageContext, hookFnCaller?: () => unknown): {
hookReturn: unknown;
};
declare function getPageContext_sync<PageContext = PageContextClient | PageContextServer>(): null | PageContext;
/**
* Provide `pageContext` for universal hooks.
*
* https://vike.dev/getPageContext
*/
declare function providePageContext(pageContext: null | PageContextClient | PageContextServer): void;