Packages

fnord

0.9.34

AI code archaeology

Current section

Files

Jump to
fnord lib services task util.ex
Raw

lib/services/task/util.ex

defmodule Services.Task.Util do
@moduledoc """
Utility functions for task management.
"""
@doc """
Converts a task outcome from string or atom format to the canonical atom format.
Returns :todo for any unrecognized values.
"""
@spec normalize_outcome(binary | atom | any) :: :todo | :done | :failed
def normalize_outcome(outcome) when is_binary(outcome) do
case outcome do
"todo" -> :todo
"done" -> :done
"failed" -> :failed
_ -> :todo
end
end
def normalize_outcome(outcome) when is_atom(outcome) and outcome in [:todo, :done, :failed] do
outcome
end
def normalize_outcome(_), do: :todo
end