const getLast4 = (c: any): string | undefined =>
{
if (c?.lastFourDigitsAccountNum && /^\d{4}$/.test(String(c.lastFourDigitsAccountNum)))
{
return String(c.lastFourDigitsAccountNum);
}
let v =
c?.lastFourDigits ??
c?.lastFour ??
c?.last4 ??
c?.cardLast4 ??
c?.accountLast4 ??
c?.last_digits ??
c?.lastDigits ??
undefined;
if (!v || String(v).trim() === "")
{
const cand = [
c?.cardNumber,
c?.pan,
c?.maskedPan,
c?.maskedCard,
c?.accountNumber,
c?.maskedAccount,
].filter(Boolean);
for (const s of cand)
{
const m = String(s).match(/(\d{4})\D*$/);
if (m) { v = m[1]; break; }
}
}
return v && /^\d{4}$/.test(String(v)) ? String(v) : undefined;
};