Current section
Files
Jump to
Current section
Files
lib/utils/param.ex
defprotocol ExKits.Utils.Param do
@spec to_integer(t) :: integer()
def to_integer(param)
@spec to_map(t) :: map()
def to_map(param)
@spec to_string(t) :: String.t()
def to_string(param)
end
defimpl ExKits.Utils.Param, for: BitString do
def to_integer(param), do: String.to_integer(param)
def to_map(param), do: Jason.decode!(param)
def to_string(param), do: param
end
defimpl ExKits.Utils.Param, for: Integer do
def to_integer(param), do: param
def to_map(_), do: %{}
def to_string(param), do: "#{param}"
end
defimpl ExKits.Utils.Param, for: Map do
def to_integer(_), do: 0
def to_map(param), do: param
def to_string(param), do: Jason.encode!(param)
end