endeavor
About
A node.js package written in TypeScript(TS) that consumes the Anilist API V2, written to support GraphQL queries.
This package was written as dependency to Telegram's AnilistBot.
Installing it:
npm install --save endeavor
note: no need of installing @types/endeavor or something like it, the declaration typings file is linked in the package.json.
How to use it?
Just use it as the following:
queryAnilist({ query, variables })
- Expect:
- [String] query: GraphQL query
- [Object] variables?: if needed
- Returns a Promise:
- [Object] then: requested data
- [Object | Error] catch: description error on the query or a Node error of the request
Examples
const query = 'query ($id: Int) {\ Media (id: $id, type: ANIME) {\ id\ title {\ romaji\ english\ native\ }\ }\}';const variables = id: 15125;const result = ;
This will print the following:
data: Media: id: 15125 title: english: 'Teekyuu' native: 'てーきゅう' romaji: 'Teekyuu'
You can also use it as an async call encapsulating it as:
const callAnilist = async { const result = await ; console;};
This way, console.log also prints the same as before.
A more "advanced" usage of this package can be found at AnilistBot, with a caveat of a webpack due to webpack-graphql-loader.
Code
Plain and simple TS with the Microsoft linter standards.
Testing it
Just run:
npm test
In case of running into a Snyk warning or something like that, just read their docs in how to solve it. If that is the case, jus run:
npm run jest
Built with
No dependency required :)
TODO
- Mutation support
- Write more examples
Authors
Contributing
Talk to me through an issue.
License
Like many Open-Source Software (OSS) the MIT license is used, more about it in LICENSE.