66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
var defaults = require('./defaults');
|
|
|
|
var Artist = module.exports = function (lastfm) {
|
|
this.lastfm = lastfm;
|
|
};
|
|
|
|
Artist.prototype.addTags = function (artist, tags, callback) {
|
|
if (!Array.isArray(tags)) { tags = [ tags ]; }
|
|
var options = defaults.defaultOptions({
|
|
'artist' : artist,
|
|
'tags' : tags.join(','),
|
|
'sk' : this.lastfm.sessionCredentials.key
|
|
}, callback);
|
|
this.lastfm.api.request('artist.addTags', options);
|
|
};
|
|
|
|
Artist.prototype.getCorrection = function (artist, callback) {
|
|
var options = defaults.defaultOptions({ 'artist' : artist }, callback, 'corrections');
|
|
this.lastfm.api.request('artist.getCorrection', options);
|
|
};
|
|
|
|
Artist.prototype.getInfo = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'artist');
|
|
this.lastfm.api.request('artist.getInfo', options);
|
|
};
|
|
|
|
Artist.prototype.getSimilar = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'similarartists');
|
|
this.lastfm.api.request('artist.getSimilar', options);
|
|
};
|
|
|
|
Artist.prototype.getTags = function (params, callback) {
|
|
if (!params.user) { params.user = this.lastfm.sessionCredentials.username; }
|
|
var options = defaults.defaultOptions(params, callback, 'tags');
|
|
this.lastfm.api.request('artist.getTags', options);
|
|
};
|
|
|
|
Artist.prototype.getTopAlbums = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'topalbums');
|
|
this.lastfm.api.request('artist.getTopAlbums', options);
|
|
};
|
|
|
|
Artist.prototype.getTopTags = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'toptags');
|
|
this.lastfm.api.request('artist.getTopTags', options);
|
|
};
|
|
|
|
Artist.prototype.getTopTracks = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'toptracks');
|
|
this.lastfm.api.request('artist.getTopTracks', options);
|
|
};
|
|
|
|
Artist.prototype.removeTag = function (artist, tag, callback) {
|
|
var options = defaults.defaultOptions({
|
|
'artist' : artist,
|
|
'tag' : tag,
|
|
'sk' : this.lastfm.sessionCredentials.key
|
|
}, callback);
|
|
this.lastfm.api.request('artist.removeTag', options);
|
|
};
|
|
|
|
Artist.prototype.search = function (params, callback) {
|
|
var options = defaults.defaultOptions(params, callback, 'results');
|
|
this.lastfm.api.request('artist.search', options);
|
|
};
|