JSPM

@wildrift/champions-api

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

Provides public Wild Rift champion data including skins, abilities, roles, and difficulty.

Package Exports

  • @wildrift/champions-api

Readme

Wild Rift Champions API

A lightweight TypeScript library for fetching League of Legends: Wild Rift champion data directly from Riot’s public web endpoints β€” no API key required.


πŸš€ Features

  • Fetch all champion headers
    • ID, name, image URL
  • Fetch a single champion's full details
    • Role, difficulty
    • Full abilities (name, description, icon, video)
    • Skins (name, image)
    • Intro video
  • Strongly-typed responses via types.d.ts
  • Zero dependencies
  • Works in Node.js and browsers

πŸ“¦ Installation

npm install @wildrift/champions-api

or

yarn add @wildrift/champions-api

πŸ› οΈ Usage

Fetch all champion headers

import { fetchChampionHeaders } from "wildrift-champions-api";

const headers = await fetchChampionHeaders();
console.log(headers);

Fetch full champion details

import { fetchChampionHeaders, fetchChampion } from "wildrift-champions-api";

const headers = await fetchChampionHeaders();
const garen_header = headers.find((champ) => champ.name === "garen");
if (garen_header) {
    const garen = await fetchChampion(garen_header);
    console.log(garen);
}

🧩 Types

See wildrift_api_reference.md or src/types.d.ts for all types.


πŸ›  API

fetchChampionHeaders(): Promise<ChampionHeader[]>

Fetch all champion headers (basic info).

fetchChampion(champion: ChampionHeader): Promise<Champion>

Fetch full champion details from a given header.

All fetch functions throw an Error if a network or parsing error occurs. Use try/catch to handle errors gracefully.


πŸ§ͺ Example

import { fetchChampionHeaders, fetchChampion } from "wildrift-champions-api";

async function printFirstChampion() {
    const headers = await fetchChampionHeaders();
    if (headers.length > 0) {
        const champ = await fetchChampion(headers[0]);
        console.log(champ.name, champ.role, champ.abilities);
    }
}

printFirstChampion();

🧩 TypeScript Types

interface ChampionHeader {
    id: string;
    name: string;
    image_url: string;
}

interface Ability {
    name: string;
    icon_url: string;
    video_url: string;
    description: string;
    ability_type: AbilityType;
}

interface Skin {
    name: string;
    image_url: string;
}

interface Champion extends ChampionHeader {
    role: string;
    skins: Skin[];
    intro_video_url: string;
    difficulty: number;
    abilities: Record<AbilityType, Ability>;
}

🍷 Build

npm run build

Outputs ESM & CJS bundles.


πŸ“œ License

MIT Β© Arman