diff --git a/src/preset/node/handler.ts b/src/preset/node/handler.ts index 64f33d7..f6478c7 100644 --- a/src/preset/node/handler.ts +++ b/src/preset/node/handler.ts @@ -111,12 +111,14 @@ export function provideMain(resolve: Resolve): VoidFunction { const template = resolve(KnownToken.Http.Handler.Response.Page.template); const builder = resolve(KnownToken.Http.Handler.Response.builder); + const getAssets = typeof assets === 'function' ? assets : () => assets; + return async function main() { try { // @todo это билдер ответа но в ответе может не быть markup, assets и тд, подумать и переделать builder .markup(await render(await prepare())) - .assets(assets) + .assets(await getAssets()) .format(PageResponse.defineFormat(context.req)) .template(template) .send(context.res); diff --git a/src/tokens.ts b/src/tokens.ts index 9ab1a4b..7dbbd91 100644 --- a/src/tokens.ts +++ b/src/tokens.ts @@ -75,7 +75,7 @@ export const KnownToken = { Response: { builder: createToken('response/builder'), Page: { - assets: createToken('page/assets'), + assets: createToken PageAssets | Promise)>('page/assets'), template: createToken('page/template'), prepare: createToken<() => JSX.Element | Promise>('page/prepare'), render: createToken<(element: JSX.Element) => string | Promise>('page/render'),