UNPKG

@rapidthenerd/ergast-ts

Version:

Node wrapper for Ergast API

430 lines (429 loc) 22.7 kB
"use strict"; 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 (g && (g = 0, op[0] && (_ = 0)), _) 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 }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var ergastNode_1 = require("./ergastNode"); function testSeasons(ergast) { return __awaiter(this, void 0, void 0, function () { var season, seasonDataForYear, _i, seasonDataForYear_1, seasonDatum, seasonDataForCurrentYear, _a, seasonDataForCurrentYear_1, seasonDatum; return __generator(this, function (_b) { switch (_b.label) { case 0: season = ergast.seasons; return [4 /*yield*/, season.getForYear(2020)]; case 1: seasonDataForYear = _b.sent(); for (_i = 0, seasonDataForYear_1 = seasonDataForYear; _i < seasonDataForYear_1.length; _i++) { seasonDatum = seasonDataForYear_1[_i]; console.log(seasonDatum.season); console.log(seasonDatum.round); console.log(seasonDatum.wikiUrl); console.log(seasonDatum.raceName); console.log(seasonDatum.circuit.name); console.log(seasonDatum.circuit.id); console.log(seasonDatum.circuit.lat); console.log(seasonDatum.circuit.long); console.log(seasonDatum.circuit.local); console.log(seasonDatum.circuit.country); console.log(seasonDatum.circuit.wikiUrl); console.log(seasonDatum.date); console.log(seasonDatum.time); console.log(seasonDatum.firstPractice); console.log(seasonDatum.secondPractice); console.log(seasonDatum.thirdPractice); console.log(seasonDatum.qualifying); } return [4 /*yield*/, season.getForCurrentYear()]; case 2: seasonDataForCurrentYear = _b.sent(); for (_a = 0, seasonDataForCurrentYear_1 = seasonDataForCurrentYear; _a < seasonDataForCurrentYear_1.length; _a++) { seasonDatum = seasonDataForCurrentYear_1[_a]; console.log(seasonDatum.season); console.log(seasonDatum.round); console.log(seasonDatum.wikiUrl); console.log(seasonDatum.raceName); console.log(seasonDatum.circuit.name); console.log(seasonDatum.circuit.id); console.log(seasonDatum.circuit.lat); console.log(seasonDatum.circuit.long); console.log(seasonDatum.circuit.local); console.log(seasonDatum.circuit.country); console.log(seasonDatum.circuit.wikiUrl); console.log(seasonDatum.date); console.log(seasonDatum.time); console.log(seasonDatum.firstPractice); console.log(seasonDatum.secondPractice); console.log(seasonDatum.thirdPractice); console.log(seasonDatum.qualifying); } return [2 /*return*/]; } }); }); } function testDriver(ergast) { return __awaiter(this, void 0, void 0, function () { var driver, driverByNumber, driverByName; return __generator(this, function (_a) { switch (_a.label) { case 0: driver = ergast.driver; return [4 /*yield*/, driver.getByDriverNumber(33)]; case 1: driverByNumber = _a.sent(); console.log(driverByNumber.name); console.log(driverByNumber.permNumber); console.log(driverByNumber.totalRaces); console.log(driverByNumber.totalPodiums); console.log(driverByNumber.totalWins); console.log(driverByNumber.totalPodiums); console.log(driverByNumber.nationality); console.log(driverByNumber.wikiUrl); console.log(driverByNumber.dateOfBirth); return [4 /*yield*/, driver.getByLastName('Hamilton')]; case 2: driverByName = _a.sent(); console.log(driverByName.name); console.log(driverByName.permNumber); console.log(driverByName.totalRaces); console.log(driverByName.totalPodiums); console.log(driverByName.totalWins); console.log(driverByName.totalPodiums); console.log(driverByName.nationality); console.log(driverByName.wikiUrl); console.log(driverByName.dateOfBirth); return [2 /*return*/]; } }); }); } function testStandings(ergast) { return __awaiter(this, void 0, void 0, function () { var standings, standingsByYear, _i, standingsByYear_1, standingDatum, standingsCurrentYear, _a, standingsCurrentYear_1, standingDatum; return __generator(this, function (_b) { switch (_b.label) { case 0: standings = ergast.standings; return [4 /*yield*/, standings.getForYear(2020)]; case 1: standingsByYear = _b.sent(); for (_i = 0, standingsByYear_1 = standingsByYear; _i < standingsByYear_1.length; _i++) { standingDatum = standingsByYear_1[_i]; console.log(standingDatum.year); console.log(standingDatum.position); console.log(standingDatum.points); console.log(standingDatum.wins); console.log(standingDatum.driver.driverId); console.log(standingDatum.driver.permanentNumber); console.log(standingDatum.driver.code); console.log(standingDatum.driver.wikiUrl); console.log(standingDatum.driver.givenName); console.log(standingDatum.driver.familyName); console.log(standingDatum.driver.dateOfBirth); console.log(standingDatum.driver.nationality); console.log(standingDatum.constructor.id); console.log(standingDatum.constructor.wikiUrl); console.log(standingDatum.constructor.name); console.log(standingDatum.constructor.nationality); } return [4 /*yield*/, standings.getForCurrentYear()]; case 2: standingsCurrentYear = _b.sent(); for (_a = 0, standingsCurrentYear_1 = standingsCurrentYear; _a < standingsCurrentYear_1.length; _a++) { standingDatum = standingsCurrentYear_1[_a]; console.log(standingDatum.year); console.log(standingDatum.position); console.log(standingDatum.points); console.log(standingDatum.wins); console.log(standingDatum.driver.driverId); console.log(standingDatum.driver.permanentNumber); console.log(standingDatum.driver.code); console.log(standingDatum.driver.wikiUrl); console.log(standingDatum.driver.givenName); console.log(standingDatum.driver.familyName); console.log(standingDatum.driver.dateOfBirth); console.log(standingDatum.driver.nationality); console.log(standingDatum.constructor.id); console.log(standingDatum.constructor.wikiUrl); console.log(standingDatum.constructor.name); console.log(standingDatum.constructor.nationality); } return [2 /*return*/]; } }); }); } function testCircuits(ergast) { return __awaiter(this, void 0, void 0, function () { var circuit, circuitForCurrentYear, circuitForYear; return __generator(this, function (_a) { switch (_a.label) { case 0: circuit = ergast.circuit; return [4 /*yield*/, circuit.getForCurrentYear(1)]; case 1: circuitForCurrentYear = _a.sent(); console.log(circuitForCurrentYear.season); console.log(circuitForCurrentYear.round); console.log(circuitForCurrentYear.name); console.log(circuitForCurrentYear.wikiUrl); console.log(circuitForCurrentYear.id); console.log(circuitForCurrentYear.lat); console.log(circuitForCurrentYear.long); console.log(circuitForCurrentYear.local); console.log(circuitForCurrentYear.country); return [4 /*yield*/, circuit.getFor(2000, 4)]; case 2: circuitForYear = _a.sent(); console.log(circuitForYear.season); console.log(circuitForYear.round); console.log(circuitForYear.name); console.log(circuitForYear.wikiUrl); console.log(circuitForYear.id); console.log(circuitForYear.lat); console.log(circuitForYear.long); console.log(circuitForYear.local); console.log(circuitForYear.country); return [2 /*return*/]; } }); }); } function testConstructors(ergast) { return __awaiter(this, void 0, void 0, function () { var constructors, constructorForTeam; return __generator(this, function (_a) { switch (_a.label) { case 0: constructors = ergast.constructors; return [4 /*yield*/, constructors.getForTeam('red_bull')]; case 1: constructorForTeam = _a.sent(); console.log(constructorForTeam.id); console.log(constructorForTeam.wikiUrl); console.log(constructorForTeam.name); console.log(constructorForTeam.nationality); return [2 /*return*/]; } }); }); } function testFinishing(ergast) { return __awaiter(this, void 0, void 0, function () { var finishing, finishingForYear, _i, finishingForYear_1, finishingStatusDatum, finishingForCurrent, _a, finishingForCurrent_1, finishingStatusDatum; return __generator(this, function (_b) { switch (_b.label) { case 0: finishing = ergast.finishingStatus; return [4 /*yield*/, finishing.getFor(2000, 3)]; case 1: finishingForYear = _b.sent(); for (_i = 0, finishingForYear_1 = finishingForYear; _i < finishingForYear_1.length; _i++) { finishingStatusDatum = finishingForYear_1[_i]; console.log(finishingStatusDatum.season); console.log(finishingStatusDatum.round); console.log(finishingStatusDatum.status); console.log(finishingStatusDatum.count); console.log(finishingStatusDatum.status); } return [4 /*yield*/, finishing.getForCurrentYear(1)]; case 2: finishingForCurrent = _b.sent(); for (_a = 0, finishingForCurrent_1 = finishingForCurrent; _a < finishingForCurrent_1.length; _a++) { finishingStatusDatum = finishingForCurrent_1[_a]; console.log(finishingStatusDatum.season); console.log(finishingStatusDatum.round); console.log(finishingStatusDatum.status); console.log(finishingStatusDatum.count); console.log(finishingStatusDatum.status); } return [2 /*return*/]; } }); }); } function testLaps(ergast) { return __awaiter(this, void 0, void 0, function () { var laps, lapsFor, _i, _a, timing; return __generator(this, function (_b) { switch (_b.label) { case 0: laps = ergast.laps; return [4 /*yield*/, laps.getFor(2000, 3, 2)]; case 1: lapsFor = _b.sent(); console.log(lapsFor.season); console.log(lapsFor.round); console.log(lapsFor.wikiUrl); console.log(lapsFor.raceName); console.log(lapsFor.circuit.lat); console.log(lapsFor.circuit.long); console.log(lapsFor.circuit.season); console.log(lapsFor.circuit.country); console.log(lapsFor.circuit.round); console.log(lapsFor.circuit.id); console.log(lapsFor.circuit.wikiUrl); console.log(lapsFor.circuit.local); console.log(lapsFor.circuit.name); console.log(lapsFor.date); console.log(lapsFor.time); console.log(lapsFor.number); for (_i = 0, _a = lapsFor.timings; _i < _a.length; _i++) { timing = _a[_i]; console.log(timing.time); console.log(timing.position); console.log(timing.driverId); } return [2 /*return*/]; } }); }); } function testPitStops(ergast) { return __awaiter(this, void 0, void 0, function () { var pitStops, pitStopsForYear, pitStopsForCurrentYear; return __generator(this, function (_a) { switch (_a.label) { case 0: pitStops = ergast.pitStops; return [4 /*yield*/, pitStops.getFor(2014, 4, 1)]; case 1: pitStopsForYear = _a.sent(); console.log(pitStopsForYear.stop); console.log(pitStopsForYear.season); console.log(pitStopsForYear.circuit.name); console.log(pitStopsForYear.circuit.lat); console.log(pitStopsForYear.circuit.long); console.log(pitStopsForYear.circuit.local); console.log(pitStopsForYear.circuit.country); console.log(pitStopsForYear.circuit.id); console.log(pitStopsForYear.circuit.wikiUrl); console.log(pitStopsForYear.circuit.round); return [4 /*yield*/, pitStops.getForCurrentYear(2, 3)]; case 2: pitStopsForCurrentYear = _a.sent(); console.log(pitStopsForCurrentYear.stop); console.log(pitStopsForCurrentYear.season); console.log(pitStopsForCurrentYear.circuit.name); console.log(pitStopsForCurrentYear.circuit.lat); console.log(pitStopsForCurrentYear.circuit.long); console.log(pitStopsForCurrentYear.circuit.local); console.log(pitStopsForCurrentYear.circuit.country); console.log(pitStopsForCurrentYear.circuit.id); console.log(pitStopsForCurrentYear.circuit.wikiUrl); console.log(pitStopsForCurrentYear.circuit.round); return [2 /*return*/]; } }); }); } function testQualifying(ergast) { return __awaiter(this, void 0, void 0, function () { var qualifying, qualifyingForYear, _i, _a, qualifyingEntry; return __generator(this, function (_b) { switch (_b.label) { case 0: qualifying = ergast.qualifying; return [4 /*yield*/, qualifying.getFor(2022, 2)]; case 1: qualifyingForYear = _b.sent(); console.log(qualifyingForYear.season); console.log(qualifyingForYear.round); console.log(qualifyingForYear.wikiUrl); console.log(qualifyingForYear.circuit.name); console.log(qualifyingForYear.circuit.lat); console.log(qualifyingForYear.circuit.long); console.log(qualifyingForYear.circuit.local); console.log(qualifyingForYear.circuit.country); console.log(qualifyingForYear.circuit.id); console.log(qualifyingForYear.circuit.wikiUrl); console.log(qualifyingForYear.circuit.round); console.log(qualifyingForYear.date.toString()); console.log(qualifyingForYear.time); for (_i = 0, _a = qualifyingForYear.qualifyingEntries; _i < _a.length; _i++) { qualifyingEntry = _a[_i]; console.log(qualifyingEntry.number); console.log(qualifyingEntry.position); console.log(qualifyingEntry.driverId); console.log(qualifyingEntry.permanentNumber); console.log(qualifyingEntry.code); console.log(qualifyingEntry.wikiUrl); console.log(qualifyingEntry.givenName); console.log(qualifyingEntry.familyName); console.log(qualifyingEntry.dateOfBirth.toString()); console.log(qualifyingEntry.nationality); console.log(qualifyingEntry.constructor.id); console.log(qualifyingEntry.constructor.wikiUrl); console.log(qualifyingEntry.constructor.name); console.log(qualifyingEntry.constructor.nationality); console.log(qualifyingEntry.q1); console.log(qualifyingEntry.q2); console.log(qualifyingEntry.q3); } return [2 /*return*/]; } }); }); } function testAll() { return __awaiter(this, void 0, void 0, function () { var ergast; return __generator(this, function (_a) { switch (_a.label) { case 0: ergast = new ergastNode_1.ErgastNode(); // await testSeasons(ergast); // await testDriver(ergast); // await testStandings(ergast); // await testCircuits(ergast); // await testConstructors(ergast); // await testLaps(ergast); return [4 /*yield*/, testPitStops(ergast)]; case 1: // await testSeasons(ergast); // await testDriver(ergast); // await testStandings(ergast); // await testCircuits(ergast); // await testConstructors(ergast); // await testLaps(ergast); _a.sent(); return [2 /*return*/]; } }); }); } testAll().then(function (r) { return console.log('All tests completed.'); });