oberknecht-utils
Version:
Utils for oberknecht packages
121 lines (115 loc) โข 4 kB
text/typescript
import { randomNum, recreate } from "../";
const fancyTexts = [
{
ignore: true,
name: "0",
chars: "abcdefghijklmnopqrstuvwxqz",
nums: "0123456789",
tags: [],
},
{
name: "1",
chars: "๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ฎ๐ท",
nums: "0123456789",
tags: [],
},
{
name: "2",
chars: "๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐",
nums: "0123456789",
tags: [],
},
{
name: "3",
chars: "๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐บ๐",
nums: "0123456789",
tags: ["cursive"],
},
{
name: "4",
chars: "๐ถ๐ท๐ธ๐น๐๐ป๐๐ฝ๐พ๐ฟ๐๐๐๐๐๐
๐๐๐๐๐๐๐๐๐๐",
nums: "๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ",
tags: ["cursive"],
},
{
name: "5",
chars: "๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ข๐ซ",
nums: "๐๐๐๐๐๐๐๐๐ ๐ก",
tags: ["double"],
},
{
name: "6",
chars: "๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ
๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ",
nums: "๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ๏ผ",
tags: ["wide"],
},
{
name: "7",
chars:
"โ๐ฆโโ๐งโโ๐จโโ๐ฉโโ๐ชโโ๐ซโโ๐ฌโโ๐ญโโ๐ฎโโ๐ฏโโ๐ฐโโ๐ฑโโ๐ฒโโ๐ณโโ๐ดโโ๐ตโโ๐ถโโ๐ทโโ๐ธโโ๐นโโ๐บโโ๐ปโโ๐ผโโ๐ฝโโ๐ถโโ๐ฟโ",
nums: "0๏ธโฃ1๏ธโฃ2๏ธโฃ3๏ธโฃ4๏ธโฃ5๏ธโฃ6๏ธโฃ7๏ธโฃ8๏ธโฃ9๏ธโฃ",
tags: [],
},
{
name: "8",
chars: "๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐
๐
๐
๐
๐
๐
๐
๐
๐
๐
",
nums: "0123456789",
tags: [],
},
{
name: "9",
chars: "๐
ฐ๐
ฑ๐
ฒ๐
ณ๐
ด๐
ต๐
ถ๐
ท๐
ธ๐
น๐
บ๐
ป๐
ผ๐
ฝ๐
พ๐
ฟ๐๐๐๐๐๐
๐๐๐๐",
nums: "0123456789",
tags: [],
},
{
name: "10",
chars: "โโโโโโโโโโโโโโโโโ โกโขโฃโคโฅโฆโงโ โฉ",
nums: "โชโ โกโขโฃโคโฅโฆโงโจ",
tags: [],
},
{
name: "11",
chars: "๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ช๐ณ",
nums: "๐๐๐๐๐๐๐๐๐๐",
tags: ["bold"],
},
{
name: "12",
chars: "๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐
๐พ๐",
nums: "๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต",
tags: ["bold"],
},
{
name: "13",
chars: "๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐ฒ๐ป",
nums: "0123456789",
tags: ["cursive"],
},
{
name: "14",
chars: "๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฆ๐ฏ",
nums: "0123456789",
tags: ["bold", "cursive"],
},
{
name: "15",
chars: "๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐๐ฃ",
nums: "๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ",
tags: [],
},
];
export function toFancyText(s: string, name: string): string {
let r: string = recreate(s ?? "");
const randomNameNum = randomNum(1, fancyTexts.length - 1);
const name_: string = name?.toString() ?? fancyTexts[randomNameNum].name;
const defaultChars = fancyTexts[0];
const selectedChars =
fancyTexts.filter((a) => a.name === name_)[0] ?? fancyTexts[randomNameNum];
const defaultCharsAll = [...defaultChars.chars, ...defaultChars.nums];
const selectedCharsAll = [...selectedChars.chars, ...selectedChars.nums];
defaultCharsAll.forEach((char, i) => {
r = r.replace(new RegExp(`${char}`, "g"), selectedCharsAll[i]);
});
return r;
}