ExSlop.Check.Refactor.MapIntoLiteral (ExSlop v0.3.1)

Copy Markdown View Source

Basics

This check is disabled by default.

Learn how to enable it via .credo.exs.

This check has a base priority of normal and works with any version of Elixir.

Explanation

Enum.map(fn {k, v} -> ... end) |> Enum.into(%{}) should be Map.new/2.

# bad
list
|> Enum.map(fn {k, v} -> {k, transform(v)} end)
|> Enum.into(%{})

# good
Map.new(list, fn {k, v} -> {k, transform(v)} end)

Credo's Refactor.MapInto is disabled for Elixir >= 1.8 (performance was fixed), but Map.new/2 is still clearer and more intentional.

Check-Specific Parameters

There are no specific parameters for this check.

General Parameters

Like with all checks, general params can be applied.

Parameters can be configured via the .credo.exs config file.