UNPKG

@kpachbiu/censure-js

Version:
62 lines (38 loc) 2.8 kB
# 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: ```js 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) ```