okami.mom/albedo
git clone https://git.nkp.pet/okami.mom/albedo
155c8e8
main
1// Package daemon adapts protocol resources and streams for the native client. 2package daemon 3 4// Walk pages without hiding endpoint-specific validation or accumulation. 5func walkPages [Page any ](fetch func (* string ) (Page ,* string ,error ),consume func (Page )error ,cursorField string )error { 6var cursor * string 7seen := map [string ]bool {} 8for { 9page ,next ,err := fetch (cursor ) 10if err != nil { 11return err 12 } 13if err := consume (page );err != nil { 14return err 15 } 16if next == nil { 17return nil 18 } 19if seen [* next ] { 20return fieldError (cursorField ) 21 } 22seen [* next ]= true 23cursor = next 24 } 25}