osu-api-extended
Version:
Advanced osu! api wrapper for v1 and v2, with extra stuff
34 lines • 1.38 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const lzma = require('lzma-native');
const osr = require('node-osr');
const name = (data, map, score, id, mods, file) => {
const decode = Buffer.from(data.content, data.encoding);
const replay = new osr.Replay();
replay.replay_data = lzma.decompress(decode);
let hash = '';
if (map)
hash = map.difficulties.find((r) => r.id === id).file_md5;
replay.beatmapMD5 = hash;
replay.playerName = score[0].user.name;
replay.number_300s = score[0].hits[300];
replay.number_100s = score[0].hits[100];
replay.number_50s = score[0].hits[50];
replay.gekis = score[0].hits.geki;
replay.katus = score[0].hits.katu;
replay.misses = score[0].hits[0];
replay.score = score[0].score.total;
replay.max_combo = score[0].combo.max;
replay.perfect_combo = score[0].combo.full;
replay.mods = mods;
replay.timestamp = new Date(score[0].date);
const replayFile = replay.serializeSync();
fs_1.default.writeFileSync(file, replayFile, data.encoding);
return file;
};
exports.default = name;
//# sourceMappingURL=replays.js.map
;