2016-03-08 14:23:31 +08:00
|
|
|
exports.isSteamID = function(input) {
|
|
|
|
var keys = Object.keys(input);
|
|
|
|
if (keys.length != 4) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Make sure it has the keys we expect
|
|
|
|
keys = keys.filter(function(item) {
|
|
|
|
return ['universe', 'type', 'instance', 'accountid'].indexOf(item) != -1;
|
|
|
|
});
|
|
|
|
|
|
|
|
return keys.length == 4;
|
|
|
|
};
|
2016-07-10 13:02:36 +08:00
|
|
|
|
|
|
|
exports.decodeSteamTime = function(time) {
|
2017-02-02 02:30:38 +08:00
|
|
|
var date = new Date();
|
|
|
|
|
|
|
|
if (time.includes("@")) {
|
|
|
|
var parts = time.split('@');
|
|
|
|
if (!parts[0].includes(",")) {
|
|
|
|
// no year, assume current year
|
|
|
|
parts[0] += ", " + date.getFullYear();
|
|
|
|
}
|
|
|
|
|
|
|
|
date = new Date(parts.join('@').replace(/(am|pm)/, ' $1') + " UTC"); // add a space so JS can decode it
|
|
|
|
} else {
|
|
|
|
// Relative date
|
|
|
|
var amount = time.replace(/(\d) (minutes|hour|hours) ago/, "$1");
|
|
|
|
|
|
|
|
if(time.includes("minutes")) {
|
|
|
|
date.setMinutes(date.getMinutes() - amount);
|
|
|
|
} else if(time.match(/hour|hours/)) {
|
|
|
|
date.setHours(date.getHours() - amount);
|
|
|
|
}
|
2016-07-10 13:02:36 +08:00
|
|
|
}
|
|
|
|
|
2017-02-02 02:30:38 +08:00
|
|
|
return date;
|
2016-07-10 13:02:36 +08:00
|
|
|
};
|