Uso interno da biblioteca: não faz parte da API pública.
Valor de um tipo simples do XSD: conversão, validação, escrita e leitura.
As regras vêm do módulo de tipos simples do schema, que responde facets/1 com as facetas já
achatadas (as da base primeiro, depois as do próprio tipo) e kind/1 com a representação em
Elixir. Os detalhes e as divergências em relação ao XSD estão em Nfse.Schema.Runtime.
Summary
Functions
Converte o valor de entrada para a representação canônica do tipo.
Lê o texto de um elemento ou atributo. As facetas são conferidas no texto antes de qualquer
conversão, para que um decimal com expoente nunca chegue ao Decimal.
Devolve a forma escrita do valor, sem escaping.
Confere o tipo, os dígitos de um decimal e cada faceta sobre a forma escrita do valor.
Types
@type error() ::
:type
| :length
| :min_length
| :max_length
| :enumeration
| :pattern
| :integer_digits
| :fraction_digits
@type kind() :: :string | :date | :datetime | {:decimal, pos_integer(), pos_integer()}
Functions
Converte o valor de entrada para a representação canônica do tipo.
Inteiro vira string num tipo :string, e decimal válido passa a ter exatamente as casas do tipo.
Qualquer outro valor volta como veio, para que validate/3 aponte o erro.
Lê o texto de um elemento ou atributo. As facetas são conferidas no texto antes de qualquer
conversão, para que um decimal com expoente nunca chegue ao Decimal.
Devolve a forma escrita do valor, sem escaping.
Levanta ArgumentError para um valor do tipo errado ou um decimal com dígitos demais, porque
escrevê-lo exigiria arredondar ou truncar.
Confere o tipo, os dígitos de um decimal e cada faceta sobre a forma escrita do valor.