UNPKG

single-spa-layout

Version:
83 lines (82 loc) 2.94 kB
/** * * @typedef {import('stream').Readable | string} RenderResult * * @typedef {{ * assets: RenderResult | Promise<RenderResult>; * content: RenderResult | Promise<RenderResult>; * }} ApplicationRenderResult * * @typedef {{ * res: import('http').ServerResponse; * serverLayout: import('./constructServerLayout').ServerLayout; * urlPath: string; * renderApplication(appToRender: AppToRender) => RenderResult | Promise<RenderResult> | ApplicationRenderResult | Promise<ApplicationRenderResult>; * retrieveApplicationHeaders(appToRender AppToRender) => object; * renderFragment?(name: string) => RenderResult | Promise<RenderResult>; * retrieveProp(name: string) => Promise<any> | any; * assembleFinalHeaders(appHeaders: AppHeaders[]) => object; * nonce?: string; * }} RenderOptions * * @typedef {{ * appName: string; * propsPromise: Promise<import('single-spa').AppProps>; * }} AppToRender * * @typedef {{ * appProps: import('single-spa').AppProps; * appHeaders: object; * }} AppHeaders * * @typedef {{ * node: import('parse5').Element; * assetsStream: import('merge2').Merge2Stream; * bodyStream: import('merge2').Merge2Stream; * renderOptions: RenderOptions; * serverLayout: import('./constructServerLayout').ServerLayout; * applicationProps: import('single-spa').AppProps; * inRouterElement: boolean; * nonce?: string; * }} SerializeArgs * * @param {RenderOptions} renderOptions * @returns {Promise} */ export function sendLayoutHTTPResponse(renderOptions: RenderOptions): Promise<any>; export function stringStream(str: any): Readable; export type RenderResult = import('stream').Readable | string; export type ApplicationRenderResult = { assets: RenderResult | Promise<RenderResult>; content: RenderResult | Promise<RenderResult>; }; export type RenderOptions = { res: import('http').ServerResponse; serverLayout: import('./constructServerLayout').ServerLayout; urlPath: string; renderApplication(appToRender: AppToRender): RenderResult | Promise<RenderResult> | ApplicationRenderResult | Promise<ApplicationRenderResult>; retrieveApplicationHeaders(appToRender: any, AppToRender: any): object; renderFragment?(name: string): RenderResult | Promise<RenderResult>; retrieveProp(name: string): Promise<any> | any; assembleFinalHeaders(appHeaders: AppHeaders[]): object; nonce?: string; }; export type AppToRender = { appName: string; propsPromise: Promise<import('single-spa').AppProps>; }; export type AppHeaders = { appProps: import('single-spa').AppProps; appHeaders: object; }; export type SerializeArgs = { node: import('parse5').Element; assetsStream: any; bodyStream: any; renderOptions: RenderOptions; serverLayout: import('./constructServerLayout').ServerLayout; applicationProps: import('single-spa').AppProps; inRouterElement: boolean; nonce?: string; }; import { Readable } from "stream";