-module(epgsql_codec_test_enum). -behaviour(epgsql_codec). -export([init/2, names/0, encode/3, decode/3]). init(Choices, _) -> Choices. names() -> [my_type]. encode(Atom, my_type, Choices) -> true = lists:member(Atom, Choices), atom_to_binary(Atom, utf8). decode(Bin, my_type, Choices) -> Atom = binary_to_existing_atom(Bin, utf8), true = lists:member(Atom, Choices), Atom.