@sideid/id-profanity-filter 1.11.7 → 1.11.8

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.
Files changed (53) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.esm.js +1004 -438
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +1004 -438
  5. package/dist/index.js.map +1 -1
  6. package/dist/types/config/options.d.ts +1 -1
  7. package/dist/types/constants/categories/blasphemy.d.ts +1 -1
  8. package/dist/types/constants/categories/disgusting.d.ts +1 -1
  9. package/dist/types/constants/categories/drugs.d.ts +1 -1
  10. package/dist/types/constants/categories/insult.d.ts +1 -1
  11. package/dist/types/constants/categories/profanity.d.ts +1 -1
  12. package/dist/types/constants/categories/sexual.d.ts +1 -1
  13. package/dist/types/constants/categories/slur.d.ts +1 -1
  14. package/dist/types/constants/regions/bali.d.ts +1 -1
  15. package/dist/types/constants/regions/batak.d.ts +1 -1
  16. package/dist/types/constants/regions/betawi.d.ts +1 -1
  17. package/dist/types/constants/regions/general.d.ts +1 -1
  18. package/dist/types/constants/regions/minang.d.ts +4 -0
  19. package/dist/types/constants/wordList.d.ts +10 -1
  20. package/dist/types/core/analyzer.d.ts +1 -1
  21. package/dist/types/core/filter.d.ts +1 -1
  22. package/dist/types/core/matcher.d.ts +1 -1
  23. package/dist/types/types/index.d.ts +2 -2
  24. package/dist/types/utils/regexUtils.d.ts +1 -1
  25. package/package.json +1 -1
  26. package/src/config/options.ts +25 -30
  27. package/src/constants/categories/blasphemy.ts +26 -15
  28. package/src/constants/categories/disgusting.ts +62 -54
  29. package/src/constants/categories/drugs.ts +56 -47
  30. package/src/constants/categories/insult.ts +80 -76
  31. package/src/constants/categories/profanity.ts +98 -92
  32. package/src/constants/categories/sexual.ts +74 -65
  33. package/src/constants/categories/slur.ts +73 -66
  34. package/src/constants/regions/aceh.ts +5 -9
  35. package/src/constants/regions/bali.ts +4 -7
  36. package/src/constants/regions/batak.ts +5 -9
  37. package/src/constants/regions/betawi.ts +19 -22
  38. package/src/constants/regions/general.ts +140 -144
  39. package/src/constants/regions/jawa.ts +11 -29
  40. package/src/constants/regions/madura.ts +2 -4
  41. package/src/constants/regions/minang.ts +53 -0
  42. package/src/constants/regions/sunda.ts +2 -4
  43. package/src/constants/wordList.ts +31 -34
  44. package/src/core/analyzer.ts +15 -26
  45. package/src/core/filter.ts +23 -39
  46. package/src/core/matcher.ts +25 -49
  47. package/src/index.ts +5 -16
  48. package/src/types/index.ts +26 -25
  49. package/src/utils/ahoCorasick.ts +1 -1
  50. package/src/utils/regexUtils.ts +37 -43
  51. package/src/utils/similarityUtils.ts +13 -28
  52. package/src/utils/stringUtils.ts +30 -38
  53. /package/{prettierrc → .prettierrc} +0 -0
@@ -1,100 +1,107 @@
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";
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
+ import minang from '../regions/minang';
7
+ import madura from '../regions/madura';
8
+ import aceh from '../regions/aceh';
9
+ import bali from '../regions/bali';
10
+ import batak from '../regions/batak';
6
11
 
7
12
  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"),
13
+ ...general.filter((word) => word.category === 'slur'),
14
+ ...jawa.filter((word) => word.category === 'slur'),
15
+ ...sunda.filter((word) => word.category === 'slur'),
16
+ ...betawi.filter((word) => word.category === 'slur'),
17
+ ...minang.filter((word) => word.category === 'slur'),
18
+ ...madura.filter((word) => word.category === 'slur'),
19
+ ...sunda.filter((word) => word.category === 'slur'),
20
+ ...aceh.filter((word) => word.category === 'slur'),
21
+ ...bali.filter((word) => word.category === 'slur'),
22
+ ...batak.filter((word) => word.category === 'slur'),
12
23
 
