maybe icon indicating copy to clipboard operation
maybe copied to clipboard

Access Elixir maps and structs, protected from `nil`

Maybe

Hex.pm Build Status

Access nested Elixir maps and structs, protected from nil. Somewhat similar to "Optionals" in Apple Swift.

import Maybe

info = %{city: %{name: "Portland"}}
maybe(info.city.name)
# => "Portland"

map = %{}
maybe(map.city.name)
# => nil

See the original forum post for more an explanation of the problem this package solves.

Installation

Add maybe to your list of dependencies in mix.exs:

def deps do
  [
    {:maybe, "~> 1.0.0"}
  ]
end

See the documentation for more details.