Um pacote de node.js escrito em TypeScript(TS) que consome a Anilist API V2, com suporte a GraphQL queries.
Este pacote foi escrito como dependência do AnilistBot para Telegram.
npm install --save endeavor
obs: não há necessidade de instalar @types/endeavor ou algo do tipo, o arquivo de declaração de tipos se encontra linkado no package.json.
Apenas faça o seguinte:
queryAnilist({ query, variables })
- Esperado:
- [String] query: GraphQL query
- [Object] variables?: caso necessário
- Retorna uma Promise:
- [Object] then: dados requistados
- [Object | Error] catch: descrição do erro da query ou o erro da requisição
const query = 'query ($id: Int) {\
Media (id: $id, type: ANIME) {\
id\
title {\
romaji\
english\
native\
}\
}\
}';
const variables = {
id: 15125
};
const result = queryAnilist({ query, variables }).then(console.log);
Isto irá imprimir o seguinte:
data: {
Media: {
id: 15125,
title: {
english: 'Teekyuu',
native: 'てーきゅう',
romaji: 'Teekyuu'
}
}
}
Você pode também ecapsular em uma chamada async:
const callAnilist = async () => {
const result = await queryAnilist({ query, variables });
console.log(result);
};
Desta maneira, console.log imprimirá o mesmo resultado como anteriormente.
Uma maneira mais "avançada" de utilização deste pacote pode ser encontrada no AnilistBot, com o truqe de utilização do webpack junto do webpack-graphql-loader.
Puro e simples TS com os padrões de linter da Microsoft.
Apenas rode:
npm test
Caso ocorra algum erro do Snyk ou algo do tipo, apenas leia a documentação deles de como resolver isso. Caso este seja o problema, rode:
npm run jest
Nenhuma dependência :)
- Suporte a Mutation
- Escrever mais exemplos
Converse comigo através de uma issue.
Como muitos projetos open source, a licensa MIT é utilizada. Leia mais sobre em LICENSE.