Packages
map_sorter
0.2.39
0.2.70
0.2.69
0.2.68
0.2.67
0.2.66
0.2.65
0.2.64
0.2.63
0.2.62
0.2.61
0.2.60
0.2.59
0.2.58
0.2.57
0.2.56
0.2.55
0.2.54
0.2.53
0.2.52
0.2.51
0.2.50
0.2.49
0.2.48
0.2.47
0.2.46
0.2.45
0.2.44
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.32
0.2.31
0.2.30
0.2.29
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Sorts a list of maps per a list of sort specs.
Current section
Files
Jump to
Current section
Files
lib/map_sorter/container.ex
defmodule MapSorter.Container do
@moduledoc """
Generates index brackets as a string from a sort spec `key`.
"""
alias MapSorter.SortSpec
@doc """
Generates index brackets as a string from a sort spec `key`.
## Examples
iex> import MapSorter.Container, only: [brackets: 1]
iex> brackets([:birth, :date])
"[:birth][:date]"
iex> import MapSorter.Container, only: [brackets: 1]
iex> brackets([:address, 'city', :state])
"[:address]['city'][:state]"
iex> import MapSorter.Container, only: [brackets: 1]
iex> brackets([:dob])
"[:dob]"
iex> import MapSorter.Container, only: [brackets: 1]
iex> brackets(:dob)
"[:dob]"
iex> import MapSorter.Container, only: [brackets: 1]
iex> brackets('dob')
"['dob']"
"""
@spec brackets(SortSpec.key()) :: String.t()
def brackets([h | _t] = key) when is_integer(h) do
# Assuming key is charlist...
"[#{inspect(key)}]"
end
def brackets(key) when is_list(key) do
Enum.map_join(key, &brackets/1)
end
def brackets(key) do
"[#{inspect(key)}]"
end
end