Packages

Token-Oriented Object Notation (TOON) encoder/decoder for Elixir

Current section

Files

Jump to
ex_toon lib toon validation.ex
Raw

lib/toon/validation.ex

defmodule ExToon.Validation do
@moduledoc false
alias ExToon.DecodeError
@spec validate_indent(non_neg_integer(), non_neg_integer(), non_neg_integer()) ::
:ok | {:error, DecodeError.t()}
def validate_indent(spaces, indent_size, line_number) do
if Integer.mod(spaces, indent_size) == 0 do
:ok
else
{:error,
%DecodeError{
line: line_number,
reason: :indentation_error,
message:
"indentation #{spaces} is not a multiple of indent_size #{indent_size} at line #{line_number}"
}}
end
end
end