UNPKG

narraleaf

Version:

Create your visual novel with Electron and React

44 lines (43 loc) 1.42 kB
import { RendererProject } from "../project/renderer/rendererProject"; import { ElectronDevServerToken } from "../dev/electron"; import { Server, WSEventType } from "../../utils/nodejs/websocket"; import { AppMeta } from "../../main/electron/app/app"; export type DevServerToken = { close(): Promise<void>; }; export type ClosableToken = { close(): Promise<void>; }; export declare enum DevServerEvent { RequestPageRefresh = "narraleaf_dev:request_page_refresh", RequestMainQuit = "narraleaf_dev:request_main_quit", FetchMetadata = "narraleaf_dev:fetch_metadata" } export type DevServerEvents = { [DevServerEvent.RequestPageRefresh]: { type: WSEventType.Message; data: {}; }; [DevServerEvent.RequestMainQuit]: { type: WSEventType.Message; data: {}; }; [DevServerEvent.FetchMetadata]: { type: WSEventType.Message; data: {}; response: AppMeta; }; }; export declare class DevServer { renderer: RendererProject; electronToken: ElectronDevServerToken | null; mainToken: ClosableToken | null; rendererToken: ClosableToken | null; wsServer: Server<DevServerEvents> | null; constructor(renderer: RendererProject); start(): Promise<void>; stop(): Promise<void>; restart(): Promise<void>; onTerminate(process: NodeJS.Process, callback?: () => void): Promise<void>; listen(): void; }