%UsersRequest{} и писать просто %{} = data или даже просто data?
request = case (query |> UsersRequest.validate) do
{:error, _} -> raise "Error"
{:ok, %UsersRequest{} = data} -> data
end
%UsersRequest{} — это матчинг на стракт %{} — это матчинг на мэп. Стракт — это мэп. Мэп — это не обязательно стракт.
я бы писал с более строгим мэтчингом %UsersRequest{}
Если потребуется из %UsersRequest{} достать список sort, а потом прогнать мэтчинг его элементов на стракт %Sort{}, то как тогда это делается? Или в элексире так не принято, и мне нужно это заворачивать в статический анализ?
Так и делай case blah_blah_blah do {:ok, %{sort: %Sort{}} = result} -> result ... end
Обсуждают сегодня