javascript-ampache 1.1.9 → 1.2.0
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/base.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.m.js.map +1 -1
- package/dist/index.modern.mjs +1 -1
- package/dist/index.modern.mjs.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/playlists/index.d.ts +4 -0
- package/dist/songs/index.d.ts +4 -1
- package/dist/system/index.d.ts +13 -1
- package/dist/system/types.d.ts +7 -0
- package/dist/utils.d.ts +2 -0
- package/package.json +1 -1
- package/src/auth/index.ts +16 -1
- package/src/base.ts +10 -25
- package/src/playlists/index.ts +4 -0
- package/src/songs/index.ts +6 -6
- package/src/system/index.ts +16 -1
- package/src/system/types.ts +8 -0
- package/src/utils.ts +40 -25
package/dist/index.modern.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=Object.prototype.hasOwnProperty;function t(e){try{return encodeURIComponent(e)}catch(e){return null}}var r=function(r,s){s=s||"";var n,i,u=[];for(i in"string"!=typeof s&&(s="?"),r)if(e.call(r,i)){if((n=r[i])||null!=n&&!isNaN(n)||(n=""),i=t(i),n=t(n),null===i||null===n)continue;u.push(i+"="+n)}return u.length?s+u.join("&"):""},s={__proto__:null,default:function(e,t){return t=t||{},new Promise(function(r,s){var n=new XMLHttpRequest,i=[],u=[],o={},a=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:a,headers:{keys:function(){return i},entries:function(){return u},get:function(e){return o[e.toLowerCase()]},has:function(e){return e.toLowerCase()in o}}}};for(var l in n.open(t.method||"get",e,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){i.push(t=t.toLowerCase()),u.push([t,r]),o[t]=o[t]?o[t]+","+r:r}),r(a())},n.onerror=s,n.withCredentials="include"==t.credentials,t.headers)n.setRequestHeader(l,t.headers[l]);n.send(t.body||null)})}},n=self.fetch||(self.fetch=s.default||s);class i{constructor(e){this.sessionKey=void 0,this.url=void 0,this.version="6.6.8",this.useBearerToken=void 0,this.debug=void 0,this.sessionKey=e.sessionKey||null,this.url=e.url,this.useBearerToken=e.useBearerToken||!1,this.debug=e.debug||!1}request(e){let t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.useBearerToken||(t+="&auth="+this.sessionKey),this.debug&&console.debug("javascript-ampache query URL %c"+t,"color: black; font-style: italic; background-color: orange;padding: 2px"),n(t,{method:"GET",headers:{Authorization:this.useBearerToken?"Bearer "+this.sessionKey:void 0}}).then(e=>{if(e.ok)return e.json();throw new Error(e.statusText)})}binary(e){let t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.useBearerToken||(t+="&auth="+this.sessionKey),this.debug&&console.debug("javascript-ampache query URL %c"+t,"color: black; font-style: italic; background-color: orange;padding: 2px"),n(t,{method:"GET",headers:{Authorization:this.useBearerToken?"Bearer "+this.sessionKey:void 0}}).then(e=>e.blob()).then(e=>e)}setSessionKey(e){this.sessionKey=e}rawURL(e,t){let s="&auth="+this.sessionKey,n=e;n+=r(t,"&");let i=this.url+"/server/json.server.php?action="+n+"&version="+this.version;return this.useBearerToken||(i+=s),this.debug&&console.debug("javascript-ampache query URL %c"+i,"color: black; font-style: italic; background-color: orange;padding: 2px"),i}}const u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o="ARRAYBUFFER not supported by this environment",a="UINT8ARRAY not supported by this environment";function l(e,t,r,s){let n,i,u;const o=t||[0],a=(r=r||0)>>>3,l=-1===s?3:0;for(n=0;n<e.length;n+=1)u=n+a,i=u>>>2,o.length<=i&&o.push(0),o[i]|=e[n]<<8*(l+s*(u%4));return{value:o,binLen:8*e.length+r}}function h(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,s){return function(e,t,r,s){let n,i,u,o;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");const a=t||[0],l=(r=r||0)>>>3,h=-1===s?3:0;for(n=0;n<e.length;n+=2){if(i=parseInt(e.substr(n,2),16),isNaN(i))throw new Error("String of HEX type contains invalid characters");for(o=(n>>>1)+l,u=o>>>2;a.length<=u;)a.push(0);a[u]|=i<<8*(h+s*(o%4))}return{value:a,binLen:4*e.length+r}}(e,t,s,r)};case"TEXT":return function(e,s,n){return function(e,t,r,s,n){let i,u,o,a,l,h,c,d,p=0;const f=r||[0],g=(s=s||0)>>>3;if("UTF8"===t)for(c=-1===n?3:0,o=0;o<e.length;o+=1)for(i=e.charCodeAt(o),u=[],128>i?u.push(i):2048>i?(u.push(192|i>>>6),u.push(128|63&i)):55296>i||57344<=i?u.push(224|i>>>12,128|i>>>6&63,128|63&i):(o+=1,i=65536+((1023&i)<<10|1023&e.charCodeAt(o)),u.push(240|i>>>18,128|i>>>12&63,128|i>>>6&63,128|63&i)),a=0;a<u.length;a+=1){for(h=p+g,l=h>>>2;f.length<=l;)f.push(0);f[l]|=u[a]<<8*(c+n*(h%4)),p+=1}else for(c=-1===n?2:0,d="UTF16LE"===t&&1!==n||"UTF16LE"!==t&&1===n,o=0;o<e.length;o+=1){for(i=e.charCodeAt(o),!0===d&&(a=255&i,i=a<<8|i>>>8),h=p+g,l=h>>>2;f.length<=l;)f.push(0);f[l]|=i<<8*(c+n*(h%4)),p+=2}return{value:f,binLen:8*p+s}}(e,t,s,n,r)};case"B64":return function(e,t,s){return function(e,t,r,s){let n,i,o,a,l,h,c,d=0;const p=t||[0],f=(r=r||0)>>>3,g=-1===s?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(i=0;i<e.length;i+=4){for(l=e.substr(i,4),a=0,o=0;o<l.length;o+=1)n=u.indexOf(l.charAt(o)),a|=n<<18-6*o;for(o=0;o<l.length-1;o+=1){for(c=d+f,h=c>>>2;p.length<=h;)p.push(0);p[h]|=(a>>>16-8*o&255)<<8*(g+s*(c%4)),d+=1}}return{value:p,binLen:8*d+r}}(e,t,s,r)};case"BYTES":return function(e,t,s){return function(e,t,r,s){let n,i,u,o;const a=t||[0],l=(r=r||0)>>>3,h=-1===s?3:0;for(i=0;i<e.length;i+=1)n=e.charCodeAt(i),o=i+l,u=o>>>2,a.length<=u&&a.push(0),a[u]|=n<<8*(h+s*(o%4));return{value:a,binLen:8*e.length+r}}(e,t,s,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(o)}return function(e,t,s){return function(e,t,r,s){return l(new Uint8Array(e),t,r,s)}(e,t,s,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(a)}return function(e,t,s){return l(e,t,s,r)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function c(e,t,r,s){switch(e){case"HEX":return function(e){return function(e,t,r,s){const n="0123456789abcdef";let i,u,o="";const a=t/8,l=-1===r?3:0;for(i=0;i<a;i+=1)u=e[i>>>2]>>>8*(l+r*(i%4)),o+=n.charAt(u>>>4&15)+n.charAt(15&u);return s.outputUpper?o.toUpperCase():o}(e,t,r,s)};case"B64":return function(e){return function(e,t,r,s){let n,i,o,a,l,h="";const c=t/8,d=-1===r?3:0;for(n=0;n<c;n+=3)for(a=n+1<c?e[n+1>>>2]:0,l=n+2<c?e[n+2>>>2]:0,o=(e[n>>>2]>>>8*(d+r*(n%4))&255)<<16|(a>>>8*(d+r*((n+1)%4))&255)<<8|l>>>8*(d+r*((n+2)%4))&255,i=0;i<4;i+=1)h+=8*n+6*i<=t?u.charAt(o>>>6*(3-i)&63):s.b64Pad;return h}(e,t,r,s)};case"BYTES":return function(e){return function(e,t,r){let s,n,i="";const u=t/8,o=-1===r?3:0;for(s=0;s<u;s+=1)n=e[s>>>2]>>>8*(o+r*(s%4))&255,i+=String.fromCharCode(n);return i}(e,t,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(o)}return function(e){return function(e,t,r){let s;const n=t/8,i=new ArrayBuffer(n),u=new Uint8Array(i),o=-1===r?3:0;for(s=0;s<n;s+=1)u[s]=e[s>>>2]>>>8*(o+r*(s%4))&255;return i}(e,t,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(a)}return function(e){return function(e,t,r){let s;const n=t/8,i=-1===r?3:0,u=new Uint8Array(n);for(s=0;s<n;s+=1)u[s]=e[s>>>2]>>>8*(i+r*(s%4))&255;return u}(e,t,r)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}const d=[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],p=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],f=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function g(e){const t={outputUpper:!1,b64Pad:"=",outputLen:-1},r=e||{},s="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(s);t.outputLen=r.outputLen}else if(r.shakeLen){if(r.shakeLen%8!=0)throw new Error(s);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 m{constructor(e,t,r){const s=r||{};if(this.t=t,this.i=s.encoding||"UTF8",this.numRounds=s.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 s=this.T>>>5,n=this.F(e,this.h,this.u),i=n.binLen,u=n.value,o=i>>>5;for(t=0;t<o;t+=s)r+this.T<=i&&(this.m=this.g(u.slice(t,t+s),this.m),r+=this.T);return this.A+=r,this.h=u.slice(r>>>5),this.u=i%this.T,this.l=!0,this}getHash(e,t){let r,s,n=this.H;const i=g(t);if(this.B){if(-1===i.outputLen)throw new Error("Output length must be specified in options");n=i.outputLen}const u=c(e,n,this.v,i);if(this.p&&this.C)return u(this.C(i));for(s=this.Y(this.h.slice(),this.u,this.A,this.S(this.m),n),r=1;r<this.numRounds;r+=1)this.B&&n%32!=0&&(s[s.length-1]&=16777215>>>24-n%32),s=this.Y(s,n,0,this.I(this.o),n);return u(s)}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 s=h(t,(r||{}).encoding||"UTF8",this.v);this.M(s(e))}M(e){const t=this.T>>>3,r=t/4-1;let s;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(s=0;s<=r;s+=1)this.U[s]=909522486^e.value[s],this.R[s]=1549556828^e.value[s];this.m=this.g(this.U,this.m),this.A=this.T,this.p=!0}getHMAC(e,t){const r=g(t);return c(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 q(e,t){return e>>>t|e<<32-t}function y(e,t){return e>>>t}function _(e,t,r){return e&t^~e&r}function b(e,t,r){return e&t^e&r^t&r}function w(e){return q(e,2)^q(e,13)^q(e,22)}function v(e,t){const r=(65535&e)+(65535&t);return(65535&(e>>>16)+(t>>>16)+(r>>>16))<<16|65535&r}function A(e,t,r,s){const n=(65535&e)+(65535&t)+(65535&r)+(65535&s);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(s>>>16)+(n>>>16))<<16|65535&n}function E(e,t,r,s,n){const i=(65535&e)+(65535&t)+(65535&r)+(65535&s)+(65535&n);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(s>>>16)+(n>>>16)+(i>>>16))<<16|65535&i}function T(e){return q(e,7)^q(e,18)^y(e,3)}function k(e){return q(e,6)^q(e,11)^q(e,25)}function R(e){let t;return t="SHA-224"==e?p.slice():f.slice(),t}function U(e,t){let r,s,n,i,u,o,a,l,h,c,p;const f=[];for(r=t[0],s=t[1],n=t[2],i=t[3],u=t[4],o=t[5],a=t[6],l=t[7],p=0;p<64;p+=1)f[p]=p<16?e[p]:A(q(g=f[p-2],17)^q(g,19)^y(g,10),f[p-7],T(f[p-15]),f[p-16]),h=E(l,k(u),_(u,o,a),d[p],f[p]),c=v(w(r),b(r,s,n)),l=a,a=o,o=u,u=v(i,h),i=n,n=s,s=r,r=v(h,c);var g;return t[0]=v(r,t[0]),t[1]=v(s,t[1]),t[2]=v(n,t[2]),t[3]=v(i,t[3]),t[4]=v(u,t[4]),t[5]=v(o,t[5]),t[6]=v(a,t[6]),t[7]=v(l,t[7]),t}class S extends m{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 s=r||{};this.C=this.N,this.L=!0,this.v=-1,this.F=h(this.t,this.i,this.v),this.g=U,this.S=function(e){return e.slice()},this.I=R,this.Y=function(t,r,s,n){return function(e,t,r,s,n){let i,u;const o=15+(t+65>>>9<<4),a=t+r;for(;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&a,e[o-1]=a/4294967296|0,i=0;i<e.length;i+=16)s=U(e.slice(i,i+16),s);return u="SHA-224"===n?[s[0],s[1],s[2],s[3],s[4],s[5],s[6]]:s,u}(t,r,s,n,e)},this.m=R(e),this.T=512,this.H="SHA-224"===e?224:256,this.B=!1,s.hmacKey&&this.M(function(e,t,r,s){const n="hmacKey must include a value and format";if(!t)throw new Error(n);if(void 0===t.value||!t.format)throw new Error(n);return h(t.format,t.encoding||"UTF8",r)(t.value)}(0,s.hmacKey,this.v))}}class x extends i{}var C,L;C=x,L=[class extends i{albums(e){let t="albums";return t+=r(e,"&"),this.request(t)}album(e){let t="album";return t+=r(e,"&"),this.request(t)}artistAlbums(e){let t="artist_albums";return t+=r(e,"&"),this.request(t)}genreAlbums(e){let t="genre_albums";return t+=r(e,"&"),this.request(t)}},class extends i{artists(e){let t="artists";return t+=r(e,"&"),this.request(t)}artist(e){let t="artist";return t+=r(e,"&"),this.request(t)}genreArtists(e){let t="genre_artists";return t+=r(e,"&"),this.request(t)}labelArtists(e){let t="label_artists";return t+=r(e,"&"),this.request(t)}},class extends i{handshake(e){e.timestamp||(e.timestamp=Math.floor((new Date).getTime()/1e3)),e.version&&(this.version=e.version),e.user||delete e.timestamp;let t=this.url+"/server/json.server.php?action=handshake";return t+=r(e,"&"),n(t).then(e=>e.json()).then(e=>(e.auth&&(this.sessionKey=e.auth),e))}ping(e){let t="ping";return t+=r(e,"&"),this.request(t)}goodbye(e){let t="goodbye";return t+=r(e,"&"),this.request(t)}lostPassword(e){let t="lost_password";return t+=r(e,"&"),this.request(t)}encryptPassword(e){let t=r(e.password);return r(e.time+t);function r(e){let t=new S("SHA-256","TEXT",{encoding:"UTF8"});return t.update(e),t.getHash("HEX")}}},class extends i{bookmark(e){let t="bookmark";return t+=r(e,"&"),this.request(t)}bookmarks(e){let t="bookmarks";return t+=r(e,"&"),this.request(t)}getBookmark(e){let t="get_bookmark";return t+=r(e,"&"),this.request(t)}bookmarkCreate(e){let t="bookmark_create";return t+=r(e,"&"),this.request(t)}bookmarkEdit(e){let t="bookmark_edit";return t+=r(e,"&"),this.request(t)}bookmarkDelete(e){let t="bookmark_delete";return t+=r(e,"&"),this.request(t)}},class extends i{catalogs(e){let t="catalogs";return t+=r(e,"&"),this.request(t)}catalog(e){let t="catalog";return t+=r(e,"&"),this.request(t)}catalogAction(e){let t="catalog_action";return t+=r(e,"&"),this.request(t)}catalogFile(e){let t="catalog_file";return t+=r(e,"&"),this.request(t)}catalogAdd(e){let t="catalog_add";return t+=r(e,"&"),this.request(t)}catalogDelete(e){let t="catalog_delete";return t+=r(e,"&"),this.request(t)}},class extends i{genres(e){let t="genres";return t+=r(e,"&"),this.request(t)}genre(e){let t="genre";return t+=r(e,"&"),this.request(t)}},class extends i{labels(e){let t="labels";return t+=r(e,"&"),this.request(t)}label(e){let t="label";return t+=r(e,"&"),this.request(t)}},class extends i{licenses(e){let t="licenses";return t+=r(e,"&"),this.request(t)}license(e){let t="license";return t+=r(e,"&"),this.request(t)}},class extends i{liveStreams(e){let t="live_streams";return t+=r(e,"&"),this.request(t)}liveStream(e){let t="live_stream";return t+=r(e,"&"),this.request(t)}liveStreamCreate(e){let t="live_stream_create";return t+=r(e,"&"),this.request(t)}liveStreamEdit(e){let t="live_stream_edit";return t+=r(e,"&"),this.request(t)}liveStreamDelete(e){let t="live_stream_delete";return t+=r(e,"&"),this.request(t)}},class extends i{playlists(e){let t="playlists";return t+=r(e,"&"),this.request(t)}smartlists(e){let t="playlists";return t+=r(e,"&"),this.request(t).then(e=>(Array.isArray(e.playlist)&&(e.playlist=e.playlist.filter(e=>e.id.toString().startsWith("smart_"))),e))}playlist(e){let t="playlist";return t+=r(e,"&"),this.request(t)}userPlaylists(e){let t="user_playlists";return t+=r(e,"&"),this.request(t)}userSmartlists(e){let t="user_smartlists";return t+=r(e,"&"),this.request(t)}playlistCreate(e){let t="playlist_create";return t+=r(e,"&"),this.request(t)}playlistAdd(e){let t="playlist_add";return t+=r(e,"&"),this.request(t)}playlistEdit(e){let t="playlist_edit";return t+=r(e,"&"),this.request(t)}playlistDelete(e){let t="playlist_delete";return t+=r(e,"&"),this.request(t)}playlistAddSong(e){let t="playlist_add_song";return t+=r(e,"&"),this.request(t)}playlistRemoveSong(e){let t="playlist_remove_song";return t+=r(e,"&"),this.request(t)}playlistGenerate(e){let t="playlist_generate";return t+=r(e,"&"),this.request(t)}playlistHash(e){let t="playlist_hash";return t+=r(e,"&"),this.request(t)}},class extends i{podcasts(e){let t="podcasts";return t+=r(e,"&"),this.request(t)}podcast(e){let t="podcast";return t+=r(e,"&"),this.request(t)}podcastCreate(e){let t="podcast_create";return t+=r(e,"&"),this.request(t)}podcastEdit(e){let t="podcast_edit";return t+=r(e,"&"),this.request(t)}podcastDelete(e){let t="podcast_delete";return t+=r(e,"&"),this.request(t)}podcastEpisodes(e){let t="podcast_episodes";return t+=r(e,"&"),this.request(t)}podcastEpisode(e){let t="podcast_episode";return t+=r(e,"&"),this.request(t)}podcastEpisodeDelete(e){let t="podcast_episode_delete";return t+=r(e,"&"),this.request(t)}updatePodcast(e){let t="update_podcast";return t+=r(e,"&"),this.request(t)}deletedPodcastEpisodes(e){let t="deleted_podcast_episodes";return t+=r(e,"&"),this.request(t)}},class extends i{systemPreferences(){return this.request("system_preferences")}systemPreference(e){let t="system_preference";return t+=r(e,"&"),this.request(t)}userPreferences(){return this.request("user_preferences")}userPreference(e){let t="user_preference";return t+=r(e,"&"),this.request(t)}preferenceCreate(e){let t="preference_create";return t+=r(e,"&"),this.request(t)}preferenceEdit(e){let t="preference_edit";return t+=r(e,"&"),this.request(t)}preferenceDelete(e){let t="preference_delete";return t+=r(e,"&"),this.request(t)}},class extends i{shares(e){let t="shares";return t+=r(e,"&"),this.request(t)}share(e){let t="share";return t+=r(e,"&"),this.request(t)}shareCreate(e){let t="share_create";return t+=r(e,"&"),this.request(t)}shareEdit(e){let t="share_edit";return t+=r(e,"&"),this.request(t)}shareDelete(e){let t="share_delete";return t+=r(e,"&"),this.request(t)}},class extends i{last_shouts(e){let t="last_shouts";return t+=r(e,"&"),this.request(t)}},class extends i{songs(e){let t="songs";return t+=r(e,"&"),this.request(t)}song(e){let t="song";return t+=r(e,"&"),this.request(t)}artistSongs(e){let t="artist_songs";return t+=r(e,"&"),this.request(t)}albumSongs(e){let t="album_songs";return t+=r(e,"&"),this.request(t)}genreSongs(e){let t="genre_songs";return t+=r(e,"&"),this.request(t)}playlistSongs(e){let t="playlist_songs";return t+=r(e,"&"),this.request(t)}licenseSongs(e){let t="license_songs";return t+=r(e,"&"),this.request(t)}songDelete(e){let t="song_delete";return t+=r(e,"&"),this.request(t)}urlToSong(e){let t="url_to_song";return e.url=encodeURIComponent(e.url),t+=r(e,"&"),this.request(t)}searchSongs(e){let t="search_songs";return t+=r(e,"&"),this.request(t)}deletedSongs(e){let t="deleted_songs";return t+=r(e,"&"),this.request(t)}},class extends i{constructor(...e){super(...e),this.search=this.advancedSearch}systemUpdate(){return this.request("system_update")}getIndexes(e){let t,s="get_indexes";switch(s+=r(e,"&"),e.type){case"song":case"album":case"artist":case"album_artist":case"playlist":case"podcast":case"podcast_episode":case"live_stream":t=this.request(s);break;default:return!1}return t}list(e){let t="list";return t+=r(e,"&"),this.request(t)}index(e){let t="index";return t+=r(e,"&"),this.request(t)}browse(e){let t="browse";return t+=r(e,"&"),this.request(t)}getSimilar(e){let t,s="get_similar";switch(s+=r(e,"&"),e.type){case"song":case"artist":t=this.request(s);break;default:return!1}return t}stats(e){let t,s="stats";switch(s+=r(e,"&"),e.type){case"song":case"album":case"artist":case"video":case"playlist":case"podcast":case"podcast_episode":t=this.request(s);break;default:return!1}return t}rate(e){let t="rate";return t+=r(e,"&"),this.request(t)}flag(e){let t="flag";return t+=r(e,"&"),this.request(t)}recordPlay(e){let t="record_play";return t+=r(e,"&"),this.request(t)}scrobble(e){let t="scrobble";return t+=r(e,"&"),this.request(t)}updateFromTags(e){let t="update_from_tags";return t+=r(e,"&"),this.request(t)}updateArtistInfo(e){let t="update_artist_info";return t+=r(e,"&"),this.request(t)}updateArt(e){let t="update_art";return t+=r(e,"&"),this.request(t)}stream(e){let t="stream";return t+=r(e,"&"),this.binary(t)}download(e){let t="download";return t+=r(e,"&"),this.binary(t)}getArt(e){let t="get_art";return t+=r(e,"&"),this.binary(t)}localplay(e){let t="localplay";return t+=r(e,"&"),this.request(t)}localplaySongs(){return this.request("localplay_songs")}democratic(e){let t="democratic";return t+=r(e,"&"),this.request(t)}nowPlaying(){return this.request("now_playing")}player(e){let t="player";return t+=r(e,"&"),this.request(t)}advancedSearch(e){let t,s="advanced_search";for(let t=0;t<e.rules.length;t++){const r=e.rules[t],s=t+1;e["rule_"+s]=r[0],e["rule_"+s+"_operator"]=r[1],e["rule_"+s+"_input"]=r[2],"metadata"===r[0]&&(e["rule_"+s+"_subtype"]=r[3])}switch(delete e.rules,s+=r(e,"&"),e.type){case"song":case"album":case"artist":case"album_artist":case"song_artist":case"label":case"playlist":case"podcast":case"podcast_episode":case"genre":case"user":case"video":t=this.request(s);break;default:return!1}return t}searchGroup(e){let t,s="search_group";for(let t=0;t<e.rules.length;t++){const r=e.rules[t],s=t+1;e["rule_"+s]=r[0],e["rule_"+s+"_operator"]=r[1],e["rule_"+s+"_input"]=r[2],"metadata"===r[0]&&(e["rule_"+s+"_subtype"]=r[3])}return delete e.rules,s+=r(e,"&"),t=this.request(s),t}},class extends i{users(){return this.request("users")}user(e){let t="user";return t+=r(e,"&"),this.request(t)}userCreate(e){let t="user_create";return t+=r(e,"&"),this.request(t)}register(e){let t="register";return t+=r(e,"&"),this.request(t)}userUpdate(e){let t="user_update";return t+=r(e,"&"),this.request(t)}userEdit(e){let t="user_edit";return t+=r(e,"&"),this.request(t)}userDelete(e){let t="user_delete";return t+=r(e,"&"),this.request(t)}followers(e){let t="followers";return t+=r(e,"&"),this.request(t)}following(e){let t="following";return t+=r(e,"&"),this.request(t)}toggleFollow(e){let t="toggle_follow";return t+=r(e,"&"),this.request(t)}timeline(e){let t="timeline";return t+=r(e,"&"),this.request(t)}friendsTimeline(e){let t="friends_timeline";return t+=r(e,"&"),this.request(t)}},class extends i{videos(e){let t="videos";return t+=r(e,"&"),this.request(t)}video(e){let t="video";return t+=r(e,"&"),this.request(t)}deletedVideos(e){let t="deleted_videos";return t+=r(e,"&"),this.request(t)}}],L.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(t=>{Object.defineProperty(C.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})});export{x as default};
|
|
1
|
+
var e=Object.prototype.hasOwnProperty;function t(e){try{return encodeURIComponent(e)}catch(e){return null}}var r=function(r,s){s=s||"";var n,i,u=[];for(i in"string"!=typeof s&&(s="?"),r)if(e.call(r,i)){if((n=r[i])||null!=n&&!isNaN(n)||(n=""),i=t(i),n=t(n),null===i||null===n)continue;u.push(i+"="+n)}return u.length?s+u.join("&"):""},s={__proto__:null,default:function(e,t){return t=t||{},new Promise(function(r,s){var n=new XMLHttpRequest,i=[],u=[],o={},a=function(){return{ok:2==(n.status/100|0),statusText:n.statusText,status:n.status,url:n.responseURL,text:function(){return Promise.resolve(n.responseText)},json:function(){return Promise.resolve(n.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([n.response]))},clone:a,headers:{keys:function(){return i},entries:function(){return u},get:function(e){return o[e.toLowerCase()]},has:function(e){return e.toLowerCase()in o}}}};for(var l in n.open(t.method||"get",e,!0),n.onload=function(){n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){i.push(t=t.toLowerCase()),u.push([t,r]),o[t]=o[t]?o[t]+","+r:r}),r(a())},n.onerror=s,n.withCredentials="include"==t.credentials,t.headers)n.setRequestHeader(l,t.headers[l]);n.send(t.body||null)})}},n=self.fetch||(self.fetch=s.default||s);const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u="ARRAYBUFFER not supported by this environment",o="UINT8ARRAY not supported by this environment";function a(e,t,r,s){let n,i,u;const o=t||[0],a=(r=r||0)>>>3,l=-1===s?3:0;for(n=0;n<e.length;n+=1)u=n+a,i=u>>>2,o.length<=i&&o.push(0),o[i]|=e[n]<<8*(l+s*(u%4));return{value:o,binLen:8*e.length+r}}function l(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,s){return function(e,t,r,s){let n,i,u,o;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");const a=t||[0],l=(r=r||0)>>>3,h=-1===s?3:0;for(n=0;n<e.length;n+=2){if(i=parseInt(e.substr(n,2),16),isNaN(i))throw new Error("String of HEX type contains invalid characters");for(o=(n>>>1)+l,u=o>>>2;a.length<=u;)a.push(0);a[u]|=i<<8*(h+s*(o%4))}return{value:a,binLen:4*e.length+r}}(e,t,s,r)};case"TEXT":return function(e,s,n){return function(e,t,r,s,n){let i,u,o,a,l,h,c,d,p=0;const f=r||[0],g=(s=s||0)>>>3;if("UTF8"===t)for(c=-1===n?3:0,o=0;o<e.length;o+=1)for(i=e.charCodeAt(o),u=[],128>i?u.push(i):2048>i?(u.push(192|i>>>6),u.push(128|63&i)):55296>i||57344<=i?u.push(224|i>>>12,128|i>>>6&63,128|63&i):(o+=1,i=65536+((1023&i)<<10|1023&e.charCodeAt(o)),u.push(240|i>>>18,128|i>>>12&63,128|i>>>6&63,128|63&i)),a=0;a<u.length;a+=1){for(h=p+g,l=h>>>2;f.length<=l;)f.push(0);f[l]|=u[a]<<8*(c+n*(h%4)),p+=1}else for(c=-1===n?2:0,d="UTF16LE"===t&&1!==n||"UTF16LE"!==t&&1===n,o=0;o<e.length;o+=1){for(i=e.charCodeAt(o),!0===d&&(a=255&i,i=a<<8|i>>>8),h=p+g,l=h>>>2;f.length<=l;)f.push(0);f[l]|=i<<8*(c+n*(h%4)),p+=2}return{value:f,binLen:8*p+s}}(e,t,s,n,r)};case"B64":return function(e,t,s){return function(e,t,r,s){let n,u,o,a,l,h,c,d=0;const p=t||[0],f=(r=r||0)>>>3,g=-1===s?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(u=0;u<e.length;u+=4){for(l=e.substr(u,4),a=0,o=0;o<l.length;o+=1)n=i.indexOf(l.charAt(o)),a|=n<<18-6*o;for(o=0;o<l.length-1;o+=1){for(c=d+f,h=c>>>2;p.length<=h;)p.push(0);p[h]|=(a>>>16-8*o&255)<<8*(g+s*(c%4)),d+=1}}return{value:p,binLen:8*d+r}}(e,t,s,r)};case"BYTES":return function(e,t,s){return function(e,t,r,s){let n,i,u,o;const a=t||[0],l=(r=r||0)>>>3,h=-1===s?3:0;for(i=0;i<e.length;i+=1)n=e.charCodeAt(i),o=i+l,u=o>>>2,a.length<=u&&a.push(0),a[u]|=n<<8*(h+s*(o%4));return{value:a,binLen:8*e.length+r}}(e,t,s,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(u)}return function(e,t,s){return function(e,t,r,s){return a(new Uint8Array(e),t,r,s)}(e,t,s,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(o)}return function(e,t,s){return a(e,t,s,r)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function h(e,t,r,s){switch(e){case"HEX":return function(e){return function(e,t,r,s){const n="0123456789abcdef";let i,u,o="";const a=t/8,l=-1===r?3:0;for(i=0;i<a;i+=1)u=e[i>>>2]>>>8*(l+r*(i%4)),o+=n.charAt(u>>>4&15)+n.charAt(15&u);return s.outputUpper?o.toUpperCase():o}(e,t,r,s)};case"B64":return function(e){return function(e,t,r,s){let n,u,o,a,l,h="";const c=t/8,d=-1===r?3:0;for(n=0;n<c;n+=3)for(a=n+1<c?e[n+1>>>2]:0,l=n+2<c?e[n+2>>>2]:0,o=(e[n>>>2]>>>8*(d+r*(n%4))&255)<<16|(a>>>8*(d+r*((n+1)%4))&255)<<8|l>>>8*(d+r*((n+2)%4))&255,u=0;u<4;u+=1)h+=8*n+6*u<=t?i.charAt(o>>>6*(3-u)&63):s.b64Pad;return h}(e,t,r,s)};case"BYTES":return function(e){return function(e,t,r){let s,n,i="";const u=t/8,o=-1===r?3:0;for(s=0;s<u;s+=1)n=e[s>>>2]>>>8*(o+r*(s%4))&255,i+=String.fromCharCode(n);return i}(e,t,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error(u)}return function(e){return function(e,t,r){let s;const n=t/8,i=new ArrayBuffer(n),u=new Uint8Array(i),o=-1===r?3:0;for(s=0;s<n;s+=1)u[s]=e[s>>>2]>>>8*(o+r*(s%4))&255;return i}(e,t,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error(o)}return function(e){return function(e,t,r){let s;const n=t/8,i=-1===r?3:0,u=new Uint8Array(n);for(s=0;s<n;s+=1)u[s]=e[s>>>2]>>>8*(i+r*(s%4))&255;return u}(e,t,r)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}const c=[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],d=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],p=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function f(e){const t={outputUpper:!1,b64Pad:"=",outputLen:-1},r=e||{},s="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(s);t.outputLen=r.outputLen}else if(r.shakeLen){if(r.shakeLen%8!=0)throw new Error(s);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 g{constructor(e,t,r){const s=r||{};if(this.t=t,this.i=s.encoding||"UTF8",this.numRounds=s.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 s=this.T>>>5,n=this.F(e,this.h,this.u),i=n.binLen,u=n.value,o=i>>>5;for(t=0;t<o;t+=s)r+this.T<=i&&(this.m=this.g(u.slice(t,t+s),this.m),r+=this.T);return this.A+=r,this.h=u.slice(r>>>5),this.u=i%this.T,this.l=!0,this}getHash(e,t){let r,s,n=this.H;const i=f(t);if(this.B){if(-1===i.outputLen)throw new Error("Output length must be specified in options");n=i.outputLen}const u=h(e,n,this.v,i);if(this.p&&this.C)return u(this.C(i));for(s=this.Y(this.h.slice(),this.u,this.A,this.S(this.m),n),r=1;r<this.numRounds;r+=1)this.B&&n%32!=0&&(s[s.length-1]&=16777215>>>24-n%32),s=this.Y(s,n,0,this.I(this.o),n);return u(s)}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 s=l(t,(r||{}).encoding||"UTF8",this.v);this.M(s(e))}M(e){const t=this.T>>>3,r=t/4-1;let s;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(s=0;s<=r;s+=1)this.U[s]=909522486^e.value[s],this.R[s]=1549556828^e.value[s];this.m=this.g(this.U,this.m),this.A=this.T,this.p=!0}getHMAC(e,t){const r=f(t);return h(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 m(e,t){return e>>>t|e<<32-t}function q(e,t){return e>>>t}function y(e,t,r){return e&t^~e&r}function _(e,t,r){return e&t^e&r^t&r}function b(e){return m(e,2)^m(e,13)^m(e,22)}function w(e,t){const r=(65535&e)+(65535&t);return(65535&(e>>>16)+(t>>>16)+(r>>>16))<<16|65535&r}function v(e,t,r,s){const n=(65535&e)+(65535&t)+(65535&r)+(65535&s);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(s>>>16)+(n>>>16))<<16|65535&n}function A(e,t,r,s,n){const i=(65535&e)+(65535&t)+(65535&r)+(65535&s)+(65535&n);return(65535&(e>>>16)+(t>>>16)+(r>>>16)+(s>>>16)+(n>>>16)+(i>>>16))<<16|65535&i}function E(e){return m(e,7)^m(e,18)^q(e,3)}function T(e){return m(e,6)^m(e,11)^m(e,25)}function k(e){let t;return t="SHA-224"==e?d.slice():p.slice(),t}function R(e,t){let r,s,n,i,u,o,a,l,h,d,p;const f=[];for(r=t[0],s=t[1],n=t[2],i=t[3],u=t[4],o=t[5],a=t[6],l=t[7],p=0;p<64;p+=1)f[p]=p<16?e[p]:v(m(g=f[p-2],17)^m(g,19)^q(g,10),f[p-7],E(f[p-15]),f[p-16]),h=A(l,T(u),y(u,o,a),c[p],f[p]),d=w(b(r),_(r,s,n)),l=a,a=o,o=u,u=w(i,h),i=n,n=s,s=r,r=w(h,d);var g;return t[0]=w(r,t[0]),t[1]=w(s,t[1]),t[2]=w(n,t[2]),t[3]=w(i,t[3]),t[4]=w(u,t[4]),t[5]=w(o,t[5]),t[6]=w(a,t[6]),t[7]=w(l,t[7]),t}class U extends g{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 s=r||{};this.C=this.N,this.L=!0,this.v=-1,this.F=l(this.t,this.i,this.v),this.g=R,this.S=function(e){return e.slice()},this.I=k,this.Y=function(t,r,s,n){return function(e,t,r,s,n){let i,u;const o=15+(t+65>>>9<<4),a=t+r;for(;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&a,e[o-1]=a/4294967296|0,i=0;i<e.length;i+=16)s=R(e.slice(i,i+16),s);return u="SHA-224"===n?[s[0],s[1],s[2],s[3],s[4],s[5],s[6]]:s,u}(t,r,s,n,e)},this.m=k(e),this.T=512,this.H="SHA-224"===e?224:256,this.B=!1,s.hmacKey&&this.M(function(e,t,r,s){const n="hmacKey must include a value and format";if(!t)throw new Error(n);if(void 0===t.value||!t.format)throw new Error(n);return l(t.format,t.encoding||"UTF8",r)(t.value)}(0,s.hmacKey,this.v))}}function S(e,t){let r="javascript-ampache query URL";t.useBearerToken&&(r="(Using Bearer token, auth added for debugging) - "+r,e+="&auth="+t.sessionKey),console.debug(r+" %c"+e,"color: black; font-style: italic; background-color: orange;padding: 2px")}class B{constructor(e){this.sessionKey=void 0,this.url=void 0,this.version="6.6.8",this.useBearerToken=void 0,this.debug=void 0,this.sessionKey=e.sessionKey||null,this.url=e.url,this.useBearerToken=e.useBearerToken||!1,this.debug=e.debug||!1}request(e){let t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.useBearerToken||(t+="&auth="+this.sessionKey),this.debug&&S(t,this),n(t,{method:"GET",headers:this.useBearerToken?{Authorization:"Bearer "+this.sessionKey}:{}}).then(e=>{if(e.ok)return e.json();throw new Error(e.statusText)})}binary(e){let t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.useBearerToken||(t+="&auth="+this.sessionKey),this.debug&&S(t,this),n(t,{method:"GET",headers:this.useBearerToken?{Authorization:"Bearer "+this.sessionKey}:{}}).then(e=>e.blob()).then(e=>e)}setSessionKey(e){this.sessionKey=e}rawURL(e,t){let s=e;s+=r(t,"&");let n=this.url+"/server/json.server.php?action="+s+"&version="+this.version;return this.useBearerToken||(n+="&auth="+this.sessionKey),this.debug&&S(n,this),n}}class C extends B{}var x,L;x=C,L=[class extends B{albums(e){let t="albums";return t+=r(e,"&"),this.request(t)}album(e){let t="album";return t+=r(e,"&"),this.request(t)}artistAlbums(e){let t="artist_albums";return t+=r(e,"&"),this.request(t)}genreAlbums(e){let t="genre_albums";return t+=r(e,"&"),this.request(t)}},class extends B{artists(e){let t="artists";return t+=r(e,"&"),this.request(t)}artist(e){let t="artist";return t+=r(e,"&"),this.request(t)}genreArtists(e){let t="genre_artists";return t+=r(e,"&"),this.request(t)}labelArtists(e){let t="label_artists";return t+=r(e,"&"),this.request(t)}},class extends B{handshake(e){let t=e.auth;e.timestamp||(e.timestamp=Math.floor((new Date).getTime()/1e3)),e.version&&(this.version=e.version),e.user||delete e.timestamp,this.useBearerToken&&delete e.auth;let s=this.url+"/server/json.server.php?action=handshake";return s+=r(e,"&"),this.debug&&S(s,this),n(s,{method:"GET",headers:this.useBearerToken?{Authorization:"Bearer "+t}:{}}).then(e=>e.json()).then(e=>(e.auth&&(this.sessionKey=e.auth),e))}ping(e){let t="ping";return t+=r(e,"&"),this.request(t)}goodbye(e){let t="goodbye";return t+=r(e,"&"),this.request(t)}lostPassword(e){let t="lost_password";return t+=r(e,"&"),this.request(t)}encryptPassword(e){let t=r(e.password);return r(e.time+t);function r(e){let t=new U("SHA-256","TEXT",{encoding:"UTF8"});return t.update(e),t.getHash("HEX")}}},class extends B{bookmark(e){let t="bookmark";return t+=r(e,"&"),this.request(t)}bookmarks(e){let t="bookmarks";return t+=r(e,"&"),this.request(t)}getBookmark(e){let t="get_bookmark";return t+=r(e,"&"),this.request(t)}bookmarkCreate(e){let t="bookmark_create";return t+=r(e,"&"),this.request(t)}bookmarkEdit(e){let t="bookmark_edit";return t+=r(e,"&"),this.request(t)}bookmarkDelete(e){let t="bookmark_delete";return t+=r(e,"&"),this.request(t)}},class extends B{catalogs(e){let t="catalogs";return t+=r(e,"&"),this.request(t)}catalog(e){let t="catalog";return t+=r(e,"&"),this.request(t)}catalogAction(e){let t="catalog_action";return t+=r(e,"&"),this.request(t)}catalogFile(e){let t="catalog_file";return t+=r(e,"&"),this.request(t)}catalogAdd(e){let t="catalog_add";return t+=r(e,"&"),this.request(t)}catalogDelete(e){let t="catalog_delete";return t+=r(e,"&"),this.request(t)}},class extends B{genres(e){let t="genres";return t+=r(e,"&"),this.request(t)}genre(e){let t="genre";return t+=r(e,"&"),this.request(t)}},class extends B{labels(e){let t="labels";return t+=r(e,"&"),this.request(t)}label(e){let t="label";return t+=r(e,"&"),this.request(t)}},class extends B{licenses(e){let t="licenses";return t+=r(e,"&"),this.request(t)}license(e){let t="license";return t+=r(e,"&"),this.request(t)}},class extends B{liveStreams(e){let t="live_streams";return t+=r(e,"&"),this.request(t)}liveStream(e){let t="live_stream";return t+=r(e,"&"),this.request(t)}liveStreamCreate(e){let t="live_stream_create";return t+=r(e,"&"),this.request(t)}liveStreamEdit(e){let t="live_stream_edit";return t+=r(e,"&"),this.request(t)}liveStreamDelete(e){let t="live_stream_delete";return t+=r(e,"&"),this.request(t)}},class extends B{playlists(e){let t="playlists";return t+=r(e,"&"),this.request(t)}smartlists(e){let t="playlists";return t+=r(e,"&"),this.request(t).then(e=>(Array.isArray(e.playlist)&&(e.playlist=e.playlist.filter(e=>e.id.toString().startsWith("smart_"))),e))}playlist(e){let t="playlist";return t+=r(e,"&"),this.request(t)}userPlaylists(e){let t="user_playlists";return t+=r(e,"&"),this.request(t)}userSmartlists(e){let t="user_smartlists";return t+=r(e,"&"),this.request(t)}playlistCreate(e){let t="playlist_create";return t+=r(e,"&"),this.request(t)}playlistAdd(e){let t="playlist_add";return t+=r(e,"&"),this.request(t)}playlistEdit(e){let t="playlist_edit";return t+=r(e,"&"),this.request(t)}playlistDelete(e){let t="playlist_delete";return t+=r(e,"&"),this.request(t)}playlistAddSong(e){let t="playlist_add_song";return t+=r(e,"&"),this.request(t)}playlistRemoveSong(e){let t="playlist_remove_song";return t+=r(e,"&"),this.request(t)}playlistGenerate(e){let t="playlist_generate";return t+=r(e,"&"),this.request(t)}playlistHash(e){let t="playlist_hash";return t+=r(e,"&"),this.request(t)}},class extends B{podcasts(e){let t="podcasts";return t+=r(e,"&"),this.request(t)}podcast(e){let t="podcast";return t+=r(e,"&"),this.request(t)}podcastCreate(e){let t="podcast_create";return t+=r(e,"&"),this.request(t)}podcastEdit(e){let t="podcast_edit";return t+=r(e,"&"),this.request(t)}podcastDelete(e){let t="podcast_delete";return t+=r(e,"&"),this.request(t)}podcastEpisodes(e){let t="podcast_episodes";return t+=r(e,"&"),this.request(t)}podcastEpisode(e){let t="podcast_episode";return t+=r(e,"&"),this.request(t)}podcastEpisodeDelete(e){let t="podcast_episode_delete";return t+=r(e,"&"),this.request(t)}updatePodcast(e){let t="update_podcast";return t+=r(e,"&"),this.request(t)}deletedPodcastEpisodes(e){let t="deleted_podcast_episodes";return t+=r(e,"&"),this.request(t)}},class extends B{systemPreferences(){return this.request("system_preferences")}systemPreference(e){let t="system_preference";return t+=r(e,"&"),this.request(t)}userPreferences(){return this.request("user_preferences")}userPreference(e){let t="user_preference";return t+=r(e,"&"),this.request(t)}preferenceCreate(e){let t="preference_create";return t+=r(e,"&"),this.request(t)}preferenceEdit(e){let t="preference_edit";return t+=r(e,"&"),this.request(t)}preferenceDelete(e){let t="preference_delete";return t+=r(e,"&"),this.request(t)}},class extends B{shares(e){let t="shares";return t+=r(e,"&"),this.request(t)}share(e){let t="share";return t+=r(e,"&"),this.request(t)}shareCreate(e){let t="share_create";return t+=r(e,"&"),this.request(t)}shareEdit(e){let t="share_edit";return t+=r(e,"&"),this.request(t)}shareDelete(e){let t="share_delete";return t+=r(e,"&"),this.request(t)}},class extends B{last_shouts(e){let t="last_shouts";return t+=r(e,"&"),this.request(t)}},class extends B{songs(e){let t="songs";return t+=r(e,"&"),this.request(t)}song(e){let t="song";return t+=r(e,"&"),this.request(t)}artistSongs(e){let t="artist_songs";return t+=r(e,"&"),this.request(t)}albumSongs(e){let t="album_songs";return t+=r(e,"&"),this.request(t)}genreSongs(e){let t="genre_songs";return t+=r(e,"&"),this.request(t)}playlistSongs(e){let t="playlist_songs";return t+=r(e,"&"),this.request(t)}licenseSongs(e){let t="license_songs";return t+=r(e,"&"),this.request(t)}songDelete(e){let t="song_delete";return t+=r(e,"&"),this.request(t)}songTags(e){let t="song_tags";return t+=r(e,"&"),this.request(t)}urlToSong(e){let t="url_to_song";return e.url=encodeURIComponent(e.url),t+=r(e,"&"),this.request(t)}searchSongs(e){let t="search_songs";return t+=r(e,"&"),this.request(t)}deletedSongs(e){let t="deleted_songs";return t+=r(e,"&"),this.request(t)}},class extends B{constructor(...e){super(...e),this.search=this.advancedSearch}systemUpdate(){return this.request("system_update")}getIndexes(e){let t,s="get_indexes";switch(s+=r(e,"&"),e.type){case"song":case"album":case"artist":case"album_artist":case"playlist":case"podcast":case"podcast_episode":case"live_stream":t=this.request(s);break;default:return!1}return t}list(e){let t="list";return t+=r(e,"&"),this.request(t)}index(e){let t="index";return t+=r(e,"&"),this.request(t)}browse(e){let t="browse";return t+=r(e,"&"),this.request(t)}getSimilar(e){let t,s="get_similar";switch(s+=r(e,"&"),e.type){case"song":case"artist":t=this.request(s);break;default:return!1}return t}stats(e){let t,s="stats";switch(s+=r(e,"&"),e.type){case"song":case"album":case"artist":case"video":case"playlist":case"podcast":case"podcast_episode":t=this.request(s);break;default:return!1}return t}rate(e){let t="rate";return t+=r(e,"&"),this.request(t)}flag(e){let t="flag";return t+=r(e,"&"),this.request(t)}recordPlay(e){let t="record_play";return t+=r(e,"&"),this.request(t)}scrobble(e){let t="scrobble";return t+=r(e,"&"),this.request(t)}updateFromTags(e){let t="update_from_tags";return t+=r(e,"&"),this.request(t)}updateArtistInfo(e){let t="update_artist_info";return t+=r(e,"&"),this.request(t)}updateArt(e){let t="update_art";return t+=r(e,"&"),this.request(t)}stream(e){let t="stream";return t+=r(e,"&"),this.binary(t)}download(e){let t="download";return t+=r(e,"&"),this.binary(t)}getArt(e){let t="get_art";return t+=r(e,"&"),this.binary(t)}localplay(e){let t="localplay";return t+=r(e,"&"),this.request(t)}localplaySongs(){return this.request("localplay_songs")}democratic(e){let t="democratic";return t+=r(e,"&"),this.request(t)}nowPlaying(){return this.request("now_playing")}player(e){let t="player";return t+=r(e,"&"),this.request(t)}searchRules(e){let t="search_rules";return t+=r(e,"&"),this.request(t)}advancedSearch(e){let t,s="advanced_search";for(let t=0;t<e.rules.length;t++){const r=e.rules[t],s=t+1;e["rule_"+s]=r[0],e["rule_"+s+"_operator"]=r[1],e["rule_"+s+"_input"]=r[2],"metadata"===r[0]&&(e["rule_"+s+"_subtype"]=r[3])}switch(delete e.rules,s+=r(e,"&"),e.type){case"song":case"album":case"artist":case"album_artist":case"song_artist":case"label":case"playlist":case"podcast":case"podcast_episode":case"genre":case"user":case"video":t=this.request(s);break;default:return!1}return t}searchGroup(e){let t,s="search_group";for(let t=0;t<e.rules.length;t++){const r=e.rules[t],s=t+1;e["rule_"+s]=r[0],e["rule_"+s+"_operator"]=r[1],e["rule_"+s+"_input"]=r[2],"metadata"===r[0]&&(e["rule_"+s+"_subtype"]=r[3])}return delete e.rules,s+=r(e,"&"),t=this.request(s),t}},class extends B{users(){return this.request("users")}user(e){let t="user";return t+=r(e,"&"),this.request(t)}userCreate(e){let t="user_create";return t+=r(e,"&"),this.request(t)}register(e){let t="register";return t+=r(e,"&"),this.request(t)}userUpdate(e){let t="user_update";return t+=r(e,"&"),this.request(t)}userEdit(e){let t="user_edit";return t+=r(e,"&"),this.request(t)}userDelete(e){let t="user_delete";return t+=r(e,"&"),this.request(t)}followers(e){let t="followers";return t+=r(e,"&"),this.request(t)}following(e){let t="following";return t+=r(e,"&"),this.request(t)}toggleFollow(e){let t="toggle_follow";return t+=r(e,"&"),this.request(t)}timeline(e){let t="timeline";return t+=r(e,"&"),this.request(t)}friendsTimeline(e){let t="friends_timeline";return t+=r(e,"&"),this.request(t)}},class extends B{videos(e){let t="videos";return t+=r(e,"&"),this.request(t)}video(e){let t="video";return t+=r(e,"&"),this.request(t)}deletedVideos(e){let t="deleted_videos";return t+=r(e,"&"),this.request(t)}}],L.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(t=>{Object.defineProperty(x.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})});export{C as default};
|
|
2
2
|
//# sourceMappingURL=index.modern.mjs.map
|