summaryrefslogtreecommitdiffstats
path: root/cepis/errors.lua
diff options
context:
space:
mode:
Diffstat (limited to 'cepis/errors.lua')
-rw-r--r--cepis/errors.lua9
1 files changed, 8 insertions, 1 deletions
diff --git a/cepis/errors.lua b/cepis/errors.lua
index 0076b95..011014b 100644
--- a/cepis/errors.lua
+++ b/cepis/errors.lua
@@ -27,6 +27,12 @@ local M = {}
M.INVALID_CEP = "invalid_cep"
--- The CEP is well-formed but does not exist in the DNE database.
+--
+-- The error may carry `faixa`, a `cepis.models.Faixa` naming the municipality
+-- that CEP would have belonged to. It is context for the failure, never an
+-- address: the lookup failed all the same. It is `nil` when the CEP falls in a
+-- band no municipality owns — the API omits the block there rather than
+-- sending null.
M.NOT_FOUND = "not_found"
--- The API (or the edge in front of it) answered 429 on every attempt.
@@ -88,7 +94,8 @@ M.Error = Error
--
-- @tparam string kind one of the six constants in this module
-- @tparam string message human-readable, already complete
--- @tparam[opt] table fields extra context: `cep`, `status`, `retry_after`
+-- @tparam[opt] table fields extra context: `cep`, `status`, `retry_after`,
+-- `faixa`
-- @treturn table the error, with `tostring()` yielding `message`
function M.new(kind, message, fields)
local err = setmetatable({}, Error)