JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 11
  • Score
    100M100P100Q59585F
  • License MIT

Profanity detection and filtering library.

Package Exports

  • swearjar-extended2

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (swearjar-extended2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

swearjar-extended2

This is a modified version of swearjar-extended

Profanity detection and filtering library.

Build Status

Installation

npm install --save swearjar-extended2

Usage

swearjar.setLang(text)

Sets a language to load a dictionary of words to be used as filter.

Language Code
English en
Filipino ph
Spanish es
Bahasa id

NOTE: A US English default list located in the config directory is included and loaded by default.

var swearjar = require('swearjar-extended2');
swearjar.setLang("en");

A dictionary is just a plain JSON file containing an object where its keys are the words to check for and the values are arrays of categories where the words fall in.

{
  "regex": {
    "\\w*fuck\\w*": [
      "category1",
      "category2"
    ],
    "word2": [
      "category1"
    ],
    "word3": [
      "category2"
    ]
  },
  "simple": {
    "word1": [
      "category1",
      "category2"
    ],
    "word2": [
      "category1"
    ],
    "word3": [
      "category2"
    ]
  },
  "emoji": {
    "1f4a9": [
      "category1",
      "category2"
    ],
    "word2": [
      "category1"
    ],
    "word3": [
      "category2"
    ]
  }
}

swearjar.profane(text)

Returns true if the given string contains profanity.

var swearjar = require('swearjar-extended2');
swearjar.profane("hello there"); // false
swearjar.profane("fuck you john doe"); // true

swearjar.censor(text)

Replaces profanity with asterisks.

var clean = swearjar.censor("fuck you john doe bitch"); // **** you john doe *****

swearjar.words(text)

Get the words alongside there categories.

swearjar.words('fuck you john doe'); // { fuck: ['sexual'] }

swearjar.detailedProfane(text)

Get the words alongside there categories, count and censor the text.

swearjar.detailedProfane('fuck you john doe')

returns:

{
  categoryCount: {
    sexual: 1
  },
  censored: '**** you john doe',
  profane: true,
  wordCount: {
    fuck: 1
  },
  words: {
    fuck: [
      'sexual'
    ]
  }
}

swearjar.scorecard(text)

Generates a report from the given text.

swearjar.scorecard("fuck you john doe bitch fuck"); // {sexual: 2, insult: 1}

swearjar.addRegex(text)

Add a regex.

swearjar.addRegex('addedword?\\b', ['detected']);

swearjar.addSimple(text)

Add a simple word.

swearjar.addSimple('addedword', ['detected']);

swearjar.addEmoji(text)

Add an emoji word.

swearjar.addEmoji('1f596', ['detected']);

Acknowledgements

swearjar-node is based on Swearjar (Ruby) and Swearjar PHP.

Sources