@sideid/id-profanity-filter 1.10.6 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/categories/blasphemy.d.ts +4 -0
- package/dist/constants/categories/disgusting.d.ts +4 -0
- package/dist/constants/categories/drugs.d.ts +4 -0
- package/dist/constants/categories/profanity.d.ts +4 -0
- package/dist/constants/categories/slur.d.ts +4 -0
- package/dist/constants/wordList.d.ts +1 -1
- package/dist/core/analyzer.d.ts +1 -1
- package/dist/core/filter.d.ts +1 -1
- package/dist/core/matcher.d.ts +1 -1
- package/dist/index.esm.js +536 -50
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +536 -50
- package/dist/index.js.map +1 -1
- package/dist/utils/ahoCorasick.d.ts +36 -0
- package/dist/utils/similarityUtils.d.ts +10 -0
- package/package.json +1 -1
- package/src/constants/categories/blasphemy.ts +25 -0
- package/src/constants/categories/disgusting.ts +82 -0
- package/src/constants/categories/drugs.ts +72 -0
- package/src/constants/categories/profanity.ts +139 -0
- package/src/constants/categories/slur.ts +102 -0
- package/src/constants/regions/jawa.ts +356 -354
- package/src/core/analyzer.ts +28 -7
- package/src/core/matcher.ts +25 -18
- package/src/utils/ahoCorasick.ts +179 -0
- package/src/utils/similarityUtils.ts +157 -20
- package/test.js +0 -184
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { ProfanityWord } from "../../types";
|
|
2
|
+
import { general } from "../regions/general";
|
|
3
|
+
import { jawa } from "../regions/jawa";
|
|
4
|
+
import { sunda } from "../regions/sunda";
|
|
5
|
+
import { betawi } from "../regions/betawi";
|
|
6
|
+
|
|
7
|
+
export const profanity: ProfanityWord[] = [
|
|
8
|
+
...general.filter((word) => word.category === "profanity"),
|
|
9
|
+
...jawa.filter((word) => word.category === "profanity"),
|
|
10
|
+
...sunda.filter((word) => word.category === "profanity"),
|
|
11
|
+
...betawi.filter((word) => word.category === "profanity"),
|
|
12
|
+
|
|
13
|
+
{
|
|
14
|
+
word: "anjing",
|
|
15
|
+
category: "profanity",
|
|
16
|
+
region: "general",
|
|
17
|
+
severity: 0.9,
|
|
18
|
+
aliases: ["anjir", "anying", "njing", "njir"],
|
|
19
|
+
description: "Kata umpatan yang mengacu pada hewan anjing",
|
|
20
|
+
context: "Digunakan sebagai ekspresi kemarahan atau frustasi",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
word: "babi",
|
|
24
|
+
category: "profanity",
|
|
25
|
+
region: "general",
|
|
26
|
+
severity: 0.8,
|
|
27
|
+
aliases: ["babik", "khinzir"],
|
|
28
|
+
description: "Kata umpatan yang mengacu pada hewan babi",
|
|
29
|
+
context:
|
|
30
|
+
"Digunakan untuk mengekspresikan kemarahan atau menghina seseorang",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
word: "bangsat",
|
|
34
|
+
category: "profanity",
|
|
35
|
+
region: "general",
|
|
36
|
+
severity: 0.8,
|
|
37
|
+
aliases: ["bgst", "bangst"],
|
|
38
|
+
description: "Kata umpatan kasar yang berarti kutu atau parasit",
|
|
39
|
+
context: "Digunakan untuk menunjukkan kemarahan atau menghina seseorang",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
word: "kampret",
|
|
43
|
+
category: "profanity",
|
|
44
|
+
region: "general",
|
|
45
|
+
severity: 0.7,
|
|
46
|
+
aliases: ["kampret lu", "kampretot"],
|
|
47
|
+
description: "Kata umpatan yang mengacu pada jenis kelelawar kecil",
|
|
48
|
+
context: "Digunakan untuk mengungkapkan kekesalan atau menghina seseorang",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
word: "sialan",
|
|
52
|
+
category: "profanity",
|
|
53
|
+
region: "general",
|
|
54
|
+
severity: 0.6,
|
|
55
|
+
aliases: ["sial", "siaal"],
|
|
56
|
+
description: "Kata umpatan yang menunjukkan nasib buruk",
|
|
57
|
+
context: "Digunakan untuk mengekspresikan kekesalan atau kemarahan",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
word: "monyet",
|
|
61
|
+
category: "profanity",
|
|
62
|
+
region: "general",
|
|
63
|
+
severity: 0.7,
|
|
64
|
+
aliases: ["monyong", "munyuk"],
|
|
65
|
+
description: "Kata umpatan yang mengacu pada hewan primata",
|
|
66
|
+
context: "Digunakan untuk menghina atau mengekspresikan kemarahan",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
word: "bajingan",
|
|
70
|
+
category: "profanity",
|
|
71
|
+
region: "general",
|
|
72
|
+
severity: 0.8,
|
|
73
|
+
aliases: ["bajinga", "bjngn"],
|
|
74
|
+
description: "Kata umpatan yang berarti penjahat atau orang jahat",
|
|
75
|
+
context:
|
|
76
|
+
"Digunakan untuk mengumpat seseorang yang dianggap buruk perilakunya",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
word: "jancok",
|
|
80
|
+
category: "profanity",
|
|
81
|
+
region: "jawa",
|
|
82
|
+
severity: 0.9,
|
|
83
|
+
aliases: ["jancuk", "jancik", "dancok"],
|
|
84
|
+
description: "Kata umpatan kasar dalam bahasa Jawa",
|
|
85
|
+
context:
|
|
86
|
+
"Umpatan sangat kasar dalam budaya Jawa, menunjukkan kemarahan yang tinggi",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
word: "cuk",
|
|
90
|
+
category: "profanity",
|
|
91
|
+
region: "jawa",
|
|
92
|
+
severity: 0.8,
|
|
93
|
+
aliases: ["cok", "cug"],
|
|
94
|
+
description: "Bentuk singkat dari jancok",
|
|
95
|
+
context:
|
|
96
|
+
"Versi pendek dari umpatan jancok, digunakan dalam percakapan sehari-hari",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
word: "asu",
|
|
100
|
+
category: "profanity",
|
|
101
|
+
region: "jawa",
|
|
102
|
+
severity: 0.8,
|
|
103
|
+
aliases: ["asyu", "su"],
|
|
104
|
+
description: "Kata Jawa untuk anjing, digunakan sebagai umpatan",
|
|
105
|
+
context: "Ekspresi umpatan yang umum di masyarakat Jawa",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
word: "sia",
|
|
109
|
+
category: "profanity",
|
|
110
|
+
region: "sunda",
|
|
111
|
+
severity: 0.6,
|
|
112
|
+
aliases: ["siah", "siaa"],
|
|
113
|
+
description: "Kata ganti orang kedua dalam bahasa Sunda yang kasar",
|
|
114
|
+
context:
|
|
115
|
+
"Menunjukkan ketidakhormatan pada lawan bicara dalam konteks Sunda",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
word: "lu",
|
|
119
|
+
category: "profanity",
|
|
120
|
+
region: "betawi",
|
|
121
|
+
severity: 0.4,
|
|
122
|
+
aliases: ["elu", "lo"],
|
|
123
|
+
description: "Kata ganti orang kedua dalam dialek Betawi",
|
|
124
|
+
context:
|
|
125
|
+
"Dapat dianggap kasar dalam konteks formal atau saat berbicara dengan orang yang lebih tua",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
word: "goblok",
|
|
129
|
+
category: "profanity",
|
|
130
|
+
region: "general",
|
|
131
|
+
severity: 0.7,
|
|
132
|
+
aliases: ["goblog", "goblokk", "bego", "bodoh"],
|
|
133
|
+
description: "Kata umpatan yang menunjukkan kebodohan",
|
|
134
|
+
context: "Digunakan untuk menghina kecerdasan seseorang",
|
|
135
|
+
},
|
|
136
|
+
];
|
|
137
|
+
|
|
138
|
+
export const profanityWords = profanity.map((item) => item.word);
|
|
139
|
+
export default profanity;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { ProfanityWord } from "../../types";
|
|
2
|
+
import { general } from "../regions/general";
|
|
3
|
+
import { jawa } from "../regions/jawa";
|
|
4
|
+
import { sunda } from "../regions/sunda";
|
|
5
|
+
import { betawi } from "../regions/betawi";
|
|
6
|
+
|
|
7
|
+
export const slur: ProfanityWord[] = [
|
|
8
|
+
...general.filter((word) => word.category === "slur"),
|
|
9
|
+
...jawa.filter((word) => word.category === "slur"),
|
|
10
|
+
...sunda.filter((word) => word.category === "slur"),
|
|
11
|
+
...betawi.filter((word) => word.category === "slur"),
|
|
12
|
+
|
|
13
|
+
{
|
|
14
|
+
word: "cina",
|
|
15
|
+
category: "slur",
|
|
16
|
+
region: "general",
|
|
17
|
+
severity: 0.7,
|
|
18
|
+
aliases: ["cino", "china"],
|
|
19
|
+
description:
|
|
20
|
+
"Sebutan yang dianggap merendahkan untuk orang keturunan Tionghoa",
|
|
21
|
+
context: 'Dianggap tidak sopan dan sebaiknya diganti dengan "Tionghoa"',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
word: "banci",
|
|
25
|
+
category: "slur",
|
|
26
|
+
region: "general",
|
|
27
|
+
severity: 0.7,
|
|
28
|
+
aliases: ["bencong", "waria", "bences"],
|
|
29
|
+
description:
|
|
30
|
+
"Istilah merendahkan untuk transgender atau pria yang dianggap feminin",
|
|
31
|
+
context:
|
|
32
|
+
"Digunakan sebagai hinaan terhadap identitas gender atau ekspresi gender seseorang",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
word: "autis",
|
|
36
|
+
category: "slur",
|
|
37
|
+
region: "general",
|
|
38
|
+
severity: 0.6,
|
|
39
|
+
aliases: ["autis lu", "autisan"],
|
|
40
|
+
description: "Penyalahgunaan kondisi medis sebagai hinaan",
|
|
41
|
+
context:
|
|
42
|
+
"Menggunakan kondisi spektrum autisme sebagai hinaan untuk seseorang yang dianggap aneh",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
word: "londo",
|
|
46
|
+
category: "slur",
|
|
47
|
+
region: "jawa",
|
|
48
|
+
severity: 0.5,
|
|
49
|
+
aliases: ["landa", "landi"],
|
|
50
|
+
description: "Sebutan untuk orang Belanda atau orang berkulit putih",
|
|
51
|
+
context: "Dapat bersifat merendahkan tergantung konteks dan nada bicara",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
word: "keling",
|
|
55
|
+
category: "slur",
|
|
56
|
+
region: "general",
|
|
57
|
+
severity: 0.8,
|
|
58
|
+
aliases: ["kaling", "hitam legam"],
|
|
59
|
+
description: "Istilah merendahkan untuk orang India atau berkulit gelap",
|
|
60
|
+
context: "Dianggap sangat tidak sopan dan bernada rasis",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
word: "cacat",
|
|
64
|
+
category: "slur",
|
|
65
|
+
region: "general",
|
|
66
|
+
severity: 0.7,
|
|
67
|
+
aliases: ["cacad", "difabel"],
|
|
68
|
+
description: "Istilah merendahkan untuk penyandang disabilitas",
|
|
69
|
+
context: "Digunakan sebagai hinaan untuk menunjukkan ketidaksempurnaan",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
word: "gembel",
|
|
73
|
+
category: "slur",
|
|
74
|
+
region: "general",
|
|
75
|
+
severity: 0.6,
|
|
76
|
+
aliases: ["gembul", "gelandangan"],
|
|
77
|
+
description: "Istilah merendahkan untuk orang tidak mampu atau tunawisma",
|
|
78
|
+
context: "Mengandung stigma terhadap kemiskinan dan kelas sosial",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
word: "kampungan",
|
|
82
|
+
category: "slur",
|
|
83
|
+
region: "general",
|
|
84
|
+
severity: 0.5,
|
|
85
|
+
aliases: ["ndeso", "katrok", "udik"],
|
|
86
|
+
description: "Istilah merendahkan untuk orang dari daerah pedesaan",
|
|
87
|
+
context:
|
|
88
|
+
"Menyiratkan seseorang tidak beradab, tidak berpendidikan, atau ketinggalan zaman",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
word: "tolol",
|
|
92
|
+
category: "slur",
|
|
93
|
+
region: "general",
|
|
94
|
+
severity: 0.6,
|
|
95
|
+
aliases: ["tololnya", "tolo"],
|
|
96
|
+
description: "Hinaan terhadap kecerdasan seseorang",
|
|
97
|
+
context: "Digunakan untuk menghina kapasitas mental seseorang",
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
export const slurWords = slur.map((item) => item.word);
|
|
102
|
+
export default slur;
|