You can define a typespec for your struct but you cannot enforce it.
What you can do in your module is to use a constructor-like function:
def new(props) do
... validate the values
struct(__MODULE__, props)
end
(new is not a special name)
You can define a typespec for your struct but you cannot enforce it.
What you can do in your module is to use a constructor-like function:
def new(props) do
... validate the values
struct(__MODULE__, props)
end
(new is not a special name)