UNPKG

@modern-js/server-core

Version:

A Progressive React Framework for modern web development.

67 lines (66 loc) 1.54 kB
function getHookRunners(context) { const { hooks } = context; return { config: (params) => { return hooks.modifyConfig.call(params); }, prepare: () => { return hooks.onPrepare.call(); }, reset: (params) => { return hooks.onReset.call(params); }, fallback: (input) => { return hooks.fallback.call(input); }, prepareWebServer: (input) => { return hooks.prepareWebServer.call(input); }, prepareApiServer: (input) => { return hooks.prepareApiServer.call(input); }, afterMatch: (ctx) => { return hooks.afterMatch.call(ctx); }, afterRender: (ctx) => { return hooks.afterRender.call(ctx); }, afterStreamingRender: (ctx) => { return hooks.afterStreamingRender.call(ctx); } }; } function transformHookRunner(hookRunnerName) { switch (hookRunnerName) { case "config": return "modifyConfig"; case "prepare": return "onPrepare"; case "reset": return "onReset"; default: return hookRunnerName; } } function handleSetupResult(setupResult, api) { if (!setupResult) { return; } Object.keys(setupResult).forEach((key) => { const fn = setupResult[key]; if (typeof fn === "function") { const newAPI = transformHookRunner(key); if (api[newAPI]) { api[newAPI]((...params) => { const res = fn(...params); return res; }); } } }); } export { getHookRunners, handleSetupResult, transformHookRunner };