1.7.6 • Published 1 year ago

@kpachbiu/censure-js v1.7.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Censure

This TypeScript library provides robust and customizable filtering of swear words and offensive language from text.

Features

Multiple Filtering Modes:** Choose from blacklist (exact word matching), whitelist (allowing only specific words), and regular expression-based filtering for highly flexible control.

Customizable Word Lists: Easily add, remove, or modify swear words to tailor the filter to your specific needs and context. Support for multiple languages is easily implemented by adding language-specific word lists.

Contextual Awareness: Employ advanced techniques to reduce false positives by considering word context (e.g., "ass" in "assassin" would not be flagged). This feature may require additional configuration or external dependencies.

Performance Optimization: Designed for efficiency, minimizing impact on application performance, even with large word lists.

Easy Integration: Clean, well-documented API for seamless integration into any TypeScript project.

Extensibility: Easily extend the functionality with custom filters and pre-processing logic.

Support languages

  • English

  • Russian

Regex types:

тупица тупица, потупицива, потупица, тупицава // не использовать объединение | тупиц[а-я]+ тупица, потупицива, потупица, тупицава ^тупиц[а-я]+ тупица, потупицива, потупица, тупицава туп|тупиц[а-я]+ тупица, потупицива, потупица, тупицава потуп|тупица тупица, потупицива, потупица, тупицава

Комбинируйте правил через | для быстрой работы

  • Whole word - cunt cuntamulungo return false, cunt - return true

  • Part of a word with any letters further - ass[a-z]+ asshole and assist return true

  • Starts with part of a word with any letters further - ^ass[a-z]+ asshole and assist return true

Part of word and Combine part of words can be union, for example: cunt|ass|ass[a-z]+|^ass[a-z]+

Get started:

import Censure from 'censure-js'

const censure = new Censure();

// Searches if there any abusive words in the text
censure.isBad('Original phrase with abusive words'); // return: bool

// Replace abusive words from string
censure.replace('Original phrase with abusive words'); // return: string (cleaned text)

// Fixing abusive words inside string
censure.fix('Original phrase with abusive words'); // return: string (fixed text)