@sideid/id-profanity-filter 0.1.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.
Files changed (64) hide show
  1. package/.eslintrc.js +16 -0
  2. package/.github/workflows/ci.yml +0 -0
  3. package/CONTRIBUTING.md +151 -0
  4. package/LICENSE +21 -0
  5. package/README.md +285 -0
  6. package/dist/constants/categories/insult.d.ts +4 -0
  7. package/dist/constants/categories/sexual.d.ts +4 -0
  8. package/dist/constants/regions/batak.d.ts +4 -0
  9. package/dist/constants/regions/betawi.d.ts +4 -0
  10. package/dist/constants/regions/general.d.ts +4 -0
  11. package/dist/constants/regions/jawa.d.ts +4 -0
  12. package/dist/constants/regions/sunda.d.ts +4 -0
  13. package/dist/constants/wordList.d.ts +34 -0
  14. package/dist/core/analyzer.d.ts +54 -0
  15. package/dist/core/filter.d.ts +17 -0
  16. package/dist/core/matcher.d.ts +31 -0
  17. package/dist/index.d.ts +71 -0
  18. package/dist/index.esm.js +1014 -0
  19. package/dist/index.esm.js.map +1 -0
  20. package/dist/index.js +1031 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/types/index.d.ts +69 -0
  23. package/examples/basic.ts +52 -0
  24. package/jest.config.js +10 -0
  25. package/package.json +51 -0
  26. package/prettierrc +7 -0
  27. package/rollup.config.js +35 -0
  28. package/src/config/options.ts +0 -0
  29. package/src/constants/categories/blasphemy.ts +0 -0
  30. package/src/constants/categories/disgusting.ts +0 -0
  31. package/src/constants/categories/drugs.ts +0 -0
  32. package/src/constants/categories/index.ts +31 -0
  33. package/src/constants/categories/insult.ts +114 -0
  34. package/src/constants/categories/profanity.ts +0 -0
  35. package/src/constants/categories/sexual.ts +100 -0
  36. package/src/constants/categories/slur.ts +0 -0
  37. package/src/constants/regions/aceh.ts +0 -0
  38. package/src/constants/regions/ambon.ts +0 -0
  39. package/src/constants/regions/bali.ts +0 -0
  40. package/src/constants/regions/banjar.ts +0 -0
  41. package/src/constants/regions/batak.ts +17 -0
  42. package/src/constants/regions/betawi.ts +39 -0
  43. package/src/constants/regions/bugis.ts +0 -0
  44. package/src/constants/regions/general.ts +111 -0
  45. package/src/constants/regions/index.ts +62 -0
  46. package/src/constants/regions/jawa.ts +102 -0
  47. package/src/constants/regions/lampung.ts +0 -0
  48. package/src/constants/regions/madura.ts +0 -0
  49. package/src/constants/regions/manado.ts +0 -0
  50. package/src/constants/regions/minang.ts +0 -0
  51. package/src/constants/regions/ntb.ts +0 -0
  52. package/src/constants/regions/ntt.ts +0 -0
  53. package/src/constants/regions/palembang.ts +0 -0
  54. package/src/constants/regions/papua.ts +0 -0
  55. package/src/constants/regions/sunda.ts +35 -0
  56. package/src/constants/wordList.ts +125 -0
  57. package/src/core/analyzer.ts +204 -0
  58. package/src/core/filter.ts +129 -0
  59. package/src/core/matcher.ts +267 -0
  60. package/src/index.ts +133 -0
  61. package/src/types/index.ts +115 -0
  62. package/src/utils/regexUtils.ts +0 -0
  63. package/src/utils/stringUtils.ts +0 -0
  64. package/tsconfig.json +115 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/constants/regions/general.ts","../src/constants/regions/jawa.ts","../src/constants/regions/sunda.ts","../src/constants/regions/betawi.ts","../src/constants/categories/sexual.ts","../src/constants/categories/insult.ts","../src/constants/regions/batak.ts","../src/constants/wordList.ts","../src/core/matcher.ts","../src/core/filter.ts","../src/core/analyzer.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["escapeRegExp"],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ export type ProfanityCategory = 'sexual' | 'insult' | 'profanity' | 'slur' | 'drugs' | 'disgusting' | 'blasphemy';
