vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
17 lines (16 loc) • 852 B
JavaScript
export { executeHookGeneric }; // TO-DO/refactor: start using executeHookGeneric() and, eventually, prominently use it
export { executeHookGenericGlobalCumulative };
import { executeHook } from './executeHook.js';
import { getHookFromPageContext, getHookFromPageConfigGlobalCumulative } from './getHook.js';
async function executeHookGeneric(hookName, pageContext) {
const hook = getHookFromPageContext(pageContext, hookName);
if (!hook)
return;
await executeHook(() => hook.hookFn(pageContext), hook, pageContext);
}
async function executeHookGenericGlobalCumulative(hookName, pageConfigGlobal, pageContext, arg) {
const hooks = getHookFromPageConfigGlobalCumulative(pageConfigGlobal, hookName);
await Promise.all(hooks.map(async (hook) => {
await executeHook(() => hook.hookFn(arg), hook, pageContext);
}));
}