2.2.2 • Published 2 months ago

stratz.js v2.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

stratz.js

About

A Minimalistic Node.js STRATZ REST API Wrapper.

  • Covers 100% of the 36 STRATZ REST API endpoints.
  • 0 dependencies.
  • Promise-based.
  • Fully documented and tested.
  • Strong type system.

Features

  • A Variety of Game Data Depending on Different Game Versions, Incuding:
    • Heroes
    • Abilities
    • Items
    • Game Versions
  • Player and Match Data by Steam ID.

  • eSports Leagues Data, Including:

    • Tournaments
    • Players
    • Matches
  • Query Search
  • Utility Methods
  • Descriptive Type System

Installation

Node.js 18 or newer is required.

Install it locally in your project folder:

npm install stratz.js
# Or Yarn
yarn add stratz.js
# Or pnpm
pnpm add stratz.js

Example

Firstly, create an instance of the main class:
Note: This requires an API key. You can get yours for free at STRATZ website.

const { Stratz } = require('stratz.js');
// this library supports both CJS and ESM modules:
// import { Stratz } from 'stratz.js';

const apiToken = 'YOUR_API_TOKEN';

const stratz = new Stratz(apiToken);

All methods will return a promise. Be sure to handle them accordingly, for example:

// Use "then" syntax
stratz.getPlayer(282424658)
    .then((result) => {
        console.log(result);
    })
    .catch((error) => {
        console.error('Error:', error);
    });

// Use acync/await syntax
async function printPlayerInfo() {
    const result = await stratz.getPlayer(282424658);
    console.log(result);
}

// Will return:
// {
//   identity: {
//     name: 'Voodoo Daddy',
//     feedLevel: 0,
//     emailLevel: 0,
//     ...
//     behaviorScore: 10000,
//     steamAccountId: 282424658,
//     isFollowed: false
//     }
// }

// Handling queryParameters
stratz.getPlayerSummary(282424658, { gameMode: 2 }) // in a form of an object
.then((result) => {
    console.log(result);
})
.catch((err) => {
    console.log(err);;
});

// Handling errors. All errors will match the HttpExceptionBody type
try {
  const data = await api.getPlayer(121212);
  console.log(data);
} catch (error) {
  const e = error as HttpExceptionBody;
  console.log(e);
}
// {
//   isError: true,
//   status: 204,
//   message: 'No Content',
//   description: 'The request was processed but no content was found with given parameters'
// }

Development

First of all, clone the repository and install dev-dependencies with npm install (or pnpm install or yarn install). To run tests, you will need an API key:

# copy and edit the .env file
cp .env.example .env
nano .env

# launch tests
npm run test

Building

You can create a production version of the library with the following command.

Note: This will also create a new documentation file.

npm run build:docs

In case if you want only to either compile or make the documentation file:

# for documentation
npm run docs

# for compilation
npm run build

License

MIT

This project is not affiliated with STRARZ in any way.

2.2.2

2 months ago

2.2.1

2 months ago

2.2.0

2 months ago

2.1.0

9 months ago

2.0.0

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago