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

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

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

Sort spec key

@type sort_dir() :: :asc | :desc

Sort direction

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

Sort spec

Link to this section Functions

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

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

examples

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]"