diff options
| author | Murilo Ijanc <[email protected]> | 2026-07-27 20:31:55 -0300 |
|---|---|---|
| committer | Murilo Ijanc <[email protected]> | 2026-07-27 20:31:55 -0300 |
| commit | 4ebb31f26efed74f8fcb049fe27ddf7cf5388a08 (patch) | |
| tree | f21190d570ea0e33f730f96c89288b0b2c6656a9 /src/index.ts | |
| parent | 986a16c34049187a6c1f39f38bfa59e327093494 (diff) | |
| download | typescript-4ebb31f26efed74f8fcb049fe27ddf7cf5388a08.tar.gz | |
A CEP that fails is rarely a random number: it is someone who knows the
city and guessed the digits, and the classic guess is the -000 that 957
municipalities never received. The API now answers the 404 with the
municipality that band belongs to, which is enough to tell the user
"Areal/RJ, but not that number" instead of a bare failure.
It stays an error. Faixa hangs off CEPNotFound rather than becoming a
result, cep_ini/cep_fim are documented as the CEPs that exist there and
not as a range to iterate, and an absent or unreadable block yields
undefined so that context can never cost the caller the clean not-found
it was already getting.
Diffstat (limited to 'src/index.ts')
| -rw-r--r-- | src/index.ts | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/index.ts b/src/index.ts index 0ac9631..6acccb3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -34,7 +34,9 @@ * const address = await lookup(cepFromForm); * } catch (error) { * if (error instanceof CEPNotFound) { - * // the CEP does not exist: ask the user for another + * // the CEP does not exist: ask the user for another. `error.faixa`, when + * // present, names the municipality it would have belonged to — context + * // for the message, not an address. * } else if (error instanceof CepisError) { * // network, server, rate limit: retry later * } else { @@ -70,9 +72,11 @@ export { } from "./errors.js"; export { Address, + Faixa, Geo, Health, type AddressFields, + type FaixaFields, type GeoFields, type HealthFields, type RawObject, |