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().
-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().
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().
-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().