@sideid/id-profanity-filter 1.1.0 → 1.9.5

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 (41) hide show
  1. package/dist/config/options.d.ts +258 -0
  2. package/dist/constants/categories/insult.d.ts +1 -1
  3. package/dist/constants/categories/sexual.d.ts +1 -1
  4. package/dist/constants/regions/batak.d.ts +1 -1
  5. package/dist/constants/regions/betawi.d.ts +1 -1
  6. package/dist/constants/regions/general.d.ts +1 -1
  7. package/dist/constants/regions/jawa.d.ts +1 -1
  8. package/dist/constants/regions/sunda.d.ts +1 -1
  9. package/dist/constants/wordList.d.ts +1 -1
  10. package/dist/core/analyzer.d.ts +4 -4
  11. package/dist/core/filter.d.ts +1 -1
  12. package/dist/core/matcher.d.ts +5 -5
  13. package/dist/index.d.ts +30 -42
  14. package/dist/index.esm.js +1070 -432
  15. package/dist/index.esm.js.map +1 -1
  16. package/dist/index.js +1101 -429
  17. package/dist/index.js.map +1 -1
  18. package/dist/types/index.d.ts +29 -41
  19. package/dist/utils/regexUtils.d.ts +64 -0
  20. package/dist/utils/similarityUtils.d.ts +57 -0
  21. package/dist/utils/stringUtils.d.ts +79 -0
  22. package/package.json +1 -1
  23. package/src/config/options.ts +178 -0
  24. package/src/constants/categories/index.ts +31 -31
  25. package/src/constants/categories/insult.ts +114 -114
  26. package/src/constants/categories/sexual.ts +99 -100
  27. package/src/constants/regions/batak.ts +17 -17
  28. package/src/constants/regions/betawi.ts +39 -39
  29. package/src/constants/regions/general.ts +111 -111
  30. package/src/constants/regions/index.ts +62 -62
  31. package/src/constants/regions/jawa.ts +102 -102
  32. package/src/constants/regions/sunda.ts +35 -35
  33. package/src/constants/wordList.ts +125 -125
  34. package/src/core/analyzer.ts +225 -204
  35. package/src/core/filter.ts +129 -129
  36. package/src/core/matcher.ts +259 -267
  37. package/src/index.ts +188 -133
  38. package/src/types/index.ts +88 -115
  39. package/src/utils/regexUtils.ts +203 -0
  40. package/src/utils/similarityUtils.ts +195 -0
  41. package/src/utils/stringUtils.ts +213 -0
