Skip to content

Commit

Permalink
refactor: rewrite UserScriptBase() class to createUserScript() fu…
Browse files Browse the repository at this point in the history
…nction #902 (#913)
  • Loading branch information
Robot-Inventor authored Aug 6, 2024
1 parent c93a5e9 commit 24b0d1e
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 32 deletions.
4 changes: 2 additions & 2 deletions src/ts/userScript/en.user.ts
Original file line number Diff line number Diff line change
@@ -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);
4 changes: 2 additions & 2 deletions src/ts/userScript/ja.user.ts
Original file line number Diff line number Diff line change
@@ -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);
4 changes: 2 additions & 2 deletions src/ts/userScript/ko.user.ts
Original file line number Diff line number Diff line change
@@ -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);
42 changes: 18 additions & 24 deletions src/ts/userScript/userScriptBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 };
4 changes: 2 additions & 2 deletions src/ts/userScript/zh_TW.user.ts
Original file line number Diff line number Diff line change
@@ -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);

0 comments on commit 24b0d1e

Please sign in to comment.