osu-api-extended
Version:
Advanced osu! api wrapper cover all V2 and V1 endpoints, and provide useful tools
26 lines (25 loc) • 1.08 kB
TypeScript
import { beatmap_category, beatmap_sorting, beatmap_statuses, Modes_names, beatmap_genres, beatmap_languages, beatmap_ranks, beatmap_extra, IDefaultParams, IError } from "../../types";
import { SearchBeatmaps, SearchWiki } from '../../types/v2/search_all';
type params = ({
type: 'site';
location?: 'all' | 'user' | 'wiki_page';
query?: string;
page?: number;
} | {
_played?: boolean;
_nsfw?: boolean;
type: 'beatmaps';
query?: string;
mode?: Modes_names | number;
status?: beatmap_statuses;
category?: (beatmap_category)[];
genre?: beatmap_genres | number;
language?: beatmap_languages | number;
achieved_rank?: (beatmap_ranks)[];
extra?: (beatmap_extra)[];
sort?: beatmap_sorting;
cursor_string?: string;
});
type Response<T extends params['type']> = T extends 'site' ? SearchWiki & IError : T extends 'beatmaps' ? SearchBeatmaps & IError : IError;
export declare const search_all: <T extends params>(params: T, addons?: IDefaultParams) => Promise<Response<T["type"]>>;
export {};