UNPKG

nodesu

Version:
130 lines (103 loc) 6.17 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: components/UserComponent.js</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Source: components/UserComponent.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>'use strict'; const Component = require('./Component') , ApiConstants = require('../Constants').API , User = require('../struct/User') , UserScore = require('../struct/UserScore'); /** * User-related API component * @memberof module:Components * @example * api.user * .get('4222959') * .then(console.log); */ class UserComponent extends Component { /** * Gets general user information. * @param {String} user The username or id to lookup. * @param {Mode} [mode] The gamemode. * @param {Number} [eventDays] The max number of event days. * @param {LookupType} [lookupType] The lookup type, id/string to lookup the user. * @return {Promise&lt;Object|User>} The object from the API, or User object if parsing is enabled. */ get(user, mode, eventDays, lookupType) { let options = { u: user }; if (mode !== undefined) options.m = mode; if (eventDays !== undefined) options.event_days = eventDays; if (lookupType !== undefined) options.type = lookupType return this.api.requester.get(ApiConstants.USER_GET, options, true, true, User) .then(d => d[0]); // there can only be one user } /** * Gets the top scores for the user specified. * @param {String} user The username or id to lookup. * @param {Mode} [mode] The gamemode. * @param {Number} [limit] Amount of results to limit to. * @param {LookupType} [lookupType] The lookup type, id/string to lookup the user. * @return {Promise&lt;Object[]|UserScore[]>} The object array from the API, or UserScore object array if parsing is enabled. */ getBest(user, mode, limit, lookupType) { let options = { u: user }; if (mode !== undefined) options.m = mode; if (limit !== undefined) options.limit = limit; if (lookupType !== undefined) options.type = lookupType; return this.api.requester.get(ApiConstants.USER_GET_BEST, options, true, true, UserScore); } /** * Gets the recent plays for the user specified. * @param {String} user The username or id to lookup. * @param {Mode} [mode] The gamemode. * @param {Number} [limit] Amount of results to limit to. * @param {LookupType} [lookupType] The lookup type, id/string to lookup the user. * @return {Promise&lt;Object[]|UserScore[]>} The object array from the API, or UserScore object array if parsing is enabled. */ getRecent(user, mode, limit, lookupType) { let options = { u: user }; if (mode !== undefined) options.m = mode; if (limit !== undefined) options.limit = limit; if (lookupType !== undefined) options.type = lookupType; return this.api.requester.get(ApiConstants.USER_GET_RECENT, options, true, true, UserScore); } } module.exports = UserComponent;</code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-Components.html">Components</a></li><li><a href="module-CustomClasses.html">CustomClasses</a></li><li><a href="module-Enums.html">Enums</a></li><li><a href="module-Errors.html">Errors</a></li></ul><h3>Classes</h3><ul><li><a href="Client.html">Client</a></li><li><a href="module-Components.BeatmapsComponent.html">BeatmapsComponent</a></li><li><a href="module-Components.MultiComponent.html">MultiComponent</a></li><li><a href="module-Components.ReplayComponent.html">ReplayComponent</a></li><li><a href="module-Components.ScoresComponent.html">ScoresComponent</a></li><li><a href="module-Components.UserComponent.html">UserComponent</a></li><li><a href="module-CustomClasses.Beatmap.html">Beatmap</a></li><li><a href="module-CustomClasses.BeatmapScore.html">BeatmapScore</a></li><li><a href="module-CustomClasses.Multi.html">Multi</a></li><li><a href="module-CustomClasses.MultiGame.html">MultiGame</a></li><li><a href="module-CustomClasses.MultiMatch.html">MultiMatch</a></li><li><a href="module-CustomClasses.MultiScore.html">MultiScore</a></li><li><a href="module-CustomClasses.ReplayData.html">ReplayData</a></li><li><a href="module-CustomClasses.Score.html">Score</a></li><li><a href="module-CustomClasses.User.html">User</a></li><li><a href="module-CustomClasses.UserEvent.html">UserEvent</a></li><li><a href="module-CustomClasses.UserScore.html">UserScore</a></li><li><a href="module-Errors.OsuApiError.html">OsuApiError</a></li><li><a href="Requester.html">Requester</a></li></ul><h3>Global</h3><ul><li><a href="global.html#ApprovalStatus">ApprovalStatus</a></li><li><a href="global.html#Converts">Converts</a></li><li><a href="global.html#Genre">Genre</a></li><li><a href="global.html#Language">Language</a></li><li><a href="global.html#LookupType">LookupType</a></li><li><a href="global.html#Mode">Mode</a></li><li><a href="global.html#Mods">Mods</a></li><li><a href="global.html#MultiScoringType">MultiScoringType</a></li><li><a href="global.html#MultiTeam">MultiTeam</a></li><li><a href="global.html#MultiTeamType">MultiTeamType</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.4</a> on Sat Apr 11 2020 14:41:31 GMT+1000 (GMT+10:00) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>