isbn.v1 #
Constants #
const names_provider = {
Provider.cbl: 'cbl'
Provider.mercado_editorial: 'mercado-editorial'
Provider.open_library: 'open-library'
Provider.google_books: 'google-books'
}
const uri_isbn = 'https://brasilapi.com.br/api/isbn/v1'
Para referência https://brasilapi.com.br/docs#tag/ISBN/paths/~1isbn~1v1~1{isbn}/get
fn get #
pub fn get(param ParamGet) !ISBN
get Informações sobre o livro a partir do ISBN Caso o provider não seja especificado o padrão é todos os provedores disponíveis.
https://brasilapi.com.br/docs#tag/ISBN/paths/~1isbn~1v1~1%7Bisbn%7D/get
Exemplo de uso:
// get(isbn: '9788532530831', provider: Provider.cbl | .mercado_editorial) { if book := isbn.get(isbn: '9788532530831') { println(book) } else { println(err) }
Caso ocorra algum erro, o retorno será um objeto do tipo IsbnError
fn get_enum_by_name #
pub fn get_enum_by_name(name string) !Provider
enum Provider #
@[flag]
pub enum Provider {
cbl
mercado_editorial
open_library
google_books
}
fn (Provider) get_names_setad #
pub fn (p Provider) get_names_setad() []string
struct Dimension #
pub struct Dimension {
pub:
width f64
height f64
unit string
}
struct ISBN #
pub struct ISBN {
pub:
isbn string
title string
subtitle ?string
authors []string
publisher string
synopsis string
dimensions Dimension
year u32
format string
page_count u32
subjects []string
location string
retail_price ?f32
cover_url ?string
provider Provider
}
struct ISBN_ #
@[noinit]
struct ISBN_ {
pub:
isbn string
title string
subtitle ?string
authors []string
publisher string
synopsis string
dimensions Dimension
year u32
format string
page_count u32
subjects []string
location string
retail_price ?f32
cover_url ?string
provider string
}
struct ParamGet #
@[params]
pub struct ParamGet {
pub:
isbn string @[required]
provider Provider = Provider.google_books | .cbl | .open_library | .mercado_editorial
}