Module euneus_encoder

Data Types

codec()

codec() = timestamp | datetime | ipv4 | ipv6 | {records, #{Name::atom() := {Fields::[atom()], Size::pos_integer()}}} | codec_fun() | custom_codec()

codec_callback()

codec_callback() = fun((codec(), tuple()) -> codec_result())

codec_fun()

codec_fun() = fun((tuple()) -> codec_result())

codec_result()

codec_result() = next | {halt, term()}

custom_codec()

custom_codec() = term()

encode()

encode(Type) = fun((Type, state()) -> iodata())

is_proplist()

is_proplist() = fun((list()) -> boolean())

options()

options() = #{codecs => [codec()], codec_callback => codec_callback(), nulls => [term()], skip_values => [term()], key_to_binary => fun((term()) -> binary()), sort_keys => boolean(), proplists => boolean() | {true, is_proplist()}, escape => fun((binary()) -> iodata()), encode_integer => encode(integer()), encode_float => encode(float()), encode_atom => encode(atom()), encode_list => encode(list()), encode_map => encode(map()), encode_tuple => encode(tuple()), encode_pid => encode(pid()), encode_port => encode(port()), encode_reference => encode(reference()), encode_term => encode(term())}

state()

abstract datatype: state()

Function Index

codec_callback/2
continue/2Used by encoders to continue encoding.
encode/2Encode a term into an iodata JSON.
encode_atom/2
encode_float/2
encode_integer/2
encode_list/2
encode_map/2
encode_pid/2
encode_port/2
encode_reference/2
encode_term/2
encode_tuple/2
escape/1
key_to_binary/1

Function Details

codec_callback/2

codec_callback(Codec, Tuple) -> codec_result()

continue/2

continue(Term, State) -> iodata()

Used by encoders to continue encoding.

Example:

  1> euneus_encoder:encode({}, #{
  ..     encode_tuple => fun(Tuple, State) ->
  ..         euneus_encoder:continue(tuple_to_list(Tuple), State)
  ..     end
  .. }).
  <<"[]">>

encode/2

encode(Term, Options) -> iodata()

Encode a term into an iodata JSON.

Example:

  1> euneus_encoder:encode(foo, #{}).
  [$", <<"foo">>, $"]

Option details:

encode_atom/2

encode_atom(Atom::atom(), State::state()) -> iodata()

encode_float/2

encode_float(Float::float(), State::state()) -> iodata()

encode_integer/2

encode_integer(Integer::integer(), State::state()) -> iodata()

encode_list/2

encode_list(List::list(), State::state()) -> iodata()

encode_map/2

encode_map(Map::map(), State::state()) -> iodata()

encode_pid/2

encode_pid(Pid::pid(), State::state()) -> no_return()

encode_port/2

encode_port(Port::port(), State::state()) -> no_return()

encode_reference/2

encode_reference(Ref::reference(), State::state()) -> no_return()

encode_term/2

encode_term(Term::term(), State::state()) -> no_return()

encode_tuple/2

encode_tuple(Tuple::tuple(), State::state()) -> no_return()

escape/1

escape(Binary::binary()) -> iodata()

key_to_binary/1

key_to_binary(Term) -> binary()


Generated by EDoc