JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q43071F
  • License MIT

Get a League of Legends champion from their key.

Package Exports

  • champion

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (champion) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

champion

Get a League of Legends champion from their key.

Build Status Testling Badge

Example

var champion = require('champion');

champion(117);
// => {
// =>   "version": "3.10.3",
// =>   "id": "Lulu",
// =>   "key": "117",
// =>   "name": "Lulu",
// =>   "title": "the Fae Sorceress",
// =>   /* etc, etc. */
// => }

You would probably use this with node-resteemo:

var resteemo = require('resteemo')('string with contact info');

resteemo.player.ingame('na', 'king trick', function(error, response) {
  if (error) throw error;

  var championID = response.data.game.playerChampionSelections.array[0].championId;

  champion(championID);
  // Now you know the champion that 'king trick' is playing.
});

Installation

$ npm install champion

Browserify for the browser or use Component:

$ component install KenanY/champion

API

champion(key)

Look up a champion using a Number key and return an Object containing metadata on the champion. If key does not match that of any champion, null is returned.

The array

Yeah, it's huge, but the current method is better than using fs or http.

If a new champion hasn't been added to the array yet, feel free to open a pull request. In the future, I might move the array to its own module so that others can use it in their modules.

Lessons learned

Originally, this module used fs.createReadStream in order to load a JSON file of champions. This ReadStream was then piped to JSONStream, but this caused problems because of a known issue involving precise numbers (which are used for a champion's health regeneration and such).

Using fs also prevented this module from working in the browser. So, I did a quick refactor and replaced the JSON file with a JavaScript one. This JavaScript file exports the array of champions and as such can be require()d and browserified.