View Source argo_erlang_term_scalar_encoder behaviour (argo v1.1.0)

Summary

Types

-type error_reason() :: argo_erlang_term_value_encoder:error_reason().
-type options() :: dynamic().
-type result(Ok, Error) :: argo_erlang_term_value_encoder:result(Ok, Error).
-type state() :: dynamic().

Callbacks

Link to this callback

encode_block(EncoderState, BlockWireTypeHint, ScalarTermValue)

View Source (optional)
-callback encode_block(EncoderState, BlockWireTypeHint, ScalarTermValue) -> {EncoderState, Result}
                when
                    EncoderState :: state(),
                    BlockWireTypeHint :: argo_term:block_wire_type_hint(),
                    ScalarTermValue :: argo_term:term_value(),
                    Result :: result(BlockTermValue, ErrorReason),
                    BlockTermValue :: argo_term:term_value(),
                    ErrorReason :: error_reason().
Link to this callback

encode_desc_scalar(EncoderState, DescScalar)

View Source (optional)
-callback encode_desc_scalar(EncoderState, DescScalar) -> {EncoderState, Result}
                      when
                          EncoderState :: state(),
                          DescScalar :: argo_desc_value:inner_scalar(),
                          Result :: result(DescScalarTermValue, ErrorReason),
                          DescScalarTermValue :: argo_term:term_value(),
                          ErrorReason :: error_reason().
Link to this callback

encode_scalar(EncoderState, ScalarWireTypeHint, ScalarTermValue)

View Source (optional)
-callback encode_scalar(EncoderState, ScalarWireTypeHint, ScalarTermValue) -> {EncoderState, Result}
                 when
                     EncoderState :: state(),
                     ScalarWireTypeHint :: argo_term:scalar_wire_type_hint(),
                     ScalarTermValue :: argo_term:term_value(),
                     Result :: result(ScalarTermValue, ErrorReason),
                     ErrorReason :: error_reason().
Link to this callback

init(Options)

View Source (optional)
-callback init(Options) -> EncoderState when Options :: options(), EncoderState :: state().

Functions

Link to this function

encode_block(EncoderModule, EncoderState, BlockWireTypeHint, ScalarTermValue)

View Source
-spec encode_block(EncoderModule, EncoderState, BlockWireTypeHint, ScalarTermValue) ->
                {EncoderState, Result}
                when
                    EncoderModule :: module(),
                    EncoderState :: state(),
                    BlockWireTypeHint :: argo_term:block_wire_type_hint(),
                    ScalarTermValue :: argo_term:term_value(),
                    Result :: result(BlockTermValue, ErrorReason),
                    BlockTermValue :: argo_term:term_value(),
                    ErrorReason :: error_reason().
Link to this function

encode_desc_scalar(EncoderModule, EncoderState, DescScalar)

View Source
-spec encode_desc_scalar(EncoderModule, EncoderState, DescScalar) -> {EncoderState, Result}
                      when
                          EncoderModule :: module(),
                          EncoderState :: state(),
                          DescScalar :: argo_desc_value:inner_scalar(),
                          Result :: result(DescScalarTermValue, ErrorReason),
                          DescScalarTermValue :: argo_term:term_value(),
                          ErrorReason :: error_reason().
Link to this function

encode_scalar(EncoderModule, EncoderState, ScalarWireTypeHint, ScalarTermValue)

View Source
-spec encode_scalar(EncoderModule, EncoderState, ScalarWireTypeHint, ScalarTermValue) ->
                 {EncoderState, Result}
                 when
                     EncoderModule :: module(),
                     EncoderState :: state(),
                     ScalarWireTypeHint :: argo_term:scalar_wire_type_hint(),
                     ScalarTermValue :: argo_term:term_value(),
                     Result :: result(ScalarTermValue, ErrorReason),
                     ErrorReason :: error_reason().
Link to this function

init(EncoderModule, EncoderOptions)

View Source
-spec init(EncoderModule, EncoderOptions) -> EncoderState
        when EncoderModule :: module(), EncoderOptions :: options(), EncoderState :: state().