Skip to content

Commit

Permalink
switch from diacritics to remove-accents
Browse files Browse the repository at this point in the history
  • Loading branch information
dangowans committed May 18, 2022
1 parent 39dc65a commit b466b31
Show file tree
Hide file tree
Showing 20 changed files with 617 additions and 896 deletions.
1 change: 1 addition & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"plugin:@typescript-eslint/recommended"
],
"rules": {
"import/no-unresolved": "off",
"node/no-missing-import": "off",
"unicorn/empty-brace-spaces": "off",
"unicorn/filename-case": [
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 The Corporation of the City of Sault Ste. Marie
Copyright (c) 2022 The Corporation of the City of Sault Ste. Marie

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ npm install @cityssm/unleet
## Usage

```javascript
import unleet from "@cityssm/unleet";

unleet("b@d w0rd");
// => [ "bad word" ]

Expand Down
4 changes: 2 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { remove as removeDiacritics } from "diacritics";
import accents from "remove-accents";
import * as utils from "./utils.js";
import { simpleTranslations, complexTranslations } from "./translations.js";
const unleetRecurse = (lowerCaseLeetString, unleetStrings, previousStrings, complexTranslationKeys) => {
Expand Down Expand Up @@ -36,7 +36,7 @@ export const unleet = (leetString) => {
cleanLeetString = cleanLeetString.replace(/\./g, " ");
cleanLeetString = cleanLeetString.replace(utils.whitespaceCharactersRegex, " ");
cleanLeetString = cleanLeetString.replace(/ +/g, " ");
cleanLeetString = removeDiacritics(cleanLeetString);
cleanLeetString = accents(cleanLeetString);
cleanLeetString = cleanLeetString.toLowerCase();
for (const leetSymbol of Object.keys(simpleTranslations)) {
while (cleanLeetString.includes(leetSymbol)) {
Expand Down
4 changes: 2 additions & 2 deletions index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { remove as removeDiacritics } from "diacritics";
import accents from "remove-accents";
import * as utils from "./utils.js";

import { simpleTranslations, complexTranslations } from "./translations.js";
Expand Down Expand Up @@ -71,7 +71,7 @@ export const unleet = (leetString: string | number): string[] => {
cleanLeetString = cleanLeetString.replace(/ +/g, " ");

// Remove accents
cleanLeetString = removeDiacritics(cleanLeetString);
cleanLeetString = accents(cleanLeetString);

// Convert to lower case
cleanLeetString = cleanLeetString.toLowerCase();
Expand Down
2 changes: 1 addition & 1 deletion mappings/build.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as fs from "fs";
import * as fs from "node:fs";
import { mappings } from "./mappings.js";
const translations = {};
for (const letter of Object.keys(mappings)) {
Expand Down
2 changes: 1 addition & 1 deletion mappings/build.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as fs from "fs";
import * as fs from "node:fs";
import { mappings } from "./mappings.js";

const translations: { [symbol: string]: string[] } = {};
Expand Down
78 changes: 39 additions & 39 deletions mappings/mappings.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ export const mappings = {
"𝖠", "𝘈", "𝘼", "𝑨", "𝐀", "𝗔", "𝙰",
"A̲",
"𝒜", "𝓐", "𝐴", "𝔄", "𝕬",
"Ꭿ", "ᗩ", "闩",
"Ꭿ", "ᗩ", "闩", "Ʌ",
"∀",
"ᴬ", "ᴀ", "🇦​​​​​",
"𝔸", "🄰", "🅰", "🅐", "Ⓐ", "🄐",
"/\\", "/-\\", "|-\\",
"▞▚"],
"a": ["ɑ", "@", "^",
"𝙖", "𝒂", "𝐚", "𝗮", "𝚊", "α", "𝘢", "𝖺",
"𝙖", "𝒂", "𝐚", "𝗮", "𝚊", "α", "𝘢", "𝖺", "a",
"a̲", "a̳", "a̶", "a̫͖̻",
"𝕒", "𝔞", "𝖆", "𝒶", "𝓪",
"ⲁ",
Expand Down Expand Up @@ -45,7 +45,7 @@ export const mappings = {
"🄲", "🅲", "🅒", "🄒"
],
"c": ["(", "[", "<", "¢",
"🇨​​​​​", "𝙘", "ⲥ", "𝚌", "𝐜", "𝘤", "𝗰", "𝒄", "𝖼",
"🇨​​​​​", "𝙘", "ⲥ", "𝚌", "𝐜", "𝘤", "𝗰", "𝒄", "𝖼", "c",
"c̲",
"𝕔", "𝒸", "𝓬", "𝔠", "𝖈",
"𝐶", "⼕", "ᙅ", "⊂",
Expand All @@ -59,14 +59,14 @@ export const mappings = {
"cu": ["℆"],
"D": ["𝘋", "𝘿", "𝑫", "𝐃", "𝗗", "ᗪ", "🇩", "𝐷", "𝖣", "𝙳",
"𝔻", "ⅅ", "Ɗ", "Ɖ", "𝙳", "𝔇", "𝕯", "𝒟", "𝓓",
"D̲",
"D̲", "ↁ",
"ᴅ", "ᴰ",
"ᗡ",
"🄳", "🅳", "🅓", "Ⓓ", "🄓", "⒟",
"[)", "|>", "|)", "|]",
"◗"
],
"d": ["ⅆ", "𝒹", "𝙙", "𝚍", "𝗱", "𝐝", "𝒅", "𝘥", "𝖽",
"d": ["ⅆ", "𝒹", "𝙙", "𝚍", "𝗱", "𝐝", "𝒅", "𝘥", "𝖽", "d",
"𝕕", "𝓭", "𝔡", "𝖉",
"Ƌ", "ƌ", "δ", "ð", "ᖱ", "ԃ", "ⲇ",
"ᵈ", "◌ͩ", "ͩ"
Expand All @@ -77,30 +77,30 @@ export const mappings = {
"E": ["3",
"🇪", "𝐸", "𝖤", "𝘌", "𝙀", "𝑬", "𝐄", "𝗘", "𝙴",
"𝔼", "ℰ", "ℇ", "𝔈", "𝕰", "𝓔",
"Ɛ", "ɛ", "ε", "€", "є",
"Ɛ", "ɛ", "ε", "€", "є", "€",
"ℨ", "℈",
"🝗", "∈", "ⲉ",
"ᴱ", "ᴇ",
"🅴", "🄴", "🅔", "🄔",
"[-", "█☰"],
"e": ["𝙚", "𝚎", "𝗲", "𝐞", "𝘦", "𝒆", "𝖾",
"e̲",
"𝕖", "℮", "ℯ", "ⅇ", "𝓮",
"𝕖", "℮", "ℯ", "ⅇ", "𝓮", "e",
"ҽ", "𝔢", "𝖊",
"Ə", "ǝ", "ə", "ɚ", "ɘ",
"ᵉ", "◌ͤ", "ₑ", "ͤ",
"ⓔ", "⒠"],
"F": ["🇫", "𝐹", "𝖥", "𝘍", "𝙁", "𝑭", "𝐅", "𝗙", "𝙵",
"𝔽", "ℱ", "𝔉", "𝕱", "𝓕",
"℉",
"Ⅎ", "ⅎ",
"Ⅎ", "ⅎ", "ꟻ",
"ꜰ", "ғ",
"🅵", "🄵", "🅕", "🄕",
"█〓"],
"f": ["𝙛", "𝚏", "𝐟", "𝒇", "𝖿", "𝗳",
"f̲",
"𝕗", "ƒ", "𝒻", "𝓯",
"チ", "⨍", "𝔣", "𝖋", "𝘧",
"チ", "⨍", "𝔣", "𝖋", "𝘧", "f",
"ᶠ", "𝆑",
"ⓕ", "⒡",
"|=", "/="],
Expand All @@ -115,8 +115,8 @@ export const mappings = {
"(_+"
],
"g": ["9",
"𝗀", "𝘨", "𝙜", "𝒈", "𝐠", "𝗴", "ց", "𝚐",
"𝕘", "ℊ", "𝓰", "𝑔", "𝔤", "𝖌", "ℊ",
"𝗀", "𝘨", "𝙜", "𝒈", "𝐠", "𝗴", "ց", "𝚐", "g",
"𝕘", "ℊ", "𝓰", "𝑔", "𝔤", "𝖌", "ℊ", "ꞡ",
"ᵍ",
"ⓖ", "⒢"],
"H": ["#",
Expand All @@ -128,9 +128,9 @@ export const mappings = {
"|-|", "/-/", "[-]", "]-[", ")-(", "(-)", ":-:", "|~|", "]~[", "}{",
"█▬█"],
"h": ["𝗁", "𝘩", "𝙝", "𝒉", "𝐡", "𝗵", "𝚑",
"ℎ", "ℏ",
"ℎ", "ℏ", "h",
"h̲",
"𝕙", "𝔥", "𝖍", "𝒽", "𝓱",
"𝕙", "𝔥", "𝖍", "𝒽", "𝓱", "ƕ",
"ꮒ",
"ɥ",
"ⓗ", "⒣",
Expand All @@ -139,14 +139,14 @@ export const mappings = {
"I": ["1", "|",
"𝗜", "Ɩ", "𝐼", "𝖨", "𝘐", "𝙄", "𝑰", "𝐈", "𝙸",
"𝕀", "ℐ", "ℑ", "𝕴", "𝓘",
"Ɨ",
"Ɨ", "ᵻ",
"ᶦ", "ᴵ", "ɪ",
"🄸", "🅸", "🅘", "🇮​​​​​", "🄘",
"][", "\\", "/",
"█"
],
"i": [":", "!",
"ⅈ", "ℹ", "𝙞", "𝚒", "𝐢", "𝗂", "𝘪", "𝒊", "i", "𝗶",
"ⅈ", "ℹ", "𝙞", "𝚒", "𝐢", "𝗂", "𝘪", "𝒊", "i", "𝗶", "i",
"i̲",
"𝓲", "𝕚", "𝒾", "𝔦", "𝖎",
"讠", "⫯", "ⲓ", "ι",
Expand All @@ -161,7 +161,7 @@ export const mappings = {
"_|", "_/",
"▟"],
"j": ["¿", ";",
"𝑗", "𝘫", "𝙟", "𝒋", "𝐣", "𝗷", "𝗃",
"𝑗", "𝘫", "𝙟", "𝒋", "𝐣", "𝗷", "𝗃", "j",
"𝕛", "ⅉ", "𝔧", "𝖏", "𝒿", "𝓳",
"𝚓", "ʝ",
"ʲ", "ⱼ",
Expand All @@ -172,8 +172,8 @@ export const mappings = {
"🄺", "🅺", "🅚", "🄚",
"|<", "|{"],
"k": ["x",
"𝘬", "𝙠", "𝒌", "𝐤", "𝗸", "𝚔", "𝗄",
"k̲",
"𝘬", "𝙠", "𝒌", "𝐤", "𝗸", "𝚔", "𝗄", "k",
"k̲", "ꝅ",
"𝕜", "𝓀", "𝓴", "𝔨", "𝖐",
"ᴋ", "ɮ", "ⲕ", "长",
"ʞ",
Expand All @@ -188,10 +188,10 @@ export const mappings = {
"🄻", "🅻", "🅛", "🄛",
"|_", "[_", "1_",
"▙▄"],
"l": ["1", "!", "|",
"l": ["1", "!", "|", "t",
"𝘭", "𝙡", "𝒍", "𝐥", "𝗹", "𝚕", "𝗅",
"l̲",
"𝕝", "𝔩", "𝖑", "𝓁", "ℓ", "𝓵",
"𝕝", "𝔩", "𝖑", "𝓁", "ℓ", "𝓵", "l",
"ƪ", "ɬ",
"ˡ", "ₗ", "℩",
"ⓛ", "⒧",
Expand All @@ -207,21 +207,21 @@ export const mappings = {
"▛▚▞▜"],
"m": ["𝑚", "𝗆", "𝘮", "𝙢", "𝒎", "𝐦", "𝗺", "𝚖",
"m̲",
"𝕞", "𝔪", "𝖒", "𝓂", "𝓶",
"𝕞", "𝔪", "𝖒", "𝓂", "𝓶", "ɱ", "m",
"Ɯ", "ɯ", "w",
"ᵐ", "◌ͫ", "ₘ", "ͫ",
"ⓜ", "⒨"],
"mm": ["mͫ"],
"N": ["🇳", "𝑁", "𝖭", "𝘕", "𝙉", "𝑵", "𝐍", "𝗡", "𝙽",
"ℕ", "ℵ", "𝓝", "𝔑", "𝕹", "𝒩",
"ﬡ",
"ﬡ", "₪",
"ᴺ", "ᶰ", "ɴ", "ⲛ",
"🄽", "🅽", "🅝", "🄝",
"/\\/", "|\\|", "/v", "[\\]", "|v",
"▛▟"],
"n": ["𝑛", "𝘯", "𝙣", "𝒏", "𝐧", "𝗻", "𝚗", "𝗇",
"n̲",
"𝕟", "𝔫", "𝖓", "𝓃", "𝓷",
"𝕟", "𝔫", "𝖓", "𝓃", "𝓷", "n",
"Ω", "ℿ", "η", "ɳ",
"ⁿ", "ₙ",
"ⓝ", "⒩"],
Expand All @@ -236,7 +236,7 @@ export const mappings = {
"🇴", "𝗈", "ο", "𝘰", "𝙤", "𝒐", "𝐨", "𝗼", "𝚘",
"o̲",
"𝕠", "𝔬", "𝖔", "ℴ", "𝓸",
"ð", "ⲟ", "o", "σ", "ㄖ", "𝖮", "ᗝ",
"ð", "ⲟ", "o", "σ", "ㄖ", "𝖮", "ᗝ", "ɵ",
"°", "º", "ℴ", "ᴼ", "ᵒ", "◌ͦ", "ₒ", "ᴏ", "ͦ", "º",
"ⓞ", "⒪",
],
Expand All @@ -254,8 +254,8 @@ export const mappings = {
"▛"],
"p": ["𝗉", "𝑝", "𝘱", "𝙥", "𝒑", "𝐩", "𝗽", "𝚙", "ⲣ",
"p̲",
"𝕡", "𝔭", "𝖕", "𝓅", "𝓹",
"þ", "℘", "ρ",
"𝕡", "𝔭", "𝖕", "𝓅", "𝓹", "p",
"þ", "℘", "ρ", "ƿ",
"ᵖ", "ₚ",
"ⓟ", "⒫"],
"pl": ["⅊"],
Expand All @@ -269,8 +269,8 @@ export const mappings = {
"█▙"],
"q": ["o", "9",
"q̲",
"𝑞", "𝗊", "𝘲", "𝙦", "𝒒", "𝐪", "𝗾", "𝚚",
"𝕢", "𝔮", "𝖖", "𝓆", "𝓺",
"𝑞", "𝗊", "𝘲", "𝙦", "𝒒", "𝐪", "𝗾", "𝚚", "q",
"𝕢", "𝔮", "𝖖", "𝓆", "𝓺", "ƣ",
"φ", "ᑫ", "Ɋ", "ᕴ", "ᖳ", "գ", "q̨",
"ᵠ", "ᵩ",
"ⓠ", "⒬"],
Expand All @@ -280,13 +280,13 @@ export const mappings = {
"🇷", "𝑅", "𝖱", "𝘙", "𝙍", "𝑹", "𝐑", "𝗥", "𝚁",
"℞", "℟",
"ℛ", "ℜ", "ℝ", "𝕽", "𝓡",
"Я", "я",
"Я", "я", "Я",
"ᴿ", "ʀ", "尺", "ᖇ",
"®", "🅁", "🆁", "🅡", "🄡",
"/2", "|?", "|2"],
"r": ["𝑟", "𝘳", "𝙧", "𝒓", "𝐫", "𝗿", "𝚛", "𝗋",
"r̲",
"𝕣", "𝔯", "𝖗", "𝓇", "𝓻",
"𝕣", "𝔯", "𝖗", "𝓇", "𝓻", "r",
"ꞅ", "ɾ",
"ɹ",
"ʳ", "◌ͬ", "ᵣ", "◌᷊", "ͬ",
Expand All @@ -296,7 +296,7 @@ export const mappings = {
"𝑆", "𝖲", "𝘚", "𝙎", "𝑺", "𝐒", "𝗦", "𝚂",
"𝕊", "𝔖", "𝕾", "𝒮", "𝓢"],
"s": ["z",
"🇸", "𝗌", "𝘴", "𝙨", "𝒔", "𝐬", "𝘀", "𝚜",
"🇸", "𝗌", "𝘴", "𝙨", "𝒔", "𝐬", "𝘀", "𝚜", "s",
"s̲",
"𝕤", "𝔰", "𝖘", "𝓈", "𝓼",
"§", "丂", "ട", "⟆", "𝛓", "r", "b",
Expand All @@ -316,10 +316,10 @@ export const mappings = {
"'|'", "¯|¯",
"▜▛"],
"t": ["+",
"𝗍", "𝘵", "𝙩", "𝒕", "𝐭", "𝘁", "𝚝",
"𝗍", "𝘵", "𝙩", "𝒕", "𝐭", "𝘁", "𝚝", "t",
"t̲",
"𝕥", "𝔱", "𝖙", "𝓉", "𝓽",
"†", "〸", "𝜏", "七", "セ",
"†", "〸", "𝜏", "七", "セ", "ꝉ",
"ʇ",
"ⓣ", "⒯",
"ᵗ", "◌ͭ", "ₜ", "ͭ"],
Expand All @@ -331,10 +331,10 @@ export const mappings = {
"(_)", "|_|", "L|",
"▙▟"],
"u": [
"𝑢", "𝗎", "𝘶", "𝙪", "𝒖", "𝐮", "𝘂", "𝚞",
"𝑢", "𝗎", "𝘶", "𝙪", "𝒖", "𝐮", "𝘂", "𝚞", "u",
"u̲",
"𝕦", "𝔲", "𝖚", "𝓊", "𝓾",
"℧", "μ", "µ", "ᴜ", "𐌵", "ㄩ", "ᥙ", "υ", "🇺", "ⴑ",
"℧", "μ", "µ", "ᴜ", "𐌵", "ㄩ", "ᥙ", "υ", "🇺", "ⴑ", "Ʊ",
"ᵁ", "ᶸ", "ᵘ", "◌ͧ", "ᵤ", "ᴜ", "ͧ", "ᵤ",
"🅄", "🆄", "🅤", "ⓤ", "🄤", "⒰"
],
Expand All @@ -348,7 +348,7 @@ export const mappings = {
"v̲",
"𝕧",
"𝔳", "𝖛", "𝓋", "𝓿",
"Ɣ", "γ", "v", "ᐯ", "ʋ", "ᨆ",
"Ɣ", "γ", "v", "ᐯ", "ʋ", "ᨆ", "√",
"ⱽ", "ᵛ", "◌ͮ", "ᵥ", "ᴠ", "ͮ",
"🅅", "🆅", "🅥", "ⓥ", "🄥", "⒱"],
"vv": ["vͮ"],
Expand All @@ -360,7 +360,7 @@ export const mappings = {
"𝑤", "𝗐", "𝘸", "𝙬", "𝒘", "𝐰", "𝘄", "𝚠", "w", "🇼",
"w̲",
"𝕨", "𝓌", "𝔴", "𝖜", "𝓌", "𝔀",
"Ɯ", "ɯ",
"Ɯ", "ɯ", "ꟺ",
"LJ", "ω", "ᾣ", "ⲱ", "山",
"m",
"ʷ", "ᵂ", "ʷ", "ᴡ",
Expand All @@ -372,7 +372,7 @@ export const mappings = {
"x̲",
"𝕩",
"𝔵", "𝖝", "𝓍", "𝔁",
"ⲭ", "〤", "⌘",
"ⲭ", "〤", "⌘", "Ж",
"ˣ", "ˣ", "◌ͯ", "ₓ", "ͯ",
"🅇", "🆇", "🅧", "ⓧ", "🄧", "⒳"],
"xx": ["xͯ"],
Expand All @@ -382,7 +382,7 @@ export const mappings = {
"▚▘"],
"y": ["𝗒", "𝘺", "𝙮", "𝒚", "𝐲", "𝘆", "𝚢", "🇾",
"y̲",
"𝕪", "𝓎", "𝔂",
"𝕪", "𝓎", "𝔂", "y",
"Ɣ", "γ", "ℽ", "¥", "ⲩ", "丫", "ყ", "Ⴘ", "𝖞", "𝔶",
"λ", "⅄", "ʎ",
"ʸ", "ʏ", "ᵧ",
Expand Down
Loading

0 comments on commit b466b31

Please sign in to comment.