osu-api-extended
Version:
Advanced osu! api wrapper cover all V2 and V1 endpoints, and provide useful tools
46 lines (45 loc) • 2.54 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.rooms_list = void 0;
const auth_1 = require("../../utility/auth");
const handleErrors_1 = require("../../utility/handleErrors");
const request_1 = require("../../utility/request");
const rooms_list = (params, addons) => __awaiter(void 0, void 0, void 0, function* () {
if (auth_1.credentials.type != 'lazer' && auth_1.credentials.type != 'cli') {
return (0, handleErrors_1.handleErrors)(new Error(`Login via lazer or cli to use this endpoint`));
}
;
if (addons == null)
addons = { apiVersion: '99999999' };
let data = yield (0, request_1.request)(`https://osu.ppy.sh/api/v2/rooms`, {
method: 'GET',
params: {
type_group: params === null || params === void 0 ? void 0 : params.type,
mode: params === null || params === void 0 ? void 0 : params.status,
sort: params === null || params === void 0 ? void 0 : params.sort,
limit: params === null || params === void 0 ? void 0 : params.limit,
cursor_string: params === null || params === void 0 ? void 0 : params.cursor_string,
},
addons,
});
if (data.error)
return (0, handleErrors_1.handleErrors)(new Error(data.error));
if ((params === null || params === void 0 ? void 0 : params.query) && !('error' in data)) {
if (data.rooms)
data.rooms = data.rooms.filter((r) => r.name.toLowerCase().includes(params === null || params === void 0 ? void 0 : params.query.trim().toLowerCase()));
else
data = data.filter((r) => r.name.toLowerCase().includes(params === null || params === void 0 ? void 0 : params.query.trim().toLowerCase()));
}
;
return data;
});
exports.rooms_list = rooms_list;
;