UNPKG

narraleaf

Version:

Create your visual novel with Electron and React

81 lines (80 loc) 2.25 kB
import { CrashReport } from "../../main/electron/app/app"; import { PlatformInfo } from "../../utils/pure/os"; import { SavedGame, SavedGameMetadata, SaveType } from "../game/save"; import { IPCMessageType, IPCType } from "../ipc/ipc"; import { ClientAppConfiguration } from "../@types/global"; export declare enum IpcEvent { getPlatform = "getPlatform", app_terminate = "app.terminate", game_save_save = "game.save.save", game_save_read = "game.save.read", game_save_list = "game.save.list", game_save_delete = "game.save.delete" } export type VoidRequestStatus = RequestStatus<void>; export type RequestStatus<T> = { success: true; data: T; error?: never; } | { success: false; data?: never; error?: string; }; export type IpcEvents = { [IpcEvent.getPlatform]: { type: IPCMessageType.request; consumer: IPCType.Host; data: {}; response: { platform: PlatformInfo; isPackaged: boolean; crashReport: CrashReport | null; config: ClientAppConfiguration; }; }; [IpcEvent.app_terminate]: { type: IPCMessageType.message; consumer: IPCType.Host; data: { err: string | null; }; response: never; }; [IpcEvent.game_save_save]: { type: IPCMessageType.request; consumer: IPCType.Host; data: { gameData: Record<string, any>; id: string; type: SaveType; preview?: string; }; response: VoidRequestStatus; }; [IpcEvent.game_save_read]: { type: IPCMessageType.request; consumer: IPCType.Host; data: { id: string; }; response: RequestStatus<SavedGame>; }; [IpcEvent.game_save_list]: { type: IPCMessageType.request; consumer: IPCType.Host; data: {}; response: RequestStatus<SavedGameMetadata[]>; }; [IpcEvent.game_save_delete]: { type: IPCMessageType.request; consumer: IPCType.Host; data: { id: string; }; response: VoidRequestStatus; }; }; export declare enum Namespace { NarraLeaf = "narraleaf" }