pagination

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2021 License: MIT Imports: 4 Imported by: 0

README

Go Pagination

golang version  go report  go-pagination license

*** This repo is written with learning and experimenting purposes. I am open to suggestions or any kind of help. ***

Installation

go get -u github.com/aliereno/go-pagination

Database integrations:

Framework integrations:

Example

func main() {
	app := fiber.New()

	// paginate simple array
	app.Get("/array", func(c *fiber.Ctx) error {
		return c.JSON(pagination.Paginate(items, pagination.Config{
			Framework: frameworks.Fiber{
				Context: c,
			},
		}))
	})

	// paginate gorm.DB query
	app.Get("/gorm", func(c *fiber.Ctx) error {
		query := gorm.DB.Model(&User{}).Order("id desc")
		return c.JSON(pagination.Paginate(query, pagination.Config{
			Framework: frameworks.Fiber{
				Context: c,
			},
			Datatype: datatype.GORM{},
		}))
	})

	log.Fatal(app.Listen(":3000"))
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConfigDefault = Config{
	PageSize: 50,
	PageType: pages.SimplePage{},
	Datatype: datatype.Array{},
}

ConfigDefault is the default config

Functions

func Paginate

func Paginate(data interface{}, config ...Config) interface{}

Types

type Config

type Config struct {
	// Default: 50
	PageSize int
	// Default: SimplePage
	PageType pages.IPage
	// Default: Array
	Datatype datatype.IDatatype
	// Default: Fiber
	Framework frameworks.IFramework
}

Config defines the config for pagination.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL