@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.
- package/.eslintrc.js +16 -0
- package/.github/workflows/ci.yml +0 -0
- package/CONTRIBUTING.md +151 -0
- package/LICENSE +21 -0
- package/README.md +285 -0
- package/dist/constants/categories/insult.d.ts +4 -0
- package/dist/constants/categories/sexual.d.ts +4 -0
- package/dist/constants/regions/batak.d.ts +4 -0
- package/dist/constants/regions/betawi.d.ts +4 -0
- package/dist/constants/regions/general.d.ts +4 -0
- package/dist/constants/regions/jawa.d.ts +4 -0
- package/dist/constants/regions/sunda.d.ts +4 -0
- package/dist/constants/wordList.d.ts +34 -0
- package/dist/core/analyzer.d.ts +54 -0
- package/dist/core/filter.d.ts +17 -0
- package/dist/core/matcher.d.ts +31 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.esm.js +1014 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +1031 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +69 -0
- package/examples/basic.ts +52 -0
- package/jest.config.js +10 -0
- package/package.json +51 -0
- package/prettierrc +7 -0
- package/rollup.config.js +35 -0
- package/src/config/options.ts +0 -0
- package/src/constants/categories/blasphemy.ts +0 -0
- package/src/constants/categories/disgusting.ts +0 -0
- package/src/constants/categories/drugs.ts +0 -0
- package/src/constants/categories/index.ts +31 -0
- package/src/constants/categories/insult.ts +114 -0
- package/src/constants/categories/profanity.ts +0 -0
- package/src/constants/categories/sexual.ts +100 -0
- package/src/constants/categories/slur.ts +0 -0
- package/src/constants/regions/aceh.ts +0 -0
- package/src/constants/regions/ambon.ts +0 -0
- package/src/constants/regions/bali.ts +0 -0
- package/src/constants/regions/banjar.ts +0 -0
- package/src/constants/regions/batak.ts +17 -0
- package/src/constants/regions/betawi.ts +39 -0
- package/src/constants/regions/bugis.ts +0 -0
- package/src/constants/regions/general.ts +111 -0
- package/src/constants/regions/index.ts +62 -0
- package/src/constants/regions/jawa.ts +102 -0
- package/src/constants/regions/lampung.ts +0 -0
- package/src/constants/regions/madura.ts +0 -0
- package/src/constants/regions/manado.ts +0 -0
- package/src/constants/regions/minang.ts +0 -0
- package/src/constants/regions/ntb.ts +0 -0
- package/src/constants/regions/ntt.ts +0 -0
- package/src/constants/regions/palembang.ts +0 -0
- package/src/constants/regions/papua.ts +0 -0
- package/src/constants/regions/sunda.ts +35 -0
- package/src/constants/wordList.ts +125 -0
- package/src/core/analyzer.ts +204 -0
- package/src/core/filter.ts +129 -0
- package/src/core/matcher.ts +267 -0
- package/src/index.ts +133 -0
- package/src/types/index.ts +115 -0
- package/src/utils/regexUtils.ts +0 -0
- package/src/utils/stringUtils.ts +0 -0
- 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
package/rollup.config.js
ADDED
|
@@ -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
|