From 82d92ed4291663bae94014b4363064dbb26c6a51 Mon Sep 17 00:00:00 2001 From: Murilo Ijanc Date: Mon, 27 Jul 2026 20:25:04 -0300 Subject: Name the municipality behind a CEP that does not exist MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A CEP that fails a lookup is rarely a random number: it is usually someone who knows the city and guessed the digits, and the classic guess is the -000 that 957 municipalities never received. The API now attaches a faixa block to the 404 naming the municipality that band belongs to, so the caller can answer "no, but you were looking at Areal/RJ" instead of just "no". It stays an error. Faixa hangs off CepNotFoundException, never off Address, and cepIni/cepFim are the extremes that actually exist in the municipality rather than the range the Correios publish — echoing back the published start would return the very CEP that just failed. The interval is sparse, which is what ceps is for; it is not a list of alternatives. Parsing is deliberately forgiving: a missing, empty or malformed block is null. Losing a clean not-found to a parse error over the hint attached to it would be a bad trade. --- lib/cepis.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/cepis.dart') diff --git a/lib/cepis.dart b/lib/cepis.dart index 2bc42b8..4a1a2ab 100644 --- a/lib/cepis.dart +++ b/lib/cepis.dart @@ -30,7 +30,7 @@ export 'src/errors.dart' NetworkException, RateLimitedException, ServerException; -export 'src/models.dart' show Address, Geo, Health; +export 'src/models.dart' show Address, Faixa, Geo, Health; final Client _default = Client(); -- cgit v1.3