@sideid/id-profanity-filter 1.11.0 → 1.11.6

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/.eslintrc.js +44 -44
  2. package/.github/workflows/release.yml +62 -0
  3. package/CONTRIBUTING.md +150 -150
  4. package/LICENSE +21 -21
  5. package/README.md +548 -548
  6. package/dist/index.d.ts +989 -0
  7. package/dist/index.esm.js +504 -234
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +504 -234
  10. package/dist/index.js.map +1 -1
  11. package/dist/types/constants/regions/aceh.d.ts +4 -0
  12. package/dist/types/constants/regions/bali.d.ts +4 -0
  13. package/dist/{constants → types/constants}/regions/jawa.d.ts +1 -1
  14. package/dist/types/index.d.ts +375 -57
  15. package/dist/types/types/index.d.ts +59 -0
  16. package/eslint.config.mjs +40 -40
  17. package/examples/advanced.ts +120 -120
  18. package/examples/basic.ts +71 -71
  19. package/examples/custom-list.ts +140 -140
  20. package/jest.config.mjs +10 -10
  21. package/package.json +2 -1
  22. package/prettierrc +6 -6
  23. package/rollup.config.mjs +40 -35
  24. package/src/constants/regions/aceh.ts +231 -0
  25. package/src/constants/regions/bali.ts +168 -0
  26. package/src/constants/regions/batak.ts +136 -6
  27. package/src/constants/regions/general.ts +9 -0
  28. package/src/constants/regions/jawa.ts +367 -229
  29. package/src/index.ts +15 -15
  30. package/tsconfig.json +115 -115
  31. package/.github/workflows/ci.yml +0 -0
  32. package/dist/constants/categories/index.d.ts +0 -9
  33. package/dist/constants/regions/index.d.ts +0 -8
  34. /package/dist/{config → types/config}/options.d.ts +0 -0
  35. /package/dist/{constants → types/constants}/categories/blasphemy.d.ts +0 -0
  36. /package/dist/{constants → types/constants}/categories/disgusting.d.ts +0 -0
  37. /package/dist/{constants → types/constants}/categories/drugs.d.ts +0 -0
  38. /package/dist/{constants → types/constants}/categories/insult.d.ts +0 -0
  39. /package/dist/{constants → types/constants}/categories/profanity.d.ts +0 -0
  40. /package/dist/{constants → types/constants}/categories/sexual.d.ts +0 -0
  41. /package/dist/{constants → types/constants}/categories/slur.d.ts +0 -0
  42. /package/dist/{constants → types/constants}/regions/batak.d.ts +0 -0
  43. /package/dist/{constants → types/constants}/regions/betawi.d.ts +0 -0
  44. /package/dist/{constants → types/constants}/regions/general.d.ts +0 -0
  45. /package/dist/{constants → types/constants}/regions/sunda.d.ts +0 -0
  46. /package/dist/{constants → types/constants}/wordList.d.ts +0 -0
  47. /package/dist/{core → types/core}/analyzer.d.ts +0 -0
  48. /package/dist/{core → types/core}/filter.d.ts +0 -0
  49. /package/dist/{core → types/core}/matcher.d.ts +0 -0
  50. /package/dist/{utils → types/utils}/ahoCorasick.d.ts +0 -0
  51. /package/dist/{utils → types/utils}/regexUtils.d.ts +0 -0
  52. /package/dist/{utils → types/utils}/similarityUtils.d.ts +0 -0
  53. /package/dist/{utils → types/utils}/stringUtils.d.ts +0 -0
package/dist/index.js CHANGED
@@ -201,350 +201,494 @@ const general = [
201
201
  description: "Simbol yang sering digunakan untuk menandai konten pornografi",
202
202
  context: "Digunakan untuk menandai konten seksual eksplisit",
203
203
  },
204
+ {
205
+ word: "xnxx",
206
+ category: "sexual",
207
+ region: "general",
208
+ severity: 0.6,
209
+ aliases: ["xnxx", "xnx"],
210
+ description: "simbol yang sering digunakan untuk menandai konten pornografi",
211
+ context: "Digunakan untuk menandai konten seksual eksplisit",
212
+ }
204
213
  ];
205
214
  general.map((item) => item.word);
206
215
 
