lib/type_check/default_overrides/version.ex
defmodule TypeCheck.DefaultOverrides.Version do
alias __MODULE__
alias TypeCheck.DefaultOverrides.String
use TypeCheck
@type! build() :: String.t() | nil
@type! major() :: non_neg_integer()
@type! minor() :: non_neg_integer()
@type! patch() :: non_neg_integer()
@type! pre() :: [String.t() | non_neg_integer()]
@type! requirement() :: String.t() | Version.Requirement.t()
@type! t() :: %Elixir.Version{
build: build(),
major: major(),
minor: minor(),
patch: patch(),
pre: pre()
}
@type! version() :: String.t() | t()
end