Current section

Files

Jump to
credo lib credo cli command explain output json.ex
Raw

lib/credo/cli/command/explain/output/json.ex

defmodule Credo.CLI.Command.Explain.Output.Json do
@moduledoc false
alias Credo.CLI.Output.Formatter.JSON
def print_before_info(_source_files, _exec), do: nil
def print_after_info(explanations, _exec, _, _) do
JSON.print_map(%{explanations: Enum.map(explanations, &cast_to_json/1)})
end
defp cast_to_json(%{line_no: _line_no} = explanation) do
related_code = Enum.map(explanation.related_code, &Tuple.to_list/1)
explanation
|> Map.put(:related_code, related_code)
end
defp cast_to_json(explanation), do: explanation
end