207
216
  const jawa = [
208
217
  {
209
- word: "asu",
210
- category: "profanity",
211
- region: "jawa",
218
+ word: 'asu',
219
+ category: 'profanity',
220
+ region: 'jawa',
212
221
  severity: 0.7,
213
- aliases: ["asyu", "su"],
214
- description: "Secara harfiah berarti anjing dalam Bahasa Jawa",
215
- context: "Umpatan umum dalam Bahasa Jawa untuk menunjukkan kemarahan",
222
+ aliases: ['asyu', 'su'],
223
+ description: 'Secara harfiah berarti anjing dalam Bahasa Jawa',
224
+ context: 'Umpatan umum dalam Bahasa Jawa untuk menunjukkan kemarahan',
216
225
  },
217
226
  {
218
- word: "jancok",
219
- category: "sexual",
220
- region: "jawa",
227
+ word: 'kirek',
228
+ category: 'profanity',
229
+ region: 'jawa',
230
+ severity: 0.6,
231
+ aliases: ['kirik'],
232
+ description: 'Mengacu pada penyebutan anjing dalam Bahasa Jawa',
233
+ context: 'Umpatan yang digunakan untuk menunjukkan kemarahan',
234
+ },
235
+ {
236
+ word: 'jancok',
237
+ category: 'sexual',
238
+ region: 'jawa',
221
239
  severity: 0.9,
222
- aliases: ["jancuk", "jncok", "jancuk", "jncuk", "dancok", "dancuk"],
223
- description: "Kata umpatan kasar dalam Bahasa Jawa",
224
- context: "Umpatan kasar yang umum digunakan di Jawa Timur",
240
+ aliases: ['jancuk', 'jncok', 'jancuk', 'jncuk', 'dancok', 'dancuk'],
241
+ description: 'Kata umpatan kasar dalam Bahasa Jawa',
242
+ context: 'Umpatan kasar yang umum digunakan di Jawa Timur',
225
243
  },
226
244
  {
227
- word: "cuk",
228
- category: "sexual",
229
- region: "jawa",
245
+ word: 'cuk',
246
+ category: 'sexual',
247
+ region: 'jawa',
230
248
  severity: 0.7,
231
- aliases: ["cok", "cook"],
232
- description: "Singkatan dari jancok/jancuk",
233
- context: "Umpatan singkat yang umum digunakan di Jawa Timur",
249
+ aliases: ['cok', 'cook'],
250
+ description: 'Singkatan dari jancok/jancuk',
251
+ context: 'Umpatan singkat yang umum digunakan di Jawa Timur',
234
252
  },
235
253
  {
236
- word: "diancok",
237
- category: "sexual",
238
- region: "jawa",
254
+ word: 'diancok',
255
+ category: 'sexual',
256
+ region: 'jawa',
239
257
  severity: 0.8,
240
- aliases: ["diancuk", "dancok", "ancok"],
241
- description: "Variasi dari jancok/jancuk",
242
- context: "Umpatan kasar yang umum digunakan di Jawa Timur",
258
+ aliases: ['diancuk', 'dancok', 'ancok'],
259
+ description: 'Variasi dari jancok/jancuk',
260
+ context: 'Umpatan kasar yang umum digunakan di Jawa Timur',
243
261
  },
244
262
  {
245
- word: "matamu",
246
- category: "insult",
247
- region: "jawa",
263
+ word: 'matamu',
264
+ category: 'insult',
265
+ region: 'jawa',
248
266
  severity: 0.5,
249
- aliases: ["mripat mu", "matane"],
250
- description: "Secara harfiah berarti matamu, digunakan sebagai umpatan ringan",
251
- context: "Umpatan ringan untuk menanggapi sesuatu yang dianggap tidak benar",
267
+ aliases: ['mripat mu', 'matane'],
268
+ description: 'Secara harfiah berarti matamu, digunakan sebagai umpatan ringan',
269
+ context: 'Umpatan ringan untuk menanggapi sesuatu yang dianggap tidak benar',
252
270
  },
253
271
  {
254
- word: "mbokne ancok",
255
- category: "insult",
256
- region: "jawa",
272
+ word: 'mbokne ancok',
273
+ category: 'insult',
274
+ region: 'jawa',
257
275
  severity: 0.9,
258
- aliases: ["mbokne", "mbokneancok"],
259
- description: "Umpatan yang menyinggung ibu seseorang",
260
- context: "Umpatan kasar yang menyinggung orangtua orang lain",
276
+ aliases: ['mbokne', 'mbokneancok'],
277
+ description: 'Umpatan yang menyinggung ibu seseorang',
278
+ context: 'Umpatan kasar yang menyinggung orangtua orang lain',
261
279
  },
262
280
  {
263
- word: "pekok",
264
- category: "insult",
265
- region: "jawa",
281
+ word: 'pekok',
282
+ category: 'insult',
283
+ region: 'jawa',
266
284
  severity: 0.7,
267
- aliases: ["pekak", "pekilk"],
268
- description: "Kata hinaan yang menunjukkan kebodohan",
269
- context: "Hinaan untuk menyebut orang yang dianggap sangat bodoh",
285
+ aliases: ['pekak', 'pekilk'],
286
+ description: 'Kata hinaan yang menunjukkan kebodohan',
287
+ context: 'Hinaan untuk menyebut orang yang dianggap sangat bodoh',
270
288
  },
271
289
  {
272
- word: "sempak",
273
- category: "disgusting",
274
- region: "jawa",
290
+ word: 'sempak',
291
+ category: 'disgusting',
292
+ region: 'jawa',
275
293
  severity: 0.5,
276
- aliases: ["sempok"],
277
- description: "Mengacu pada pakaian dalam",
278
- context: "Umpatan ringan yang dianggap jorok",
294
+ aliases: ['sempok'],
295
+ description: 'Mengacu pada pakaian dalam',
296
+ context: 'Umpatan ringan yang dianggap jorok',
279
297
  },
280
298
  {
281
- word: "taek",
282
- category: "disgusting",
283
- region: "jawa",
299
+ word: 'taek',
300
+ category: 'disgusting',
301
+ region: 'jawa',
284
302
  severity: 0.6,
285
- aliases: ["tai", "tahi", "telek"],
286
- description: "Secara harfiah berarti kotoran/tinja",
287
- context: "Umpatan untuk menunjukkan sesuatu yang menjijikkan atau buruk",
303
+ aliases: ['tai', 'tahi', 'telek'],
304
+ description: 'Secara harfiah berarti kotoran/tinja',
305
+ context: 'Umpatan untuk menunjukkan sesuatu yang menjijikkan atau buruk',
288
306
  },
289
307
  {
290
- word: "ndhasmu",
291
- category: "insult",
292
- region: "jawa",
308
+ word: 'ndhasmu',
309
+ category: 'insult',
310
+ region: 'jawa',
293
311
  severity: 0.5,
294
- aliases: ["ndas mu", "dhasmu"],
295
- description: "Secara harfiah berarti kepalamu, digunakan sebagai umpatan ringan",
296
- context: "Umpatan ringan untuk menanggapi sesuatu yang dianggap tidak benar",
312
+ aliases: ['ndas mu', 'dhasmu'],
313
+ description: 'Secara harfiah berarti kepalamu, digunakan sebagai umpatan ringan',
314
+ context: 'Umpatan ringan untuk menanggapi sesuatu yang dianggap tidak benar',
297
315
  },
298
316
  {
299
- word: "kontol",
300
- category: "sexual",
301
- region: "jawa",
317
+ word: 'kontol',
318
+ category: 'sexual',
319
+ region: 'jawa',
302
320
  severity: 0.8,
303
- aliases: ["kntl", "kontl"],
304
- description: "Mengacu ke alat kelamin laki-laki",
305
- context: "Kata vulgar yang sering digunakan sebagai umpatan kasar",
321
+ aliases: ['kntl', 'kontl'],
322
+ description: 'Mengacu ke alat kelamin laki-laki',
323
+ context: 'Kata vulgar yang sering digunakan sebagai umpatan kasar',
306
324
  },
307
325
  {
308
- word: "tempek",
309
- category: "sexual",
310
- region: "jawa",
326
+ word: 'tempek',
327
+ category: 'sexual',
328
+ region: 'jawa',
311
329
  severity: 0.8,
312
- aliases: ["mpek", "torok", "tempk"],
313
- description: "Mengacu pada alat kelamin perempuan",
314
- context: "Kata vulgar yang digunakan sebagai umpatan atau hinaan",
330
+ aliases: ['mpek', 'torok', 'tempk'],
331
+ description: 'Mengacu pada alat kelamin perempuan',
332
+ context: 'Kata vulgar yang digunakan sebagai umpatan atau hinaan',
315
333
  },
316
334
  {
317
- word: "silit",
318
- category: "insult",
319
- region: "jawa",
335
+ word: 'silit',
336
+ category: 'insult',
337
+ region: 'jawa',
320
338
  severity: 0.6,
321
- aliases: ["selet", "tilis"],
322
- description: "Mengacu pada bagian dubur atau anus",
323
- context: "Kata kasar yang digunakan sebagai hinaan",
339
+ aliases: ['selet', 'tilis'],
340
+ description: 'Mengacu pada bagian dubur atau anus',
341
+ context: 'Kata kasar yang digunakan sebagai hinaan',
324
342
  },
325
343
  {
326
- word: "mbahmu",
327
- category: "insult",
328
- region: "jawa",
344
+ word: 'mbahmu',
345
+ category: 'insult',
346
+ region: 'jawa',
329
347
  severity: 0.6,
330
- aliases: ["mbahmu kiper", "mbah mu"],
331
- description: "Hinaan yang menyinggung nenek/kakek seseorang",
332
- context: "Umpatan ringan untuk menanggapi sesuatu yang tidak masuk akal",
348
+ aliases: ['mbahmu kiper', 'mbah mu'],
349
+ description: 'Hinaan yang menyinggung nenek/kakek seseorang',
350
+ context: 'Umpatan ringan untuk menanggapi sesuatu yang tidak masuk akal',
333
351
  },
334
352
  {
335
- word: "makmu",
336
- category: "insult",
337
- region: "jawa",
353
+ word: 'makmu',
354
+ category: 'insult',
355
+ region: 'jawa',
338
356
  severity: 0.7,
339
- aliases: ["mak mu", "mamamu"],
340
- description: "Hinaan yang menyinggung ibu seseorang",
341
- context: "Umpatan yang dianggap kasar karena menyinggung orang tua",
357
+ aliases: ['mak mu', 'mamamu'],
358
+ description: 'Hinaan yang menyinggung ibu seseorang',
359
+ context: 'Umpatan yang dianggap kasar karena menyinggung orang tua',
342
360
  },
343
361
  {
344
- word: "bajingan",
345
- category: "insult",
346
- region: "jawa",
362
+ word: 'bajingan',
363
+ category: 'insult',
364
+ region: 'jawa',
347
365
  severity: 0.7,
348
366
  aliases: [
349
- "bajilak",
350
- "bajhingan",
351
- "bajingak",
352
- "bajingseng",
353
- "bajindul",
354
- "bajigur",
355
- "jingan",
367
+ 'bajilak',
368
+ 'bajhingan',
369
+ 'bajingak',
370
+ 'bajingseng',
371
+ 'bajindul',
372
+ 'bajigur',
373
+ 'jingan',
356
374
  ],
357
- description: "Sebutan untuk orang yang dianggap jahat atau tidak bermoral",
358
- context: "Umpatan untuk mengekspresikan kemarahan atau kekesalan",
375
+ description: 'Sebutan untuk orang yang dianggap jahat atau tidak bermoral',
376
+ context: 'Umpatan untuk mengekspresikan kemarahan atau kekesalan',
359
377
  },
360
378
  {
361
- word: "cocote",
362
- category: "insult",
363
- region: "jawa",
379
+ word: 'cocote',
380
+ category: 'insult',
381
+ region: 'jawa',
364
382
  severity: 0.6,
365
- aliases: ["cocot", "bacot", "nyocot"],
366
- description: "Mengacu pada mulut dengan konotasi negatif",
367
- context: "Umpatan untuk menyuruh seseorang berhenti berbicara",
383
+ aliases: ['cocot', 'bacot', 'nyocot'],
384
+ description: 'Mengacu pada mulut dengan konotasi negatif',
385
+ context: 'Umpatan untuk menyuruh seseorang berhenti berbicara',
368
386
  },
369
387
  {
370
- word: "ngentot",
371
- category: "sexual",
372
- region: "jawa",
388
+ word: 'ngentot',
389
+ category: 'sexual',
390
+ region: 'jawa',
373
391
  severity: 0.9,
374
- aliases: ["kentu", "kentot", "iclik", "ngtt", "iclk"],
375
- description: "Mengacu pada aktivitas seksual",
376
- context: "Kata vulgar yang digunakan sebagai umpatan kasar",
392
+ aliases: ['kentu', 'kentot', 'iclik', 'ngtt', 'iclk'],
393
+ description: 'Mengacu pada aktivitas seksual',
394
+ context: 'Kata vulgar yang digunakan sebagai umpatan kasar',
377
395
  },
378
396
  {
379
- word: "edan",
380
- category: "insult",
381
- region: "jawa",
397
+ word: 'edan',
398
+ category: 'insult',
399
+ region: 'jawa',
382
400
  severity: 0.5,
383
- aliases: ["gendeng", "gila", "gendheng", "sarap"],
384
- description: "Secara harfiah berarti gila atau tidak waras",
385
- context: "Umpatan untuk menyebut seseorang yang dianggap tidak masuk akal",
401
+ aliases: ['gendeng', 'gila', 'gendheng', 'sarap'],
402
+ description: 'Secara harfiah berarti gila atau tidak waras',
403
+ context: 'Umpatan untuk menyebut seseorang yang dianggap tidak masuk akal',
386
404
  },
387
405
  {
388
- word: "dapuranmu",
389
- category: "insult",
390
- region: "jawa",
406
+ word: 'dapuranmu',
407
+ category: 'insult',
408
+ region: 'jawa',
391
409
  severity: 0.6,
392
- aliases: ["raimu", "rai mu"],
393
- description: "Secara harfiah mengacu pada wajah atau rupa seseorang",
394
- context: "Umpatan untuk menghina penampilan atau wajah seseorang",
410
+ aliases: ['raimu', 'rai mu'],
411
+ description: 'Secara harfiah mengacu pada wajah atau rupa seseorang',
412
+ context: 'Umpatan untuk menghina penampilan atau wajah seseorang',
395
413
  },
396
414
  {
397
- word: "damput",
398
- category: "insult",
399
- region: "jawa",
415
+ word: 'damput',
416
+ category: 'insult',
417
+ region: 'jawa',
400
418
  severity: 0.7,
401
- aliases: ["diamput"],
402
- description: "Variasi bentuk umpatan dengan makna serupa dengan jancok",
403
- context: "Umpatan kasar untuk mengekspresikan kemarahan",
419
+ aliases: ['diamput'],
420
+ description: 'Variasi bentuk umpatan dengan makna serupa dengan jancok',
421
+ context: 'Umpatan kasar untuk mengekspresikan kemarahan',
404
422
  },
405
423
  {
406
- word: "mbathang",
407
- category: "insult",
408
- region: "jawa",
424
+ word: 'mbathang',
425
+ category: 'insult',
426
+ region: 'jawa',
409
427
  severity: 0.7,
410
- aliases: ["mbatang"],
411
- description: "Secara harfiah berarti bangkai",
412
- context: "Umpatan kasar untuk menghina seseorang",
428
+ aliases: ['mbatang'],
429
+ description: 'Secara harfiah berarti bangkai',
430
+ context: 'Umpatan kasar untuk menghina seseorang',
413
431
  },
414
432
  {
415
- word: "ndlogok",
416
- category: "insult",
417
- region: "jawa",
433
+ word: 'ndlogok',
434
+ category: 'insult',
435
+ region: 'jawa',
418
436
  severity: 0.6,
419
- aliases: ["ndelodok", "ndlodok"],
420
- description: "Mengacu pada tindakan yang dianggap bodoh atau tidak masuk akal",
421
- context: "Hinaan untuk mengkritik tindakan seseorang",
437
+ aliases: ['ndelodok', 'ndlodok'],
438
+ description: 'Mengacu pada tindakan yang dianggap bodoh atau tidak masuk akal',
439
+ context: 'Hinaan untuk mengkritik tindakan seseorang',
422
440
  },
423
441
  {
424
- word: "nggateli",
425
- category: "insult",
426
- region: "jawa",
442
+ word: 'nggateli',
443
+ category: 'insult',
444
+ region: 'jawa',
427
445
  severity: 0.5,
428
- aliases: ["gateli", "gathel"],
429
- description: "Secara harfiah berarti gatal atau menyebalkan",
430
- context: "Ungkapan untuk menunjukkan kekesalan terhadap perilaku seseorang",
446
+ aliases: ['gateli', 'gathel'],
447
+ description: 'Secara harfiah berarti gatal atau menyebalkan',
448
+ context: 'Ungkapan untuk menunjukkan kekesalan terhadap perilaku seseorang',
431
449
  },
432
450
  {
433
- word: "perek",
434
- category: "sexual",
435
- region: "jawa",
451
+ word: 'perek',
452
+ category: 'sexual',
453
+ region: 'jawa',
436
454
  severity: 0.8,
437
- aliases: ["lonthe", "pelacur"],
438
- description: "Istilah merendahkan untuk pekerja seks komersial",
439
- context: "Kata kasar untuk menghina wanita",
455
+ aliases: ['lonthe', 'pelacur'],
456
+ description: 'Istilah merendahkan untuk pekerja seks komersial',
457
+ context: 'Kata kasar untuk menghina wanita',
440
458
  },
441
459
  {
442
- word: "picek",
443
- category: "insult",
444
- region: "jawa",
460
+ word: 'picek',
461
+ category: 'insult',
462
+ region: 'jawa',
445
463
  severity: 0.6,
446
- aliases: ["pcek", "buta"],
447
- description: "Secara harfiah berarti buta atau tidak bisa melihat",
448
- context: "Hinaan untuk orang yang dianggap tidak bisa melihat kenyataan",
464
+ aliases: ['pcek', 'buta'],
465
+ description: 'Secara harfiah berarti buta atau tidak bisa melihat',
466
+ context: 'Hinaan untuk orang yang dianggap tidak bisa melihat kenyataan',
449
467
  },
450
468
  {
451
- word: "untumu",
452
- category: "insult",
453
- region: "jawa",
469
+ word: 'untumu',
470
+ category: 'insult',
471
+ region: 'jawa',
454
472
  severity: 0.5,
455
- aliases: ["gigimu", "untu mu"],
456
- description: "Secara harfiah berarti gigimu",
457
- context: "Umpatan ringan untuk menanggapi sesuatu yang tidak disetujui",
473
+ aliases: ['gigimu', 'untu mu'],
474
+ description: 'Secara harfiah berarti gigimu',
475
+ context: 'Umpatan ringan untuk menanggapi sesuatu yang tidak disetujui',
458
476
  },
459
477
  {
460
- word: "goblog",
461
- category: "insult",
462
- region: "jawa",
478
+ word: 'goblog',
479
+ category: 'insult',
480
+ region: 'jawa',
463
481
  severity: 0.7,
464
- aliases: ["ghoblog", "goblok", "gobhlok", "pekok"],
465
- description: "Kata hinaan yang menunjukkan kebodohan ekstrem",
466
- context: "Hinaan untuk menyebut seseorang yang dianggap sangat bodoh",
482
+ aliases: ['ghoblog', 'goblok', 'gobhlok', 'pekok'],
483
+ description: 'Kata hinaan yang menunjukkan kebodohan ekstrem',
484
+ context: 'Hinaan untuk menyebut seseorang yang dianggap sangat bodoh',
467
485
  },
468
486
  {
469
- word: "tolol",
470
- category: "insult",
471
- region: "jawa",
487
+ word: 'tolol',
488
+ category: 'insult',
489
+ region: 'jawa',
472
490
  severity: 0.7,
473
- aliases: ["tholol", "tlol"],
474
- description: "Kata hinaan yang menunjukkan kebodohan",
475
- context: "Hinaan untuk menyebut seseorang yang dianggap bodoh",
491
+ aliases: ['tholol', 'tlol'],
492
+ description: 'Kata hinaan yang menunjukkan kebodohan',
493
+ context: 'Hinaan untuk menyebut seseorang yang dianggap bodoh',
476
494
  },
477
495
  {
478
- word: "budheg",
479
- category: "insult",
480
- region: "jawa",
496
+ word: 'budheg',
497
+ category: 'insult',
498
+ region: 'jawa',
481
499
  severity: 0.6,
482
- aliases: ["budeg", "bdeg"],
483
- description: "Secara harfiah berarti tuli atau tidak bisa mendengar",
484
- context: "Hinaan untuk orang yang dianggap tidak mau mendengarkan",
500
+ aliases: ['budeg', 'bdeg'],
501
+ description: 'Secara harfiah berarti tuli atau tidak bisa mendengar',
502
+ context: 'Hinaan untuk orang yang dianggap tidak mau mendengarkan',
485
503
  },
486
504
  {
487
- word: "jiangkrik",
488
- category: "insult",
489
- region: "jawa",
505
+ word: 'jiangkrik',
506
+ category: 'insult',
507
+ region: 'jawa',
490
508
  severity: 0.4,
491
- aliases: ["jiangkrek", "jangkrik"],
492
- description: "Secara harfiah berarti jangkrik, digunakan sebagai eufemisme",
493
- context: "Umpatan ringan sebagai pengganti kata kasar yang lebih vulgar",
509
+ aliases: ['jiangkrek', 'jangkrik'],
510
+ description: 'Secara harfiah berarti jangkrik, digunakan sebagai eufemisme',
511
+ context: 'Umpatan ringan sebagai pengganti kata kasar yang lebih vulgar',
494
512
  },
495
513
  {
496
- word: "diamput",
497
- category: "insult",
498
- region: "jawa",
514
+ word: 'diamput',
515
+ category: 'insult',
516
+ region: 'jawa',
499
517
  severity: 0.8,
500
- aliases: ["damput", "djamput"],
501
- description: "Bentuk umpatan kasar dengan makna serupa jancok",
502
- context: "Kata kasar untuk mengekspresikan kemarahan",
518
+ aliases: ['damput', 'djamput'],
519
+ description: 'Bentuk umpatan kasar dengan makna serupa jancok',
520
+ context: 'Kata kasar untuk mengekspresikan kemarahan',
503
521
  },
504
522
  {
505
- word: "celeng",
506
- category: "insult",
507
- region: "jawa",
523
+ word: 'celeng',
524
+ category: 'insult',
525
+ region: 'jawa',
508
526
  severity: 0.6,
509
- aliases: ["cleng", "babi hutan"],
510
- description: "Secara harfiah berarti babi hutan",
511
- context: "Hinaan untuk orang yang dianggap jorok atau rakus",
527
+ aliases: ['cleng', 'babi hutan'],
528
+ description: 'Secara harfiah berarti babi hutan',
529
+ context: 'Hinaan untuk orang yang dianggap jorok atau rakus',
512
530
  },
513
531
  {
514
- word: "kampret",
515
- category: "insult",
516
- region: "jawa",
532
+ word: 'kampret',
533
+ category: 'insult',
534
+ region: 'jawa',
517
535
  severity: 0.5,
518
- aliases: ["kmpret", "kmprt"],
519
- description: "Secara harfiah berarti kelelawar kecil",
520
- context: "Umpatan ringan untuk mengekspresikan kekesalan",
536
+ aliases: ['kmpret', 'kmprt'],
537
+ description: 'Secara harfiah berarti kelelawar kecil',
538
+ context: 'Umpatan ringan untuk mengekspresikan kekesalan',
521
539
  },
522
540
  {
523
- word: "ndeso",
524
- category: "insult",
525
- region: "jawa",
541
+ word: 'ndeso',
542
+ category: 'insult',
543
+ region: 'jawa',
526
544
  severity: 0.4,
527
- aliases: ["ndesa", "deso"],
528
- description: "Secara harfiah berarti dari desa atau kampungan",
529
- context: "Hinaan untuk orang yang dianggap kurang modern atau berpendidikan",
545
+ aliases: ['ndesa', 'deso'],
546
+ description: 'Secara harfiah berarti dari desa atau kampungan',
547
+ context: 'Hinaan untuk orang yang dianggap kurang modern atau berpendidikan',
530
548
  },
531
549
  {
532
- word: "kere",
533
- category: "insult",
534
- region: "jawa",
550
+ word: 'kere',
551
+ category: 'insult',
552
+ region: 'jawa',
535
553
  severity: 0.5,
536
- aliases: ["miskin", "mlarat"],
537
- description: "Secara harfiah berarti miskin atau tidak punya uang",
538
- context: "Hinaan untuk status ekonomi seseorang yang dianggap rendah",
554
+ aliases: ['miskin', 'mlarat'],
555
+ description: 'Secara harfiah berarti miskin atau tidak punya uang',
556
+ context: 'Hinaan untuk status ekonomi seseorang yang dianggap rendah',
539
557
  },
540
558
  {
541
- word: "itil",
542
- category: "sexual",
543
- region: "jawa",
559
+ word: 'itil',
560
+ category: 'sexual',
561
+ region: 'jawa',
544
562
  severity: 0.9,
545
- aliases: ["itl", "itul"],
546
- description: "Kata vulgar yang mengacu pada bagian dari alat kelamin perempuan",
547
- context: "Kata vulgar yang merujuk pada anatomi seksual",
563
+ aliases: ['itl', 'itul'],
564
+ description: 'Kata vulgar yang mengacu pada bagian dari alat kelamin perempuan',
565
+ context: 'Kata vulgar yang merujuk pada anatomi seksual',
566
+ },
567
+ {
568
+ word: 'bodho',
569
+ category: 'insult',
570
+ region: 'jawa',
571
+ severity: 0.6,
572
+ aliases: ['bodo', 'bloon'],
573
+ description: 'Secara harfiah berarti bodoh',
574
+ context: 'Hinaan untuk menyebut seseorang yang kurang pintar atau tidak mengerti',
575
+ },
576
+ {
577
+ word: 'doblok',
578
+ category: 'insult',
579
+ region: 'jawa',
580
+ severity: 0.7,
581
+ aliases: ['dobol'],
582
+ description: 'Kata hinaan yang menunjukkan kebodohan',
583
+ context: 'Hinaan kasar untuk orang yang dianggap sangat bodoh',
584
+ },
585
+ {
586
+ word: 'cangkem asu',
587
+ category: 'profanity',
588
+ region: 'jawa',
589
+ severity: 0.8,
590
+ aliases: ['cangkemasu', 'cangkem su'],
591
+ description: 'Secara harfiah berarti mulut anjing',
592
+ context: 'Umpatan kasar yang ditujukan pada ucapan seseorang',
593
+ },
594
+ {
595
+ word: 'rai gedheg',
596
+ category: 'insult',
597
+ region: 'jawa',
598
+ severity: 0.6,
599
+ aliases: ['raigedheg', 'rai gedeg'],
600
+ description: 'Secara harfiah berarti muka tembok (tidak punya malu)',
601
+ context: 'Hinaan untuk orang yang tidak tahu malu',
602
+ },
603
+ {
604
+ word: 'kuping budheg',
605
+ category: 'insult',
606
+ region: 'jawa',
607
+ severity: 0.6,
608
+ aliases: ['kupingbudheg', 'kuping budeg'],
609
+ description: 'Secara harfiah berarti telinga tuli',
610
+ context: 'Hinaan untuk orang yang tidak mau mendengarkan',
611
+ },
612
+ {
613
+ word: 'utek udang',
614
+ category: 'insult',
615
+ region: 'jawa',
616
+ severity: 0.7,
617
+ aliases: ['utekundang', 'otak udang'],
618
+ description: 'Secara harfiah berarti otak udang (berarti bodoh)',
619
+ context: 'Hinaan kasar untuk orang yang dianggap sangat bodoh',
620
+ },
621
+ {
622
+ word: 'anak haram',
623
+ category: 'insult',
624
+ region: 'jawa',
625
+ severity: 0.8,
626
+ aliases: ['anakorok'],
627
+ description: 'Sebutan menghina untuk anak yang lahir di luar pernikahan',
628
+ context: 'Hinaan kasar yang menyerang status kelahiran seseorang',
629
+ },
630
+ {
631
+ word: 'dajal',
632
+ category: 'profanity',
633
+ region: 'jawa',
634
+ severity: 0.7,
635
+ aliases: [],
636
+ description: 'Mengacu pada sosok iblis atau penipu besar',
637
+ context: 'Umpatan untuk menyebut orang yang sangat buruk atau jahat',
638
+ },
639
+ {
640
+ word: 'setan',
641
+ category: 'profanity',
642
+ region: 'jawa',
643
+ severity: 0.6,
644
+ aliases: ['syetan'],
645
+ description: 'Secara harfiah berarti setan',
646
+ context: 'Umpatan untuk menunjukkan kekesalan atau menyebut orang yang nakal',
647
+ },
648
+ {
649
+ word: 'blawur',
650
+ category: 'insult',
651
+ region: 'jawa',
652
+ severity: 0.4,
653
+ aliases: [],
654
+ description: 'Menggambarkan kondisi yang tidak jelas atau linglung',
655
+ context: 'Umpatan ringan untuk menyebut orang yang bingung atau tidak fokus',
656
+ },
657
+ {
658
+ word: 'kemproh',
659
+ category: 'disgusting',
660
+ region: 'jawa',
661
+ severity: 0.5,
662
+ aliases: ['kumuh'],
663
+ description: 'Menggambarkan sesuatu yang kotor dan tidak terawat',
664
+ context: 'Umpatan ringan untuk menunjukkan sesuatu yang menjijikkan',
665
+ },
666
+ {
667
+ word: 'mblekethek',
668
+ category: 'insult',
669
+ region: 'jawa',
670
+ severity: 0.4,
671
+ aliases: [],
672
+ description: 'Menggambarkan sesuatu yang tidak beres atau tidak becus',
673
+ context: 'Umpatan ringan untuk mengkritik sesuatu yang salah',
674
+ },
675
+ {
676
+ word: 'nggragas',
677
+ category: 'insult',
678
+ region: 'jawa',
679
+ severity: 0.5,
680
+ aliases: [],
681
+ description: 'Menggambarkan sifat rakus atau tamak',
682
+ context: 'Umpatan ringan untuk menyebut orang yang serakah',
683
+ },
684
+ {
685
+ word: 'kemlinthi',
686
+ category: 'insult',
687
+ region: 'jawa',
688
+ severity: 0.4,
689
+ aliases: ['kemaki'],
690
+ description: 'Menggambarkan sifat sok pintar atau sombong',
691
+ context: 'Umpatan ringan untuk menyebut orang yang pamer',
548
692
  },
549
693
  ];
