shredbeat
Version:
Music beat reacts to your keyboard shredding speed 🤘
35 lines (27 loc) • 906 B
JavaScript
var url = require('url')
var soundcloud = require('./apis/soundcloud')
var mixcloud = require('./apis/mixcloud')
var hypem = require('./apis/hypem')
var fanburst = require('./apis/fanburst')
class MusicService {
constructor() {
}
getPlaylist(playlistUrl) {
if (!playlistUrl) {
return Promise.reject('Playlist URL is required')
}
var hostname = url.parse(playlistUrl).hostname
if (/soundcloud/gi.test(hostname)) {
return soundcloud.getPlaylist(playlistUrl)
} else if (/mixcloud/gi.test(hostname)) {
return mixcloud.getPlaylist(playlistUrl)
} else if (/fanburst/gi.test(hostname)) {
return fanburst.getPlaylist(playlistUrl)
} else if (/hypem/gi.test(hostname)) {
return hypem.getPlaylist(playlistUrl)
} else {
return Promise.reject(hostname + ' music service is not supported.')
}
}
}
module.exports = new MusicService()