|  | @@ -1,30 +0,0 @@
 | 
	
		
			
				|  |  | -package helper
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -import (
 | 
	
		
			
				|  |  | -	"github.com/gshopify/service-wrapper/interfaces"
 | 
	
		
			
				|  |  | -	"github.com/gshopify/service-wrapper/model"
 | 
	
		
			
				|  |  | -	"gshopper.com/gshopify/products/graphql/generated"
 | 
	
		
			
				|  |  | -)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -func NewPageInfo[T interfaces.Node](src []T, namespace model.Gid, first T, last T) *generated.PageInfo {
 | 
	
		
			
				|  |  | -	var (
 | 
	
		
			
				|  |  | -		size = len(src)
 | 
	
		
			
				|  |  | -		info = &generated.PageInfo{}
 | 
	
		
			
				|  |  | -	)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	if size == 0 {
 | 
	
		
			
				|  |  | -		return info
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	if c, err := model.NewSimpleCursor(src[0].GetID(), namespace); err == nil {
 | 
	
		
			
				|  |  | -		info.StartCursor = c.String()
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	if c, err := model.NewSimpleCursor(src[size-1].GetID(), namespace); err == nil {
 | 
	
		
			
				|  |  | -		info.EndCursor = c.String()
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	info.HasPreviousPage = first.GetID() != src[0].GetID()
 | 
	
		
			
				|  |  | -	info.HasNextPage = info.StartCursor == info.EndCursor || last.GetID() != src[size-1].GetID()
 | 
	
		
			
				|  |  | -	return info
 | 
	
		
			
				|  |  | -}
 |