refactor: dedupe channel trimmed readers

This commit is contained in:
Peter Steinberger
2026-04-08 00:03:28 +01:00
parent ee0425a705
commit ef903d881e
15 changed files with 62 additions and 48 deletions

View File

@@ -1,7 +1,7 @@
import { normalizeOptionalLowercaseString, normalizeOptionalString } from "./string-coerce.js";
export function normalizeStringEntries(list?: ReadonlyArray<unknown>) {
return (list ?? []).map((entry) => String(entry).trim()).filter(Boolean);
return (list ?? []).map((entry) => normalizeOptionalString(String(entry)) ?? "").filter(Boolean);
}
export function normalizeStringEntriesLower(list?: ReadonlyArray<unknown>) {
@@ -40,7 +40,7 @@ export function normalizeSingleOrTrimmedStringList(value: unknown): string[] {
export function normalizeCsvOrLooseStringList(value: unknown): string[] {
if (Array.isArray(value)) {
return value.map((entry) => String(entry).trim()).filter(Boolean);
return normalizeStringEntries(value);
}
if (typeof value === "string") {
return value