endeavor
v2.3.0
Published
A Node package written in TypeScript that consumes the new Anilist API
Downloads
7
Readme
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 = queryAnilist({ query, variables }).then(console.log);
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 queryAnilist({ query, variables });
console.log(result);
};
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.