osu-api-extended
Version:
Advanced osu! api wrapper cover all V2 and V1 endpoints, and provide useful tools
61 lines (60 loc) • 1.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../../../../tools/index");
const parse = (num, amount) => parseFloat(Number(num).toFixed(amount));
const name = (data) => {
const events = data[0].events.map((d) => {
return {
display: {
html: d.display_html,
pure: d.display_html.replace(/<[^>]*>?/gm, '').trim(),
},
id: {
diff: +d.beatmap_id,
set: +d.beatmapset_id,
},
date: d.date,
epicfactor: +d.epicfactor,
};
});
const info = {
id: +data[0].user_id,
name: data[0].username,
pp: parse(data[0].pp_raw, 2),
acc: parse(data[0].accuracy, 2),
lvl: parse(data[0].level, 2),
join: data[0].join_date,
country: {
flag: `https://osu.ppy.sh/images/flags/${data[0].country}.png`,
short: data[0].country,
full: (0, index_1.country_details)(data[0].country).name || '',
},
play: {
count: +data[0].playcount,
time: +data[0].total_seconds_played,
},
hits: {
300: +data[0].count300,
100: +data[0].count100,
50: +data[0].count50,
},
score: {
total: +data[0].total_score,
ranked: +data[0].ranked_score,
},
rank: {
global: +data[0].pp_rank,
country: +data[0].pp_country_rank,
},
ranks: {
ssh: +data[0].count_rank_ssh,
ss: +data[0].count_rank_ss,
sh: +data[0].count_rank_sh,
s: +data[0].count_rank_s,
a: +data[0].count_rank_a,
},
events,
};
return info;
};
exports.default = name;