You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

85 lines
1.5 KiB

const Client = require('../client/Client'); // eslint-disable-line no-unused-vars
const TMMap = require('../structures/TMMap'); // eslint-disable-line no-unused-vars
/**
* Represents a Track Of The Day (TOTD).
*/
class TOTD {
constructor(client, data){
/**
* The client objet
* @type {Client}
*/
this.client = client;
/**
* The data
* @type {Object}
* @private
*/
this._data = data;
}
/**
* The map
* @returns {Promise<TMMap>}
* @example
* Client.totd.get(date).then(async totd=>{
* const map = await totd.map();
* console.log(map.name);
* })
*/
async map(){
return this.client.maps.get(this._data.map.mapUid);
}
/**
* The campaign ID
* @type {number}
*/
get campaignId(){
return this._data.campaignid;
}
/**
* The week day
* @type {number}
*/
get weekDay(){
return this._data.weekday;
}
/**
* The month day
* @type {number}
*/
get monthDay(){
return this._data.monthday;
}
/**
* The month
* @type {number}
*/
get month(){
return this._data.month;
}
/**
* The year
* @type {number}
*/
get year(){
return this._data.year;
}
/**
* The leaderboard ID
* @type {string}
*/
get leaderboardId(){
return this._data.leaderboarduid;
}
}
module.exports = TOTD;