23008670f3
CI / Build & Quality Checks (push) Successful in 10m13s
- i18next 23->26 + react-i18next 15->17 - prettier 2->3, reformat all files - replace @fontsource/inter with @fontsource-variable/inter 5, update import path - domhandler 5->6 (aligns with transitive deps) - lint-staged 16->17
16 lines
523 B
TypeScript
16 lines
523 B
TypeScript
import * as badWords from 'badwords-list';
|
|
import { sanitizeForRegex } from '../utils/regex';
|
|
|
|
const additionalBadWords: string[] = ['torture', 't0rture'];
|
|
|
|
const fullBadWordList = additionalBadWords.concat(
|
|
badWords.array.filter((word) => !additionalBadWords.includes(word)),
|
|
);
|
|
|
|
export const BAD_WORDS_REGEX = new RegExp(
|
|
`(\\b|_)(${fullBadWordList.map((word) => sanitizeForRegex(word)).join('|')})(\\b|_)`,
|
|
'g',
|
|
);
|
|
|
|
export const testBadWords = (str: string): boolean => !!str.toLowerCase().match(BAD_WORDS_REGEX);
|