javascript-ampache 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e||self).javascriptAmpache=t()}(this,function(){function e(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,t(e,r)}function t(e,r){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},t(e,r)}var r=Object.prototype.hasOwnProperty;function n(e){try{return encodeURIComponent(e)}catch(e){return null}}var s=function(e,t){t=t||"";var s,o,i=[];for(o in"string"!=typeof t&&(t="?"),e)if(r.call(e,o)){if((s=e[o])||null!=s&&!isNaN(s)||(s=""),o=n(o),s=n(s),null===o||null===s)continue;i.push(o+"="+s)}return i.length?t+i.join("&"):""},o={__proto__:null,default:function(e,t){return t=t||{},new Promise(function(r,n){var s=new XMLHttpRequest,o=[],i=[],u={},c=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:c,headers:{keys:function(){return o},entries:function(){return i},get:function(e){return u[e.toLowerCase()]},has:function(e){return e.toLowerCase()in u}}}};for(var a in s.open(t.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){o.push(t=t.toLowerCase()),i.push([t,r]),u[t]=u[t]?u[t]+","+r:r}),r(c())},s.onerror=n,s.withCredentials="include"==t.credentials,t.headers)s.setRequestHeader(a,t.headers[a]);s.send(t.body||null)})}},i=self.fetch||(self.fetch=o.default||o),u=/*#__PURE__*/function(){function e(e){this.sessionKey=void 0,this.url=void 0,this.version="6.0.0",this.debug=void 0,this.sessionKey=e.sessionKey||null,this.url=e.url,this.debug=e.debug||!1}var t=e.prototype;return t.request=function(e,t){void 0===t&&(t=!0);var r=this.url+"/server/json.server.php?action="+e;return t&&(r+="&auth="+this.sessionKey+"&version="+this.version),this.debug&&console.debug("javascript-ampache query URL %c"+r,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(r).then(function(e){if(e.ok)return e.json();throw new Error(e.statusText)})},t.binary=function(e,t){void 0===t&&(t=!0);var r=this.url+"/server/json.server.php?action="+e;return t&&(r+="&auth="+this.sessionKey+"&version="+this.version),this.debug&&console.debug("javascript-ampache query URL %c"+r,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(r).then(function(e){return e.blob()}).then(function(e){return e})},t.setSessionKey=function(e){this.sessionKey=e},e}(),c=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.albums=function(e){try{var t="albums";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.album?e.album:e})}catch(e){return Promise.reject(e)}},n.album=function(e){var t="album";return t+=s(e,"&"),this.request(t)},n.artistAlbums=function(e){try{var t="artist_albums";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.album?e.album:e})}catch(e){return Promise.reject(e)}},n.genreAlbums=function(e){try{var t="genre_albums";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.album?e.album:e})}catch(e){return Promise.reject(e)}},r}(u),a=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.artists=function(e){try{var t="artists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.artist?e.artist:e})}catch(e){return Promise.reject(e)}},n.artist=function(e){var t="artist";return t+=s(e,"&"),this.request(t)},n.genreArtists=function(e){try{var t="genre_artists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.artist?e.artist:e})}catch(e){return Promise.reject(e)}},n.labelArtists=function(e){try{var t="label_artists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.artist?e.artist:e})}catch(e){return Promise.reject(e)}},r}(u);const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l="ARRAYBUFFER not supported by this environment",f="UINT8ARRAY not supported by this environment";function p(e,t,r,n){let s,o,i;const u=t||[0],c=(r=r||0)>>>3,a=-1===n?3:0;for(s=0;s<e.length;s+=1)i=s+c,o=i>>>2,u.length<=o&&u.push(0),u[o]|=e[s]<<8*(a+n*(i%4));return{value:u,binLen:8*e.length+r}}function v(e,t,r){switch(t){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(e){case"HEX":return function(e,t,n){return function(e,t,r,n){let s,o,i,u;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");const c=t||[0],a=(r=r||0)>>>3,h=-1===n?3:0;for(s=0;s<e.length;s+=2){if(o=parseInt(e.substr(s,2),16),isNaN(o))throw new Error("String of HEX type contains invalid characters");for(u=(s>>>1)+a,i=u>>>2;c.length<=i;)c.push(0);c[i]|=o<<8*(h+n*(u%4))}return{value:c,binLen:4*e.length+r}}(e,t,n,r)};case"TEXT":return function(e,n,s){return function(e,t,r,n,s){let o,i,u,c,a,h,l,f,p=0;const v=r||[0],d=(n=n||0)>>>3;if("UTF8"===t)for(l=-1===s?3:0,u=0;u<e.length;u+=1)for(o=e.charCodeAt(u),i=[],128>o?i.push(o):2048>o?(i.push(192|o>>>6),i.push(128|63&o)):55296>o||57344<=o?i.push(224|o>>>12,128|o>>>6&63,128|63&o):(u+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(u)),i.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),c=0;c<i.length;c+=1){for(h=p+d,a=h>>>2;v.length<=a;)v.push(0);v[a]|=i[c]<<8*(l+s*(h%4)),p+=1}else for(l=-1===s?2:0,f="UTF16LE"===t&&1!==s||"UTF16LE"!==t&&1===s,u=0;u<e.length;u+=1){for(o=e.charCodeAt(u),!0===f&&(c=255&o,o=c<<8|o>>>8),h=p+d,a=h>>>2;v.length<=a;)v.push(0);v[a]|=o<<8*(l+s*(h%4)),p+=2}return{value:v,binLen:8*p+n}}(e,t,n,s,r)};case"B64":return function(e,t,n){return function(e,t,r,n){let s,o,i,u,c,a,l,f=0;const p=t||[0],v=(r=r||0)>>>3,d=-1===n?3:0,m=e.indexOf("=");if(-1===e.search(/^[a-zA-Z0-9=+/]+$/))throw new Error("Invalid character in base-64 string");if(e=e.replace(/=/g,""),-1!==m&&m<e.length)throw new Error("Invalid '=' found in base-64 string");for(o=0;o<e.length;o+=4){for(c=e.substr(o,4),u=0,i=0;i<c.length;i+=1)s=h.indexOf(c.charAt(i)),u|=s<<18-6*i;for(i=0;i<c.length-1;i+=1){for(l=f+v,a=l>>>2;p.length<=a;)p.push(0);p[a]|=(u>>>16-8*i&255)<<8*(d+n*(l%4)),f+=1}}return{value:p,binLen:8*f+r}}(e,t,n,r)};case"BYTES":return function(e,t,n){return function(e,t,r,n){let s,o,i,u;const c=t||[0],a=(r=r||0)>>>3,h=-1===n?3:0;for(o=0;o<e.length;o+=1)s=e.charCodeAt(o),u=o+a,i=u>>>2,c.length<=i&&c.push(0),c[i]|=s<<8*(h+n*(u%4));return{value:c,binLen:8*e.length+r}}(e,t,n,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(l)}return function(e,t,n){return function(e,t,r,n){return p(new Uint8Array(e),t,r,n)}(e,t,n,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(f)}return function(e,t,n){return p(e,t,n,r)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function d(e,t,r,n){switch(e){case"HEX":return function(e){return function(e,t,r,n){const s="0123456789abcdef";let o,i,u="";const c=t/8,a=-1===r?3:0;for(o=0;o<c;o+=1)i=e[o>>>2]>>>8*(a+r*(o%4)),u+=s.charAt(i>>>4&15)+s.charAt(15&i);return n.outputUpper?u.toUpperCase():u}(e,t,r,n)};case"B64":return function(e){return function(e,t,r,n){let s,o,i,u,c,a="";const l=t/8,f=-1===r?3:0;for(s=0;s<l;s+=3)for(u=s+1<l?e[s+1>>>2]:0,c=s+2<l?e[s+2>>>2]:0,i=(e[s>>>2]>>>8*(f+r*(s%4))&255)<<16|(u>>>8*(f+r*((s+1)%4))&255)<<8|c>>>8*(f+r*((s+2)%4))&255,o=0;o<4;o+=1)a+=8*s+6*o<=t?h.charAt(i>>>6*(3-o)&63):n.b64Pad;return a}(e,t,r,n)};case"BYTES":return function(e){return function(e,t,r){let n,s,o="";const i=t/8,u=-1===r?3:0;for(n=0;n<i;n+=1)s=e[n>>>2]>>>8*(u+r*(n%4))&255,o+=String.fromCharCode(s);return o}(e,t,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(l)}return function(e){return function(e,t,r){let n;const s=t/8,o=new ArrayBuffer(s),i=new Uint8Array(o),u=-1===r?3:0;for(n=0;n<s;n+=1)i[n]=e[n>>>2]>>>8*(u+r*(n%4))&255;return o}(e,t,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(f)}return function(e){return function(e,t,r){let n;const s=t/8,o=-1===r?3:0,i=new Uint8Array(s);for(n=0;n<s;n+=1)i[n]=e[n>>>2]>>>8*(o+r*(n%4))&255;return i}(e,t,r)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}const m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],y=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],g=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function P(e){const t={outputUpper:!1,b64Pad:"=",outputLen:-1},r=e||{},n="Output length must be a multiple of 8";if(t.outputUpper=r.outputUpper||!1,r.b64Pad&&(t.b64Pad=r.b64Pad),r.outputLen){if(r.outputLen%8!=0)throw new Error(n);t.outputLen=r.outputLen}else if(r.shakeLen){if(r.shakeLen%8!=0)throw new Error(n);t.outputLen=r.shakeLen}if("boolean"!=typeof t.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof t.b64Pad)throw new Error("Invalid b64Pad formatting option");return t}class q{constructor(e,t,r){const n=r||{};if(this.t=t,this.i=n.encoding||"UTF8",this.numRounds=n.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error("numRounds must a integer >= 1");this.o=e,this.h=[],this.u=0,this.l=!1,this.A=0,this.p=!1,this.U=[],this.R=[]}update(e){let t,r=0;const n=this.T>>>5,s=this.F(e,this.h,this.u),o=s.binLen,i=s.value,u=o>>>5;for(t=0;t<u;t+=n)r+this.T<=o&&(this.m=this.g(i.slice(t,t+n),this.m),r+=this.T);return this.A+=r,this.h=i.slice(r>>>5),this.u=o%this.T,this.l=!0,this}getHash(e,t){let r,n,s=this.H;const o=P(t);if(this.B){if(-1===o.outputLen)throw new Error("Output length must be specified in options");s=o.outputLen}const i=d(e,s,this.v,o);if(this.p&&this.C)return i(this.C(o));for(n=this.Y(this.h.slice(),this.u,this.A,this.S(this.m),s),r=1;r<this.numRounds;r+=1)this.B&&s%32!=0&&(n[n.length-1]&=16777215>>>24-s%32),n=this.Y(n,s,0,this.I(this.o),s);return i(n)}setHMACKey(e,t,r){if(!this.L)throw new Error("Variant does not support HMAC");if(this.l)throw new Error("Cannot set MAC key after calling update");const n=v(t,(r||{}).encoding||"UTF8",this.v);this.M(n(e))}M(e){const t=this.T>>>3,r=t/4-1;let n;if(1!==this.numRounds)throw new Error("Cannot set numRounds with MAC");if(this.p)throw new Error("MAC key already set");for(t<e.binLen/8&&(e.value=this.Y(e.value,e.binLen,0,this.I(this.o),this.H));e.value.length<=r;)e.value.push(0);for(n=0;n<=r;n+=1)this.U[n]=909522486^e.value[n],this.R[n]=1549556828^e.value[n];this.m=this.g(this.U,this.m),this.A=this.T,this.p=!0}getHMAC(e,t){const r=P(t);return d(e,this.H,this.v,r)(this.N())}N(){let e;if(!this.p)throw new Error("Cannot call getHMAC without first setting MAC key");const t=this.Y(this.h.slice(),this.u,this.A,this.S(this.m),this.H);return e=this.g(this.R,this.I(this.o)),e=this.Y(t,this.H,this.T,e,this.H),e}}function b(e,t){return e>>>t|e<<32-t}function _(e,t){return e>>>t}function w(e,t,r){return e&t^~e&r}function A(e,t,r){return e&t^e&r^t&r}function j(e){return b(e,2)^b(e,13)^b(e,22)}function E(e,t){const r=(65535&e)+(65535&t);return(65535&(e>>>16)+(t>>>16)+(r>>>16))<<16|65535&r}function R(e,t,r,n){const s=(65535&e)+(65535&t)+(65535&r)+(65535&n);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(s>>>16))<<16|65535&s}function T(e,t,r,n,s){const o=(65535&e)+(65535&t)+(65535&r)+(65535&n)+(65535&s);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(s>>>16)+(o>>>16))<<16|65535&o}function U(e){return b(e,7)^b(e,18)^_(e,3)}function k(e){return b(e,6)^b(e,11)^b(e,25)}function S(e){let t;return t="SHA-224"==e?y.slice():g.slice(),t}function C(e,t){let r,n,s,o,i,u,c,a,h,l,f;const p=[];for(r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],u=t[5],c=t[6],a=t[7],f=0;f<64;f+=1)p[f]=f<16?e[f]:R(b(v=p[f-2],17)^b(v,19)^_(v,10),p[f-7],U(p[f-15]),p[f-16]),h=T(a,k(i),w(i,u,c),m[f],p[f]),l=E(j(r),A(r,n,s)),a=c,c=u,u=i,i=E(o,h),o=s,s=n,n=r,r=E(h,l);var v;return t[0]=E(r,t[0]),t[1]=E(n,t[1]),t[2]=E(s,t[2]),t[3]=E(o,t[3]),t[4]=E(i,t[4]),t[5]=E(u,t[5]),t[6]=E(c,t[6]),t[7]=E(a,t[7]),t}class L extends q{constructor(e,t,r){if("SHA-224"!==e&&"SHA-256"!==e)throw new Error("Chosen SHA variant is not supported");super(e,t,r);const n=r||{};this.C=this.N,this.L=!0,this.v=-1,this.F=v(this.t,this.i,this.v),this.g=C,this.S=function(e){return e.slice()},this.I=S,this.Y=function(t,r,n,s){return function(e,t,r,n,s){let o,i;const u=15+(t+65>>>9<<4),c=t+r;for(;e.length<=u;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[u]=4294967295&c,e[u-1]=c/4294967296|0,o=0;o<e.length;o+=16)n=C(e.slice(o,o+16),n);return i="SHA-224"===s?[n[0],n[1],n[2],n[3],n[4],n[5],n[6]]:n,i}(t,r,n,s,e)},this.m=S(e),this.T=512,this.H="SHA-224"===e?224:256,this.B=!1,n.hmacKey&&this.M(function(e,t,r,n){const s="hmacKey must include a value and format";if(!t)throw new Error(s);if(void 0===t.value||!t.format)throw new Error(s);return v(t.format,t.encoding||"UTF8",r)(t.value)}(0,n.hmacKey,this.v))}}var H,F=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.handshake=function(e){var t=this;e.timestamp||(e.timestamp=Math.floor((new Date).getTime()/1e3)),e.version&&(this.version=e.version),e.user||delete e.timestamp;var r=this.url+"/server/json.server.php?action=handshake";return r+=s(e,"&"),i(r).then(function(e){return e.json()}).then(function(e){return e.auth&&(t.sessionKey=e.auth),e})},n.ping=function(e){var t="ping";return t+=s(e,"&"),this.request(t,!1)},n.goodbye=function(e){var t="goodbye";return t+=s(e,"&"),this.request(t,!1)},n.encryptPassword=function(e){var t=r(e.password);return r(e.time+t);function r(e){var t=new L("SHA-256","TEXT",{encoding:"UTF8"});return t.update(e),t.getHash("HEX")}},r}(u),B=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.bookmarks=function(){try{return Promise.resolve(this.request("bookmarks")).then(function(e){return e.bookmark?e.bookmark:e})}catch(e){return Promise.reject(e)}},n.getBookmark=function(e){var t="get_bookmark";return t+=s(e,"&"),this.request(t)},n.bookmarkCreate=function(e){var t="bookmark_create";return t+=s(e,"&"),this.request(t)},n.bookmarkEdit=function(e){var t="bookmark_edit";return t+=s(e,"&"),this.request(t)},n.bookmarkDelete=function(e){var t="bookmark_delete";return t+=s(e,"&"),this.request(t)},r}(u),Y=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.catalogs=function(e){try{var t="catalogs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.catalog?e.catalog:e})}catch(e){return Promise.reject(e)}},n.catalog=function(e){var t="catalog";return t+=s(e,"&"),this.request(t)},n.catalogAction=function(e){var t="catalog_action";return t+=s(e,"&"),this.request(t)},n.catalogFile=function(e){var t="catalog_file";return t+=s(e,"&"),this.request(t)},n.catalogAdd=function(e){var t="catalog_add";return t+=s(e,"&"),this.request(t)},n.catalogDelete=function(e){var t="catalog_delete";return t+=s(e,"&"),this.request(t)},r}(u),I=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.genres=function(e){try{var t="genres";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.genre?e.genre:e})}catch(e){return Promise.reject(e)}},n.genre=function(e){try{var t="genre";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.genre?e.genre:e})}catch(e){return Promise.reject(e)}},r}(u),O=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.labels=function(e){try{var t="labels";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.label?e.label:e})}catch(e){return Promise.reject(e)}},n.label=function(e){var t="label";return t+=s(e,"&"),this.request(t)},r}(u),N=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.licenses=function(e){try{var t="licenses";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.license?e.license:e})}catch(e){return Promise.reject(e)}},n.license=function(e){var t="license";return t+=s(e,"&"),this.request(t)},r}(u),x=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.liveStreams=function(e){try{var t="live_streams";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.live_stream?e.live_stream:e})}catch(e){return Promise.reject(e)}},n.liveStream=function(e){var t="live_stream";return t+=s(e,"&"),this.request(t)},n.liveStreamCreate=function(e){var t="live_stream_create";return t+=s(e,"&"),this.request(t)},n.liveStreamEdit=function(e){var t="live_stream_edit";return t+=s(e,"&"),this.request(t)},n.liveStreamDelete=function(e){var t="live_stream_delete";return t+=s(e,"&"),this.request(t)},r}(u),M=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.playlists=function(e){try{var t="playlists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.playlist?e.playlist:e})}catch(e){return Promise.reject(e)}},n.smartlists=function(e){try{var t="playlists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){var t=e.playlist?e.playlist:e;return Array.isArray(t)&&(t=t.filter(function(e){return e.id.toString().match(/^smart_/)})),t})}catch(e){return Promise.reject(e)}},n.playlist=function(e){var t="playlist";return t+=s(e,"&"),this.request(t)},n.playlistCreate=function(e){var t="playlist_create";return t+=s(e,"&"),this.request(t)},n.playlistEdit=function(e){var t="playlist_edit";return t+=s(e,"&"),this.request(t)},n.playlistDelete=function(e){var t="playlist_delete";return t+=s(e,"&"),this.request(t)},n.playlistAddSong=function(e){var t="playlist_add_song";return t+=s(e,"&"),this.request(t)},n.playlistRemoveSong=function(e){var t="playlist_remove_song";return t+=s(e,"&"),this.request(t)},n.playlistGenerate=function(e){try{var t="playlist_generate";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},r}(u),D=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.podcasts=function(e){try{var t="podcasts";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.podcast?e.podcast:e})}catch(e){return Promise.reject(e)}},n.podcast=function(e){try{var t="podcast";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.podcast?e.podcast:e})}catch(e){return Promise.reject(e)}},n.podcastCreate=function(e){var t="podcast_create";return t+=s(e,"&"),this.request(t)},n.podcastEdit=function(e){var t="podcast_edit";return t+=s(e,"&"),this.request(t)},n.podcastDelete=function(e){var t="podcast_delete";return t+=s(e,"&"),this.request(t)},n.podcastEpisodes=function(e){try{var t="podcast_episodes";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.podcast_episode?e.podcast_episode:e})}catch(e){return Promise.reject(e)}},n.podcastEpisode=function(e){var t="podcast_episode";return t+=s(e,"&"),this.request(t)},n.podcastEpisodeDelete=function(e){var t="podcast_episode_delete";return t+=s(e,"&"),this.request(t)},n.updatePodcast=function(e){var t="update_podcast";return t+=s(e,"&"),this.request(t)},n.deletedPodcastEpisodes=function(e){try{var t="deleted_podcast_episodes";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.deleted_podcast_episode?e.deleted_podcast_episode:e})}catch(e){return Promise.reject(e)}},r}(u),K=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.systemPreferences=function(){try{return Promise.resolve(this.request("system_preferences")).then(function(e){return e.preference?e.preference:e})}catch(e){return Promise.reject(e)}},n.systemPreference=function(e){try{var t="system_preference";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e[0]})}catch(e){return Promise.reject(e)}},n.userPreferences=function(){try{return Promise.resolve(this.request("user_preferences")).then(function(e){return e.preference?e.preference:e})}catch(e){return Promise.reject(e)}},n.userPreference=function(e){try{var t="user_preference";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e[0]})}catch(e){return Promise.reject(e)}},n.preferenceCreate=function(e){var t="preference_create";return t+=s(e,"&"),this.request(t)},n.preferenceEdit=function(e){var t="preference_edit";return t+=s(e,"&"),this.request(t)},n.preferenceDelete=function(e){var t="preference_delete";return t+=s(e,"&"),this.request(t)},r}(u),X=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.shares=function(e){try{var t="shares";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.share?e.share:e})}catch(e){return Promise.reject(e)}},n.share=function(e){var t="share";return t+=s(e,"&"),this.request(t)},n.shareCreate=function(e){var t="share_create";return t+=s(e,"&"),this.request(t)},n.shareEdit=function(e){var t="share_edit";return t+=s(e,"&"),this.request(t)},n.shareDelete=function(e){var t="share_delete";return t+=s(e,"&"),this.request(t)},r}(u),V=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}return e(r,t),r.prototype.last_shouts=function(e){try{var t="last_shouts";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.shout?e.shout:e})}catch(e){return Promise.reject(e)}},r}(u),z=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.songs=function(e){try{var t="songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.song=function(e){var t="song";return t+=s(e,"&"),this.request(t)},n.artistSongs=function(e){try{var t="artist_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.albumSongs=function(e){try{var t="album_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.genreSongs=function(e){try{var t="genre_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.playlistSongs=function(e){try{var t="playlist_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.licenseSongs=function(e){try{var t="license_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.songDelete=function(e){var t="song_delete";return t+=s(e,"&"),this.request(t)},n.urlToSong=function(e){var t="url_to_song";return e.url=encodeURIComponent(e.url),t+=s(e,"&"),this.request(t)},n.searchSongs=function(e){try{var t="search_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.deletedSongs=function(e){try{var t="deleted_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.deleted_song?e.deleted_song:e})}catch(e){return Promise.reject(e)}},r}(u),G=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.systemUpdate=function(){return this.request("system_update")},n.getIndexes=function(e){try{var t,r=this,n="get_indexes";switch(n+=s(e,"&"),e.type){case"song":return Promise.resolve(r.request(n)).then(function(e){return(t=e).song?t.song:t});case"album":return Promise.resolve(r.request(n)).then(function(e){return(t=e).album?t.album:t});case"artist":case"album_artist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).artist?t.artist:t});case"playlist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).playlist?t.playlist:t});case"podcast":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast?t.podcast:t});case"podcast_episode":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast_episode?t.podcast_episode:t});case"live_stream":return Promise.resolve(r.request(n)).then(function(e){return(t=e).live_stream?t.live_stream:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},n.list=function(e){try{var t="list";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.browse=function(e){try{var t="browse";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.getSimilar=function(e){try{var t,r="get_similar";switch(r+=s(e,"&"),e.type){case"song":return Promise.resolve(this.request(r)).then(function(e){return(t=e).song?t.song:t});case"artist":return Promise.resolve(this.request(r)).then(function(e){return(t=e).artist?t.artist:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},n.stats=function(e){try{var t,r=this,n="stats";switch(n+=s(e,"&"),e.type){case"song":return Promise.resolve(r.request(n)).then(function(e){return(t=e).song?t.song:t});case"album":return Promise.resolve(r.request(n)).then(function(e){return(t=e).album?t.album:t});case"artist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).artist?t.artist:t});case"video":return Promise.resolve(r.request(n)).then(function(e){return(t=e).video?t.video:t});case"playlist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).playlist?t.playlist:t});case"podcast":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast?t.podcast:t});case"podcast_episode":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast_episode?t.podcast_episode:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},n.rate=function(e){var t="rate";return t+=s(e,"&"),this.request(t)},n.flag=function(e){var t="flag";return t+=s(e,"&"),this.request(t)},n.recordPlay=function(e){var t="record_play";return t+=s(e,"&"),this.request(t)},n.scrobble=function(e){var t="scrobble";return t+=s(e,"&"),this.request(t)},n.updateFromTags=function(e){var t="update_from_tags";return t+=s(e,"&"),this.request(t)},n.updateArtistInfo=function(e){var t="update_artist_info";return t+=s(e,"&"),this.request(t)},n.updateArt=function(e){var t="update_art";return t+=s(e,"&"),this.request(t)},n.stream=function(e){var t="stream";return t+=s(e,"&"),this.binary(t)},n.download=function(e){var t="download";return t+=s(e,"&"),this.binary(t)},n.getArt=function(e){var t="get_art";return t+=s(e,"&"),this.binary(t)},n.localplay=function(e){var t="localplay";return t+=s(e,"&"),this.request(t)},n.localplaySongs=function(){return this.request("localplay_songs")},n.democratic=function(e){var t="democratic";return t+=s(e,"&"),this.request(t)},n.advancedSearch=function(e){try{for(var t,r=this,n="advanced_search",o=0;o<e.rules.length;o++){var i=e.rules[o],u=o+1;e["rule_"+u]=i[0],e["rule_"+u+"_operator"]=i[1],e["rule_"+u+"_input"]=i[2],"metadata"===i[0]&&(e["rule_"+u+"_subtype"]=i[3])}switch(delete e.rules,n+=s(e,"&"),e.type){case"song":return Promise.resolve(r.request(n)).then(function(e){return(t=e).song?t.song:t});case"album":return Promise.resolve(r.request(n)).then(function(e){return(t=e).album?t.album:t});case"artist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).artist?t.artist:t});case"label":return Promise.resolve(r.request(n)).then(function(e){return(t=e).label?t.label:t});case"playlist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).playlist?t.playlist:t});case"podcast":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast?t.podcast:t});case"podcast_episode":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast_episode?t.podcast_episode:t});case"genre":return Promise.resolve(r.request(n)).then(function(e){return(t=e).genre?t.genre:t});case"user":return Promise.resolve(r.request(n)).then(function(e){return(t=e).user?t.user:t});case"video":return Promise.resolve(r.request(n)).then(function(e){return(t=e).video?t.video:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},r}(u),J=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.users=function(){try{return Promise.resolve(this.request("users")).then(function(e){return e.user?e.user:e})}catch(e){return Promise.reject(e)}},n.user=function(e){try{var t="user";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.userCreate=function(e){var t="user_create";return t+=s(e,"&"),this.request(t)},n.register=function(e){var t="register";return t+=s(e,"&"),this.request(t)},n.userUpdate=function(e){var t="user_update";return t+=s(e,"&"),this.request(t)},n.userEdit=function(e){var t="user_edit";return t+=s(e,"&"),this.request(t)},n.userDelete=function(e){var t="user_delete";return t+=s(e,"&"),this.request(t)},n.followers=function(e){try{var t="followers";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.user?e.user:e})}catch(e){return Promise.reject(e)}},n.following=function(e){try{var t="following";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.user?e.user:e})}catch(e){return Promise.reject(e)}},n.toggleFollow=function(e){var t="toggle_follow";return t+=s(e,"&"),this.request(t)},n.timeline=function(e){try{var t="timeline";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.activity?e.activity:e})}catch(e){return Promise.reject(e)}},n.friendsTimeline=function(e){try{var t="friends_timeline";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.activity?e.activity:e})}catch(e){return Promise.reject(e)}},r}(u),Z=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.videos=function(e){try{var t="videos";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.video?e.video:e})}catch(e){return Promise.reject(e)}},n.video=function(e){var t="video";return t+=s(e,"&"),this.request(t)},n.deletedVideos=function(e){try{var t="deleted_videos";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.deleted_video?e.deleted_video:e})}catch(e){return Promise.reject(e)}},r}(u),$=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}return e(r,t),r}(u);return H=$,[c,a,F,B,Y,I,O,N,x,M,D,K,X,V,z,G,J,Z].forEach(function(e){Object.getOwnPropertyNames(e.prototype).forEach(function(t){Object.defineProperty(H.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})}),$});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e||self).javascriptAmpache=t()}(this,function(){function e(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,t(e,r)}function t(e,r){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},t(e,r)}var r=Object.prototype.hasOwnProperty;function n(e){try{return encodeURIComponent(e)}catch(e){return null}}var s=function(e,t){t=t||"";var s,o,i=[];for(o in"string"!=typeof t&&(t="?"),e)if(r.call(e,o)){if((s=e[o])||null!=s&&!isNaN(s)||(s=""),o=n(o),s=n(s),null===o||null===s)continue;i.push(o+"="+s)}return i.length?t+i.join("&"):""},o={__proto__:null,default:function(e,t){return t=t||{},new Promise(function(r,n){var s=new XMLHttpRequest,o=[],i=[],u={},c=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:c,headers:{keys:function(){return o},entries:function(){return i},get:function(e){return u[e.toLowerCase()]},has:function(e){return e.toLowerCase()in u}}}};for(var a in s.open(t.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){o.push(t=t.toLowerCase()),i.push([t,r]),u[t]=u[t]?u[t]+","+r:r}),r(c())},s.onerror=n,s.withCredentials="include"==t.credentials,t.headers)s.setRequestHeader(a,t.headers[a]);s.send(t.body||null)})}},i=self.fetch||(self.fetch=o.default||o),u=/*#__PURE__*/function(){function e(e){this.sessionKey=void 0,this.url=void 0,this.version="6.0.0",this.debug=void 0,this.sessionKey=e.sessionKey||null,this.url=e.url,this.debug=e.debug||!1}var t=e.prototype;return t.request=function(e,t){void 0===t&&(t=!0);var r=this.url+"/server/json.server.php?action="+e;return t&&(r+="&auth="+this.sessionKey+"&version="+this.version),this.debug&&console.debug("javascript-ampache query URL %c"+r,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(r).then(function(e){if(e.ok)return e.json();throw new Error(e.statusText)})},t.binary=function(e,t){void 0===t&&(t=!0);var r=this.url+"/server/json.server.php?action="+e;return t&&(r+="&auth="+this.sessionKey+"&version="+this.version),this.debug&&console.debug("javascript-ampache query URL %c"+r,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(r).then(function(e){return e.blob()}).then(function(e){return e})},t.setSessionKey=function(e){this.sessionKey=e},e}(),c=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.albums=function(e){try{var t="albums";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.album?e.album:e})}catch(e){return Promise.reject(e)}},n.album=function(e){var t="album";return t+=s(e,"&"),this.request(t)},n.artistAlbums=function(e){try{var t="artist_albums";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.album?e.album:e})}catch(e){return Promise.reject(e)}},n.genreAlbums=function(e){try{var t="genre_albums";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.album?e.album:e})}catch(e){return Promise.reject(e)}},r}(u),a=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.artists=function(e){try{var t="artists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.artist?e.artist:e})}catch(e){return Promise.reject(e)}},n.artist=function(e){var t="artist";return t+=s(e,"&"),this.request(t)},n.genreArtists=function(e){try{var t="genre_artists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.artist?e.artist:e})}catch(e){return Promise.reject(e)}},n.labelArtists=function(e){try{var t="label_artists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.artist?e.artist:e})}catch(e){return Promise.reject(e)}},r}(u);const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l="ARRAYBUFFER not supported by this environment",f="UINT8ARRAY not supported by this environment";function p(e,t,r,n){let s,o,i;const u=t||[0],c=(r=r||0)>>>3,a=-1===n?3:0;for(s=0;s<e.length;s+=1)i=s+c,o=i>>>2,u.length<=o&&u.push(0),u[o]|=e[s]<<8*(a+n*(i%4));return{value:u,binLen:8*e.length+r}}function v(e,t,r){switch(t){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(e){case"HEX":return function(e,t,n){return function(e,t,r,n){let s,o,i,u;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");const c=t||[0],a=(r=r||0)>>>3,h=-1===n?3:0;for(s=0;s<e.length;s+=2){if(o=parseInt(e.substr(s,2),16),isNaN(o))throw new Error("String of HEX type contains invalid characters");for(u=(s>>>1)+a,i=u>>>2;c.length<=i;)c.push(0);c[i]|=o<<8*(h+n*(u%4))}return{value:c,binLen:4*e.length+r}}(e,t,n,r)};case"TEXT":return function(e,n,s){return function(e,t,r,n,s){let o,i,u,c,a,h,l,f,p=0;const v=r||[0],d=(n=n||0)>>>3;if("UTF8"===t)for(l=-1===s?3:0,u=0;u<e.length;u+=1)for(o=e.charCodeAt(u),i=[],128>o?i.push(o):2048>o?(i.push(192|o>>>6),i.push(128|63&o)):55296>o||57344<=o?i.push(224|o>>>12,128|o>>>6&63,128|63&o):(u+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(u)),i.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),c=0;c<i.length;c+=1){for(h=p+d,a=h>>>2;v.length<=a;)v.push(0);v[a]|=i[c]<<8*(l+s*(h%4)),p+=1}else for(l=-1===s?2:0,f="UTF16LE"===t&&1!==s||"UTF16LE"!==t&&1===s,u=0;u<e.length;u+=1){for(o=e.charCodeAt(u),!0===f&&(c=255&o,o=c<<8|o>>>8),h=p+d,a=h>>>2;v.length<=a;)v.push(0);v[a]|=o<<8*(l+s*(h%4)),p+=2}return{value:v,binLen:8*p+n}}(e,t,n,s,r)};case"B64":return function(e,t,n){return function(e,t,r,n){let s,o,i,u,c,a,l,f=0;const p=t||[0],v=(r=r||0)>>>3,d=-1===n?3:0,m=e.indexOf("=");if(-1===e.search(/^[a-zA-Z0-9=+/]+$/))throw new Error("Invalid character in base-64 string");if(e=e.replace(/=/g,""),-1!==m&&m<e.length)throw new Error("Invalid '=' found in base-64 string");for(o=0;o<e.length;o+=4){for(c=e.substr(o,4),u=0,i=0;i<c.length;i+=1)s=h.indexOf(c.charAt(i)),u|=s<<18-6*i;for(i=0;i<c.length-1;i+=1){for(l=f+v,a=l>>>2;p.length<=a;)p.push(0);p[a]|=(u>>>16-8*i&255)<<8*(d+n*(l%4)),f+=1}}return{value:p,binLen:8*f+r}}(e,t,n,r)};case"BYTES":return function(e,t,n){return function(e,t,r,n){let s,o,i,u;const c=t||[0],a=(r=r||0)>>>3,h=-1===n?3:0;for(o=0;o<e.length;o+=1)s=e.charCodeAt(o),u=o+a,i=u>>>2,c.length<=i&&c.push(0),c[i]|=s<<8*(h+n*(u%4));return{value:c,binLen:8*e.length+r}}(e,t,n,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(l)}return function(e,t,n){return function(e,t,r,n){return p(new Uint8Array(e),t,r,n)}(e,t,n,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(f)}return function(e,t,n){return p(e,t,n,r)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function d(e,t,r,n){switch(e){case"HEX":return function(e){return function(e,t,r,n){const s="0123456789abcdef";let o,i,u="";const c=t/8,a=-1===r?3:0;for(o=0;o<c;o+=1)i=e[o>>>2]>>>8*(a+r*(o%4)),u+=s.charAt(i>>>4&15)+s.charAt(15&i);return n.outputUpper?u.toUpperCase():u}(e,t,r,n)};case"B64":return function(e){return function(e,t,r,n){let s,o,i,u,c,a="";const l=t/8,f=-1===r?3:0;for(s=0;s<l;s+=3)for(u=s+1<l?e[s+1>>>2]:0,c=s+2<l?e[s+2>>>2]:0,i=(e[s>>>2]>>>8*(f+r*(s%4))&255)<<16|(u>>>8*(f+r*((s+1)%4))&255)<<8|c>>>8*(f+r*((s+2)%4))&255,o=0;o<4;o+=1)a+=8*s+6*o<=t?h.charAt(i>>>6*(3-o)&63):n.b64Pad;return a}(e,t,r,n)};case"BYTES":return function(e){return function(e,t,r){let n,s,o="";const i=t/8,u=-1===r?3:0;for(n=0;n<i;n+=1)s=e[n>>>2]>>>8*(u+r*(n%4))&255,o+=String.fromCharCode(s);return o}(e,t,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(l)}return function(e){return function(e,t,r){let n;const s=t/8,o=new ArrayBuffer(s),i=new Uint8Array(o),u=-1===r?3:0;for(n=0;n<s;n+=1)i[n]=e[n>>>2]>>>8*(u+r*(n%4))&255;return o}(e,t,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(f)}return function(e){return function(e,t,r){let n;const s=t/8,o=-1===r?3:0,i=new Uint8Array(s);for(n=0;n<s;n+=1)i[n]=e[n>>>2]>>>8*(o+r*(n%4))&255;return i}(e,t,r)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}const m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],y=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],g=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function P(e){const t={outputUpper:!1,b64Pad:"=",outputLen:-1},r=e||{},n="Output length must be a multiple of 8";if(t.outputUpper=r.outputUpper||!1,r.b64Pad&&(t.b64Pad=r.b64Pad),r.outputLen){if(r.outputLen%8!=0)throw new Error(n);t.outputLen=r.outputLen}else if(r.shakeLen){if(r.shakeLen%8!=0)throw new Error(n);t.outputLen=r.shakeLen}if("boolean"!=typeof t.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof t.b64Pad)throw new Error("Invalid b64Pad formatting option");return t}class q{constructor(e,t,r){const n=r||{};if(this.t=t,this.i=n.encoding||"UTF8",this.numRounds=n.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error("numRounds must a integer >= 1");this.o=e,this.h=[],this.u=0,this.l=!1,this.A=0,this.p=!1,this.U=[],this.R=[]}update(e){let t,r=0;const n=this.T>>>5,s=this.F(e,this.h,this.u),o=s.binLen,i=s.value,u=o>>>5;for(t=0;t<u;t+=n)r+this.T<=o&&(this.m=this.g(i.slice(t,t+n),this.m),r+=this.T);return this.A+=r,this.h=i.slice(r>>>5),this.u=o%this.T,this.l=!0,this}getHash(e,t){let r,n,s=this.H;const o=P(t);if(this.B){if(-1===o.outputLen)throw new Error("Output length must be specified in options");s=o.outputLen}const i=d(e,s,this.v,o);if(this.p&&this.C)return i(this.C(o));for(n=this.Y(this.h.slice(),this.u,this.A,this.S(this.m),s),r=1;r<this.numRounds;r+=1)this.B&&s%32!=0&&(n[n.length-1]&=16777215>>>24-s%32),n=this.Y(n,s,0,this.I(this.o),s);return i(n)}setHMACKey(e,t,r){if(!this.L)throw new Error("Variant does not support HMAC");if(this.l)throw new Error("Cannot set MAC key after calling update");const n=v(t,(r||{}).encoding||"UTF8",this.v);this.M(n(e))}M(e){const t=this.T>>>3,r=t/4-1;let n;if(1!==this.numRounds)throw new Error("Cannot set numRounds with MAC");if(this.p)throw new Error("MAC key already set");for(t<e.binLen/8&&(e.value=this.Y(e.value,e.binLen,0,this.I(this.o),this.H));e.value.length<=r;)e.value.push(0);for(n=0;n<=r;n+=1)this.U[n]=909522486^e.value[n],this.R[n]=1549556828^e.value[n];this.m=this.g(this.U,this.m),this.A=this.T,this.p=!0}getHMAC(e,t){const r=P(t);return d(e,this.H,this.v,r)(this.N())}N(){let e;if(!this.p)throw new Error("Cannot call getHMAC without first setting MAC key");const t=this.Y(this.h.slice(),this.u,this.A,this.S(this.m),this.H);return e=this.g(this.R,this.I(this.o)),e=this.Y(t,this.H,this.T,e,this.H),e}}function b(e,t){return e>>>t|e<<32-t}function _(e,t){return e>>>t}function w(e,t,r){return e&t^~e&r}function A(e,t,r){return e&t^e&r^t&r}function j(e){return b(e,2)^b(e,13)^b(e,22)}function E(e,t){const r=(65535&e)+(65535&t);return(65535&(e>>>16)+(t>>>16)+(r>>>16))<<16|65535&r}function R(e,t,r,n){const s=(65535&e)+(65535&t)+(65535&r)+(65535&n);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(s>>>16))<<16|65535&s}function T(e,t,r,n,s){const o=(65535&e)+(65535&t)+(65535&r)+(65535&n)+(65535&s);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(s>>>16)+(o>>>16))<<16|65535&o}function U(e){return b(e,7)^b(e,18)^_(e,3)}function k(e){return b(e,6)^b(e,11)^b(e,25)}function S(e){let t;return t="SHA-224"==e?y.slice():g.slice(),t}function C(e,t){let r,n,s,o,i,u,c,a,h,l,f;const p=[];for(r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],u=t[5],c=t[6],a=t[7],f=0;f<64;f+=1)p[f]=f<16?e[f]:R(b(v=p[f-2],17)^b(v,19)^_(v,10),p[f-7],U(p[f-15]),p[f-16]),h=T(a,k(i),w(i,u,c),m[f],p[f]),l=E(j(r),A(r,n,s)),a=c,c=u,u=i,i=E(o,h),o=s,s=n,n=r,r=E(h,l);var v;return t[0]=E(r,t[0]),t[1]=E(n,t[1]),t[2]=E(s,t[2]),t[3]=E(o,t[3]),t[4]=E(i,t[4]),t[5]=E(u,t[5]),t[6]=E(c,t[6]),t[7]=E(a,t[7]),t}class L extends q{constructor(e,t,r){if("SHA-224"!==e&&"SHA-256"!==e)throw new Error("Chosen SHA variant is not supported");super(e,t,r);const n=r||{};this.C=this.N,this.L=!0,this.v=-1,this.F=v(this.t,this.i,this.v),this.g=C,this.S=function(e){return e.slice()},this.I=S,this.Y=function(t,r,n,s){return function(e,t,r,n,s){let o,i;const u=15+(t+65>>>9<<4),c=t+r;for(;e.length<=u;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[u]=4294967295&c,e[u-1]=c/4294967296|0,o=0;o<e.length;o+=16)n=C(e.slice(o,o+16),n);return i="SHA-224"===s?[n[0],n[1],n[2],n[3],n[4],n[5],n[6]]:n,i}(t,r,n,s,e)},this.m=S(e),this.T=512,this.H="SHA-224"===e?224:256,this.B=!1,n.hmacKey&&this.M(function(e,t,r,n){const s="hmacKey must include a value and format";if(!t)throw new Error(s);if(void 0===t.value||!t.format)throw new Error(s);return v(t.format,t.encoding||"UTF8",r)(t.value)}(0,n.hmacKey,this.v))}}var H,F=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.handshake=function(e){var t=this;e.timestamp||(e.timestamp=Math.floor((new Date).getTime()/1e3)),e.version&&(this.version=e.version),e.user||delete e.timestamp;var r=this.url+"/server/json.server.php?action=handshake";return r+=s(e,"&"),i(r).then(function(e){return e.json()}).then(function(e){return e.auth&&(t.sessionKey=e.auth),e})},n.ping=function(e){var t="ping";return t+=s(e,"&"),this.request(t,!1)},n.goodbye=function(e){var t="goodbye";return t+=s(e,"&"),this.request(t,!1)},n.encryptPassword=function(e){var t=r(e.password);return r(e.time+t);function r(e){var t=new L("SHA-256","TEXT",{encoding:"UTF8"});return t.update(e),t.getHash("HEX")}},r}(u),B=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.bookmarks=function(){try{return Promise.resolve(this.request("bookmarks")).then(function(e){return e.bookmark?e.bookmark:e})}catch(e){return Promise.reject(e)}},n.getBookmark=function(e){var t="get_bookmark";return t+=s(e,"&"),this.request(t)},n.bookmarkCreate=function(e){var t="bookmark_create";return t+=s(e,"&"),this.request(t)},n.bookmarkEdit=function(e){var t="bookmark_edit";return t+=s(e,"&"),this.request(t)},n.bookmarkDelete=function(e){var t="bookmark_delete";return t+=s(e,"&"),this.request(t)},r}(u),Y=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.catalogs=function(e){try{var t="catalogs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.catalog?e.catalog:e})}catch(e){return Promise.reject(e)}},n.catalog=function(e){var t="catalog";return t+=s(e,"&"),this.request(t)},n.catalogAction=function(e){var t="catalog_action";return t+=s(e,"&"),this.request(t)},n.catalogFile=function(e){var t="catalog_file";return t+=s(e,"&"),this.request(t)},n.catalogAdd=function(e){var t="catalog_add";return t+=s(e,"&"),this.request(t)},n.catalogDelete=function(e){var t="catalog_delete";return t+=s(e,"&"),this.request(t)},r}(u),I=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.genres=function(e){try{var t="genres";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.genre?e.genre:e})}catch(e){return Promise.reject(e)}},n.genre=function(e){try{var t="genre";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},r}(u),O=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.labels=function(e){try{var t="labels";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.label?e.label:e})}catch(e){return Promise.reject(e)}},n.label=function(e){var t="label";return t+=s(e,"&"),this.request(t)},r}(u),N=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.licenses=function(e){try{var t="licenses";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.license?e.license:e})}catch(e){return Promise.reject(e)}},n.license=function(e){var t="license";return t+=s(e,"&"),this.request(t)},r}(u),x=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.liveStreams=function(e){try{var t="live_streams";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.live_stream?e.live_stream:e})}catch(e){return Promise.reject(e)}},n.liveStream=function(e){var t="live_stream";return t+=s(e,"&"),this.request(t)},n.liveStreamCreate=function(e){var t="live_stream_create";return t+=s(e,"&"),this.request(t)},n.liveStreamEdit=function(e){var t="live_stream_edit";return t+=s(e,"&"),this.request(t)},n.liveStreamDelete=function(e){var t="live_stream_delete";return t+=s(e,"&"),this.request(t)},r}(u),M=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.playlists=function(e){try{var t="playlists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.playlist?e.playlist:e})}catch(e){return Promise.reject(e)}},n.smartlists=function(e){try{var t="playlists";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){var t=e.playlist?e.playlist:e;return Array.isArray(t)&&(t=t.filter(function(e){return e.id.toString().match(/^smart_/)})),t})}catch(e){return Promise.reject(e)}},n.playlist=function(e){var t="playlist";return t+=s(e,"&"),this.request(t)},n.playlistCreate=function(e){var t="playlist_create";return t+=s(e,"&"),this.request(t)},n.playlistEdit=function(e){var t="playlist_edit";return t+=s(e,"&"),this.request(t)},n.playlistDelete=function(e){var t="playlist_delete";return t+=s(e,"&"),this.request(t)},n.playlistAddSong=function(e){var t="playlist_add_song";return t+=s(e,"&"),this.request(t)},n.playlistRemoveSong=function(e){var t="playlist_remove_song";return t+=s(e,"&"),this.request(t)},n.playlistGenerate=function(e){try{var t="playlist_generate";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},r}(u),D=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.podcasts=function(e){try{var t="podcasts";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.podcast?e.podcast:e})}catch(e){return Promise.reject(e)}},n.podcast=function(e){try{var t="podcast";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.podcastCreate=function(e){var t="podcast_create";return t+=s(e,"&"),this.request(t)},n.podcastEdit=function(e){var t="podcast_edit";return t+=s(e,"&"),this.request(t)},n.podcastDelete=function(e){var t="podcast_delete";return t+=s(e,"&"),this.request(t)},n.podcastEpisodes=function(e){try{var t="podcast_episodes";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.podcast_episode?e.podcast_episode:e})}catch(e){return Promise.reject(e)}},n.podcastEpisode=function(e){var t="podcast_episode";return t+=s(e,"&"),this.request(t)},n.podcastEpisodeDelete=function(e){var t="podcast_episode_delete";return t+=s(e,"&"),this.request(t)},n.updatePodcast=function(e){var t="update_podcast";return t+=s(e,"&"),this.request(t)},n.deletedPodcastEpisodes=function(e){try{var t="deleted_podcast_episodes";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.deleted_podcast_episode?e.deleted_podcast_episode:e})}catch(e){return Promise.reject(e)}},r}(u),K=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.systemPreferences=function(){try{return Promise.resolve(this.request("system_preferences")).then(function(e){return e.preference?e.preference:e})}catch(e){return Promise.reject(e)}},n.systemPreference=function(e){try{var t="system_preference";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e[0]})}catch(e){return Promise.reject(e)}},n.userPreferences=function(){try{return Promise.resolve(this.request("user_preferences")).then(function(e){return e.preference?e.preference:e})}catch(e){return Promise.reject(e)}},n.userPreference=function(e){try{var t="user_preference";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e[0]})}catch(e){return Promise.reject(e)}},n.preferenceCreate=function(e){var t="preference_create";return t+=s(e,"&"),this.request(t)},n.preferenceEdit=function(e){var t="preference_edit";return t+=s(e,"&"),this.request(t)},n.preferenceDelete=function(e){var t="preference_delete";return t+=s(e,"&"),this.request(t)},r}(u),X=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.shares=function(e){try{var t="shares";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.share?e.share:e})}catch(e){return Promise.reject(e)}},n.share=function(e){var t="share";return t+=s(e,"&"),this.request(t)},n.shareCreate=function(e){var t="share_create";return t+=s(e,"&"),this.request(t)},n.shareEdit=function(e){var t="share_edit";return t+=s(e,"&"),this.request(t)},n.shareDelete=function(e){var t="share_delete";return t+=s(e,"&"),this.request(t)},r}(u),V=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}return e(r,t),r.prototype.last_shouts=function(e){try{var t="last_shouts";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.shout?e.shout:e})}catch(e){return Promise.reject(e)}},r}(u),z=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.songs=function(e){try{var t="songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.song=function(e){var t="song";return t+=s(e,"&"),this.request(t)},n.artistSongs=function(e){try{var t="artist_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.albumSongs=function(e){try{var t="album_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.genreSongs=function(e){try{var t="genre_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.playlistSongs=function(e){try{var t="playlist_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.licenseSongs=function(e){try{var t="license_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.songDelete=function(e){var t="song_delete";return t+=s(e,"&"),this.request(t)},n.urlToSong=function(e){var t="url_to_song";return e.url=encodeURIComponent(e.url),t+=s(e,"&"),this.request(t)},n.searchSongs=function(e){try{var t="search_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.song?e.song:e})}catch(e){return Promise.reject(e)}},n.deletedSongs=function(e){try{var t="deleted_songs";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.deleted_song?e.deleted_song:e})}catch(e){return Promise.reject(e)}},r}(u),G=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.systemUpdate=function(){return this.request("system_update")},n.getIndexes=function(e){try{var t,r=this,n="get_indexes";switch(n+=s(e,"&"),e.type){case"song":return Promise.resolve(r.request(n)).then(function(e){return(t=e).song?t.song:t});case"album":return Promise.resolve(r.request(n)).then(function(e){return(t=e).album?t.album:t});case"artist":case"album_artist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).artist?t.artist:t});case"playlist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).playlist?t.playlist:t});case"podcast":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast?t.podcast:t});case"podcast_episode":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast_episode?t.podcast_episode:t});case"live_stream":return Promise.resolve(r.request(n)).then(function(e){return(t=e).live_stream?t.live_stream:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},n.list=function(e){try{var t="list";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.browse=function(e){try{var t="browse";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.getSimilar=function(e){try{var t,r="get_similar";switch(r+=s(e,"&"),e.type){case"song":return Promise.resolve(this.request(r)).then(function(e){return(t=e).song?t.song:t});case"artist":return Promise.resolve(this.request(r)).then(function(e){return(t=e).artist?t.artist:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},n.stats=function(e){try{var t,r=this,n="stats";switch(n+=s(e,"&"),e.type){case"song":return Promise.resolve(r.request(n)).then(function(e){return(t=e).song?t.song:t});case"album":return Promise.resolve(r.request(n)).then(function(e){return(t=e).album?t.album:t});case"artist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).artist?t.artist:t});case"video":return Promise.resolve(r.request(n)).then(function(e){return(t=e).video?t.video:t});case"playlist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).playlist?t.playlist:t});case"podcast":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast?t.podcast:t});case"podcast_episode":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast_episode?t.podcast_episode:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},n.rate=function(e){var t="rate";return t+=s(e,"&"),this.request(t)},n.flag=function(e){var t="flag";return t+=s(e,"&"),this.request(t)},n.recordPlay=function(e){var t="record_play";return t+=s(e,"&"),this.request(t)},n.scrobble=function(e){var t="scrobble";return t+=s(e,"&"),this.request(t)},n.updateFromTags=function(e){var t="update_from_tags";return t+=s(e,"&"),this.request(t)},n.updateArtistInfo=function(e){var t="update_artist_info";return t+=s(e,"&"),this.request(t)},n.updateArt=function(e){var t="update_art";return t+=s(e,"&"),this.request(t)},n.stream=function(e){var t="stream";return t+=s(e,"&"),this.binary(t)},n.download=function(e){var t="download";return t+=s(e,"&"),this.binary(t)},n.getArt=function(e){var t="get_art";return t+=s(e,"&"),this.binary(t)},n.localplay=function(e){var t="localplay";return t+=s(e,"&"),this.request(t)},n.localplaySongs=function(){return this.request("localplay_songs")},n.democratic=function(e){var t="democratic";return t+=s(e,"&"),this.request(t)},n.advancedSearch=function(e){try{for(var t,r=this,n="advanced_search",o=0;o<e.rules.length;o++){var i=e.rules[o],u=o+1;e["rule_"+u]=i[0],e["rule_"+u+"_operator"]=i[1],e["rule_"+u+"_input"]=i[2],"metadata"===i[0]&&(e["rule_"+u+"_subtype"]=i[3])}switch(delete e.rules,n+=s(e,"&"),e.type){case"song":return Promise.resolve(r.request(n)).then(function(e){return(t=e).song?t.song:t});case"album":return Promise.resolve(r.request(n)).then(function(e){return(t=e).album?t.album:t});case"artist":case"album_artist":case"song_artist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).artist?t.artist:t});case"label":return Promise.resolve(r.request(n)).then(function(e){return(t=e).label?t.label:t});case"playlist":return Promise.resolve(r.request(n)).then(function(e){return(t=e).playlist?t.playlist:t});case"podcast":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast?t.podcast:t});case"podcast_episode":return Promise.resolve(r.request(n)).then(function(e){return(t=e).podcast_episode?t.podcast_episode:t});case"genre":return Promise.resolve(r.request(n)).then(function(e){return(t=e).genre?t.genre:t});case"user":return Promise.resolve(r.request(n)).then(function(e){return(t=e).user?t.user:t});case"video":return Promise.resolve(r.request(n)).then(function(e){return(t=e).video?t.video:t});default:return Promise.resolve(!1)}}catch(e){return Promise.reject(e)}},r}(u),J=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.users=function(){try{return Promise.resolve(this.request("users")).then(function(e){return e.user?e.user:e})}catch(e){return Promise.reject(e)}},n.user=function(e){try{var t="user";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.userCreate=function(e){var t="user_create";return t+=s(e,"&"),this.request(t)},n.register=function(e){var t="register";return t+=s(e,"&"),this.request(t)},n.userUpdate=function(e){var t="user_update";return t+=s(e,"&"),this.request(t)},n.userEdit=function(e){var t="user_edit";return t+=s(e,"&"),this.request(t)},n.userDelete=function(e){var t="user_delete";return t+=s(e,"&"),this.request(t)},n.followers=function(e){try{var t="followers";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.user?e.user:e})}catch(e){return Promise.reject(e)}},n.following=function(e){try{var t="following";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.user?e.user:e})}catch(e){return Promise.reject(e)}},n.toggleFollow=function(e){var t="toggle_follow";return t+=s(e,"&"),this.request(t)},n.timeline=function(e){try{var t="timeline";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.activity?e.activity:e})}catch(e){return Promise.reject(e)}},n.friendsTimeline=function(e){try{var t="friends_timeline";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.activity?e.activity:e})}catch(e){return Promise.reject(e)}},r}(u),Z=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}e(r,t);var n=r.prototype;return n.videos=function(e){try{var t="videos";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.video?e.video:e})}catch(e){return Promise.reject(e)}},n.video=function(e){var t="video";return t+=s(e,"&"),this.request(t)},n.deletedVideos=function(e){try{var t="deleted_videos";return t+=s(e,"&"),Promise.resolve(this.request(t)).then(function(e){return e.deleted_video?e.deleted_video:e})}catch(e){return Promise.reject(e)}},r}(u),$=/*#__PURE__*/function(t){function r(){return t.apply(this,arguments)||this}return e(r,t),r}(u);return H=$,[c,a,F,B,Y,I,O,N,x,M,D,K,X,V,z,G,J,Z].forEach(function(e){Object.getOwnPropertyNames(e.prototype).forEach(function(t){Object.defineProperty(H.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})}),$});
2
2
  //# sourceMappingURL=index.umd.js.map