/**
 * Si el texto buscado es un número de documento fiscal completo
 * (`001-002-0000552`), devuelve el filtro exacto por sus tres partes. Las
 * búsquedas por `contains` columna por columna no lo encuentran, y es el
 * formato que usan los links de alertas y lo que la gente copia de un PDF.
 */
export function filtroNumeroDocumento(texto: string): { dest: string; dpunexp: string; dnumdoc: string } | null {
  const m = /^\s*(\d{1,3})-(\d{1,3})-(\d{1,7})\s*$/.exec(texto ?? '');
  if (!m) return null;
  return { dest: m[1].padStart(3, '0'), dpunexp: m[2].padStart(3, '0'), dnumdoc: m[3].padStart(7, '0') };
}
