Maps definitions to the provided alias.
Summary
Functions
Get the alias for a given definition.
Any alias using the wildcard :* supersedes an entry for a specific arity.
Creates an aliases map from an enumerable.
Items in the enumerable must be one of:
{{name, arity}, alias}- maps a specific definition to an alias;{name, alias}- maps all defitions with the same name to an alias.
Names and aliases may be strings or atoms. Internally both are stored as strings.
Examples
iex> Delegator.AliasesMap.new()
#Delegator.AliasesMap<aliases: %{}>
iex> Delegator.AliasesMap.new([])
#Delegator.AliasesMap<aliases: %{}>
iex> Delegator.AliasesMap.new([a: :c])
#Delegator.AliasesMap<aliases: %{{"c", :*} => "a"}>
iex> Delegator.AliasesMap.new(%{{:a, 1} => :c})
#Delegator.AliasesMap<aliases: %{{"c", 1} => "a"}>
iex> Delegator.AliasesMap.new(%{[a: 1, a: 2] => :c})
#Delegator.AliasesMap<aliases: %{{"c", 1} => "a", {"c", 2} => "a"}>