View Source argo_path_value (argo v1.0.10)
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
-spec from_list(SegmentList) -> PathValue when SegmentList :: segment_list(), PathValue :: t().
-spec new() -> PathValue when PathValue :: t().
-spec push_field_name(PathValue, Name) -> PathValue when PathValue :: t(), Name :: argo_types:name().
-spec push_list_index(PathValue, Index) -> PathValue when PathValue :: t(), Index :: non_neg_integer().
-spec size(PathValue) -> non_neg_integer() when PathValue :: t().
-spec to_dotted_string(PathValue) -> DottedString when PathValue :: t(), DottedString :: unicode:unicode_binary().
-spec to_list(PathValue) -> SegmentList when PathValue :: t(), SegmentList :: segment_list().
-spec to_wire_path(PathValue, WireType) -> WirePath when PathValue :: t(), WireType :: argo_wire_type:t(), WirePath :: argo_wire_path:t().