Skip to content

A Node package written in TypeScript that consumes the new Anilist API

License

Notifications You must be signed in to change notification settings

Fazendaaa/endeavor

Repository files navigation

endeavor




Say Thanks!

English README Portuguese README

Build Status codecov Codacy Badge npm Dependencies Known Vulnerabilities Maintainability

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.

About

A Node package written in TypeScript that consumes the new Anilist API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •