analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
41 lines (38 loc) • 1.18 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});// src/hooks/useCep.ts
var _react = require('react');
function useCep() {
const [loading, setLoading] = _react.useState.call(void 0, false);
const [error, setError] = _react.useState.call(void 0, null);
const fetchCep = _react.useCallback.call(void 0, async (cep) => {
const cleanCep = cep.replace(/\D/g, "");
if (cleanCep.length !== 8) {
setError("CEP deve conter 8 d\xEDgitos");
return null;
}
setLoading(true);
setError(null);
try {
const response = await fetch(
`https://viacep.com.br/ws/${cleanCep}/json/`
);
if (!response.ok) {
throw new Error("Erro ao buscar CEP");
}
const data = await response.json();
if (data.erro) {
setError("CEP n\xE3o encontrado");
return null;
}
return data;
} catch (err) {
console.error("Erro ao buscar CEP:", err);
setError("Erro ao buscar CEP");
return null;
} finally {
setLoading(false);
}
}, []);
return { loading, error, fetchCep };
}
exports.useCep = useCep;
//# sourceMappingURL=chunk-4XNRWVLZ.js.map