13
24
  {
14
- word: "cina",
15
- category: "slur",
16
- region: "general",
25
+ word: 'cina',
26
+ category: 'slur',
27
+ region: 'general',
17
28
  severity: 0.7,
18
- aliases: ["cino", "china"],
19
- description:
20
- "Sebutan yang dianggap merendahkan untuk orang keturunan Tionghoa",
29
+ aliases: ['cino', 'china'],
30
+ description: 'Sebutan yang dianggap merendahkan untuk orang keturunan Tionghoa',
21
31
  context: 'Dianggap tidak sopan dan sebaiknya diganti dengan "Tionghoa"',
22
32
  },
23
33
  {
24
- word: "banci",
25
- category: "slur",
26
- region: "general",
34
+ word: 'banci',
35
+ category: 'slur',
36
+ region: 'general',
27
37
  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",
38
+ aliases: ['bencong', 'waria', 'bences'],
39
+ description: 'Istilah merendahkan untuk transgender atau pria yang dianggap feminin',
40
+ context: 'Digunakan sebagai hinaan terhadap identitas gender atau ekspresi gender seseorang',
33
41
  },
34
42
  {
35
- word: "autis",
36
- category: "slur",
37
- region: "general",
43
+ word: 'autis',
44
+ category: 'slur',
45
+ region: 'general',
38
46
  severity: 0.6,
39
- aliases: ["autis lu", "autisan"],
40
- description: "Penyalahgunaan kondisi medis sebagai hinaan",
47
+ aliases: ['autis lu', 'autisan'],
48
+ description: 'Penyalahgunaan kondisi medis sebagai hinaan',
41
49
  context:
42
- "Menggunakan kondisi spektrum autisme sebagai hinaan untuk seseorang yang dianggap aneh",
50
+ 'Menggunakan kondisi spektrum autisme sebagai hinaan untuk seseorang yang dianggap aneh',
43
51
  },
44
52
  {
45
- word: "londo",
46
- category: "slur",
47
- region: "jawa",
53
+ word: 'londo',
54
+ category: 'slur',
55
+ region: 'jawa',
48
56
  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",
57
+ aliases: ['landa', 'landi'],
58
+ description: 'Sebutan untuk orang Belanda atau orang berkulit putih',
59
+ context: 'Dapat bersifat merendahkan tergantung konteks dan nada bicara',
52
60
  },
53
61
  {
54
- word: "keling",
55
- category: "slur",
56
- region: "general",
62
+ word: 'keling',
63
+ category: 'slur',
64
+ region: 'general',
57
65
  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",
66
+ aliases: ['kaling', 'hitam legam'],
67
+ description: 'Istilah merendahkan untuk orang India atau berkulit gelap',
68
+ context: 'Dianggap sangat tidak sopan dan bernada rasis',
61
69
  },
62
70
  {
63
- word: "cacat",
64
- category: "slur",
65
- region: "general",
71
+ word: 'cacat',
72
+ category: 'slur',
73
+ region: 'general',
66
74
  severity: 0.7,
67
- aliases: ["cacad", "difabel"],
68
- description: "Istilah merendahkan untuk penyandang disabilitas",
69
- context: "Digunakan sebagai hinaan untuk menunjukkan ketidaksempurnaan",
75
+ aliases: ['cacad', 'difabel'],
76
+ description: 'Istilah merendahkan untuk penyandang disabilitas',
77
+ context: 'Digunakan sebagai hinaan untuk menunjukkan ketidaksempurnaan',
70
78
  },
71
79
  {
72
- word: "gembel",
73
- category: "slur",
74
- region: "general",
80
+ word: 'gembel',
81
+ category: 'slur',
82
+ region: 'general',
75
83
  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",
84
+ aliases: ['gembul', 'gelandangan'],
85
+ description: 'Istilah merendahkan untuk orang tidak mampu atau tunawisma',
86
+ context: 'Mengandung stigma terhadap kemiskinan dan kelas sosial',
79
87
  },
80
88
  {
81
- word: "kampungan",
82
- category: "slur",
83
- region: "general",
89
+ word: 'kampungan',
90
+ category: 'slur',
91
+ region: 'general',
84
92
  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",
93
+ aliases: ['ndeso', 'katrok', 'udik'],
94
+ description: 'Istilah merendahkan untuk orang dari daerah pedesaan',
95
+ context: 'Menyiratkan seseorang tidak beradab, tidak berpendidikan, atau ketinggalan zaman',
89
96
  },
