diff --git a/src/ts/userScript/en.user.ts b/src/ts/userScript/en.user.ts index 9f48a48a..787e5433 100644 --- a/src/ts/userScript/en.user.ts +++ b/src/ts/userScript/en.user.ts @@ -1,4 +1,4 @@ -import { UserScriptBase } from "./userScriptBase"; +import { createUserScript } from "./userScriptBase"; import translation from "../../../src/_locales/en/messages.json"; -new UserScriptBase(translation); +createUserScript(translation); diff --git a/src/ts/userScript/ja.user.ts b/src/ts/userScript/ja.user.ts index 73a01991..a0a5c4d7 100644 --- a/src/ts/userScript/ja.user.ts +++ b/src/ts/userScript/ja.user.ts @@ -1,4 +1,4 @@ -import { UserScriptBase } from "./userScriptBase"; +import { createUserScript } from "./userScriptBase"; import translation from "../../../src/_locales/ja/messages.json"; -new UserScriptBase(translation); +createUserScript(translation); diff --git a/src/ts/userScript/ko.user.ts b/src/ts/userScript/ko.user.ts index 9a369537..c5a6ea3c 100644 --- a/src/ts/userScript/ko.user.ts +++ b/src/ts/userScript/ko.user.ts @@ -1,4 +1,4 @@ -import { UserScriptBase } from "./userScriptBase"; +import { createUserScript } from "./userScriptBase"; import translation from "../../../src/_locales/ko/messages.json"; -new UserScriptBase(translation); +createUserScript(translation); diff --git a/src/ts/userScript/userScriptBase.ts b/src/ts/userScript/userScriptBase.ts index f4f0dfd0..99d25669 100644 --- a/src/ts/userScript/userScriptBase.ts +++ b/src/ts/userScript/userScriptBase.ts @@ -4,30 +4,24 @@ import { DEFAULT_SETTINGS } from "../common/defaultSettings"; import type { TranslationData } from "../../types/common/translator"; import { Translator } from "../common/translator"; -/** - * Base class of the user script. - */ -// eslint-disable-next-line @typescript-eslint/no-extraneous-class -class UserScriptBase { - public constructor(translationData: TranslationData) { - const translator = new Translator((key, substitutions) => { - if (substitutions) { - const substitutionsArray = typeof substitutions === "string" ? [substitutions] : substitutions; - let result = translationData[key].message; - // eslint-disable-next-line id-length - for (let i = 0; i < substitutionsArray.length; i++) { - // eslint-disable-next-line no-magic-numbers - result = result.replace(`$${String(i + 1)}`, substitutionsArray[i]); - } - return result; +const createUserScript = (translationData: TranslationData): void => { + const translator = new Translator((key, substitutions) => { + if (substitutions) { + const substitutionsArray = typeof substitutions === "string" ? [substitutions] : substitutions; + let result = translationData[key].message; + // eslint-disable-next-line id-length + for (let i = 0; i < substitutionsArray.length; i++) { + // eslint-disable-next-line no-magic-numbers + result = result.replace(`$${String(i + 1)}`, substitutionsArray[i]); } - return translationData[key].message; - }, "https://abs-0.twimg.com/emoji/v2/svg/"); + return result; + } + return translationData[key].message; + }, "https://abs-0.twimg.com/emoji/v2/svg/"); - new Core(DEFAULT_SETTINGS, () => { - translator.translateElements(); - }); - } -} + new Core(DEFAULT_SETTINGS, () => { + translator.translateElements(); + }); +}; -export { UserScriptBase }; +export { createUserScript }; diff --git a/src/ts/userScript/zh_TW.user.ts b/src/ts/userScript/zh_TW.user.ts index 65d2deb0..32867b35 100644 --- a/src/ts/userScript/zh_TW.user.ts +++ b/src/ts/userScript/zh_TW.user.ts @@ -1,4 +1,4 @@ -import { UserScriptBase } from "./userScriptBase"; +import { createUserScript } from "./userScriptBase"; import translation from "../../../src/_locales/zh_TW/messages.json"; -new UserScriptBase(translation); +createUserScript(translation);