#26: adds generic solution for modifiers

This commit is contained in:
2023-02-13 22:55:40 +01:00
parent 2392d1485a
commit c705d77710
5 changed files with 914 additions and 751 deletions
+893 -714
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -29,7 +29,9 @@
"braille": "^1.1.0",
"concurrently": "^6.5.1",
"express": "^4.18.2",
"fs": "^0.0.1-security",
"nodemon": "^2.0.15",
"path": "^0.12.7",
"string-similarity": "^4.0.4",
"translatte": "^3.0.0",
"ts-node": "^10.4.0",
+1 -1
View File
@@ -1,5 +1,5 @@
import ModifierRequest from "@/constants/interfaces/ModifierRequest";
export default function modifier(request: ModifierRequest) {
export default function modify(request: ModifierRequest) {
return request.text;
}
+17 -36
View File
@@ -1,37 +1,18 @@
import australia from "./australia/config";
import bold from "./bold/config";
import braille from "./braille/config";
import cummy from "./cummy/config";
import emoji from "./emoji/config";
import fancy from "./fancy/config";
import fraktur from "./fraktur/config";
import italic from "./italic/config";
import leet from "./leet/config";
import mirror from "./mirror/config";
import mock from "./mock/config";
import morse from "./morse/config";
import ogre from "./ogre/config";
import owo from "./owo/config";
import tiny from "./tiny/config";
import translate from "./translate/config";
import zalgo from "./zalgo/config";
import ModifierConfig from "@/constants/interfaces/ModifierConfig";
import fs from "fs";
import path from "path";
export default {
[australia.value]: australia,
[bold.value]: bold,
[braille.value]: braille,
[cummy.value]: cummy,
[emoji.value]: emoji,
[fancy.value]: fancy,
[fraktur.value]: fraktur,
[italic.value]: italic,
[leet.value]: leet,
[mirror.value]: mirror,
[mock.value]: mock,
[morse.value]: morse,
[ogre.value]: ogre,
[owo.value]: owo,
[tiny.value]: tiny,
[translate.value]: translate,
[zalgo.value]: zalgo,
};
const modifiers: Record<string, ModifierConfig> = {};
fs.readdirSync(__dirname)
.filter((file) => !file.startsWith("index.js"))
.forEach((dir) => {
fs.readdirSync(path.join(__dirname, dir))
.filter((file) => file === "config.js")
.map((file) => path.join(path.join(__dirname, dir), file))
.map((file) => require(file))
.map((config) => config.default)
.forEach((config) => (modifiers[config.value] = config));
});
export default modifiers;
+1
View File
@@ -2,6 +2,7 @@ import ModifierResponse from "@/constants/interfaces/ModifierResponse";
import ModifierRequest from "@/constants/interfaces/ModifierRequest";
import express from "express";
import modifiers from "../modifiers";
const router = express.Router();
Object.keys(modifiers).forEach((modifierKey: keyof typeof modifiers) => {