New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

isprofanity

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

isprofanity

A profanity checker which, unlike alternatives, uses the Wagner–Fischer algorithm in order to catch variations that you haven't thought of.

  • 1.4.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

isProfanity

A profanity checker which, unlike alternatives, uses the Wagner–Fischer algorithm in order to catch variations that you haven't thought of. If you use it in a project, please do tweet using the hashtag #isProfanity and I'll be sure to check it out.

npm npm

Installation

Installation is very simple due to isProfanity being on NPM. Simply type: npm install isprofanity from a console in the project directory then add var isprofanity = require('isprofanity'); to the top of your project file.

Usage

There is only one function in isProfanity. Calling it is a simple as typing:

isprofanity(s,function(t){
    // t will equal true if it contains a swear word and false if not
});

's' being the string that you want to check for profanity and 't' being the boolian callback.

For a full example usage, you can try out the following code, setting 's' as a string that you would like to test.

var s = "You absolute vanker";//misspelling of 'wanker' which would be allowed by most filters...

isprofanity(s ,function(t){
    b = t ? 'contains' : 'does not contain';
    console.log('"'+s+'" '+b+' profanity');
    process.exit();
});

Advance Usage

Setting custom lists

IsProfanity also contains the abilty to pass custom csv files for both profanity and exceptions. You can do this like so:

isprofanity(s,function(t){
    // t will equal true if it contains a swear word and false if not
},'data/profanity.csv','data/exceptions.csv');

While an exceptions file is not needed to replace the profanity list, it is recomended as some words do get flagged that are not swear words. (A notable example in the default set is 'while').

Key note: Unfortunately, this cannot be done while running in browser mode due to the fact that the browser does not support fs.

Change Sensitivity

IsProfanity does allow the changing of its sensitivity as of version 1.4.0. Changing the sensitivity will require you to use a custom exception list if using a setting higher than 0.67 ( the default) and as such you can only use the default or decrease the sensitivity while not running in browser mode. To change the sensitivity, try the following:

var customSensitivity = 0.5;
isprofanity(s,function(t){
  	// t will equal true if it contains a swear word and false if not using your custom sensitivity
},'data/profanity.csv','data/exceptions.csv',customSensitivity);

Warning: Using a custom sensitivity setting may allow more words through. For example, a sensitivity of 0.5 will still block f**k but will no longer block f***.

Get an array of the words that were blocked

I added this to help find exceptions although it could be useful in other cases too. In order to get this array, simply use the following:

isprofanity(s,function(t,blocked){
    // t will equal true if it contains potential profanity and false if not
    // blocked will be an array of the blocked words, how sure it is about them and what word they are closest to.
});

If you find any false positives, please share them.


license


Follow me on twitter (@MVD_Vandie) or on github in order to keep track of my projects and releases.

Twitter Follow GitHub followers

Enjoy. :D

Keywords

FAQs

Package last updated on 24 Apr 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc