UNPKG

use-last-fm

Version:

Stream your current playing song from last.fm as a React hook.

3 lines (2 loc) 972 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,r=(t=require("swr"))&&"object"==typeof t&&"default"in t?t.default:t;exports.useLastFM=function(t,e,n,a){void 0===n&&(n=15e3),void 0===a&&(a="extralarge");var u=r("//ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user="+t+"&api_key="+e+"&format=json&limit=1",{refreshInterval:n}),s=u.data,l=void 0===s?null:s;if(u.error)return{status:"error",song:null};try{return function(t,r){var e,n,a;if(!t)return{status:"connecting",song:null};var u=null==(e=t.recenttracks.track)?void 0:e[0];if(!u||!(null==(n=u["@attr"])?void 0:n.nowplaying))return{status:"idle",song:null};var s=u.image.find((function(t){return t.size===r}));return{status:"playing",song:{name:u.name,artist:u.artist["#text"],art:null!=(a=null==s?void 0:s["#text"])?a:u.image[0]["#text"],url:u.url,album:u.album["#text"]}}}(l,a)}catch(t){return{status:"error",song:null}}}; //# sourceMappingURL=use-last-fm.cjs.production.min.js.map