90
97
  {
91
- word: "tolol",
92
- category: "slur",
93
- region: "general",
98
+ word: 'tolol',
99
+ category: 'slur',
100
+ region: 'general',
94
101
  severity: 0.6,
95
- aliases: ["tololnya", "tolo"],
96
- description: "Hinaan terhadap kecerdasan seseorang",
97
- context: "Digunakan untuk menghina kapasitas mental seseorang",
102
+ aliases: ['tololnya', 'tolo'],
103
+ description: 'Hinaan terhadap kecerdasan seseorang',
104
+ context: 'Digunakan untuk menghina kapasitas mental seseorang',
98
105
  },
99
106
  ];
100
107
 
@@ -17,8 +17,7 @@ export const aceh: ProfanityWord[] = [
17
17
  severity: 0.6,
18
18
  aliases: [],
19
19
  description: 'Secara harfiah berarti babi',
20
- context:
21
- 'Umpatan untuk menyebut orang yang dianggap kotor, rakus, atau tidak berakhlak',
20
+ context: 'Umpatan untuk menyebut orang yang dianggap kotor, rakus, atau tidak berakhlak',
22
21
  },
23
22
  {
24
23
  word: 'asèe',
@@ -27,8 +26,7 @@ export const aceh: ProfanityWord[] = [
27
26
  severity: 0.6,
28
27
  aliases: ['asee'],
29
28
  description: 'Secara harfiah berarti anjing',
30
- context:
31
- 'Umpatan untuk menyebut orang yang dianggap hina atau tidak berguna',
29
+ context: 'Umpatan untuk menyebut orang yang dianggap hina atau tidak berguna',
32
30
  },
33
31
  {
34
32
  word: 'haramjadah',
@@ -36,10 +34,8 @@ export const aceh: ProfanityWord[] = [
36
34
  region: 'aceh',
37
35
  severity: 0.8,
38
36
  aliases: [],
39
- description:
40
- 'Berarti kurang ajar atau anak haram (lebih halus dari aneuk bajeung)',
41
- context:
42
- 'Umpatan kasar untuk menyebut anak yang tidak sopan atau tidak beradab',
37
+ description: 'Berarti kurang ajar atau anak haram (lebih halus dari aneuk bajeung)',
38
+ context: 'Umpatan kasar untuk menyebut anak yang tidak sopan atau tidak beradab',
43
39
  },
44
40
  {
45
41
  word: "pa'ak",
@@ -63,4 +59,4 @@ export const aceh: ProfanityWord[] = [
63
59
 
64
60
  export const acehWords = aceh.map((item) => item.word);
65
61
 
66
- export default aceh;
62
+ export default aceh;
@@ -1,4 +1,4 @@
1
- import { ProfanityWord } from "../../types";
1
+ import { ProfanityWord } from '../../types';
2
2
 
3
3
  export const bali: ProfanityWord[] = [
4
4
  {
@@ -8,8 +8,7 @@ export const bali: ProfanityWord[] = [
8
8
  severity: 0.7,
9
9
  aliases: [],
10
10
  description: 'Secara harfiah berarti anjing',
11
- context:
12
- 'Umpatan umum di Bali untuk menyebut orang yang dianggap hina atau tidak berguna',
11
+ context: 'Umpatan umum di Bali untuk menyebut orang yang dianggap hina atau tidak berguna',
13
12
  },
14
13
  {
15
14
  word: 'bengkung',
@@ -17,10 +16,8 @@ export const bali: ProfanityWord[] = [
17
16
  region: 'bali',
18
17
  severity: 0.5,
19
18
  aliases: [],
20
- description:
21
- 'Berarti bengkok atau tidak lurus (juga bisa berarti tidak jujur)',
22
- context:
23
- 'Umpatan ringan untuk menyebut orang yang tidak jujur atau berkelakuan buruk',
19
+ description: 'Berarti bengkok atau tidak lurus (juga bisa berarti tidak jujur)',
20
+ context: 'Umpatan ringan untuk menyebut orang yang tidak jujur atau berkelakuan buruk',
24
21
  },
25
22
  {
26
23
  word: 'belog',
@@ -1,4 +1,4 @@
1
- import { ProfanityWord } from "../../types";
1
+ import { ProfanityWord } from '../../types';
2
2
 
3
3
  export const batak: ProfanityWord[] = [
4
4
  {
@@ -17,8 +17,7 @@ export const batak: ProfanityWord[] = [
17
17
  severity: 0.7,
18
18
  aliases: [],
19
19
  description: "Secara harfiah berarti 'tidak berguna' atau 'sia-sia'",
20
- context:
21
- 'Umpatan kasar untuk menyebut orang yang dianggap tidak berguna atau tidak becus.',
20
+ context: 'Umpatan kasar untuk menyebut orang yang dianggap tidak berguna atau tidak becus.',
22
21
  },
23
22
  {
24
23
  word: 'puki mak',
@@ -117,8 +116,7 @@ export const batak: ProfanityWord[] = [
117
116
  severity: 0.5,
118
117
  aliases: [],
119
118
  description: 'Berarti orang yang suka bicara omong kosong atau tidak jelas',
120
- context:
121
- 'Umpatan ringan untuk menyebut orang yang perkataannya tidak bisa dipercaya.',
119
+ context: 'Umpatan ringan untuk menyebut orang yang perkataannya tidak bisa dipercaya.',
122
120
  },
123
121
  {
124
122
  word: 'songon babiat',
@@ -127,8 +125,7 @@ export const batak: ProfanityWord[] = [
127
125
  severity: 0.7,
128
126
  aliases: [],
129
127
  description: 'Secara harfiah berarti seperti binatang buas (kasar)',
130
- context:
131
- 'Umpatan kasar untuk menyebut orang yang kelakuannya buruk atau liar.',
128
+ context: 'Umpatan kasar untuk menyebut orang yang kelakuannya buruk atau liar.',
132
129
  },
133
130
  {
134
131
  word: 'hau buluk',
@@ -136,8 +133,7 @@ export const batak: ProfanityWord[] = [
136
133
  region: 'batak',
137
134
  severity: 0.6,
138
135
  aliases: [],
139
- description:
140
- 'Secara harfiah berarti pohon lapuk (kiasan untuk tidak berguna)',
136
+ description: 'Secara harfiah berarti pohon lapuk (kiasan untuk tidak berguna)',
141
137
  context: 'Umpatan untuk menyebut orang yang dianggap tidak berguna.',
142
138
  },
143
139
  ];
@@ -1,36 +1,33 @@
1
- import { ProfanityWord } from "../../types";
1
+ import { ProfanityWord } from '../../types';
2
2
 
3
3
  export const betawi: ProfanityWord[] = [
4
4
  {
5
- word: "jablay",
6
- category: "sexual",
7
- region: "betawi",
5
+ word: 'jablay',
6
+ category: 'sexual',
7
+ region: 'betawi',
8
8
  severity: 0.7,
9
- aliases: ["jabl4y", "jalay"],
10
- description:
11
- 'Singkatan dari "jarang dibelai", istilah untuk perempuan yang mudah didekati',
12
- context: "Hinaan yang merendahkan untuk wanita",
9
+ aliases: ['jabl4y', 'jalay'],
10
+ description: 'Singkatan dari "jarang dibelai", istilah untuk perempuan yang mudah didekati',
11
+ context: 'Hinaan yang merendahkan untuk wanita',
13
12
  },
14
13
  {
15
- word: "udik",
16
- category: "insult",
17
- region: "betawi",
14
+ word: 'udik',
15
+ category: 'insult',
16
+ region: 'betawi',
18
17
  severity: 0.5,
19
- aliases: ["kampungan", "ndeso"],
18
+ aliases: ['kampungan', 'ndeso'],
20
19
  description:
21
- "Kata yang mengacu pada seseorang yang dianggap ketinggalan zaman atau tidak modern",
22
- context:
23
- "Hinaan untuk menyebut orang yang dianggap tidak modern atau kampungan",
20
+ 'Kata yang mengacu pada seseorang yang dianggap ketinggalan zaman atau tidak modern',
21
+ context: 'Hinaan untuk menyebut orang yang dianggap tidak modern atau kampungan',
24
22
  },
25
23
  {
26
- word: "perek",
27
- category: "sexual",
28
- region: "betawi",
24
+ word: 'perek',
25
+ category: 'sexual',
26
+ region: 'betawi',
29
27
  severity: 0.7,
30
- aliases: ["perempuan eksperimen", "prk"],
31
- description:
32
- "Istilah untuk perempuan yang dianggap memiliki moral yang rendah",
33
- context: "Hinaan yang merendahkan untuk wanita",
28
+ aliases: ['perempuan eksperimen', 'prk'],
29
+ description: 'Istilah untuk perempuan yang dianggap memiliki moral yang rendah',
30
+ context: 'Hinaan yang merendahkan untuk wanita',
34
31
  },
35
32
  ];
36
33