# lol-api-js

### A wrapper framework for fetching data from the Riot Games League of Legends API using typescript.

_Created by Ricardo Bohadana Martins, september 2021._

The lol-api-js package is a wrapper framework for working with data fetched from the Riot Games League of Legends API. It also uses the _datadragon_ static files to provide easy management of game images and icons.

At the moment, the development requeires the following packages, listed in the _package.json_ file:

- chai
- mocha
- axios
- chai
- mocha
- ts-node
- typedoc
- typescript

### Framework features

This package features 3 major javascript/typescript classes:

##### The API class

Consists of a class to setup your project.
You must initialize this class at the start of your project with your Riot Developer API Key and the base path for your local _datadragon_ folder
From version 1.0.1 and forwards, the API class has become the main class for making requests. From this class, you can retrieve a Summoner object and a Match Object.

**Example:**

```javascript
var api = new API("you key here", "datadragon path here");
var summoner = api.getSummoner("summonerName");
// type of summoner = Summoner object
```

##### The Summoner class

Consists of a class to retrieve summoner information after the API class call to the Riot Games League of Legends API.

Example:

```javascript
var api = new API("you key here", "datadragon path here");
var summoner = api.getSummoner("summonerName");
var icon_path = summoner.getProfileIcon();
// type of icon_path = string containing the path to a profile icon
```

##### The Match class

Consists of a class to retrieve match information from the Riot Games League of Legends API.
You need a matchId to fetch for match information, and you can get those matchIds for a given summoner name with a Summoner class object.

Example:

```javascript
var api = new API("you key here", "datadragon path here");
var summoner = api.getSummoner("summonerName");
var match = summoner.getMatch(summoner.matchIds[0]);
// type of match = Match object
```