2
+ export type Region = 'general' | 'jawa' | 'sunda' | 'betawi' | 'batak' | 'minang' | 'bali' | 'madura' | 'bugis' | 'aceh' | 'ambon' | 'papua' | 'manado' | 'banjar' | 'palembang' | 'lampung' | 'ntt' | 'ntb';
3
+ /**
4
+ * Definisi kata kotor
5
+ */
6
+ export interface ProfanityWord {
7
+ word: string;
8
+ category: ProfanityCategory;
9
+ region: Region;
10
+ severity: number;
11
+ aliases?: string[];
12
+ description?: string;
13
+ context?: string;
14
+ }
15
+ /**
16
+ * Opsi untuk konfigurasi filter
17
+ */
18
+ export interface FilterOptions {
19
+ /** List kata yang ingin difilter */
20
+ wordList?: string[];
21
+ /** Karakter pengganti untuk kata yang disensor */
22
+ replaceWith?: string;
23
+ /** Apakah harus menyensor seluruh kata atau hanya sebagian */
24
+ fullWordCensor?: boolean;
25
+ /** Apakah harus mendeteksi kata dengan variasi penulisan */
26
+ detectLeetSpeak?: boolean;
27
+ /** Mengabaikan kata-kata dalam konteks tertentu (misalnya nama) */
28
+ whitelist?: string[];
29
+ /** Apakah harus memeriksa substring (lebih ketat) */
30
+ checkSubstring?: boolean;
31
+ /** Kategori kata yang ingin difilter */
32
+ categories?: ProfanityCategory[];
33
+ /** Daerah yang ingin difilter katanya */
34
+ regions?: Region[];
35
+ /** Tingkat keparahan minimum yang akan difilter (0-1) */
36
+ severityThreshold?: number;
37
+ }
38
+ /**
39
+ * Hasil analisis dari teks
40
+ */
41
+ export interface AnalysisResult {
42
+ /** Apakah teks mengandung kata kotor */
43
+ hasProfanity: boolean;
44
+ /** Daftar kata kotor yang ditemukan */
45
+ matches: string[];
46
+ /** Daftar kata kotor lengkap dengan metadata */
47
+ matchDetails: ProfanityWord[];
48
+ /** Daftar kategori kata kotor yang ditemukan */
49
+ categories: ProfanityCategory[];
50
+ /** Daftar daerah asal kata kotor yang ditemukan */
51
+ regions: Region[];
52
+ /** Tingkat keparahan (0-1) berdasarkan jumlah dan jenis kata */
53
+ severityScore: number;
54
+ }
55
+ /**
56
+ * Hasil filter dari teks
57
+ */
58
+ export interface FilterResult {
59
+ /** Teks hasil filter */
60
+ filtered: string;
61
+ /** Jumlah kata yang disensor */
62
+ censored: number;
63
+ /** Kata asli yang disensor dan penggantinya */
64
+ replacements: Array<{
65
+ original: string;
66
+ censored: string;
67
+ metadata?: ProfanityWord;
68
+ }>;
69
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Contoh penggunaan dasar ID-Profanity-Filter
3
+ */
4
+ import IDProfanityFilter from '../src/index';
5
+
6
+ // Contoh penggunaan sederhana
7
+
8
+ // 1. Buat instance filter
9
+ const filter = new IDProfanityFilter();
10
+
11
+ // 2. Contoh teks dengan kata kasar
12
+ const text = 'Dasar anjing kamu, jangan banyak bacot!';
13
+
14
+ // 3. Cek apakah teks mengandung kata kotor
15
+ const hasProfanity = filter.isProfane(text);
16
+ console.log('Teks mengandung kata kotor:', hasProfanity);
17
+
18
+ // 4. Filter kata kotor
19
+ const filteredResult = filter.filter(text);
20
+ console.log('Teks asli:', text);
21
+ console.log('Teks tersensor:', filteredResult.filtered);
22
+ console.log('Jumlah kata yang disensor:', filteredResult.censored);
23
+ console.log('Kata-kata yang disensor:', filteredResult.replacements);
24
+
25
+ // 5. Analisis teks
26
+ const analysis = filter.analyze(text);
27
+ console.log('\nHasil Analisis:');
28
+ console.log('- Mengandung kata kotor:', analysis.hasProfanity);
29
+ console.log('- Kata kotor yang ditemukan:', analysis.matches);
30
+ console.log('- Kategori kata kotor:', analysis.categories);
31
+ console.log('- Daerah asal kata kotor:', analysis.regions);
32
+ console.log('- Skor keparahan:', analysis.severityScore);
33
+
34
+ // 6. Gunakan opsi kustom
35
+ filter.setOptions({
36
+ replaceWith: '#',
37
+ fullWordCensor: false,
38
+ });
39
+
40
+ console.log('\nHasil filter dengan opsi kustom:');
41
+ console.log(filter.filter(text).filtered);
42
+
43
+ // 7. Tambahkan kata ke whitelist (pengecualian)
44
+ filter.addToWhitelist('anjing');
45
+ console.log('\nHasil filter setelah "anjing" di-whitelist:');
46
+ console.log(filter.filter(text).filtered);
47
+
48
+ // 8. Gunakan fungsi utilitas langsung
49
+ import { idFilter } from '../src/index';
50
+
51
+ console.log('\nPenggunaan utilitas langsung:');
52
+ console.log(idFilter.filter(text, { replaceWith: '@' }).filtered);
package/jest.config.js ADDED
@@ -0,0 +1,10 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ roots: ['<rootDir>/test'],
5
+ transform: {
6
+ '^.+\\.tsx?$': 'ts-jest',
7
+ },
8
+ testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
9
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
10
+ };
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@sideid/id-profanity-filter",
3
+ "version": "0.1.0",
4
+ "description": "Library filter kata kotor dalam Bahasa Indonesia",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "type": "module",
9
+ "scripts": {
10
+ "build": "rollup -c",
11
+ "test": "jest",
12
+ "lint": "eslint src/**/*.ts",
13
+ "format": "prettier --write \"src/**/*.ts\""
14
+ },
15
+ "keywords": [
16
+ "profanity",
17
+ "filter",
18
+ "indonesia",
19
+ "indonesian",
20
+ "kata-kotor",
21
+ "sensor"
22
+ ],
23
+ "author": "SideID <sandipratama164026@gmail.com>",
24
+ "license": "MIT",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/SideeID/id-profanity-filter.git"
28
+ },
29
+ "bugs": {
30
+ "url": "https://github.com/SideeID/id-profanity-filter/issues"
31
+ },
32
+ "homepage": "https://github.com/SideeID/id-profanity-filter#readme",
33
+ "devDependencies": {
34
+ "@rollup/plugin-commonjs": "^28.0.3",
35
+ "@rollup/plugin-json": "^6.1.0",
36
+ "@rollup/plugin-node-resolve": "^16.0.1",
37
+ "@rollup/plugin-typescript": "^12.1.2",
38
+ "@types/jest": "^29.5.14",
39
+ "@types/node": "^22.14.0",
40
+ "@typescript-eslint/eslint-plugin": "^8.29.1",
41
+ "@typescript-eslint/parser": "^8.29.1",
42
+ "eslint": "^9.24.0",
43
+ "eslint-config-prettier": "^10.1.1",
44
+ "jest": "^29.7.0",
45
+ "prettier": "^3.5.3",
46
+ "rollup": "^4.39.0",
47
+ "rollup-plugin-dts": "^6.2.1",
48
+ "ts-jest": "^29.3.1",
49
+ "typescript": "^5.8.3"
50
+ }
51
+ }
package/prettierrc ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "es5",
4
+ "printWidth": 100,
5
+ "tabWidth": 2,
6
+ "semi": true
7
+ }
@@ -0,0 +1,35 @@
1
+ import resolve from '@rollup/plugin-node-resolve';
2
+ import commonjs from '@rollup/plugin-commonjs';
3
+ import typescript from '@rollup/plugin-typescript';
4
+ import json from '@rollup/plugin-json';
5
+ import dts from 'rollup-plugin-dts';
6
+ import pkg from './package.json' assert { type: 'json' };
7
+
8
+ export default [
9
+ {
10
+ input: 'src/index.ts',
11
+ output: [
12
+ {
13
+ file: pkg.main,
14
+ format: 'cjs',
15
+ sourcemap: true,
16
+ },
17
+ {
18
+ file: pkg.module,
19
+ format: 'esm',
20
+ sourcemap: true,
21
+ },
22
+ ],
23
+ plugins: [
24
+ resolve(),
25
+ commonjs(),
26
+ typescript({ tsconfig: './tsconfig.json' }),
27
+ json(),
28
+ ],
29
+ },
30
+ {
31
+ input: 'dist/types/index.d.ts',
32
+ output: [{ file: 'dist/index.d.ts', format: 'es' }],
33
+ plugins: [dts()],
34
+ },
35
+ ];
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +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;
@@ -0,0 +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;
File without changes
@@ -0,0 +1,100 @@
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;
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +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;
@@ -0,0 +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;
File without changes