expletives
Version:
A list of expletives and some functions to test your strings for them
37 lines (36 loc) • 1.49 kB
JavaScript
;
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;