Isox.Dictionary.Entry (Isox v0.2.0)

Copy Markdown View Source

Uma entrada do dicionário: tudo que se sabe sobre um campo de uma mensagem.

Cada entrada amarra três coisas que, separadas, obrigam quem usa a lib a abrir a planilha do catálogo do lado: o nome do campo na struct do isox, o nome que o Banco Central dá a ele (name_br) e o caminho dele dentro do XML (xml).

O name_br é o mais útil dos três. É por ele que se acha o campo em qualquer documento oficial do Pix, porque é o nome que o BCB usa na planilha, nos manuais e nas mensagens de erro.

within marca campo que não fica solto na struct e sim dentro de uma lista de mapas, como cada saldo de Isox.Camt053. Nesse caso within aponta o campo da struct que carrega a lista.

Summary

Types

Se o campo tem que ser preenchido, e sob que condição.

t()

Tipo base do campo, como o catálogo classifica.

Types

requirement()

@type requirement() :: :required | :optional | :conditional

Se o campo tem que ser preenchido, e sob que condição.

t()

@type t() :: %Isox.Dictionary.Entry{
  codes: %{optional(String.t()) => String.t()} | nil,
  field: atom(),
  length: String.t() | nil,
  name_br: String.t() | nil,
  requirement: requirement(),
  rule: String.t() | nil,
  type: type(),
  what: String.t(),
  within: atom() | nil,
  xml: String.t()
}

type()

@type type() :: :text | :numeric | :amount | :date | :datetime | :code | :indicator

Tipo base do campo, como o catálogo classifica.