From c62d05e1b32361425474928004a92338d98ba200 Mon Sep 17 00:00:00 2001 From: V Date: Tue, 2 May 2023 02:50:51 +0200 Subject: Refactor ipc to be strongly typed and hide impl details (#1018) --- src/utils/IpcEvents.ts | 43 +++++++++++++++---------------------------- 1 file changed, 15 insertions(+), 28 deletions(-) (limited to 'src/utils/IpcEvents.ts') diff --git a/src/utils/IpcEvents.ts b/src/utils/IpcEvents.ts index 57e4bb2..30a68e8 100644 --- a/src/utils/IpcEvents.ts +++ b/src/utils/IpcEvents.ts @@ -1,6 +1,6 @@ /* * Vencord, a modification for Discord's desktop app - * Copyright (c) 2022 Vendicated and contributors + * Copyright (c) 2023 Vendicated and contributors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,31 +16,18 @@ * along with this program. If not, see . */ -type Enum> = { - [k in keyof T]: T[k]; -} & { [v in keyof T as T[v]]: v; }; - -function strEnum>(obj: T): T { - const o = {} as T; - for (const key in obj) { - o[key] = obj[key] as any; - o[obj[key]] = key as any; - } - return Object.freeze(o); +export const enum IpcEvents { + QUICK_CSS_UPDATE = "VencordQuickCssUpdate", + GET_QUICK_CSS = "VencordGetQuickCss", + SET_QUICK_CSS = "VencordSetQuickCss", + GET_SETTINGS_DIR = "VencordGetSettingsDir", + GET_SETTINGS = "VencordGetSettings", + SET_SETTINGS = "VencordSetSettings", + OPEN_EXTERNAL = "VencordOpenExternal", + OPEN_QUICKCSS = "VencordOpenQuickCss", + GET_UPDATES = "VencordGetUpdates", + GET_REPO = "VencordGetRepo", + UPDATE = "VencordUpdate", + BUILD = "VencordBuild", + OPEN_MONACO_EDITOR = "VencordOpenMonacoEditor", } - -export default strEnum({ - QUICK_CSS_UPDATE: "VencordQuickCssUpdate", - GET_QUICK_CSS: "VencordGetQuickCss", - SET_QUICK_CSS: "VencordSetQuickCss", - GET_SETTINGS_DIR: "VencordGetSettingsDir", - GET_SETTINGS: "VencordGetSettings", - SET_SETTINGS: "VencordSetSettings", - OPEN_EXTERNAL: "VencordOpenExternal", - OPEN_QUICKCSS: "VencordOpenQuickCss", - GET_UPDATES: "VencordGetUpdates", - GET_REPO: "VencordGetRepo", - UPDATE: "VencordUpdate", - BUILD: "VencordBuild", - OPEN_MONACO_EDITOR: "VencordOpenMonacoEditor", -} as const); -- cgit