ayanami
Version:
A better way to react with state
21 lines (20 loc) • 790 B
TypeScript
import { Request } from 'express';
import { ConstructorOf } from '../core/types';
import { Ayanami } from '../core/ayanami';
export declare type ModuleMeta = ConstructorOf<Ayanami<any>> | {
module: ConstructorOf<Ayanami<any>>;
scope: string;
};
/**
* Run all @SSREffect decorated effects of given modules and extract latest states.
* `cleanup` function returned must be called before end of responding
*
* @param req express request object
* @param modules used ayanami modules
* @param timeout seconds to wait before all effects stream out TERMINATE_ACTION
* @returns object contains ayanami state and cleanup function
*/
export declare const emitSSREffects: (req: Request, modules: ModuleMeta[], timeout?: number) => Promise<{
state: any;
cleanup: () => void;
}>;