Files
n8n-openai-adapter/lib/binary/chars.ex
T
Dickson S. Guedes e68a2ed13e refactoring some code
since atom_to_binary, binary_to_atom uses UTF* as default
we could refactor some code.
2012-04-09 16:58:40 -03:00

36 lines
695 B
Elixir

import Elixir.Builtin, except: [to_binary: 1]
defprotocol Binary.Chars, [to_binary(thing)],
only: [BitString, List, Number, Atom, Record]
defimpl Binary.Chars, for: Atom do
def to_binary(nil) do
""
end
def to_binary(atom) do
atom_to_binary(atom)
end
end
defimpl Binary.Chars, for: BitString do
def to_binary(thing) when is_binary(thing) do
thing
end
end
defimpl Binary.Chars, for: List do
def to_binary(thing) do
iolist_to_binary(thing)
end
end
defimpl Binary.Chars, for: Number do
def to_binary(thing) when is_integer(thing) do
list_to_binary integer_to_list(thing)
end
def to_binary(thing) do
list_to_binary float_to_list(thing)
end
end