550
694
  jawa.map((item) => item.word);
@@ -800,13 +944,139 @@ insult.map((item) => item.word);
800
944
 
801
945
  const batak = [
802
946
  {
803
- word: "sundel",
804
- category: "sexual",
805
- region: "batak",
947
+ word: 'sundel',
948
+ category: 'sexual',
949
+ region: 'batak',
806
950
  severity: 0.8,
807
- aliases: ["sundal"],
808
- description: "Kata kasar untuk menyebut pekerja seks komersial",
809
- context: "Hinaan kasar untuk wanita",
951
+ aliases: ['sundal'],
952
+ description: 'Kata kasar untuk menyebut pekerja seks komersial',
953
+ context: 'Hinaan kasar untuk wanita',
954
+ },
955
+ {
956
+ word: 'hambirang',
957
+ category: 'insult',
958
+ region: 'batak',
959
+ severity: 0.7,
960
+ aliases: [],
961
+ description: "Secara harfiah berarti 'tidak berguna' atau 'sia-sia'",
962
+ context: 'Umpatan kasar untuk menyebut orang yang dianggap tidak berguna atau tidak becus.',
963
+ },
964
+ {
965
+ word: 'puki mak',
966
+ category: 'sexual',
967
+ region: 'batak',
968
+ severity: 0.9,
969
+ aliases: ['pukimak'],
970
+ description: 'Secara harfiah berarti kemaluan ibu',
971
+ context: 'Umpatan sangat kasar dan ofensif yang menyerang ibu seseorang.',
972
+ },
973
+ {
974
+ word: 'puki',
975
+ category: 'sexual',
976
+ region: 'batak',
977
+ severity: 0.8,
978
+ aliases: [],
979
+ description: 'Secara harfiah berarti kemaluan (kasar)',
980
+ context: 'Umpatan kasar untuk menyebut kemaluan wanita.',
981
+ },
982
+ {
983
+ word: 'pangongoi',
984
+ category: 'insult',
985
+ region: 'batak',
986
+ severity: 0.6,
987
+ aliases: [],
988
+ description: 'Berarti pembohong atau penipu',
989
+ context: 'Umpatan untuk menyebut orang yang tidak jujur.',
990
+ },
991
+ {
992
+ word: 'bodat',
993
+ category: 'insult',
994
+ region: 'batak',
995
+ severity: 0.6,
996
+ aliases: [],
997
+ description: 'Kata umpatan yang mengacu pada hewan monyet',
998
+ context: 'Digunakan untuk menyebut orang yang dianggap bodoh atau tolol.',
999
+ },
1000
+ {
1001
+ word: 'tullol',
1002
+ category: 'insult',
1003
+ region: 'batak',
1004
+ severity: 0.7,
1005
+ aliases: [],
1006
+ description: 'Berarti bodoh atau dungu (kasar)',
1007
+ context: 'Umpatan kasar untuk menyebut seseorang yang sangat tidak pintar.',
1008
+ },
1009
+ {
1010
+ word: 'jongos',
1011
+ category: 'insult',
1012
+ region: 'batak',
1013
+ severity: 0.7,
1014
+ aliases: [],
1015
+ description: 'Berarti pelayan atau pembantu (digunakan sebagai hinaan)',
1016
+ context: 'Umpatan kasar untuk merendahkan status sosial seseorang.',
1017
+ },
1018
+ {
1019
+ word: 'rime',
1020
+ category: 'disgusting',
1021
+ region: 'batak',
1022
+ severity: 0.6,
1023
+ aliases: [],
1024
+ description: 'Secara harfiah berarti kotoran atau najis',
1025
+ context: 'Umpatan untuk menunjukkan sesuatu yang menjijikkan atau buruk.',
1026
+ },
1027
+ {
1028
+ word: 'biang',
1029
+ category: 'insult',
1030
+ region: 'batak',
1031
+ severity: 0.7,
1032
+ aliases: [],
1033
+ description: 'Secara harfiah berarti induk anjing (kasar)',
1034
+ context: 'Umpatan kasar untuk menghina wanita.',
1035
+ },
1036
+ {
1037
+ word: 'anak ni biang',
1038
+ category: 'insult',
1039
+ region: 'batak',
1040
+ severity: 0.8,
1041
+ aliases: [],
1042
+ description: 'Secara harfiah berarti anak anjing (sangat kasar)',
1043
+ context: 'Umpatan sangat kasar untuk menghina seseorang.',
1044
+ },
1045
+ {
1046
+ word: 'mago',
1047
+ category: 'profanity',
1048
+ region: 'batak',
1049
+ severity: 0.6,
1050
+ aliases: [],
1051
+ description: 'Berarti hilang atau celaka',
1052
+ context: 'Umpatan untuk menunjukkan kekesalan atau harapan buruk.',
1053
+ },
1054
+ {
1055
+ word: 'loa-loa',
1056
+ category: 'insult',
1057
+ region: 'batak',
1058
+ severity: 0.5,
1059
+ aliases: [],
1060
+ description: 'Berarti orang yang suka bicara omong kosong atau tidak jelas',
1061
+ context: 'Umpatan ringan untuk menyebut orang yang perkataannya tidak bisa dipercaya.',
1062
+ },
1063
+ {
1064
+ word: 'songon babiat',
1065
+ category: 'insult',
1066
+ region: 'batak',
1067
+ severity: 0.7,
1068
+ aliases: [],
1069
+ description: 'Secara harfiah berarti seperti binatang buas (kasar)',
1070
+ context: 'Umpatan kasar untuk menyebut orang yang kelakuannya buruk atau liar.',
1071
+ },
1072
+ {
1073
+ word: 'hau buluk',
1074
+ category: 'insult',
1075
+ region: 'batak',
1076
+ severity: 0.6,
1077
+ aliases: [],
1078
+ description: 'Secara harfiah berarti pohon lapuk (kiasan untuk tidak berguna)',
1079
+ context: 'Umpatan untuk menyebut orang yang dianggap tidak berguna.',
810
1080
  },
811
1081
  ];
812
1082
  batak.map((item) => item.word);