View Source argo_json_scalar_decoder behaviour (argo v1.0.1)
Summary
Types
-type desc_hint() :: null | boolean | string | bytes | int | float.
-type options() :: dynamic().
-type scalar_hint() :: boolean | bytes | {fixed, argo_types:length()} | float64 | string | varint.
-type t() :: dynamic().
Callbacks
-callback decode_block_scalar(JsonScalarDecoder, BlockKey, BlockScalarHint, JsonValue) -> {JsonScalarDecoder, BlockScalar} | error when JsonScalarDecoder :: t(), BlockKey :: argo_types:name(), BlockScalarHint :: scalar_hint(), JsonValue :: argo_json:json_value(), BlockScalar :: argo_scalar_value:inner().
-callback decode_desc_scalar(JsonScalarDecoder, DescHint, JsonValue) -> {JsonScalarDecoder, DescScalar} | error when JsonScalarDecoder :: t(), DescHint :: desc_hint(), JsonValue :: argo_json:json_value(), DescScalar :: argo_desc_value:inner_scalar().
-callback decode_scalar(JsonScalarDecoder, ScalarHint, JsonValue) -> {JsonScalarDecoder, Scalar} | error when JsonScalarDecoder :: t(), ScalarHint :: scalar_hint(), JsonValue :: argo_json:json_value(), Scalar :: argo_scalar_value:inner().