package
0.0.0-20220412220916-5ea02083e3ec
Repository: https://github.com/riteshrch/go-edge-device-lib.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
selectorparse package contains some helpful functions for parsing the serial form of Selectors.

# Functions

CompileSelector accepts a datamodel.Node which should contain data that declares a Selector.
NewSegmentIterator generates a new iterator based on the node type.
ParseSelector is an alias for CompileSelector, and is deprecated.
RecursionLimitDepth returns a depth limited recursion to the given depth.
RecursionLimitNone return recursion with no limit.

# Constants

No description provided by the author
RecursionLimit_Depth mean recursion stops after the recursive selector is copied to a given depth.
RecursionLimit_None means there is no recursion limit.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

Condition provides a mechanism for matching and limiting matching and exploration of selectors.
ExploreAll is similar to a `*` -- it traverses all elements of an array, or all entries in a map, and applies a next selector to the reached nodes.
ExploreFields traverses named fields in a map (or equivalently, struct, if traversing on typed/schema nodes) and applies a next selector to the reached nodes.
ExploreIndex traverses a specific index in a list, and applies a next selector to the reached node.
No description provided by the author
ExploreRange traverses a list, and for each element in the range specified, will apply a next selector to those reached nodes.
ExploreRecursive traverses some structure recursively.
ExploreRecursiveEdge is a special sentinel value which is used to mark the end of a sequence started by an ExploreRecursive selector: the recursion goes back to the initial state of the earlier ExploreRecursive selector, and proceeds again (with a decremented maxDepth value).
ExploreUnion allows selection to continue with two or more distinct selectors while exploring the same tree of data.
Matcher marks a node to be included in the "result" set.
ParseContext tracks the progress when parsing a selector.
RecursionLimit is a union type that captures all data about the recursion limit (both its type and data specific to the type).
Slice limits a result node to a subset of the node.

# Interfaces

ParsedParent is created whenever you are parsing a selector node that may have child selectors nodes that need to know it.
Reifiable provides a feature detection interface on selectors to understand when and if Reification of the datamodel.node should be attempted when performing traversals.
SegmentIterator iterates either a list or a map, generating PathSegments instead of indexes or keys.
Selector is a "compiled" and executable IPLD Selector.

# Type aliases

A ConditionMode is the keyed representation for the union that is the condition.
RecursionLimit_Mode is an enum that represents the type of a recursion limit -- either "depth" or "none" for now.