UNPKG

expletives

Version:

A list of expletives and some functions to test your strings for them

37 lines (36 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.nword = exports.nazi = exports.hasBadWords = exports.minimalBadWordsArray = exports.badWordsArray = exports.badWords = void 0; const badwords_1 = require("./badwords"); exports.badWords = badwords_1.default; const nazi_1 = require("./nazi"); Object.defineProperty(exports, "nazi", { enumerable: true, get: function () { return nazi_1.nazi; } }); const nword_1 = require("./nword"); Object.defineProperty(exports, "nword", { enumerable: true, get: function () { return nword_1.nword; } }); const badWordsArray = badwords_1.default.trim().toLowerCase().split(', ').sort(); exports.badWordsArray = badWordsArray; const badWordsArraySortedByLength = badWordsArray.sort((a, b) => b.length - a.length); const minimalBadWordsArray = []; exports.minimalBadWordsArray = minimalBadWordsArray; for (const badWord of badWordsArraySortedByLength) { let contains = false; for (const minimalMatchString of minimalBadWordsArray) { if (badWord.includes(minimalMatchString)) { contains = true; break; } } if (!contains) minimalBadWordsArray.push(badWord); } function hasBadWords(inp) { if ((0, nazi_1.nazi)(inp) || (0, nword_1.nword)(inp)) return true; for (const matchString of minimalBadWordsArray) { if (inp.includes(matchString)) { return true; } } return false; } exports.hasBadWords = hasBadWords;