summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/check-word-mute.ts
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-03-09 14:28:01 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-03-09 14:28:01 +0900
commitbe7e3b9a0cb81b78a744993fef2fa2fd2833fa9c (patch)
treec82e18ce93ec0a24c57d7e36eb54a09266b3a25b /packages/frontend/src/scripts/check-word-mute.ts
parentenhnace(frontend): 文字列比較のためのローマナイズを強化(... (diff)
downloadmisskey-be7e3b9a0cb81b78a744993fef2fa2fd2833fa9c.tar.gz
misskey-be7e3b9a0cb81b78a744993fef2fa2fd2833fa9c.tar.bz2
misskey-be7e3b9a0cb81b78a744993fef2fa2fd2833fa9c.zip
refactor(frontend): scripts -> utility
Diffstat (limited to 'packages/frontend/src/scripts/check-word-mute.ts')
-rw-r--r--packages/frontend/src/scripts/check-word-mute.ts43
1 files changed, 0 insertions, 43 deletions
diff --git a/packages/frontend/src/scripts/check-word-mute.ts b/packages/frontend/src/scripts/check-word-mute.ts
deleted file mode 100644
index 98fea1bced..0000000000
--- a/packages/frontend/src/scripts/check-word-mute.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * SPDX-FileCopyrightText: syuilo and misskey-project
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-import * as Misskey from 'misskey-js';
-
-export function checkWordMute(note: Misskey.entities.Note, me: Misskey.entities.UserLite | null | undefined, mutedWords: Array<string | string[]>): Array<string | string[]> | false {
- // 自分自身
- if (me && (note.userId === me.id)) return false;
-
- if (mutedWords.length > 0) {
- const text = ((note.cw ?? '') + '\n' + (note.text ?? '')).trim();
-
- if (text === '') return false;
-
- const matched = mutedWords.filter(filter => {
- if (Array.isArray(filter)) {
- // Clean up
- const filteredFilter = filter.filter(keyword => keyword !== '');
- if (filteredFilter.length === 0) return false;
-
- return filteredFilter.every(keyword => text.includes(keyword));
- } else {
- // represents RegExp
- const regexp = filter.match(/^\/(.+)\/(.*)$/);
-
- // This should never happen due to input sanitisation.
- if (!regexp) return false;
-
- try {
- return new RegExp(regexp[1], regexp[2]).test(text);
- } catch (err) {
- // This should never happen due to input sanitisation.
- return false;
- }
- }
- });
-
- if (matched.length > 0) return matched;
- }
-
- return false;
-}