import { normalizeWhatsAppTarget } from "../../../whatsapp/normalize.js"; import { looksLikeHandleOrPhoneTarget, trimMessagingTarget } from "./shared.js"; export function normalizeWhatsAppMessagingTarget(raw: string): string | undefined { const trimmed = trimMessagingTarget(raw); if (!trimmed) { return undefined; } return normalizeWhatsAppTarget(trimmed) ?? undefined; } export function normalizeWhatsAppAllowFromEntries(allowFrom: Array): string[] { return allowFrom .map((entry) => String(entry).trim()) .filter((entry): entry is string => Boolean(entry)) .map((entry) => (entry === "*" ? entry : normalizeWhatsAppTarget(entry))) .filter((entry): entry is string => Boolean(entry)); } export function looksLikeWhatsAppTargetId(raw: string): boolean { return looksLikeHandleOrPhoneTarget({ raw, prefixPattern: /^whatsapp:/i, }); }