/digimon-go

Golang SDK for DAPI, the free Digimon API.

Primary LanguageGoMIT LicenseMIT

digimon-go

A Golang API wrapper for DAPI, a free Digimon API.

Getting Started

Install

go get github.com/stevetoro/digimon-go

Usage

import github.com/stevetoro/digimon-go

func main() {
  c := digimon.NewDigimonClient()
}

Endpoints

digimon-go supports all currently exposed DAPI endpoints and provides a uniform API for each resource.

Digimon
// Grab a single Digimon by Name or ID.
digi, err := c.Digimon.Name("agumon")
digi, err = c.Digimon.ID(289)

// Fetch a page of Digimon results and iterate through it.
page, err := c.Digimon.List()
page, err = page.Next()
page, err = page.Prev()

// Specify query parameters to filter down your Digimon results or jump to a specific page.
params := resources.DigimonQueryParams{
  Name: "greymon",
  Page: 1,
}

page, err = c.Digimon.WithQueryParams(params).List()
Attribute
// Grab a single Attribute by Name or ID.
attr, err := c.Attribute.Name("vaccine")
attr, err = c.Attribute.ID(3)

// Fetch a page of Attribute results and iterate through it.
page, err := c.Attribute.List()
page, err = page.Next()
page, err = page.Prev()

// Specify query parameters to filter down your Attribute results or jump to a specific page.
params := resources.QueryParams{
  Name: "data",
  Page: 1,
}

page, err = c.Attribute.WithQueryParams(params).List()
Field
// Grab a single Field by Name or ID.
field, err := c.Field.Name("nightmare soldiers")
field, err = c.Field.ID(8)

// Fetch a page of Field results and iterate through it.
page, err := c.Field.List()
page, err = page.Next()
page, err = page.Prev()

// Specify query parameters to filter down your Field results or jump to a specific page.
params := resources.QueryParams{
  Name: "night",
  Page: 1,
}

page, err = c.Field.WithQueryParams(params).List()
Level
// Grab a single Level by Name or ID.
level, err := c.Level.Name("armor")
level, err = c.Level.ID(6)

// Fetch a page of Field results and iterate through it.
page, err := c.Level.List()
page, err = page.Next()
page, err = page.Prev()

// Specify query parameters to filter down your Field results or jump to a specific page.
params := resources.QueryParams{
  Name: "baby",
  Page: 1,
}

page, err = c.Level.WithQueryParams(params).List()
Type
// Grab a single Type by Name or ID.
dType, err := c.Type.Name("cyborg")
dType, err = c.Type.ID(1)

// Fetch a page of Type results and iterate through it.
page, err := c.Type.List()
page, err = page.Next()
page, err = page.Prev()

// Specify query parameters to filter down your Type results or jump to a specific page.
params := resources.QueryParams{
  Name: "dragon",
  Page: 1,
}

page, err = c.Type.WithQueryParams(params).List()
Skill
// Grab a single Skill by Name or ID.
skill, err := c.Skill.Name("holy jump")
skill, err = c.Skill.ID(10)

// Fetch a page of Skill results and iterate through it.
page, err := c.Skill.List()
page, err = page.Next()
page, err = page.Prev()

// Specify query parameters to filter down your Skill results or jump to a specific page.
params := resources.QueryParams{
  Name: "holy",
  Page: 1,
}

page, err = c.Skill.WithQueryParams(params).List()