1package pager23import (4 "gno.land/p/nt/bptree/v0"5 "gno.land/p/nt/seqid/v0"6 "gno.land/p/nt/ufmt/v0"7)89func ExamplePager() {10 // Create a new tree and populate it with some key-value pairs.11 var id seqid.ID12 tree := bptree.NewBPTree32()13 for i := 0; i < 42; i++ {14 tree.Set(id.Next().String(), i)15 }1617 // Create a new pager.18 pager1 := NewPager(tree, 7, false)1920 for pn := -1; pn < 8; pn++ {21 page := pager1.GetPage(pn)2223 println(ufmt.Sprintf("## Page %d of %d", page.PageNumber, page.TotalPages))24 for idx, item := range page.Items {25 println(ufmt.Sprintf("- idx=%d key=%s value=%d", idx, item.Key, item.Value))26 }27 println(page.Picker("/"))28 println()29 }3031 // Output:32 // ## Page 0 of 633 // _0_ | [1](?page=1) | [2](?page=2) | … | [6](?page=6)34 //35 // ## Page 0 of 636 // _0_ | [1](?page=1) | [2](?page=2) | … | [6](?page=6)37 //38 // ## Page 1 of 639 // - idx=0 key=0000001 value=040 // - idx=1 key=0000002 value=141 // - idx=2 key=0000003 value=242 // - idx=3 key=0000004 value=343 // - idx=4 key=0000005 value=444 // - idx=5 key=0000006 value=545 // - idx=6 key=0000007 value=646 // **1** | [2](?page=2) | [3](?page=3) | … | [6](?page=6)47 //48 // ## Page 2 of 649 // - idx=0 key=0000008 value=750 // - idx=1 key=0000009 value=851 // - idx=2 key=000000a value=952 // - idx=3 key=000000b value=1053 // - idx=4 key=000000c value=1154 // - idx=5 key=000000d value=1255 // - idx=6 key=000000e value=1356 // [1](?page=1) | **2** | [3](?page=3) | [4](?page=4) | … | [6](?page=6)57 //58 // ## Page 3 of 659 // - idx=0 key=000000f value=1460 // - idx=1 key=000000g value=1561 // - idx=2 key=000000h value=1662 // - idx=3 key=000000j value=1763 // - idx=4 key=000000k value=1864 // - idx=5 key=000000m value=1965 // - idx=6 key=000000n value=2066 // [1](?page=1) | [2](?page=2) | **3** | [4](?page=4) | [5](?page=5) | [6](?page=6)67 //68 // ## Page 4 of 669 // - idx=0 key=000000p value=2170 // - idx=1 key=000000q value=2271 // - idx=2 key=000000r value=2372 // - idx=3 key=000000s value=2473 // - idx=4 key=000000t value=2574 // - idx=5 key=000000v value=2675 // - idx=6 key=000000w value=2776 // [1](?page=1) | [2](?page=2) | [3](?page=3) | **4** | [5](?page=5) | [6](?page=6)77 //78 // ## Page 5 of 679 // - idx=0 key=000000x value=2880 // - idx=1 key=000000y value=2981 // - idx=2 key=000000z value=3082 // - idx=3 key=0000010 value=3183 // - idx=4 key=0000011 value=3284 // - idx=5 key=0000012 value=3385 // - idx=6 key=0000013 value=3486 // [1](?page=1) | … | [3](?page=3) | [4](?page=4) | **5** | [6](?page=6)87 //88 // ## Page 6 of 689 // - idx=0 key=0000014 value=3590 // - idx=1 key=0000015 value=3691 // - idx=2 key=0000016 value=3792 // - idx=3 key=0000017 value=3893 // - idx=4 key=0000018 value=3994 // - idx=5 key=0000019 value=4095 // - idx=6 key=000001a value=4196 // [1](?page=1) | … | [4](?page=4) | [5](?page=5) | **6**97 //98 // ## Page 7 of 699 // [1](?page=1) | … | [5](?page=5) | [6](?page=6) | _7_100}101Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.