Mail.Proplist (mail v0.2.3) View Source

A hybrid of Erlang's proplists and lists keystores.

It acts as a Set for key-value pairs, but still maintains it's order like a List.

Link to this section Summary

Functions

Removes a key-value pair by the given key and returns the remaining list

Drops the specified keys from the list, returning the remaining.

Filters the proplist, i.e. returns only those elements for which fun returns a truthy value.

Retrieves a value from the list

Detects if the list contains the specified key.

Retrieves all keys from the key value pairs present in the list, unlike :proplists.get_keys which will return non-kv pairs as keys

Concatenates the given lists.

Merges duplicate pairs with the latest value.

Prepends the key-value pair to the list if it doesn't already exist, otherwise it will replace the existing pair

Stores a key-value pair in the list, will replace an existing pair with the same key.

Takes the specified keys from the list, returning the remaining.

Link to this section Types

Specs

t() :: [{term(), term()} | term()]

Link to this section Functions

Specs

delete(list :: t(), key :: term()) :: t()

Removes a key-value pair by the given key and returns the remaining list

Args:

  • list - the list to remove the pair from
  • key - the key to remove

Specs

drop(list :: t(), keys :: list()) :: t()

Drops the specified keys from the list, returning the remaining.

Args:

  • list - the list
  • keys - the keys to remove

Specs

filter(list :: t(), func :: any()) :: t()

Filters the proplist, i.e. returns only those elements for which fun returns a truthy value.

Args:

  • list - the list to filter
  • func - the function to execute

Retrieves a value from the list

Args:

  • list - the list to look in
  • key - the key of the pair to retrieve it's value

Specs

has_key?(list :: t(), key :: term()) :: [term()] | false

Detects if the list contains the specified key.

Args:

  • list - the list to look in
  • key - the key to look for

Specs

keys(list :: t()) :: [term()]

Retrieves all keys from the key value pairs present in the list, unlike :proplists.get_keys which will return non-kv pairs as keys

Args:

  • list - a list to retrieve all the keys from

Specs

merge(a :: t(), b :: t()) :: t()

Concatenates the given lists.

Args:

  • a - base list to merge unto
  • b - list to merge with

Specs

normalize(list :: t()) :: t()

Merges duplicate pairs with the latest value.

Args:

  • list - the list to normalize
Link to this function

prepend(list, key, value)

View Source

Specs

prepend(list :: t(), key :: term(), value :: term()) :: t()

Prepends the key-value pair to the list if it doesn't already exist, otherwise it will replace the existing pair

Args:

  • list - the list to store in
  • key - the key of the pair
  • value - the value of the pair

Specs

put(list :: t(), key :: term(), value :: term()) :: t()

Stores a key-value pair in the list, will replace an existing pair with the same key.

Args:

  • list - the list to store in
  • key - the key of the pair
  • value - the value of the pair

Specs

take(list :: t(), keys :: list()) :: t()

Takes the specified keys from the list, returning the remaining.

Args:

  • list - the list
  • keys - the keys to keep