codingame-api-node-ts
Version:
A CodinGame API node, that permits you to access all of the endpoints of this website. Wrote in TypeScript, so you can previsualize how the response will look like by checking the code.
100 lines (99 loc) • 5.26 kB
JavaScript
;
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());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getClashLeaderboard = exports.getGlobalLeaderboard = void 0;
var axios_1 = __importDefault(require("axios"));
var main_1 = require("../main");
/**
* Get the global leaderboard
*
* @param {number} page - Leaderboard's Page
* @param {string} category - Leaderboard's category. Can be GENERAL, CONTESTS, BOT_PROGRAMMING, OPTIM or CODEGOLF
* @param {{active: boolean, column: string, filter: string, keyword: string}} filter - Leaderboard's filter
* @param {string} codinGamerPublicHandle - Public Handle from the CodinGamer
*
*/
var getGlobalLeaderboard = function (page, category, filter, codinGamerPublicHandle) { return __awaiter(void 0, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, axios_1.default({
url: main_1.urls.leaderboards + "getGlobalLeaderboard",
method: "post",
headers: {
"content-type": "application/json;charset=UTF-8"
},
data: [page, category, filter, codinGamerPublicHandle, true, "global"]
})];
case 1:
response = _a.sent();
return [2 /*return*/, response["data"]];
}
});
}); };
exports.getGlobalLeaderboard = getGlobalLeaderboard;
/**
* Get the Clash Of Code Leaderboard
*
* @param {number} page - Leaderboard's page
* @param {{active: boolean, column: string, filter: string, keyword: string}} filter - Leaderboar's filter
* @param {string} codinGamerPublicHandle - Public Handle from the CodinGamer
*
*/
var getClashLeaderboard = function (page, filter, codinGamerPublicHandle) { return __awaiter(void 0, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, axios_1.default({
url: main_1.urls.leaderboards + "getClashLeaderboard",
method: "post",
headers: {
"content-type": "application/json;charset=UTF-8"
},
data: [page, filter, codinGamerPublicHandle, true, "global", null]
})];
case 1:
response = _a.sent();
return [2 /*return*/, response["data"]];
}
});
}); };
exports.getClashLeaderboard = getClashLeaderboard;