UNPKG

full-stack-svelte-kit

Version:

This framework is built on top of `@sveltejs/kit`.

93 lines (82 loc) 2.37 kB
export default function ({ ssr_content, hasLoad, hasAction, usesTS, hasMetaFn, }) { if (!hasLoad && !hasAction) { return ssr_content; } if (usesTS) { ssr_content += "\n"; ssr_content += ` type __Loader_Result = { headers?: Record<string, string | string[]>; props?: Record<any, any>; error?: string | Error; status?: number; redirect?: string; maxage?: string; } type __Action_Result = { headers?: Record<string, string | string[]>; data?: Record<any, any>; errors?: Record<string, string>; redirect?: string; status?: number; } `; } if (hasLoad) { ssr_content += "\n"; ssr_content += ` export const get = async function(params){ const loaded = await loader(params) ${ usesTS ? "as unknown as __Loader_Result" : "" }; let _metadata = {}; ${ hasMetaFn ? ` _metadata = await metadata(loaded?.props ${ usesTS ? "as unknown as any" : "" }); ` : "" } const loadedProps = loaded?.props || {}; const metaProps = { ${hasMetaFn ? '_metadata: _metadata' : ''} }; return { headers: loaded?.headers || {}, body: { props: {...loadedProps, ...metaProps}, error: loaded?.error, status: loaded?.status, redirect: loaded?.redirect, maxage: loaded?.maxage } } } `; } if (hasAction) { ssr_content += "\n"; ssr_content += ` export const post = async function(params){ const loaded = await action(params) ${ usesTS ? "as unknown as __Action_Result" : "" }; return { headers: loaded?.headers || {}, body: { data: loaded?.data, errors: loaded?.errors, status: loaded?.status, } } } `; } return ssr_content; }