13 lines
441 B
Elixir
13 lines
441 B
Elixir
defmodule Cannery.ComparableDate do
|
|
@moduledoc """
|
|
A custom `Date` module that provides a `compare/2` function that is comparable
|
|
with nil values
|
|
"""
|
|
|
|
@spec compare(Date.t() | any(), Date.t() | any()) :: :lt | :gt | :eq
|
|
def compare(%Date{} = date_1, %Date{} = date_2), do: Date.compare(date_1, date_2)
|
|
def compare(%Date{}, _date_2), do: :lt
|
|
def compare(_date_1, %Date{}), do: :gt
|
|
def compare(_date_1, _date_2), do: :eq
|
|
end
|