Описание взаимодействия модулей
Для получения данных создаётся объект Connection
class Connection { constructor(name) { playerName=name; handler= new Handler(); } init() { this.getPlayerInfo(); this.showPlayers(); } request() { // http request by url } getPlayerInfo() { // make requests and send data to handlers this.handler.set(await this.request()); } showPlayers() { // display players info } }
Он подключается по базовым ссылкам с параметрами имени и фамилии игрока.
Получает данные и передаёт результат Handler
class Handler { constructor(name, data) { playerName=name; responseData = data; player= new Player(); } init() { this.parse(); this.setPlayer(); } parse() { // processing and parse responseData } setPlayer() { // set parsed data to player } }
Класс Player содержит базовую информацию по игроку
Можно изменить и получить поля
class Player { constructor(names) { if (this.schema(names)) { const {firstName, lastName} = names; this.name = firstName; this.surname = lastName; } else { this.name = ''; this.surname = ''; } this.born = null; this.height = 0; this.weight = 0; this.shot = ''; this.position = ''; } // setters and getters schema(names) { // validate player name } }