improve types

This commit is contained in:
Anton Bracke
2022-02-22 12:02:56 +01:00
parent d03544c839
commit 71c8e32b2f
16 changed files with 105 additions and 121 deletions
@@ -1,6 +1,5 @@
import { contextBridge, ipcRenderer } from "electron";
import { SettingsData } from "src/settings";
import type { Server, WorkAdventureLocalAppApi } from "./types";
import type { WorkAdventureLocalAppApi } from "./types";
const api: WorkAdventureLocalAppApi = {
desktop: true,
@@ -8,12 +7,12 @@ const api: WorkAdventureLocalAppApi = {
getVersion: () => ipcRenderer.invoke("get-version"),
showLocalApp: () => ipcRenderer.invoke("local-app:showLocalApp"),
getServers: () => ipcRenderer.invoke("local-app:getServers"),
selectServer: (serverId: string) => ipcRenderer.invoke("local-app:selectServer", serverId),
addServer: (server: Omit<Server, "_id">) => ipcRenderer.invoke("local-app:addServer", server),
removeServer: (serverId: Server["_id"]) => ipcRenderer.invoke("local-app:removeServer", serverId),
saveShortcut: (shortcut: keyof SettingsData["shortcuts"], key: string | null) =>
ipcRenderer.invoke("local-app:saveShortcut", shortcut, key),
getShortcuts: () => ipcRenderer.invoke("local-app:getShortcuts"),
selectServer: (serverId) => ipcRenderer.invoke("local-app:selectServer", serverId),
addServer: (server) => ipcRenderer.invoke("local-app:addServer", server),
removeServer: (serverId) => ipcRenderer.invoke("local-app:removeServer", serverId),
reloadShortcuts: () => ipcRenderer.invoke("local-app:reloadShortcuts"),
getSettings: () => ipcRenderer.invoke("local-app:getSettings"),
saveSetting: (key, value) => ipcRenderer.invoke("local-app:setSetting", key, value),
};
contextBridge.exposeInMainWorld("WorkAdventureDesktopApi", api);
@@ -1,4 +1,4 @@
import { SettingsData } from "src/settings";
import { SettingsData } from "../settings";
export type Server = {
_id: string;
@@ -6,6 +6,8 @@ export type Server = {
url: string;
};
export { SettingsData };
export type WorkAdventureLocalAppApi = {
desktop: boolean;
isDevelopment: () => Promise<boolean>;
@@ -13,8 +15,9 @@ export type WorkAdventureLocalAppApi = {
showLocalApp: () => Promise<void>;
getServers: () => Promise<Server[]>;
selectServer: (serverId: string) => Promise<Error | boolean>;
addServer: (server: Omit<Server, "_id">) => Promise<Server>;
addServer: (server: Omit<Server, "_id">) => Promise<Server | Error>;
removeServer: (serverId: Server["_id"]) => Promise<boolean>;
saveShortcut: (shortcut: keyof SettingsData["shortcuts"], key: string | null) => Promise<void>;
getShortcuts: () => Promise<SettingsData["shortcuts"]>;
reloadShortcuts: () => Promise<void>;
getSettings: () => Promise<SettingsData>;
saveSetting: <T extends keyof SettingsData>(key: T, value: SettingsData[T]) => Promise<void>;
};