1package main23import (4 "gno.land/p/nt/avl/pager/v0"5 "gno.land/p/nt/avl/v0"6 "gno.land/p/nt/seqid/v0"7 "gno.land/p/nt/ufmt/v0"8)910func main() {11 // Create a new AVL tree and populate it with some key-value pairs.12 var id seqid.ID13 tree := avl.NewTree()14 for i := 0; i < 42; i++ {15 tree.Set(id.Next().String(), i)16 }1718 // Create a new pager.19 pager := pager.NewPager(tree, 7, false)2021 for pn := -1; pn < 8; pn++ {22 page := pager.GetPage(pn)2324 println(ufmt.Sprintf("## Page %d of %d", page.PageNumber, page.TotalPages))25 for idx, item := range page.Items {26 println(ufmt.Sprintf("- idx=%d key=%s value=%d", idx, item.Key, item.Value))27 }28 println(page.Picker("/"))29 println()30 }31}3233// Output:34// ## Page 0 of 635// _0_ | [1](?page=1) | [2](?page=2) | … | [6](?page=6)36//37// ## Page 0 of 638// _0_ | [1](?page=1) | [2](?page=2) | … | [6](?page=6)39//40// ## Page 1 of 641// - idx=0 key=0000001 value=042// - idx=1 key=0000002 value=143// - idx=2 key=0000003 value=244// - idx=3 key=0000004 value=345// - idx=4 key=0000005 value=446// - idx=5 key=0000006 value=547// - idx=6 key=0000007 value=648// **1** | [2](?page=2) | [3](?page=3) | … | [6](?page=6)49//50// ## Page 2 of 651// - idx=0 key=0000008 value=752// - idx=1 key=0000009 value=853// - idx=2 key=000000a value=954// - idx=3 key=000000b value=1055// - idx=4 key=000000c value=1156// - idx=5 key=000000d value=1257// - idx=6 key=000000e value=1358// [1](?page=1) | **2** | [3](?page=3) | [4](?page=4) | … | [6](?page=6)59//60// ## Page 3 of 661// - idx=0 key=000000f value=1462// - idx=1 key=000000g value=1563// - idx=2 key=000000h value=1664// - idx=3 key=000000j value=1765// - idx=4 key=000000k value=1866// - idx=5 key=000000m value=1967// - idx=6 key=000000n value=2068// [1](?page=1) | [2](?page=2) | **3** | [4](?page=4) | [5](?page=5) | [6](?page=6)69//70// ## Page 4 of 671// - idx=0 key=000000p value=2172// - idx=1 key=000000q value=2273// - idx=2 key=000000r value=2374// - idx=3 key=000000s value=2475// - idx=4 key=000000t value=2576// - idx=5 key=000000v value=2677// - idx=6 key=000000w value=2778// [1](?page=1) | [2](?page=2) | [3](?page=3) | **4** | [5](?page=5) | [6](?page=6)79//80// ## Page 5 of 681// - idx=0 key=000000x value=2882// - idx=1 key=000000y value=2983// - idx=2 key=000000z value=3084// - idx=3 key=0000010 value=3185// - idx=4 key=0000011 value=3286// - idx=5 key=0000012 value=3387// - idx=6 key=0000013 value=3488// [1](?page=1) | … | [3](?page=3) | [4](?page=4) | **5** | [6](?page=6)89//90// ## Page 6 of 691// - idx=0 key=0000014 value=3592// - idx=1 key=0000015 value=3693// - idx=2 key=0000016 value=3794// - idx=3 key=0000017 value=3895// - idx=4 key=0000018 value=3996// - idx=5 key=0000019 value=4097// - idx=6 key=000001a value=4198// [1](?page=1) | … | [4](?page=4) | [5](?page=5) | **6**99//100// ## Page 7 of 6101// [1](?page=1) | … | [5](?page=5) | [6](?page=6) | _7_102//103Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.