0.0.2 • Published 3 years ago

@mattplays/hyperscape-api v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

HyperScape-API

This package is a wrapper for the unofficial HyperScape API

  1. Hyper Scape
    1. Usage
    2. Functions
      1. GetPlayerProfile
        1. Inputs
        2. Output
        3. Usage
    3. Return Types
      1. Profile
        1. platformInfo
        2. userInfo
          1. SocialAccount
        3. Segment
          1. Stat

Hyper Scape

This is an Unoffical API [Unoffical Docs](https://tracker.gg/developers/docs/titles/hyper-scape)

Usage

const {HyperScapeAPI} = require("@mattplays/hyperscape-api");
const API = new HyperScapeAPI("DUMMYAPIKEY");

Functions

GetPlayerProfile

Retrieve career stats for a Hyper Scape player.

Inputs
export type platform = "uplay" | "psn" | "xbl"
ParameterTypeRequiredDescription
platformplatformYesThe platform slug, must be one of 'uplay', 'psn', 'xbl'.
platformIdentifierstringYesThe user's handle on the platform, ie. a Uplay username, PSN ID, Xbox Live gamertag, etc.
Output

The GetPlayerProfile function returns a Promise<Profile> type

Usage
const {HyperScapeAPI} = require("@mattplays/hyperscape-api");
const API = new HyperScapeAPI("DUMMYAPIKEY");
HyperScapeAPI.GetPlayerProfile("uplay", "DUMMY-PLATFORM-IDENTIFIER").then((data) => {
// Your Code Here :D
});

Return Types

Profile

export type Profile = {
    data: {
        platformInfo: platformInfo,
        userInfo: userInfo,
        metadata: {
            lastUpdated: {
                value: string,
                displayValue: string
            }
        },
        segments: Segment[],
        availableSegments: [],
        expiryDate: string,
    }
}
platformInfo
export type platformInfo = {
    platformSlug: string,
    platformUserId: string | null,
    platformUserHandle: string,
    platformUserIdentifier: string,
    avatarUrl: string,
    additionalParameters: string[] | null;
}
userInfo
export type userInfo = {
    userId: number,
    isPremium: boolean,
    isVerified: boolean,
    isInfluencer: boolean,
    isPartner: boolean,
    countryCode: string
    customAvatarUrl: string,
    customHeroUrl: string | null,
    socialAccounts: SocialAccount[],
    pageviews: null,
    isSuspicious: boolean | null;
}
SocialAccount
export type SocialAccount = {
    platformSlug: string,
    platformUserHandle: string,
    platformUserIdentifier: string
}
Segment
export type Segment = {
    type: string,
    attributes: {},
    metadata: {name: string},
    expiryDate: string,
    stats: {
        finalBlows: Stat,
        chestsBroken: Stat,
        assists: Stat,
        damageDone: Stat,
        closeRangeDamageDone: Stat,
        longRangeDamageDone: Stat,
        fullRangeDamageDone: Stat,
        fullFusionDamageDone: Stat,
        fusions: Stat,
        fullFusion: Stat,
        headshotDamage: Stat,
        lastRank: Stat,
        revives: Stat,
        timePlayed: Stat,
        matchesPlayed: Stat,
        crownPickups: Stat,
        crownWins: Stat,
        crownPct: Stat,
        Wins: Stat,
        showdown: Stat,
        squadTop: Stat,
        kdRatio: Stat,
        killsPerGame: Stat,
        killsPerMin: Stat,
        avgTimeAlive: Stat,
        headshotDamageAccuracy: Stat,
        winPercentage: Stat,
        weaponFinalBlows: Stat,
        weaponDamageDone: Stat,
        weaponCloseRangeDamageDone: Stat,
        weaponLongRangeDamageDone: Stat,
        weaponFullFusionDamageDone: Stat,
        weaponFusions: Stat,
        weaponFullFusions: Stat,
        weaponHeadshotDamage: Stat,
        weaponHeadshotDamageAccuracy: Stat,
        hackFinalBlows: Stat,
        hackDamageDone: Stat,
        hackCloseRangeDamageDone: Stat,
        hackLongRangeDamageDone: Stat,
        hackFullFusionDamageDone: Stat,
        hackFusions: Stat,
        hackFullFusions: Stat,
        otherFinalBlows: Stat,
        otherDamageDone: Stat
    }
}
Stat
export type Stat = {
    rank: string | null;
    percentile: number;
    displayName: string;
    displayCategory: string;
    category: string;
    metadata: [];
    value: number;
    displayValue: string;
    displayType: string;
}