smm-course-search
Super Mario Maker is a game from Nintendo Inc. This module can search courses from the official bookmark site.
This module can request and fetching courses data information just passing a query search.
By response the module call a callback function with 2 arguments (error, courses)
. These arguments: the first is a boolean to check sucess in fetching; and the second is a json with courses informations (like ID, image, maker, difficulty..).
Note: This module makes analysis on the html structure of the bookmark site. In case of site changes, the smm-course-search
system may not work correctly.
Installation
npm install --save smm-course-search
Package
courses
json
The data information retrive:
id: '0000-0000-0000-0000',
difficulty: [..],
clearRate: number,
title: 'Name',
img: 'Url',
thumbnailImg: 'Url',
gameStyle: [..],
createdAt: Timestamp,
tag: [..],
stared: number,
played: number,
shared: number,
clears: number,
attempts: number,
maker:
\_ login: 'Nintendo ID',
\_ faceImg: 'Url',
\_ flag: 'Country',
\_ name: 'Name'
Query Params
The query search parameters are optional, but must be pass at least one.
{
gameStyle: ['all', 'marioBros', 'marioBros3', 'marioWorld', 'marioBrosU'],
courseTheme: ['all', 'ground', 'underground', 'underwater', 'ghostHouse', 'airship', 'castle'],
region: ['all', 'jp', 'us', 'eu', 'other'],
difficulty: ['all', 'easy', 'normal', 'expert', 'superExpert'],
tag: ['all', 'automatic', 'music', 'puzzle', 'gimmick', 'dash',
'remix', 'thumbnail', 'costume', 'yoshi', 'theme', 'speedrun',
'autoscroll', 'shootEmUp', 'track', 'tradicional'],
uploadDate: ['all', 'pastDay', 'pastWeek', 'pastMonth', 'beforeOneMonth'],
sortBy: ['all', 'starRate', 'totalStars', 'lowestClearRate', 'timesShared', 'mostRecent']
}
Functions
There are three functions to search courses:
-
`.getCourses(query, function(error, courses){}` - return first page (max 10 courses).
-
`.getCoursesPages(query, (int) firstPage, (int) lastPage, function(error, courses){}` - return `n` pages.
-
`.getInfinity(query, function(error, courses){}` - search all pages.
Example
Example: How search courses. See test/test.js
for other examples.
/Include/
var SmmCourseSearch = require('smm-course-search');
// ## Try search courses
// For example to get the most recents courses
var query = {
region: 'us',
uploadDate: 'pastDay',
sortBy: 'mostRecent'
};
console.time('test');
SmmCourseSearch.getCourses(query, function(error, courses){
if(error) console.log('> Courses not exist.');
else console.log(courses);
console.timeEnd('test');
});
Also look ~