// Busca de endereço por CEP via ViaCEP. Retorna os campos em MAIÚSCULAS // (padrão de endereço do sistema). Retorna null se o CEP for inválido, // não existir ou a API falhar — o chamador trata o feedback ao usuário. export interface EnderecoCep { logradouro: string; bairro: string; cidade: string; estado: string; } export async function buscarCep(cep: string): Promise { const digits = (cep || '').replace(/\D/g, ''); if (digits.length !== 8) return null; try { const r = await fetch(`https://viacep.com.br/ws/${digits}/json/`); const d = await r.json(); if (d.erro) return null; return { logradouro: (d.logradouro || '').toUpperCase(), bairro: (d.bairro || '').toUpperCase(), cidade: (d.localidade || '').toUpperCase(), estado: (d.uf || '').toUpperCase(), }; } catch { return null; } }