View Source argo_path_value (argo v1.0.6)

Summary

Types

-type segment() :: {field_name, argo_types:name()} | {list_index, non_neg_integer()}.
-type segment_list() :: [argo_types:name() | non_neg_integer()].
-type t() :: #argo_path_value{segments :: array:array(argo_path_value:segment())}.

Functions

Link to this function

foldl(PathValue, Acc0, Function)

View Source
-spec foldl(PathValue, Acc0, Function) -> Acc1
         when
             PathValue :: t(),
             Acc0 :: dynamic(),
             Function :: fun((segment(), AccIn) -> AccOut),
             AccIn :: dynamic(),
             AccOut :: dynamic(),
             Acc1 :: dynamic().
Link to this function

foldr(PathValue, Acc0, Function)

View Source
-spec foldr(PathValue, Acc0, Function) -> Acc1
         when
             PathValue :: t(),
             Acc0 :: dynamic(),
             Function :: fun((segment(), AccIn) -> AccOut),
             AccIn :: dynamic(),
             AccOut :: dynamic(),
             Acc1 :: dynamic().
-spec from_list(SegmentList) -> PathValue when SegmentList :: segment_list(), PathValue :: t().
-spec new() -> PathValue when PathValue :: t().
-spec pop(PathValue) -> {PathValue, none | {some, Segment}} when PathValue :: t(), Segment :: segment().
Link to this function

push_field_name(PathValue, Name)

View Source
-spec push_field_name(PathValue, Name) -> PathValue when PathValue :: t(), Name :: argo_types:name().
Link to this function

push_list_index(PathValue, Index)

View Source
-spec push_list_index(PathValue, Index) -> PathValue when PathValue :: t(), Index :: non_neg_integer().
-spec size(PathValue) -> non_neg_integer() when PathValue :: t().
Link to this function

to_dotted_string(PathValue)

View Source
-spec to_dotted_string(PathValue) -> DottedString
                    when PathValue :: t(), DottedString :: unicode:unicode_binary().
-spec to_list(PathValue) -> SegmentList when PathValue :: t(), SegmentList :: segment_list().
Link to this function

to_wire_path(PathValue, WireType)

View Source
-spec to_wire_path(PathValue, WireType) -> WirePath
                when
                    PathValue :: t(),
                    WireType :: argo_wire_type:t(),
                    WirePath :: argo_wire_path:t().