UNPKG

nexgen

Version:

Get the current song on a radio station using NexGen

53 lines (41 loc) 1.14 kB
var xml = require('xml2js'); var request = require('request'); var Nexgen = function (url) { var nexgen = {}; var getData = function (cb) { request(url, function (err, resp, body) { convertXml(body, function (data) { cb(data); }); }); }; var convertXml = function (xmlStr, cb) { xml.parseString(xmlStr, function (err, data) { cb(data.nexgen_audio_export.audio); }); }; var transformTrack = function (data, cb) { var track = {}; track.title = data.title; track.artist = data.artist; cb(track); }; var currentTrack = function (cb) { getData(function (tracks) { transformTrack(tracks[0], function (track) { cb(track); }) }) }; var nextTrack = function (cb) { getData(function (tracks) { transformTrack(tracks[1], function (track) { cb(track); }) }) }; nexgen.current = currentTrack; nexgen.next = nextTrack; return nexgen; }; module.exports = Nexgen;