Packages

Transliterate from Unicode to ASCII. Based on Text::Unidecode.

Current section

Files

Jump to
unidecode lib unidecode.ex
Raw

lib/unidecode.ex

defmodule Unidecode do
@moduledoc """
#TODO doc
"""
@doc """
#TODO doc
"""
@spec unidecode(String.t) :: String.t
def unidecode(string), do: transliterate(string)
@doc """
#TODO doc
"""
@spec unidecode(String.t) :: String.t
def decode(string), do: transliterate(string)
@spec unidecode(String.t) :: String.t
defp transliterate(string) do
string
|> String.graphemes
|> Stream.map(&transliterate_char/1)
|> Enum.join
end
@spec unidecode(String.t) :: String.t
defp transliterate_char(char) do
case Unidecode.Cache.get(char) do
nil -> char
new_char -> new_char
end
end
end