Versions in this module Expand all Collapse all v0 v0.0.1 Mar 17, 2024 Changes in this version + const ContainerKeyPostfix + func ExtractNodeDataFromList[T *Node[T]](list []*Node[T]) []T + func NewUUID() uuid.UUID + type Marshaller interface + Marshal func(objectPtr any) (Provider[T], error) + type Node struct + Data T + ID uuid.UUID + IsOpen bool + Type string + func NewNode[T any](typeKey string, isContainer bool, data T) *Node[T] + func (n *Node[T]) AddChild(child *Node[T]) + func (n *Node[T]) ApplyTo(to *Node[T]) + func (n *Node[T]) Children() []*Node[T] + func (n *Node[T]) ChildrenElemByID() + func (n *Node[T]) ChildrenElemByIndex() + func (n *Node[T]) ChildrenElemByName() + func (n *Node[T]) ChildrenElemByPath() + func (n *Node[T]) ChildrenElemByType() + func (n *Node[T]) ChildrenLastElem() + func (n *Node[T]) ChildrenLen() + func (n *Node[T]) ChildrenMoveTo() + func (n *Node[T]) ChildrenRemoveByID() + func (n *Node[T]) ChildrenRemoveByIndex() + func (n *Node[T]) ChildrenRemoveByName() + func (n *Node[T]) ChildrenRemoveByPath() + func (n *Node[T]) ChildrenReset() + func (n *Node[T]) ChildrenSum(parent *Node[T]) *Node[T] + func (n *Node[T]) ChildrenSwap() + func (n *Node[T]) Clone(newParent *Node[T], preserveID bool) *Node[T] + func (n *Node[T]) Container() bool + func (n *Node[T]) CopyFrom(from *Node[T]) + func (n *Node[T]) CreateItem(parent *Node[T], data T) *Node[T] + func (n *Node[T]) Depth() int + func (n *Node[T]) Enabled() bool + func (n *Node[T]) FindByID(id uuid.UUID) *Node[T] + func (n *Node[T]) FindByIndex(id uuid.UUID) *Node[T] + func (n *Node[T]) FindByName(id uuid.UUID) *Node[T] + func (n *Node[T]) FindByPath(id uuid.UUID) *Node[T] + func (n *Node[T]) FindByType(id uuid.UUID) *Node[T] + func (n *Node[T]) Format(root *Node[T]) string + func (n *Node[T]) GetType() string + func (n *Node[T]) HasChildren() bool + func (n *Node[T]) InsertByID(id uuid.UUID) *Node[T] + func (n *Node[T]) InsertByIndex(id uuid.UUID) *Node[T] + func (n *Node[T]) InsertByName(id uuid.UUID) *Node[T] + func (n *Node[T]) InsertByPath(id uuid.UUID) *Node[T] + func (n *Node[T]) InsertByType(id uuid.UUID) *Node[T] + func (n *Node[T]) InsertItem(parentID uuid.UUID, data T) *Node[T] + func (n *Node[T]) Marshal(objectPtr any) (Provider[T], error) + func (n *Node[T]) MarshalBinary() (data []byte, err error) + func (n *Node[T]) MarshalJSON() ([]byte, error) + func (n *Node[T]) MarshalText() (text []byte, err error) + func (n *Node[T]) MarshalXML(e *xml.Encoder, start xml.StartElement) error + func (n *Node[T]) Open() bool + func (n *Node[T]) Parent() *Node[T] + func (n *Node[T]) RemoveByID(id uuid.UUID) + func (n *Node[T]) RemoveByIndex(id uuid.UUID) + func (n *Node[T]) RemoveByName(id uuid.UUID) + func (n *Node[T]) RemoveByPath(id uuid.UUID) + func (n *Node[T]) RemoveSelf(id uuid.UUID) + func (n *Node[T]) SetChildren(children []*Node[T]) + func (n *Node[T]) SetFormatRowCallback(formatRowCallback func(*Node[T]) string) + func (n *Node[T]) SetHeader(header []string) + func (n *Node[T]) SetOpen(open bool) + func (n *Node[T]) SetParent(parent *Node[T]) + func (n *Node[T]) SetType(t string) + func (n *Node[T]) Sort(cmp func(a, b T) bool) + func (n *Node[T]) String() string + func (n *Node[T]) UUID() uuid.UUID + func (n *Node[T]) Unmarshal(tree Provider[T]) (objectPtr any, err error) + func (n *Node[T]) UnmarshalBinary(data []byte) error + func (n *Node[T]) UnmarshalJSON(bytes []byte) error + func (n *Node[T]) UnmarshalText(text []byte) error + func (n *Node[T]) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + func (n *Node[T]) UpdateByID(id uuid.UUID, data T) + func (n *Node[T]) UpdateByIndex(id uuid.UUID, data T) + func (n *Node[T]) UpdateByName(id uuid.UUID, data T) + func (n *Node[T]) UpdateByPath(id uuid.UUID, data T) + func (n *Node[T]) UpdateByType(id uuid.UUID, data T) + func (n *Node[T]) Walk(callback func(node *Node[T])) + func (n *Node[T]) WalkContainer(callback func(node *Node[T])) + type Provider interface + AddChild func(child *Node[T]) + ApplyTo func(to *Node[T]) + Children func() []*Node[T] + ChildrenElemByID func() + ChildrenElemByIndex func() + ChildrenElemByName func() + ChildrenElemByPath func() + ChildrenElemByType func() + ChildrenLastElem func() + ChildrenLen func() + ChildrenMoveTo func() + ChildrenRemoveByID func() + ChildrenRemoveByIndex func() + ChildrenRemoveByName func() + ChildrenRemoveByPath func() + ChildrenReset func() + ChildrenSum func(parent *Node[T]) *Node[T] + ChildrenSwap func() + Clone func(newParent *Node[T], preserveID bool) *Node[T] + Container func() bool + CopyFrom func(from *Node[T]) + CreateItem func(parent *Node[T], data T) *Node[T] + Depth func() int + Enabled func() bool + FindByID func(id uuid.UUID) *Node[T] + FindByIndex func(id uuid.UUID) *Node[T] + FindByName func(id uuid.UUID) *Node[T] + FindByPath func(id uuid.UUID) *Node[T] + FindByType func(id uuid.UUID) *Node[T] + Format func(root *Node[T]) string + GetType func() string + HasChildren func() bool + InsertByID func(id uuid.UUID) *Node[T] + InsertByIndex func(id uuid.UUID) *Node[T] + InsertByName func(id uuid.UUID) *Node[T] + InsertByPath func(id uuid.UUID) *Node[T] + InsertByType func(id uuid.UUID) *Node[T] + InsertItem func(parentID uuid.UUID, data T) *Node[T] + Open func() bool + Parent func() *Node[T] + RemoveByID func(id uuid.UUID) + RemoveByIndex func(id uuid.UUID) + RemoveByName func(id uuid.UUID) + RemoveByPath func(id uuid.UUID) + RemoveSelf func(id uuid.UUID) + SetChildren func(children []*Node[T]) + SetFormatRowCallback func(formatRowCallback func(*Node[T]) string) + SetHeader func(header []string) + SetOpen func(open bool) + SetParent func(parent *Node[T]) + SetType func(t string) + Sort func(cmp func(a T, b T) bool) + String func() string + UUID func() uuid.UUID + UpdateByID func(id uuid.UUID, data T) + UpdateByIndex func(id uuid.UUID, data T) + UpdateByName func(id uuid.UUID, data T) + UpdateByPath func(id uuid.UUID, data T) + UpdateByType func(id uuid.UUID, data T) + Walk func(callback func(node *Node[T])) + WalkContainer func(callback func(node *Node[T])) + func New[T any]() Provider[T] + type Unmarshaler interface + Unmarshal func(tree Provider[T]) (objectPtr any, err error)