Packages
moar
0.1.0
5.0.0
4.3.0
4.2.0
4.1.0
4.0.0
3.2.0
3.1.0
3.0.0
2.7.0
2.6.0
2.5.0
2.4.2
2.4.1
2.4.0
2.3.0
2.2.0
2.1.0
2.0.1
2.0.0
1.64.0
1.63.1
1.63.0
1.62.0
1.61.2
1.61.1
1.61.0
1.60.0
1.59.2
1.59.1
1.59.0
1.58.0
1.57.0
1.56.2
1.56.1
1.56.0
1.55.0
1.54.0
1.53.0
1.52.1
1.52.0
1.51.0
1.50.0
1.49.0
1.48.0
1.47.0
1.46.0
1.45.1
1.45.0
1.44.0
1.43.0
1.42.0
1.41.0
1.40.0
1.39.0
1.38.0
1.37.0
1.36.0
1.35.0
1.34.0
1.33.0
1.32.0
1.31.0
1.30.0
1.29.0
1.28.0
1.27.0
1.26.0
1.25.0
1.24.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.3
1.19.2
1.19.1
1.19.0
1.18.1
1.18.0
1.17.0
1.16.0
1.15.0
1.14.0
1.13.1
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.0
0.1.0
A dependency-free utility library containing 100+ useful functions.
Current section
Files
Jump to
Current section
Files
lib/atom.ex
defmodule Moar.Atom do
# @related [test](/test/atom_test.exs)
@moduledoc "Atom-related functions"
@doc """
When given a string, converts it to an atom via `String.to_atom/1`. When given an atom, returns it unchanged.
Useful when you aren't sure ahead of time whether you have a string or an atom and want an atom.
"""
@spec from_string(atom() | binary()) :: atom()
def from_string(nil), do: raise(ArgumentError, message: "Unable to convert nil into an atom")
def from_string(s) when is_binary(s), do: String.to_atom(s)
def from_string(a) when is_atom(a), do: a
@doc """
When given an atom, converts it to a string via `Atom.to_string/1`. When given a string, returns it unchanged.
Useful when you aren't sure ahead of time whether you have a string or an atom and want a string.
"""
@spec to_string(atom() | binary()) :: binary()
def to_string(nil), do: raise(ArgumentError, message: "Unable to convert nil into a string")
def to_string(a) when is_atom(a), do: Atom.to_string(a)
def to_string(s) when is_binary(s), do: s
end