refactor: dedupe plugin string list helpers

This commit is contained in:
Peter Steinberger
2026-04-07 04:13:30 +01:00
parent 7dc085890e
commit 80a37ef32a
8 changed files with 80 additions and 76 deletions

View File

@@ -6,6 +6,25 @@ export function normalizeStringEntriesLower(list?: ReadonlyArray<unknown>) {
return normalizeStringEntries(list).map((entry) => entry.toLowerCase());
}
export function normalizeTrimmedStringList(value: unknown): string[] {
if (!Array.isArray(value)) {
return [];
}
return value.flatMap((entry) =>
typeof entry === "string" && entry.trim() ? [entry.trim()] : [],
);
}
export function normalizeSingleOrTrimmedStringList(value: unknown): string[] {
if (Array.isArray(value)) {
return normalizeTrimmedStringList(value);
}
if (typeof value === "string" && value.trim()) {
return [value.trim()];
}
return [];
}
export function normalizeHyphenSlug(raw?: string | null) {
const trimmed = raw?.trim().toLowerCase() ?? "";
if (!trimmed) {