# Packages
Package shared is used by annotate and the internal core.
# Functions
Change will annotate a change into a diff.
ChildFilter allows for only a subset of children to be annotated on the parent.
IgnoreInconsistency will try to match children even if they are missing.
IgnoreMissingChildren will ignore children for which the datasource returns datasource.ErrNotFound.
IsReverse checks to see if this way update was a "reversal".
NewChildFirstOrdering creates a new ordering object.
Relations computes the updates for the given relations and annotate members with stuff like changeset and lon/lat data.
Threshold is used if the "committed at" time is unknown and deals with the flexibility of commit orders, e.g.
Ways computes the updates for the given ways and annotate the way nodes with changeset and lon/lat data.
# Structs
A ChildFirstOrdering is a struct that allows for a set of relations to be processed in a dept first order.
NoHistoryError is returned if there is no entry in the history map for a specific child.
NoVisibleChildError is returned if there are no visible children for a parent at a given time.
UnsupportedMemberTypeError is returned if a relation member is not a node, way or relation.
# Interfaces
HistoryAsChildrenDatasourcer is an advanced data source that returns the needed elements as children directly.
NodeHistoryAsChildrenDatasourcer is an advanced data source that returns the needed nodes as children directly.
NodeHistoryDatasourcer is an more strict interface for when we only need node history.
RelationHistoryDatasourcer is an more strict interface for when we only need the relation history.
# Type aliases
Option is a parameter that can be used for annotating.