From 5ec517875e0725b66805b939e5379c23a5e40ceb Mon Sep 17 00:00:00 2001 From: Justice Almanzar Date: Tue, 28 Feb 2023 00:12:35 -0500 Subject: typings for defaultless settings (#512) * typings for defaultless settings * fix other silly typings * type guard utils --------- Co-authored-by: Ven --- src/plugins/customRPC.tsx | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/plugins/customRPC.tsx') diff --git a/src/plugins/customRPC.tsx b/src/plugins/customRPC.tsx index 9a0901b..fe6d574 100644 --- a/src/plugins/customRPC.tsx +++ b/src/plugins/customRPC.tsx @@ -19,6 +19,7 @@ import { definePluginSettings } from "@api/settings"; import { Link } from "@components/Link"; import { Devs } from "@utils/constants"; +import { isTruthy } from "@utils/guards"; import { useAwaiter } from "@utils/misc"; import definePlugin, { OptionType } from "@utils/types"; import { filters, findByCodeLazy, findByPropsLazy, mapMangledModuleLazy } from "@webpack"; @@ -56,11 +57,11 @@ interface ActivityAssets { } interface Activity { - state: string; + state?: string; details?: string; timestamps?: { - start?: Number; - end?: Number; + start?: number; + end?: number; }; assets?: ActivityAssets; buttons?: Array; @@ -70,7 +71,7 @@ interface Activity { button_urls?: Array; }; type: ActivityType; - flags: Number; + flags: number; } enum ActivityType { @@ -93,13 +94,13 @@ const numOpt = (description: string) => ({ onChange: setRpc }) as const; -const choice = (label: string, value: any, _default?: Boolean) => ({ +const choice = (label: string, value: any, _default?: boolean) => ({ label, value, default: _default }) as const; -const choiceOpt = (description: string, options) => ({ +const choiceOpt = (description: string, options: T) => ({ type: OptionType.SELECT, description, onChange: setRpc, @@ -173,13 +174,13 @@ async function createActivity(): Promise { activity.buttons = [ buttonOneText, buttonTwoText - ].filter(Boolean); + ].filter(isTruthy); activity.metadata = { button_urls: [ buttonOneURL, buttonTwoURL - ].filter(Boolean) + ].filter(isTruthy) }; } @@ -206,12 +207,10 @@ async function createActivity(): Promise { delete activity[k]; } - // WHAT DO YOU WANT FROM ME - // eslint-disable-next-line consistent-return return activity; } -async function setRpc(disable?: Boolean) { +async function setRpc(disable?: boolean) { const activity: Activity | undefined = await createActivity(); FluxDispatcher.dispatch({ -- cgit