@@ -1,31 +1,31 @@
1
- // import { sexual } from './sexual';
2
- // import { insult } from './insult';
3
- // import { profanity } from './profanity';
4
- // import { slur } from './slur';
5
- // import { drugs } from './drugs';
6
- // import { disgusting } from './disgusting';
7
- // import { blasphemy } from './blasphemy';
8
-
9
- // export const categories = {
10
- // sexual, // Kata-kata berbau seksual
11
- // insult, // Kata-kata penghinaan
12
- // profanity, // Umpatan umum
13
- // slur, // Perkataan merendahkan berdasarkan identitas
14
- // drugs, // Terkait narkoba
15
- // disgusting, // Kata-kata menjijikkan
16
- // blasphemy, // Penistaan agama
17
- // };
18
-
19
- // export { sexual, insult, profanity, slur, drugs, disgusting, blasphemy };
20
-
21
- // export const allCategoryWords = [
22
- // ...sexual,
23
- // ...insult,
24
- // ...profanity,
25
- // ...slur,
26
- // ...drugs,
27
- // ...disgusting,
28
- // ...blasphemy,
29
- // ];
30
-
31
- // export default allCategoryWords;
1
+ // import { sexual } from './sexual';
2
+ // import { insult } from './insult';
3
+ // import { profanity } from './profanity';
4
+ // import { slur } from './slur';
5
+ // import { drugs } from './drugs';
6
+ // import { disgusting } from './disgusting';
7
+ // import { blasphemy } from './blasphemy';
8
+
9
+ // export const categories = {
10
+ // sexual, // Kata-kata berbau seksual
11
+ // insult, // Kata-kata penghinaan
12
+ // profanity, // Umpatan umum
13
+ // slur, // Perkataan merendahkan berdasarkan identitas
14
+ // drugs, // Terkait narkoba
15
+ // disgusting, // Kata-kata menjijikkan
16
+ // blasphemy, // Penistaan agama
17
+ // };
18
+
19
+ // export { sexual, insult, profanity, slur, drugs, disgusting, blasphemy };
20
+
21
+ // export const allCategoryWords = [
22
+ // ...sexual,
23
+ // ...insult,
24
+ // ...profanity,
25
+ // ...slur,
26
+ // ...drugs,
27
+ // ...disgusting,
28
+ // ...blasphemy,
29
+ // ];
30
+
31
+ // export default allCategoryWords;
@@ -1,114 +1,114 @@
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 insult: ProfanityWord[] = [
8
- ...general.filter((word) => word.category === 'insult'),
9
- ...jawa.filter((word) => word.category === 'insult'),
10
- ...sunda.filter((word) => word.category === 'insult'),
11
- ...betawi.filter((word) => word.category === 'insult'),
12
-
13
- {
14
- word: 'idiot',
15
- category: 'insult',
16
- region: 'general',
17
- severity: 0.6,
18
- aliases: ['idi0t', 'idot'],
19
- description: 'Kata yang mengacu pada kebodohan seseorang',
20
- context: 'Hinaan untuk menyebut orang yang dianggap sangat tidak pintar',
21
- },
22
- {
23
- word: 'dungu',
24
- category: 'insult',
25
- region: 'general',
26
- severity: 0.5,
27
- aliases: ['dngu', 'dongu'],
28
- description: 'Kata yang mengacu pada kebodohan seseorang',
29
- context: 'Hinaan untuk menyebut orang yang dianggap tidak pintar',
30
- },
31
- {
32
- word: 'sinting',
33
- category: 'insult',
34
- region: 'general',
35
- severity: 0.6,
36
- aliases: ['sintng', 'senteng'],
37
- description:
38
- 'Kata yang mengacu pada kegilaan atau ketidakwarasan seseorang',
39
- context: 'Hinaan untuk menyebut orang yang dianggap gila atau tidak waras',
40
- },
41
- {
42
- word: 'sarap',
43
- category: 'insult',
44
- region: 'general',
45
- severity: 0.6,
46
- aliases: ['saraf', 'srap'],
47
- description:
48
- 'Kata yang mengacu pada kegilaan atau ketidakwarasan seseorang',
49
- context: 'Hinaan untuk menyebut orang yang dianggap gila atau tidak waras',
50
- },
51
- {
52
- word: 'geblek',
53
- category: 'insult',
54
- region: 'general',
55
- severity: 0.5,
56
- aliases: ['gblk', 'geblk'],
57
- description: 'Kata yang mengacu pada kebodohan seseorang',
58
- context: 'Hinaan untuk menyebut orang yang dianggap tidak pintar',
59
- },
60
- {
61
- word: 'kampungan',
62
- category: 'insult',
63
- region: 'general',
64
- severity: 0.5,
65
- aliases: ['kmpngn', 'kamphungan'],
66
- description:
67
- 'Kata yang mengacu pada ketidaksopanan atau kenaifan seseorang',
68
- context:
69
- 'Hinaan untuk menyebut orang yang dianggap tidak modern atau primitif',
70
- },
71
- {
72
- word: 'udik',
73
- category: 'insult',
74
- region: 'general',
75
- severity: 0.5,
76
- aliases: ['udhik', 'udek'],
77
- description:
78
- 'Kata yang mengacu pada ketidaksopanan atau kenaifan seseorang',
79
- context:
80
- 'Hinaan untuk menyebut orang yang dianggap tidak modern atau primitif',
81
- },
82
- {
83
- word: 'dongo',
84
- category: 'insult',
85
- region: 'general',
86
- severity: 0.5,
87
- aliases: ['donggo', 'dungu'],
88
- description: 'Kata yang mengacu pada kebodohan seseorang',
89
- context: 'Hinaan untuk menyebut orang yang dianggap tidak pintar',
90
- },
91
- {
92
- word: 'tolol',
93
- category: 'insult',
94
- region: 'general',
95
- severity: 0.6,
96
- aliases: ['tol0l', 'tollo', 'tlol'],
97
- description: 'Kata yang mengacu pada kebodohan seseorang',
98
- context: 'Hinaan untuk menyebut orang yang dianggap tidak pintar',
99
- },
100
- {
101
- word: 'brengsek',
102
- category: 'insult',
103
- region: 'general',
104
- severity: 0.7,
105
- aliases: ['brengskek', 'brengsik', 'brengzek'],
106
- description: 'Kata yang mengacu pada kelakuan buruk atau tidak bermoral',
107
- context:
108
- 'Hinaan untuk menyebut orang yang dianggap memiliki kelakuan buruk',
109
- },
110
- ];
111
-
112
- export const insultWords = insult.map((item) => item.word);
113
-
114
- export default insult;
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 insult: ProfanityWord[] = [
8
+ ...general.filter((word) => word.category === "insult"),
9
+ ...jawa.filter((word) => word.category === "insult"),
10
+ ...sunda.filter((word) => word.category === "insult"),
11
+ ...betawi.filter((word) => word.category === "insult"),
12
+
13
+ {
14
+ word: "idiot",
15
+ category: "insult",
16
+ region: "general",
17
+ severity: 0.6,
18
+ aliases: ["idi0t", "idot"],
19
+ description: "Kata yang mengacu pada kebodohan seseorang",
20
+ context: "Hinaan untuk menyebut orang yang dianggap sangat tidak pintar",
21
+ },
22
+ {
23
+ word: "dungu",
24
+ category: "insult",
25
+ region: "general",
26
+ severity: 0.5,
27
+ aliases: ["dngu", "dongu"],
28
+ description: "Kata yang mengacu pada kebodohan seseorang",
29
+ context: "Hinaan untuk menyebut orang yang dianggap tidak pintar",
30
+ },
31
+ {
32
+ word: "sinting",
33
+ category: "insult",
34
+ region: "general",
35
+ severity: 0.6,
36
+ aliases: ["sintng", "senteng"],
37
+ description:
38
+ "Kata yang mengacu pada kegilaan atau ketidakwarasan seseorang",
39
+ context: "Hinaan untuk menyebut orang yang dianggap gila atau tidak waras",
40
+ },
41
+ {
42
+ word: "sarap",
43
+ category: "insult",
44
+ region: "general",
45
+ severity: 0.6,
46
+ aliases: ["saraf", "srap"],
47
+ description:
48
+ "Kata yang mengacu pada kegilaan atau ketidakwarasan seseorang",
49
+ context: "Hinaan untuk menyebut orang yang dianggap gila atau tidak waras",
50
+ },
51
+ {
52
+ word: "geblek",
53
+ category: "insult",
54
+ region: "general",
55
+ severity: 0.5,
56
+ aliases: ["gblk", "geblk"],
57
+ description: "Kata yang mengacu pada kebodohan seseorang",
58
+ context: "Hinaan untuk menyebut orang yang dianggap tidak pintar",
59
+ },
60
+ {
61
+ word: "kampungan",
62
+ category: "insult",
63
+ region: "general",
64
+ severity: 0.5,
65
+ aliases: ["kmpngn", "kamphungan"],
66
+ description:
67
+ "Kata yang mengacu pada ketidaksopanan atau kenaifan seseorang",
68
+ context:
69
+ "Hinaan untuk menyebut orang yang dianggap tidak modern atau primitif",
70
+ },
71
+ {
72
+ word: "udik",
73
+ category: "insult",
74
+ region: "general",
75
+ severity: 0.5,
76
+ aliases: ["udhik", "udek"],
77
+ description:
78
+ "Kata yang mengacu pada ketidaksopanan atau kenaifan seseorang",
79
+ context:
80
+ "Hinaan untuk menyebut orang yang dianggap tidak modern atau primitif",
81
+ },
82
+ {
83
+ word: "dongo",
84
+ category: "insult",
85
+ region: "general",
86
+ severity: 0.5,
87
+ aliases: ["donggo", "dungu"],
88
+ description: "Kata yang mengacu pada kebodohan seseorang",
89
+ context: "Hinaan untuk menyebut orang yang dianggap tidak pintar",
90
+ },
91
+ {
92
+ word: "tolol",
93
+ category: "insult",
94
+ region: "general",
95
+ severity: 0.6,
96
+ aliases: ["tol0l", "tollo", "tlol"],
97
+ description: "Kata yang mengacu pada kebodohan seseorang",
98
+ context: "Hinaan untuk menyebut orang yang dianggap tidak pintar",
99
+ },
100
+ {
101
+ word: "brengsek",
102
+ category: "insult",
103
+ region: "general",
104
+ severity: 0.7,
105
+ aliases: ["brengskek", "brengsik", "brengzek"],
106
+ description: "Kata yang mengacu pada kelakuan buruk atau tidak bermoral",
107
+ context:
108
+ "Hinaan untuk menyebut orang yang dianggap memiliki kelakuan buruk",
109
+ },
110
+ ];
111
+
112
+ export const insultWords = insult.map((item) => item.word);
113
+
114
+ export default insult;
@@ -1,100 +1,99 @@
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 sexual: ProfanityWord[] = [
8
- ...general.filter((word) => word.category === 'sexual'),
9
- ...jawa.filter((word) => word.category === 'sexual'),
10
- ...sunda.filter((word) => word.category === 'sexual'),
11
- ...betawi.filter((word) => word.category === 'sexual'),
12
-
13
- {
14
- word: 'bokep',
15
- category: 'sexual',
16
- region: 'general',
17
- severity: 0.7,
18
- aliases: ['bkp', 'bokap'],
19
- description: 'Istilah untuk video atau konten pornografi',
20
- context: 'Kata yang mengacu pada materi pornografi',
21
- },
22
- {
23
- word: 'coli',
24
- category: 'sexual',
25
- region: 'general',
26
- severity: 0.8,
27
- aliases: ['col', 'coly'],
28
- description: 'Istilah untuk masturbasi laki-laki',
29
- context: 'Kata vulgar yang merujuk pada aktivitas seksual pribadi',
30
- },
31
- {
32
- word: 'desah',
33
- category: 'sexual',
34
- region: 'general',
35
- severity: 0.6,
36
- aliases: ['ds4h', 'dsh'],
37
- description: 'Istilah untuk suara yang dibuat selama aktivitas seksual',
38
- context: 'Dapat menjadi vulgar tergantung konteks penggunaan',
39
- },
40
- {
41
- word: 'seks',
42
- category: 'sexual',
43
- region: 'general',
44
- severity: 0.5,
45
- aliases: ['sex', 'ML'],
46
- description: 'Istilah untuk aktivitas seksual',
47
- context: 'Dapat menjadi vulgar tergantung konteks penggunaan',
48
- },
49
- {
50
- word: 'itil',
51
- category: 'sexual',
52
- region: 'general',
53
- severity: 0.9,
54
- aliases: ['itl', 'itul'],
55
- description:
56
- 'Kata vulgar yang mengacu pada bagian dari alat kelamin perempuan',
57
- context: 'Kata vulgar yang merujuk pada anatomi seksual',
58
- },
59
- {
60
- word: 'kondom',
61
- category: 'sexual',
62
- region: 'general',
63
- severity: 0.5,
64
- aliases: ['kndm', 'kondom', 'cd'],
65
- description: 'Alat kontrasepsi',
66
- context: 'Dapat menjadi vulgar tergantung konteks penggunaan',
67
- },
68
- {
69
- word: 'ngewe',
70
- category: 'sexual',
71
- region: 'general',
72
- severity: 0.9,
73
- aliases: ['ngew', 'we'],
74
- description: 'Istilah kasar untuk aktivitas seksual',
75
- context: 'Kata vulgar yang merujuk pada aktivitas seksual',
76
- },
77
- {
78
- word: 'puki',
79
- category: 'sexual',
80
- region: 'general',
81
- severity: 0.9,
82
- aliases: ['puk', 'pukih'],
83
- description: 'Kata vulgar yang mengacu pada alat kelamin perempuan',
84
- context: 'Kata vulgar yang merujuk pada anatomi seksual',
85
- },
86
- {
87
- word: 'xxx',
88
- category: 'sexual',
89
- region: 'general',
90
- severity: 0.6,
91
- aliases: ['xXx', 'triplex'],
92
- description:
93
- 'Simbol yang sering digunakan untuk menandai konten pornografi',
94
- context: 'Digunakan untuk menandai konten seksual eksplisit',
95
- },
96
- ];
97
-
98
- export const sexualWords = sexual.map((item) => item.word);
99
-
100
- export default sexual;
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 sexual: ProfanityWord[] = [
8
+ ...general.filter((word) => word.category === "sexual"),
9
+ ...jawa.filter((word) => word.category === "sexual"),
10
+ ...sunda.filter((word) => word.category === "sexual"),
11
+ ...betawi.filter((word) => word.category === "sexual"),
12
+ {
13
+ word: "bokep",
14
+ category: "sexual",
15
+ region: "general",
16
+ severity: 0.7,
17
+ aliases: ["bkp", "bokap"],
18
+ description: "Istilah untuk video atau konten pornografi",
19
+ context: "Kata yang mengacu pada materi pornografi",
20
+ },
21
+ {
22
+ word: "coli",
23
+ category: "sexual",
24
+ region: "general",
25
+ severity: 0.8,
26
+ aliases: ["col", "coly"],
27
+ description: "Istilah untuk masturbasi laki-laki",
28
+ context: "Kata vulgar yang merujuk pada aktivitas seksual pribadi",
29
+ },
30
+ {
31
+ word: "desah",
32
+ category: "sexual",
33
+ region: "general",
34
+ severity: 0.6,
35
+ aliases: ["ds4h", "dsh"],
36
+ description: "Istilah untuk suara yang dibuat selama aktivitas seksual",
37
+ context: "Dapat menjadi vulgar tergantung konteks penggunaan",
38
+ },
39
+ {
40
+ word: "seks",
41
+ category: "sexual",
42
+ region: "general",
43
+ severity: 0.5,
44
+ aliases: ["sex", "ML"],
45
+ description: "Istilah untuk aktivitas seksual",
46
+ context: "Dapat menjadi vulgar tergantung konteks penggunaan",
47
+ },
48
+ {
49
+ word: "itil",
50
+ category: "sexual",
51
+ region: "general",
52
+ severity: 0.9,
53
+ aliases: ["itl", "itul"],
54
+ description:
55
+ "Kata vulgar yang mengacu pada bagian dari alat kelamin perempuan",
56
+ context: "Kata vulgar yang merujuk pada anatomi seksual",
57
+ },
58
+ {
59
+ word: "kondom",
60
+ category: "sexual",
61
+ region: "general",
62
+ severity: 0.5,
63
+ aliases: ["kndm", "kondom", "cd"],
64
+ description: "Alat kontrasepsi",
65
+ context: "Dapat menjadi vulgar tergantung konteks penggunaan",
66
+ },
67
+ {
68
+ word: "ngewe",
69
+ category: "sexual",
70
+ region: "general",
71
+ severity: 0.9,
72
+ aliases: ["ngew", "we"],
73
+ description: "Istilah kasar untuk aktivitas seksual",
74
+ context: "Kata vulgar yang merujuk pada aktivitas seksual",
75
+ },
76
+ {
77
+ word: "puki",
78
+ category: "sexual",
79
+ region: "general",
80
+ severity: 0.9,
81
+ aliases: ["puk", "pukih"],
82
+ description: "Kata vulgar yang mengacu pada alat kelamin perempuan",
83
+ context: "Kata vulgar yang merujuk pada anatomi seksual",
84
+ },
85
+ {
86
+ word: "xxx",
87
+ category: "sexual",
88
+ region: "general",
89
+ severity: 0.6,
90
+ aliases: ["xXx", "triplex"],
91
+ description:
92
+ "Simbol yang sering digunakan untuk menandai konten pornografi",
93
+ context: "Digunakan untuk menandai konten seksual eksplisit",
94
+ },
95
+ ];
96
+
97
+ export const sexualWords = sexual.map((item) => item.word);
98
+
99
+ export default sexual;
@@ -1,17 +1,17 @@
1
- import { ProfanityWord } from '../../types';
2
-
3
- export const batak: ProfanityWord[] = [
4
- {
5
- word: 'sundel',
6
- category: 'sexual',
7
- region: 'batak',
8
- severity: 0.8,
9
- aliases: ['sundal'],
10
- description: 'Kata kasar untuk menyebut pekerja seks komersial',
11
- context: 'Hinaan kasar untuk wanita',
12
- },
13
- ];
14
-
15
- export const batakWords = batak.map((item) => item.word);
16
-
17
- export default batak;
1
+ import { ProfanityWord } from "../../types";
2
+
3
+ export const batak: ProfanityWord[] = [
4
+ {
5
+ word: "sundel",
6
+ category: "sexual",
7
+ region: "batak",
8
+ severity: 0.8,
9
+ aliases: ["sundal"],
10
+ description: "Kata kasar untuk menyebut pekerja seks komersial",
11
+ context: "Hinaan kasar untuk wanita",
12
+ },
13
+ ];
14
+
15
+ export const batakWords = batak.map((item) => item.word);
16
+
17
+ export default batak;
@@ -1,39 +1,39 @@
1
- import { ProfanityWord } from '../../types';
2
-
3
- export const betawi: ProfanityWord[] = [
4
- {
5
- word: 'jablay',
6
- category: 'sexual',
7
- region: 'betawi',
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',
13
- },
14
- {
15
- word: 'udik',
16
- category: 'insult',
17
- region: 'betawi',
18
- severity: 0.5,
19
- aliases: ['kampungan', 'ndeso'],
20
- 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',
24
- },
25
- {
26
- word: 'perek',
27
- category: 'sexual',
28
- region: 'betawi',
29
- 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',
34
- },
35
- ];
36
-
37
- export const betawiWords = betawi.map((item) => item.word);
38
-
39
- export default betawi;
1
+ import { ProfanityWord } from "../../types";
2
+
3
+ export const betawi: ProfanityWord[] = [
4
+ {
5
+ word: "jablay",
6
+ category: "sexual",
7
+ region: "betawi",
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",
13
+ },
14
+ {
15
+ word: "udik",
16
+ category: "insult",
17
+ region: "betawi",
18
+ severity: 0.5,
19
+ aliases: ["kampungan", "ndeso"],
20
+ 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",
24
+ },
25
+ {
26
+ word: "perek",
27
+ category: "sexual",
28
+ region: "betawi",
29
+ 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",
34
+ },
35
+ ];
36
+
37
+ export const betawiWords = betawi.map((item) => item.word);
38
+
39
+ export default betawi;