+ defp fetch_and_decode(from) do
+ with {:ok, json} <- fetch(from) do
+ Jason.decode!(json)
+ end
+ end
+
+ defp fetch("http" <> _ = from) do
+ with {:ok, %{body: body}} <- Tesla.get(client(), from) do
+ {:ok, body}
+ end
+ end
+
+ defp fetch(path), do: File.read(path)
+