myanimelist-wrapper
Version:
A comprehensive TypeScript wrapper for the Jikan API v4 (unofficial MyAnimeList API)
145 lines • 4.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UsersEndpoint = void 0;
class UsersEndpoint {
constructor(client) {
this.client = client;
}
/**
* Get user by username
* @param username Username
* @returns Promise with user data
*/
async getByUsername(username) {
return this.client.request(`/users/${username}`);
}
/**
* Get user profile
* @param username Username
* @returns Promise with user profile data
*/
async getProfile(username) {
return this.client.request(`/users/${username}/full`);
}
/**
* Get user statistics
* @param username Username
* @returns Promise with user statistics data
*/
async getStatistics(username) {
return this.client.request(`/users/${username}/statistics`);
}
/**
* Get user favorites
* @param username Username
* @returns Promise with user favorites data
*/
async getFavorites(username) {
return this.client.request(`/users/${username}/favorites`);
}
/**
* Get user updates
* @param username Username
* @returns Promise with user updates data
*/
async getUpdates(username) {
return this.client.request(`/users/${username}/userupdates`);
}
/**
* Get user about
* @param username Username
* @returns Promise with user about data
*/
async getAbout(username) {
return this.client.request(`/users/${username}/about`);
}
/**
* Get user history
* @param username Username
* @param type History type (anime, manga, all)
* @returns Promise with user history data
*/
async getHistory(username, type) {
return this.client.request(`/users/${username}/history`, { type });
}
/**
* Get user friends
* @param username Username
* @param page Page number
* @param limit Results per page
* @returns Promise with user friends data
*/
async getFriends(username, page, limit) {
return this.client.request(`/users/${username}/friends`, {
page,
limit,
});
}
/**
* Get user reviews
* @param username Username
* @param page Page number
* @param limit Results per page
* @returns Promise with user reviews data
*/
async getReviews(username, page, limit) {
return this.client.request(`/users/${username}/reviews`, {
page,
limit,
});
}
/**
* Get user recommendations
* @param username Username
* @param page Page number
* @param limit Results per page
* @returns Promise with user recommendations data
*/
async getRecommendations(username, page, limit) {
return this.client.request(`/users/${username}/recommendations`, {
page,
limit,
});
}
/**
* Get user clubs
* @param username Username
* @param page Page number
* @param limit Results per page
* @returns Promise with user clubs data
*/
async getClubs(username, page, limit) {
return this.client.request(`/users/${username}/clubs`, {
page,
limit,
});
}
/**
* Get user anime list
* @param username Username
* @param params Query parameters
* @returns Promise with user anime list data
*/
async getAnimeList(username, params) {
return this.client.request(`/users/${username}/animelist`, params);
}
/**
* Get user manga list
* @param username Username
* @param params Query parameters
* @returns Promise with user manga list data
*/
async getMangaList(username, params) {
return this.client.request(`/users/${username}/mangalist`, params);
}
/**
* Search for users
* @param params Search parameters
* @returns Promise with user search results
*/
async search(params) {
return this.client.request("/users", params);
}
}
exports.UsersEndpoint = UsersEndpoint;
//# sourceMappingURL=users.js.map