refactor(channels): unify target parsing

This commit is contained in:
Peter Steinberger
2026-01-18 00:31:37 +00:00
parent d593a809f0
commit 79a44d0da4
18 changed files with 274 additions and 195 deletions

View File

@@ -0,0 +1,15 @@
import { normalizeWhatsAppTarget } from "../../../whatsapp/normalize.js";
export function normalizeWhatsAppMessagingTarget(raw: string): string | undefined {
const trimmed = raw.trim();
if (!trimmed) return undefined;
return normalizeWhatsAppTarget(trimmed) ?? undefined;
}
export function looksLikeWhatsAppTargetId(raw: string): boolean {
const trimmed = raw.trim();
if (!trimmed) return false;
if (/^whatsapp:/i.test(trimmed)) return true;
if (trimmed.includes("@")) return true;
return /^\+?\d{3,}$/.test(trimmed);
}