UNPKG

@isaac-platform/isaac-integration-sdk

Version:

A Typescript SDK for integrating with ISAAC

44 lines (43 loc) 2.21 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import isaacConnection from "../controller/isaac.js"; export class Player { constructor() { /** * Retrieves latest default state from ISAAC and updates internal defaultState. * @param systemId - (optional) override the query with * @returns DefaultState */ this.getDefaultState = (systemId) => __awaiter(this, void 0, void 0, function* () { const response = yield isaacConnection.getRequest(`players/${systemId || isaacConnection.subsystemID}/defaultState`); this.defaultState = response; return this.defaultState; }); /** * Updates player's default state in ISAAC. * @param defaultState - the new default state configuration * @param systemId - (optional) override the query with * @returns DefaultState - The new default state */ this.postDefaultState = (defaultState, systemId) => __awaiter(this, void 0, void 0, function* () { const response = yield isaacConnection.putRequest(`players/${systemId || isaacConnection.subsystemID}/defaultState`, defaultState); this.defaultState = response; return this.defaultState; }); this.getSingleInstance = () => { if (Player.instance === null) { Player.instance = new Player(); Player.instance.externalId = isaacConnection.subsystemID; } return Player.instance; }; } } Player.instance = null;