From ddc4f6bec96bbf3afdc04ac8eace3216b2405982 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim=20D=C3=BCsterhus?= Date: Fri, 30 Oct 2020 12:02:44 +0100 Subject: [PATCH] Add return types on module boundaries --- .../files/js/WoltLabSuite/Core/I18n/Plural.js | 52 ++++++++++++++----- .../js/WoltLabSuite/Core/Ui/CloseOverlay.js | 2 +- .../Core/Ui/Page/Search/Handler.js | 5 -- .../files/ts/WoltLabSuite/Core/Core.ts | 2 +- .../files/ts/WoltLabSuite/Core/I18n/Plural.ts | 52 ++++++++++++++----- .../ts/WoltLabSuite/Core/Ui/Article/Search.ts | 6 +-- .../ts/WoltLabSuite/Core/Ui/CloseOverlay.ts | 4 +- .../ts/WoltLabSuite/Core/Ui/Confirmation.ts | 4 +- .../ts/WoltLabSuite/Core/Ui/Dialog/Data.ts | 7 ++- .../ts/WoltLabSuite/Core/Ui/Page/JumpTo.ts | 4 +- .../ts/WoltLabSuite/Core/Ui/Page/Search.ts | 4 +- .../Core/Ui/Page/Search/Handler.ts | 12 ++--- .../ts/WoltLabSuite/Core/Ui/Suggestion.ts | 2 +- .../files/ts/WoltLabSuite/Core/Ui/TabMenu.ts | 4 +- .../ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts | 2 +- .../ts/WoltLabSuite/Core/Ui/User/Editor.ts | 6 +-- .../ts/WoltLabSuite/Core/Ui/User/List.ts | 4 +- .../WoltLabSuite/Core/Ui/User/Trophy/List.ts | 4 +- 18 files changed, 111 insertions(+), 65 deletions(-) diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/I18n/Plural.js b/wcfsetup/install/files/js/WoltLabSuite/Core/I18n/Plural.js index f57471651e..4fc431a55b 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/I18n/Plural.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/I18n/Plural.js @@ -141,7 +141,9 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Tibetan - bo(_n) { }, + bo(_n) { + return undefined; + }, // Bosnian bs(n) { const v = Plural.getV(n); @@ -270,7 +272,9 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Indonesian - id(_n) { }, + id(_n) { + return undefined; + }, // Icelandic is(n) { const f = Plural.getF(n); @@ -278,9 +282,13 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Japanese - ja(_n) { }, + ja(_n) { + return undefined; + }, // Javanese - jv(_n) { }, + jv(_n) { + return undefined; + }, // Georgian ka(n) { if (n == 1) @@ -292,14 +300,18 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Khmer - km(_n) { }, + km(_n) { + return undefined; + }, // Kannada kn(n) { if (n >= 0 && n <= 1) return PLURAL_ONE; }, // Korean - ko(_n) { }, + ko(_n) { + return undefined; + }, // Kurdish ku(n) { if (n == 1) @@ -316,7 +328,9 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Lao - lo(_n) { }, + lo(_n) { + return undefined; + }, // Lithuanian lt(n) { const mod10 = n % 10; @@ -361,7 +375,9 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Malay - ms(_n) { }, + ms(_n) { + return undefined; + }, // Maltese mt(n) { const mod100 = n % 100; @@ -373,7 +389,9 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_MANY; }, // Burmese - my(_n) { }, + my(_n) { + return undefined; + }, // Norwegian no(n) { if (n == 1) @@ -486,9 +504,13 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Tajik - tg(_n) { }, + tg(_n) { + return undefined; + }, // Thai - th(_n) { }, + th(_n) { + return undefined; + }, // Turkmen tk(n) { if (n == 1) @@ -515,9 +537,13 @@ define(["require", "exports", "tslib", "../StringUtil"], function (require, expo return PLURAL_ONE; }, // Vietnamese - vi(_n) { }, + vi(_n) { + return undefined; + }, // Chinese - zh(_n) { }, + zh(_n) { + return undefined; + }, }; return Plural; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/CloseOverlay.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/CloseOverlay.js index 6ee0344e7b..16959ae0bf 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/CloseOverlay.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/CloseOverlay.js @@ -27,6 +27,6 @@ define(["require", "exports", "tslib", "../CallbackList"], function (require, ex _callbackList.forEach(null, (callback) => callback()); }, }; - document.body.addEventListener("click", UiCloseOverlay.execute); + document.body.addEventListener("click", () => UiCloseOverlay.execute()); return UiCloseOverlay; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Handler.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Handler.js index 1936aa6d99..c21d75a10a 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Handler.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Handler.js @@ -149,11 +149,6 @@ define(["require", "exports", "tslib", "../../../Language", "../../../StringUtil } /** * Opens the lookup overlay for provided page id. - * - * @param {int} pageId page id - * @param {string} title dialog title - * @param {function} callback callback function provided with the user-selected object id - * @param {string?} labelLanguageItem optional language item name for the search input label */ function open(pageId, title, callback, labelLanguageItem) { getUiPageSearchHandler().open(pageId, title, callback, labelLanguageItem); diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts index 1a0de00ffa..ccb355207c 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts @@ -207,7 +207,7 @@ export function triggerEvent(element: EventTarget, eventName: string): void { /** * Returns the unique prefix for the localStorage. */ -export function getStoragePrefix() { +export function getStoragePrefix(): string { return _prefix; } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/I18n/Plural.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/I18n/Plural.ts index 445b3a3a29..71047d61a4 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/I18n/Plural.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/I18n/Plural.ts @@ -151,7 +151,9 @@ const Plural = { }, // Tibetan - bo(_n: number) {}, + bo(_n: number): string | undefined { + return undefined; + }, // Bosnian bs(n: number): string | undefined { @@ -276,7 +278,9 @@ const Plural = { }, // Indonesian - id(_n: number) {}, + id(_n: number): string | undefined { + return undefined; + }, // Icelandic is(n: number): string | undefined { @@ -286,10 +290,14 @@ const Plural = { }, // Japanese - ja(_n: number) {}, + ja(_n: number): string | undefined { + return undefined; + }, // Javanese - jv(_n: number) {}, + jv(_n: number): string | undefined { + return undefined; + }, // Georgian ka(n: number): string | undefined { @@ -302,7 +310,9 @@ const Plural = { }, // Khmer - km(_n: number) {}, + km(_n: number): string | undefined { + return undefined; + }, // Kannada kn(n: number): string | undefined { @@ -310,7 +320,9 @@ const Plural = { }, // Korean - ko(_n: number) {}, + ko(_n: number): string | undefined { + return undefined; + }, // Kurdish ku(n: number): string | undefined { @@ -328,7 +340,9 @@ const Plural = { }, // Lao - lo(_n: number) {}, + lo(_n: number): string | undefined { + return undefined; + }, // Lithuanian lt(n: number): string | undefined { @@ -375,7 +389,9 @@ const Plural = { }, // Malay - ms(_n: number) {}, + ms(_n: number): string | undefined { + return undefined; + }, // Maltese mt(n: number): string | undefined { @@ -387,7 +403,9 @@ const Plural = { }, // Burmese - my(_n: number) {}, + my(_n: number): string | undefined { + return undefined; + }, // Norwegian no(n: number): string | undefined { @@ -503,10 +521,14 @@ const Plural = { }, // Tajik - tg(_n: number) {}, + tg(_n: number): string | undefined { + return undefined; + }, // Thai - th(_n: number) {}, + th(_n: number): string | undefined { + return undefined; + }, // Turkmen tk(n: number): string | undefined { @@ -535,10 +557,14 @@ const Plural = { }, // Vietnamese - vi(_n: number) {}, + vi(_n: number): string | undefined { + return undefined; + }, // Chinese - zh(_n: number) {}, + zh(_n: number): string | undefined { + return undefined; + }, }; export = Plural; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Article/Search.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Article/Search.ts index d296c696fe..49096a4e48 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Article/Search.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Article/Search.ts @@ -1,6 +1,6 @@ import * as Ajax from "../../Ajax"; import { AjaxCallbackObject, CallbackSetup, DatabaseObjectActionResponse } from "../../Ajax/Data"; -import { DialogCallbackObject } from "../Dialog/Data"; +import { DialogCallbackObject, CallbackSetup as DialogSetup } from "../Dialog/Data"; import DomUtil from "../../Dom/Util"; import * as Language from "../../Language"; import * as StringUtil from "../../StringUtil"; @@ -98,7 +98,7 @@ class UiArticleSearch implements AjaxCallbackObject, DialogCallbackObject { }; } - _dialogSetup() { + _dialogSetup(): ReturnType { return { id: "wcfUiArticleSearch", options: { @@ -154,6 +154,6 @@ function getUiArticleSearch() { return uiArticleSearch; } -export function open(callbackSelect) { +export function open(callbackSelect: CallbackSelect): void { getUiArticleSearch().open(callbackSelect); } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/CloseOverlay.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/CloseOverlay.ts index 61113fcd10..d01867f9f2 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/CloseOverlay.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/CloseOverlay.ts @@ -26,11 +26,11 @@ const UiCloseOverlay = { /** * Invokes all registered callbacks. */ - execute() { + execute(): void { _callbackList.forEach(null, (callback) => callback()); }, }; -document.body.addEventListener("click", UiCloseOverlay.execute); +document.body.addEventListener("click", () => UiCloseOverlay.execute()); export = UiCloseOverlay; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Confirmation.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Confirmation.ts index cde445dc40..6db16091f4 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Confirmation.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Confirmation.ts @@ -11,7 +11,7 @@ import * as Core from "../Core"; import * as Language from "../Language"; import UiDialog from "./Dialog"; -import { DialogCallbackObject } from "./Dialog/Data"; +import { DialogCallbackObject, CallbackSetup as DialogSetup } from "./Dialog/Data"; class UiConfirmation implements DialogCallbackObject { private _active = false; @@ -124,7 +124,7 @@ class UiConfirmation implements DialogCallbackObject { this.confirmButton.focus(); } - _dialogSetup() { + _dialogSetup(): ReturnType { return { id: "wcfSystemConfirmation", options: { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Dialog/Data.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Dialog/Data.ts index c9a7845660..38be27a057 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Dialog/Data.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Dialog/Data.ts @@ -2,9 +2,12 @@ import { RequestPayload, ResponseData } from "../../Ajax/Data"; export type DialogHtml = DocumentFragment | string | null; +export type CallbackSetup = () => DialogSettings; +export type CallbackSubmit = () => void; + export interface DialogCallbackObject { - _dialogSetup: () => DialogSettings; - _dialogSubmit?: () => void; + _dialogSetup: CallbackSetup; + _dialogSubmit?: CallbackSubmit; } export interface AjaxInitialization extends RequestPayload { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/JumpTo.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/JumpTo.ts index 83ee8bee00..797a24d070 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/JumpTo.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/JumpTo.ts @@ -7,7 +7,7 @@ * @module WoltLabSuite/Core/Ui/Page/JumpTo */ -import { DialogCallbackObject, DialogSettings } from "../Dialog/Data"; +import { DialogCallbackObject, CallbackSetup as DialogSetup } from "../Dialog/Data"; import * as Language from "../../Language"; import UiDialog from "../Dialog"; @@ -86,7 +86,7 @@ class UiPageJumpTo implements DialogCallbackObject { UiDialog.close(this); } - _dialogSetup(): DialogSettings { + _dialogSetup(): ReturnType { const source = `
diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search.ts index b0ed37d9f2..611294a2fe 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search.ts @@ -1,6 +1,6 @@ import * as Ajax from "../../Ajax"; import { AjaxCallbackObject, CallbackSetup, DatabaseObjectActionResponse } from "../../Ajax/Data"; -import { DialogCallbackObject } from "../Dialog/Data"; +import { DialogCallbackObject, CallbackSetup as DialogSetup } from "../Dialog/Data"; import DomUtil from "../../Dom/Util"; import * as Language from "../../Language"; import * as StringUtil from "../../StringUtil"; @@ -98,7 +98,7 @@ class UiPageSearch implements AjaxCallbackObject, DialogCallbackObject { }; } - _dialogSetup() { + _dialogSetup(): ReturnType { return { id: "wcfUiPageSearch", options: { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Handler.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Handler.ts index ace186a041..3e33ca0025 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Handler.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Handler.ts @@ -12,6 +12,7 @@ import * as Language from "../../../Language"; import * as StringUtil from "../../../StringUtil"; import DomUtil from "../../../Dom/Util"; import UiDialog from "../../Dialog"; +import { DialogCallbackObject, CallbackSetup as DialogSetup } from "../../Dialog/Data"; import UiPageSearchInput from "./Input"; import { DatabaseObjectActionResponse } from "../../../Ajax/Data"; @@ -29,7 +30,7 @@ interface AjaxResponse extends DatabaseObjectActionResponse { returnValues: ItemData[]; } -class UiPageSearchHandler { +class UiPageSearchHandler implements DialogCallbackObject { private callbackSuccess?: CallbackSelect = undefined; private resultList?: HTMLUListElement = undefined; private resultListContainer?: HTMLElement = undefined; @@ -136,7 +137,7 @@ class UiPageSearchHandler { UiDialog.close(this); } - _dialogSetup() { + _dialogSetup(): ReturnType { return { id: "wcfUiPageSearchHandler", options: { @@ -191,12 +192,7 @@ function getUiPageSearchHandler(): UiPageSearchHandler { /** * Opens the lookup overlay for provided page id. - * - * @param {int} pageId page id - * @param {string} title dialog title - * @param {function} callback callback function provided with the user-selected object id - * @param {string?} labelLanguageItem optional language item name for the search input label */ -export function open(pageId, title, callback, labelLanguageItem) { +export function open(pageId: number, title: string, callback: CallbackSelect, labelLanguageItem?: string): void { getUiPageSearchHandler().open(pageId, title, callback, labelLanguageItem); } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts index 14987c699d..6ca21bc657 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts @@ -74,7 +74,7 @@ class UiSuggestion implements AjaxCallbackObject { /** * Removes an excluded search value. */ - removeExcludedValue(value: string) { + removeExcludedValue(value: string): void { this.excludedSearchValues.delete(value); } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu.ts index 13076595eb..50ce3a3b10 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu.ts @@ -234,7 +234,7 @@ function rebuildMenuOverflow(menu) { /** * Sets up tab menus and binds listeners. */ -export function setup() { +export function setup(): void { init(); selectErroneousTabs(); @@ -306,7 +306,7 @@ export function getTabMenu(containerId: string): TabMenuSimple | undefined { return _tabMenus.get(containerId); } -export function scrollToTab(tab) { +export function scrollToTab(tab): void { if (!_enableTabScroll) { return; } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts index 804f19ba52..0f5230084f 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts @@ -433,7 +433,7 @@ class TabMenuSimple { return this.tabs; } - static getIdentifierFromHash() { + static getIdentifierFromHash(): string { if (window.location.hash.match(/^#+([^\/]+)+(?:\/.+)?/)) { return RegExp.$1; } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Editor.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Editor.ts index b4ea7e318f..ac354aae7c 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Editor.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Editor.ts @@ -10,7 +10,7 @@ import * as Ajax from "../../Ajax"; import { AjaxCallbackObject, CallbackSetup } from "../../Ajax/Data"; import * as Core from "../../Core"; -import { DialogCallbackObject, DialogSettings } from "../Dialog/Data"; +import { DialogCallbackObject, CallbackSetup as DialogSetup } from "../Dialog/Data"; import DomUtil from "../../Dom/Util"; import * as Language from "../../Language"; import * as StringUtil from "../../StringUtil"; @@ -192,7 +192,7 @@ class UserEditor implements AjaxCallbackObject, DialogCallbackObject { }; } - _dialogSetup(): DialogSettings { + _dialogSetup(): ReturnType { return { id: "wcfUiUserEditor", options: { @@ -254,6 +254,6 @@ class UserEditor implements AjaxCallbackObject, DialogCallbackObject { /** * Initializes the user editor. */ -export function init() { +export function init(): void { new UserEditor(); } diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts index bba9ccc98d..a6c5b56416 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts @@ -13,7 +13,7 @@ import DomUtil from "../../Dom/Util"; import UiDialog from "../Dialog"; import UiPagination from "../Pagination"; import { AjaxCallbackObject, CallbackSetup, DatabaseObjectActionResponse } from "../../Ajax/Data"; -import { DialogCallbackObject, DialogData, DialogSettings } from "../Dialog/Data"; +import { DialogCallbackObject, DialogData, CallbackSetup as DialogSetup } from "../Dialog/Data"; /** * @constructor @@ -108,7 +108,7 @@ class UiUserList implements AjaxCallbackObject, DialogCallbackObject { }; } - _dialogSetup(): DialogSettings { + _dialogSetup(): ReturnType { return { id: DomUtil.getUniqueId(), options: { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts index b48c48d79c..9aafde4480 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts @@ -9,7 +9,7 @@ import * as Ajax from "../../../Ajax"; import { AjaxCallbackObject, CallbackSetup, DatabaseObjectActionResponse } from "../../../Ajax/Data"; -import { DialogCallbackObject, DialogData } from "../../Dialog/Data"; +import { DialogCallbackObject, DialogData, CallbackSetup as DialogSetup } from "../../Dialog/Data"; import DomChangeListener from "../../../Dom/Change/Listener"; import UiDialog from "../../Dialog"; import UiPagination from "../../Pagination"; @@ -133,7 +133,7 @@ class UiUserTrophyList implements AjaxCallbackObject, DialogCallbackObject { }; } - _dialogSetup() { + _dialogSetup(): ReturnType { return { id: "userTrophyListOverlay", options: { -- 2.20.1