View Source MapSorter.SortSpec (Map Sorter v0.2.55)

Defines sort spec types and generates square brackets access syntax strings.

Link to this section Summary

Types

Sort spec key

Sort direction

t()

Sort spec

Functions

Generates a square brackets access syntax string from a sort spec key.

Link to this section Types

Specs

key() :: Map.key() | [Map.key()]

Sort spec key

Specs

sort_dir() :: :asc | :desc

Sort direction

Specs

t() ::
  key()
  | {key(), module()}
  | {sort_dir(), key()}
  | {sort_dir(), {key(), module()}}

Sort spec

Link to this section Functions

Specs

brackets(key()) :: String.t()

Generates a square brackets access syntax string from a sort spec key.

Examples

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets([:birth, :date])
"[:birth][:date]"

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets([:address, 'city', :state])
"[:address]['city'][:state]"

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets([:dob])
"[:dob]"

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets(:dob)
"[:dob]"

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets('dob')
"['dob']"

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets([1, <<1, 2, 3>>, 3.14, 'dob'])
"[1][<<1, 2, 3>>][3.14]['dob']"

iex> import MapSorter.SortSpec, only: [brackets: 1]
iex> brackets(['dob', '3.14', 3.14, 0, {1, 2}, :likes])
"['dob']['3.14'][3.14][0][{1, 2}][:likes]"