mirror of
https://github.com/Equicord/Equicord.git
synced 2025-06-15 17:43:08 -04:00
Refactor ipc to be strongly typed and hide impl details (#1018)
This commit is contained in:
parent
6a1cb133cd
commit
c62d05e1b3
21 changed files with 158 additions and 218 deletions
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
type Enum<T extends Record<string, string>> = {
|
||||
[k in keyof T]: T[k];
|
||||
} & { [v in keyof T as T[v]]: v; };
|
||||
|
||||
function strEnum<T extends Record<string, string>>(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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue