PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/p/g1wx60nkcp5lfsxmedeg7sfs47tzxkath05u63t4/avl

Package
Open in gnoweb ↗

Overview

Kind
Pure package
Name
avl
Namespace
g1wx60nkcp5lfsxmedeg7sfs47tzxkath05u63t4
Files
3 (gnomod.toml)
Exported functions
n/a — not supported for pure packages by the node (vm/qfuncs)
Module
gno.land/p/g1wx60nkcp5lfsxmedeg7sfs47tzxkath05u63t4/avl
gno
0.9

Files (3)

  • gnomod.tomltoml
  • node.gnogno
  • tree.gnogno
tree.gnogno
1package avl23type ITree interface {45	Size() int6	Has(key string) bool7	Get(key string) any8	GetByIndex(index int) (key string, value any)9	Iterate(start, end string, cb IterCbFn) bool10	ReverseIterate(start, end string, cb IterCbFn) bool11	IterateByOffset(offset int, count int, cb IterCbFn) bool12	ReverseIterateByOffset(offset int, count int, cb IterCbFn) bool1314	Set(key string, value any) (updated bool)15	Remove(key string) (value any, removed bool)16}1718type IterCbFn func(key string, value any) bool1920type Tree struct {21	node *Node22}2324func NewTree() *Tree {25	return &Tree{26		node: nil,27	}28}2930func (tree *Tree) Size() int {31	return tree.node.Size()32}3334func (tree *Tree) Has(key string) (has bool) {35	return tree.node.Has(key)36}3738func (tree *Tree) Get(key string) any {39	_, value, _ := tree.node.Get(key)40	return value41}4243func (tree *Tree) GetByIndex(index int) (key string, value any) {44	return tree.node.GetByIndex(index)45}4647func (tree *Tree) Set(key string, value any) (updated bool) {48	newnode, updated := tree.node.Set(key, value)49	tree.node = newnode50	return updated51}5253func (tree *Tree) Remove(key string) (value any, removed bool) {54	newnode, _, value, removed := tree.node.Remove(key)55	tree.node = newnode56	return value, removed57}5859func (tree *Tree) Iterate(start, end string, cb IterCbFn) bool {60	return tree.node.TraverseInRange(start, end, true, true,61		func(node *Node) bool {62			return cb(node.Key(), node.Value())63		},64	)65}6667func (tree *Tree) ReverseIterate(start, end string, cb IterCbFn) bool {68	return tree.node.TraverseInRange(start, end, false, true,69		func(node *Node) bool {70			return cb(node.Key(), node.Value())71		},72	)73}7475func (tree *Tree) IterateByOffset(offset int, count int, cb IterCbFn) bool {76	return tree.node.TraverseByOffset(offset, count, true, true,77		func(node *Node) bool {78			return cb(node.Key(), node.Value())79		},80	)81}8283func (tree *Tree) ReverseIterateByOffset(offset int, count int, cb IterCbFn) bool {84	return tree.node.TraverseByOffset(offset, count, false, true,85		func(node *Node) bool {86			return cb(node.Key(), node.Value())87		},88	)89}9091var _ ITree = (*Tree)(nil)92

Functions

not supported for pure packages by the node (vm/qfuncs)

Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.