npm i purgomalum-swear-filter
Here is a basic example of how purgomalum-swear-filter
works:
const Filter = require("purgomalum-swear-filter")
var filter = new Filter()
filter.clean("Hello a$$")
.then((cleanedText) => {
console.log(cleanedText) //Hello ***
})
You can also use filter.containsProfanity()
, to check if text contains profanity. It returns a boolean.
filter.containsProfanity("Hello")
.then((isBad) => {
console.log(isBad) //false
})
If you don't like promises, you can always use await
in an async
function:
async function() {
var cleaned = await filter.clean("hello")
console.log(cleaned) //hello
}
One of the coolest things about this filter, is that it doesn't always filter out substrings. For example:
await filter.containsProfanity("cock") // true
await filter.containsProfanity("cockpit") // false
You can use a filter config to change functionality of the Purgomalum Filter. Here is a filter object:
{
fill_text: "[CENSORED]",
fill_char: "~",
add: ["badword", "profanityword"]
}
Here is a short explanation about each of them (from the official Purgomalum Website)
Name | Type | Description |
---|---|---|
fill_text | string | Text used to replace any words matching the profanity list. Accepts letters, numbers, underscores (_) tildes (~), exclamation points (!), dashes/hyphens (-), equal signs (=), pipes (|), single quotes ('), double quotes ("), asterisks (*), open and closed curly brackets ({ }), square brackets ([ ]) and parentheses (). Maximum length of 20 characters. When not used, the default is an asterisk (*) fill. |
fill_char | string | Single character used to replace any words matching the profanity list. Fills designated character to length of word replaced. Accepts underscore (_) tilde (~), dash/hyphen (-), equal sign (=), pipe (|) and asterisk (*). When not used, the default is an asterisk (*) fill. |
add | array | An array of additional words to be added to the profanity list. Accepts letters, numbers, underscores (_) and commas (,). Accepts up to 10 words (or 200 maximum characters in length). The filter is case-insensitive, so the case of your entry is not important. |
Note: You can only have either
fill_char
orfill_text
. You cannot have both.
You can use the config object to create a new Filter
, like this:
var config = {
fill_char: "*",
add: []
}
var filter = new Filter(config)
👤 CoderGautamYT
-
YouTube: https://youtube.com/codergautam
-
Github: @codergautam
Contributions, issues and feature requests are welcome!
Find any issues? Please report them on the issues page.
Give a ⭐️ if this project helped you!