/**
 * Backend uid is int64 from 1_000_000 (7–8 numeric digits).
 * Display always pad to 8 characters: 01000000, 01000001, …
 */
export function formatMemberUid(uid: string | number | null | undefined): string {
  if (uid === null || uid === undefined || uid === "") return "";
  const n = typeof uid === "number" ? uid : Number(uid);
  if (!Number.isFinite(n) || n < 0) return String(uid);
  return String(Math.trunc(n)).padStart(8, "0");
}

/** Parse display or raw uid string back to API path/body form (no leading zeros required). */
export function parseMemberUid(raw: string): string {
  const s = raw.trim();
  if (!s) return "";
  // keep as decimal string without leading zeros for JSON number path
  const n = Number(s);
  if (!Number.isFinite(n)) return s;
  return String(Math.trunc(n));
}
