javascript-ampache 1.0.6 → 1.0.8
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/albums/index.d.ts +10 -4
- package/dist/artists/index.d.ts +10 -4
- package/dist/base.d.ts +10 -0
- package/dist/bookmarks/index.d.ts +1 -1
- package/dist/catalogs/index.d.ts +6 -2
- package/dist/genres/index.d.ts +4 -2
- 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/labels/index.d.ts +4 -2
- package/dist/licenses/index.d.ts +4 -2
- package/dist/live-streams/index.d.ts +4 -2
- package/dist/playlists/index.d.ts +11 -5
- package/dist/podcasts/index.d.ts +7 -3
- package/dist/shares/index.d.ts +4 -2
- package/dist/songs/index.d.ts +16 -6
- package/dist/system/index.d.ts +15 -7
- package/dist/users/index.d.ts +6 -2
- package/package.json +6 -6
- package/src/albums/index.ts +10 -4
- package/src/artists/index.ts +10 -4
- package/src/base.ts +13 -2
- package/src/bookmarks/index.ts +1 -1
- package/src/catalogs/index.ts +6 -2
- package/src/genres/index.ts +4 -2
- package/src/labels/index.ts +4 -2
- package/src/licenses/index.ts +4 -2
- package/src/live-streams/index.ts +4 -2
- package/src/playlists/index.ts +11 -5
- package/src/podcasts/index.ts +7 -3
- package/src/shares/index.ts +4 -2
- package/src/songs/index.ts +16 -6
- package/src/system/index.ts +15 -7
- package/src/users/index.ts +6 -2
package/dist/albums/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Album } from './types';
|
|
2
|
-
import { Base, BinaryBoolean,
|
|
2
|
+
import { Base, BinaryBoolean, ExtendedPagination, UID } from '../base';
|
|
3
3
|
export declare class Albums extends Base {
|
|
4
4
|
/**
|
|
5
5
|
* This returns albums based on the provided search filters
|
|
@@ -11,6 +11,8 @@ export declare class Albums extends Base {
|
|
|
11
11
|
* @param [params.include] albums, songs (include child objects in the response)
|
|
12
12
|
* @param [params.offset]
|
|
13
13
|
* @param [params.limit]
|
|
14
|
+
* @param [params.cond]
|
|
15
|
+
* @param [params.sort]
|
|
14
16
|
* @see {@link https://ampache.org/api/api-json-methods#albums}
|
|
15
17
|
*/
|
|
16
18
|
albums(params?: {
|
|
@@ -19,7 +21,7 @@ export declare class Albums extends Base {
|
|
|
19
21
|
add?: Date;
|
|
20
22
|
update?: Date;
|
|
21
23
|
include?: "albums" | "songs";
|
|
22
|
-
} &
|
|
24
|
+
} & ExtendedPagination): Promise<Album[] | {
|
|
23
25
|
album: Album[];
|
|
24
26
|
}>;
|
|
25
27
|
/**
|
|
@@ -39,11 +41,13 @@ export declare class Albums extends Base {
|
|
|
39
41
|
* @param params.filter UID to find
|
|
40
42
|
* @param [params.offset]
|
|
41
43
|
* @param [params.limit]
|
|
44
|
+
* @param [params.cond]
|
|
45
|
+
* @param [params.sort]
|
|
42
46
|
* @see {@link https://ampache.org/api/api-json-methods#artist_albums}
|
|
43
47
|
*/
|
|
44
48
|
artistAlbums(params: {
|
|
45
49
|
filter: UID;
|
|
46
|
-
} &
|
|
50
|
+
} & ExtendedPagination): Promise<Album[] | {
|
|
47
51
|
album: Album[];
|
|
48
52
|
}>;
|
|
49
53
|
/**
|
|
@@ -52,11 +56,13 @@ export declare class Albums extends Base {
|
|
|
52
56
|
* @param params.filter UID to find
|
|
53
57
|
* @param [params.offset]
|
|
54
58
|
* @param [params.limit]
|
|
59
|
+
* @param [params.cond]
|
|
60
|
+
* @param [params.sort]
|
|
55
61
|
* @see {@link https://ampache.org/api/api-json-methods#genre_albums}
|
|
56
62
|
*/
|
|
57
63
|
genreAlbums(params?: {
|
|
58
64
|
filter: UID;
|
|
59
|
-
} &
|
|
65
|
+
} & ExtendedPagination): Promise<Album[] | {
|
|
60
66
|
album: Album[];
|
|
61
67
|
}>;
|
|
62
68
|
}
|
package/dist/artists/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Artist } from './types';
|
|
2
|
-
import { Base, BinaryBoolean,
|
|
2
|
+
import { Base, BinaryBoolean, ExtendedPagination, UID } from '../base';
|
|
3
3
|
export declare class Artists extends Base {
|
|
4
4
|
/**
|
|
5
5
|
* This takes a collection of inputs and returns artist objects
|
|
@@ -12,6 +12,8 @@ export declare class Artists extends Base {
|
|
|
12
12
|
* @param [params.album_artist] 0, 1 (if true filter for album artists only)
|
|
13
13
|
* @param [params.offset]
|
|
14
14
|
* @param [params.limit]
|
|
15
|
+
* @param [params.cond]
|
|
16
|
+
* @param [params.sort]
|
|
15
17
|
* @see {@link https://ampache.org/api/api-json-methods#artists}
|
|
16
18
|
*/
|
|
17
19
|
artists(params?: {
|
|
@@ -21,7 +23,7 @@ export declare class Artists extends Base {
|
|
|
21
23
|
update?: Date;
|
|
22
24
|
include?: 'albums' | 'songs';
|
|
23
25
|
album_artist?: BinaryBoolean;
|
|
24
|
-
} &
|
|
26
|
+
} & ExtendedPagination): Promise<Artist[] | {
|
|
25
27
|
artist: Artist[];
|
|
26
28
|
}>;
|
|
27
29
|
/**
|
|
@@ -41,11 +43,13 @@ export declare class Artists extends Base {
|
|
|
41
43
|
* @param params.filter UID to find
|
|
42
44
|
* @param [params.offset]
|
|
43
45
|
* @param [params.limit]
|
|
46
|
+
* @param [params.cond]
|
|
47
|
+
* @param [params.sort]
|
|
44
48
|
* @see {@link https://ampache.org/api/api-json-methods#genre_artists}
|
|
45
49
|
*/
|
|
46
50
|
genreArtists(params: {
|
|
47
51
|
filter: UID;
|
|
48
|
-
} &
|
|
52
|
+
} & ExtendedPagination): Promise<Artist[] | {
|
|
49
53
|
artist: Artist[];
|
|
50
54
|
}>;
|
|
51
55
|
/**
|
|
@@ -54,11 +58,13 @@ export declare class Artists extends Base {
|
|
|
54
58
|
* @param params.filter UID of find
|
|
55
59
|
* @param [params.offset]
|
|
56
60
|
* @param [params.limit]
|
|
61
|
+
* @param [params.cond]
|
|
62
|
+
* @param [params.sort]
|
|
57
63
|
* @see {@link https://ampache.org/api/api-json-methods#label_artists}
|
|
58
64
|
*/
|
|
59
65
|
labelArtists(params: {
|
|
60
66
|
filter: UID;
|
|
61
|
-
} &
|
|
67
|
+
} & ExtendedPagination): Promise<Artist[] | {
|
|
62
68
|
artist: Artist[];
|
|
63
69
|
}>;
|
|
64
70
|
}
|
package/dist/base.d.ts
CHANGED
|
@@ -14,6 +14,16 @@ export type Pagination = {
|
|
|
14
14
|
offset?: number;
|
|
15
15
|
limit?: number;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* @param [offset] Return results starting from this index position
|
|
19
|
+
* @param [limit] Maximum number of results to return
|
|
20
|
+
* @param [cond] Apply additional filters to the browse using ; separated comma string pairs (e.g. 'filter1,value1;filter2,value2')
|
|
21
|
+
* @param [sort] Sort name or comma-separated key pair. (e.g. 'name,order') Default order 'ASC' (e.g. 'name,ASC' == 'name')
|
|
22
|
+
*/
|
|
23
|
+
export type ExtendedPagination = Pagination & {
|
|
24
|
+
cond?: string;
|
|
25
|
+
sort?: string;
|
|
26
|
+
};
|
|
17
27
|
export type BinaryBoolean = 0 | 1;
|
|
18
28
|
export type UID = string | number;
|
|
19
29
|
export declare abstract class Base {
|
|
@@ -26,7 +26,7 @@ export declare class Bookmarks extends Base {
|
|
|
26
26
|
bookmark: Bookmark[];
|
|
27
27
|
}>;
|
|
28
28
|
/**
|
|
29
|
-
* Get the bookmark from
|
|
29
|
+
* Get the bookmark from its object_id and object_type.
|
|
30
30
|
* @remarks MINIMUM_API_VERSION=5.0.0
|
|
31
31
|
* @param params.filter UID to find
|
|
32
32
|
* @param params.type Object type
|
package/dist/catalogs/index.d.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { Catalog } from './types';
|
|
2
|
-
import { Base, Success, UID } from '../base';
|
|
2
|
+
import { Base, ExtendedPagination, Success, UID } from '../base';
|
|
3
3
|
export declare class Catalogs extends Base {
|
|
4
4
|
/**
|
|
5
5
|
* This searches the catalogs and returns... catalogs
|
|
6
6
|
* @remarks MINIMUM_API_VERSION=420000
|
|
7
7
|
* @param [params.filter] Catalog type
|
|
8
|
+
* @param [params.offset]
|
|
9
|
+
* @param [params.limit]
|
|
10
|
+
* @param [params.cond]
|
|
11
|
+
* @param [params.sort]
|
|
8
12
|
* @see {@link https://ampache.org/api/api-json-methods#catalogs}
|
|
9
13
|
*/
|
|
10
14
|
catalogs(params?: {
|
|
11
15
|
filter?: 'music' | 'clip' | 'tvshow' | 'movie' | 'personal_video' | 'podcast';
|
|
12
|
-
}): Promise<Catalog[] | {
|
|
16
|
+
} & ExtendedPagination): Promise<Catalog[] | {
|
|
13
17
|
catalog: Catalog[];
|
|
14
18
|
}>;
|
|
15
19
|
/**
|
package/dist/genres/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Genre } from './types';
|
|
2
|
-
import { Base, BinaryBoolean,
|
|
2
|
+
import { Base, BinaryBoolean, ExtendedPagination, UID } from '../base';
|
|
3
3
|
export declare class Genres extends Base {
|
|
4
4
|
/**
|
|
5
5
|
* This returns the genres (Tags) based on the specified filter
|
|
@@ -8,12 +8,14 @@ export declare class Genres extends Base {
|
|
|
8
8
|
* @param [params.exact] 0, 1 (if true filter is exact = rather than fuzzy LIKE)
|
|
9
9
|
* @param [params.offset]
|
|
10
10
|
* @param [params.limit]
|
|
11
|
+
* @param [params.cond]
|
|
12
|
+
* @param [params.sort]
|
|
11
13
|
* @see {@link https://ampache.org/api/api-json-methods#genres}
|
|
12
14
|
*/
|
|
13
15
|
genres(params?: {
|
|
14
16
|
filter?: string;
|
|
15
17
|
exact?: BinaryBoolean;
|
|
16
|
-
} &
|
|
18
|
+
} & ExtendedPagination): Promise<Genre[] | {
|
|
17
19
|
genre: Genre[];
|
|
18
20
|
}>;
|
|
19
21
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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={},a=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:a,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 c 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(a())},s.onerror=n,s.withCredentials="include"==t.credentials,t.headers)s.setRequestHeader(c,t.headers[c]);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.3.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){var t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.debug&&console.debug("javascript-ampache query URL %c"+t,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(t,{method:"GET",headers:{Authorization:"Bearer "+this.sessionKey}}).then(function(e){if(e.ok)return e.json();throw new Error(e.statusText)})},t.binary=function(e){var t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.debug&&console.debug("javascript-ampache query URL %c"+t,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(t,{method:"GET",headers:{Authorization:"Bearer "+this.sessionKey}}).then(function(e){return e.blob()}).then(function(e){return e})},t.setSessionKey=function(e){this.sessionKey=e},e}(),a=/*#__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),c=/*#__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],a=(r=r||0)>>>3,c=-1===n?3:0;for(s=0;s<e.length;s+=1)i=s+a,o=i>>>2,u.length<=o&&u.push(0),u[o]|=e[s]<<8*(c+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 a=t||[0],c=(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)+c,i=u>>>2;a.length<=i;)a.push(0);a[i]|=o<<8*(h+n*(u%4))}return{value:a,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,a,c,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)),a=0;a<i.length;a+=1){for(h=p+d,c=h>>>2;v.length<=c;)v.push(0);v[c]|=i[a]<<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&&(a=255&o,o=a<<8|o>>>8),h=p+d,c=h>>>2;v.length<=c;)v.push(0);v[c]|=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,a,c,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(a=e.substr(o,4),u=0,i=0;i<a.length;i+=1)s=h.indexOf(a.charAt(i)),u|=s<<18-6*i;for(i=0;i<a.length-1;i+=1){for(l=f+v,c=l>>>2;p.length<=c;)p.push(0);p[c]|=(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 a=t||[0],c=(r=r||0)>>>3,h=-1===n?3:0;for(o=0;o<e.length;o+=1)s=e.charCodeAt(o),u=o+c,i=u>>>2,a.length<=i&&a.push(0),a[i]|=s<<8*(h+n*(u%4));return{value:a,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 a=t/8,c=-1===r?3:0;for(o=0;o<a;o+=1)i=e[o>>>2]>>>8*(c+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,a,c="";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,a=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|a>>>8*(f+r*((s+2)%4))&255,o=0;o<4;o+=1)c+=8*s+6*o<=t?h.charAt(i>>>6*(3-o)&63):n.b64Pad;return c}(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 _(e,t){return e>>>t|e<<32-t}function b(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 _(e,2)^_(e,13)^_(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 _(e,7)^_(e,18)^b(e,3)}function k(e){return _(e,6)^_(e,11)^_(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,a,c,h,l,f;const p=[];for(r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],u=t[5],a=t[6],c=t[7],f=0;f<64;f+=1)p[f]=f<16?e[f]:R(_(v=p[f-2],17)^_(v,19)^b(v,10),p[f-7],U(p[f-15]),p[f-16]),h=T(c,k(i),w(i,u,a),m[f],p[f]),l=E(j(r),A(r,n,s)),c=a,a=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(a,t[6]),t[7]=E(c,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),a=t+r;for(;e.length<=u;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[u]=4294967295&a,e[u-1]=a/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)},n.goodbye=function(e){var t="goodbye";return t+=s(e,"&"),this.request(t)},n.lostPassword=function(e){var t="lost_password";return t+=s(e,"&"),this.request(t)},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.bookmark=function(e){try{var t="bookmark";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.bookmarks=function(e){try{var t="bookmarks";return t+=s(e,"&"),Promise.resolve(this.request(t)).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),x=/*#__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),N=/*#__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.userPlaylists=function(e){try{var t="user_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.userSmartlists=function(e){try{var t="user_smartlists";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.playlistCreate=function(e){var t="playlist_create";return t+=s(e,"&"),this.request(t)},n.playlistAdd=function(e){var t="playlist_add";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))}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))}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),z=/*#__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),G=/*#__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),V=/*#__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.index=function(e){try{var t="index";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);H=$,[a,c,F,B,Y,I,O,x,N,M,D,K,X,z,G,V,J,Z].forEach(function(e){Object.getOwnPropertyNames(e.prototype).forEach(function(t){Object.defineProperty(H.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})}),module.exports=$;
|
|
1
|
+
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={},a=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:a,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 c 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(a())},s.onerror=n,s.withCredentials="include"==t.credentials,t.headers)s.setRequestHeader(c,t.headers[c]);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.3.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){var t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.debug&&console.debug("javascript-ampache query URL %c"+t+"&auth="+this.sessionKey,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(t,{method:"GET",headers:{Authorization:"Bearer "+this.sessionKey}}).then(function(e){if(e.ok)return e.json();throw new Error(e.statusText)})},t.binary=function(e){var t=this.url+"/server/json.server.php?action="+e+"&version="+this.version;return this.debug&&console.debug("javascript-ampache query URL %c"+t+"&auth="+this.sessionKey,"color: black; font-style: italic; background-color: orange;padding: 2px"),i(t,{method:"GET",headers:{Authorization:"Bearer "+this.sessionKey}}).then(function(e){return e.blob()}).then(function(e){return e})},t.setSessionKey=function(e){this.sessionKey=e},e}(),a=/*#__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),c=/*#__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],a=(r=r||0)>>>3,c=-1===n?3:0;for(s=0;s<e.length;s+=1)i=s+a,o=i>>>2,u.length<=o&&u.push(0),u[o]|=e[s]<<8*(c+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 a=t||[0],c=(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)+c,i=u>>>2;a.length<=i;)a.push(0);a[i]|=o<<8*(h+n*(u%4))}return{value:a,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,a,c,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)),a=0;a<i.length;a+=1){for(h=p+d,c=h>>>2;v.length<=c;)v.push(0);v[c]|=i[a]<<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&&(a=255&o,o=a<<8|o>>>8),h=p+d,c=h>>>2;v.length<=c;)v.push(0);v[c]|=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,a,c,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(a=e.substr(o,4),u=0,i=0;i<a.length;i+=1)s=h.indexOf(a.charAt(i)),u|=s<<18-6*i;for(i=0;i<a.length-1;i+=1){for(l=f+v,c=l>>>2;p.length<=c;)p.push(0);p[c]|=(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 a=t||[0],c=(r=r||0)>>>3,h=-1===n?3:0;for(o=0;o<e.length;o+=1)s=e.charCodeAt(o),u=o+c,i=u>>>2,a.length<=i&&a.push(0),a[i]|=s<<8*(h+n*(u%4));return{value:a,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 a=t/8,c=-1===r?3:0;for(o=0;o<a;o+=1)i=e[o>>>2]>>>8*(c+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,a,c="";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,a=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|a>>>8*(f+r*((s+2)%4))&255,o=0;o<4;o+=1)c+=8*s+6*o<=t?h.charAt(i>>>6*(3-o)&63):n.b64Pad;return c}(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 _(e,t){return e>>>t|e<<32-t}function b(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 _(e,2)^_(e,13)^_(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 _(e,7)^_(e,18)^b(e,3)}function k(e){return _(e,6)^_(e,11)^_(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,a,c,h,l,f;const p=[];for(r=t[0],n=t[1],s=t[2],o=t[3],i=t[4],u=t[5],a=t[6],c=t[7],f=0;f<64;f+=1)p[f]=f<16?e[f]:R(_(v=p[f-2],17)^_(v,19)^b(v,10),p[f-7],U(p[f-15]),p[f-16]),h=T(c,k(i),w(i,u,a),m[f],p[f]),l=E(j(r),A(r,n,s)),c=a,a=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(a,t[6]),t[7]=E(c,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),a=t+r;for(;e.length<=u;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[u]=4294967295&a,e[u-1]=a/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)},n.goodbye=function(e){var t="goodbye";return t+=s(e,"&"),this.request(t)},n.lostPassword=function(e){var t="lost_password";return t+=s(e,"&"),this.request(t)},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.bookmark=function(e){try{var t="bookmark";return t+=s(e,"&"),Promise.resolve(this.request(t))}catch(e){return Promise.reject(e)}},n.bookmarks=function(e){try{var t="bookmarks";return t+=s(e,"&"),Promise.resolve(this.request(t)).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),x=/*#__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),N=/*#__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),K=/*#__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.userPlaylists=function(e){try{var t="user_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.userSmartlists=function(e){try{var t="user_smartlists";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.playlistCreate=function(e){var t="playlist_create";return t+=s(e,"&"),this.request(t)},n.playlistAdd=function(e){var t="playlist_add";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),M=/*#__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),D=/*#__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))}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))}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),z=/*#__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),G=/*#__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),V=/*#__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.index=function(e){try{var t="index";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);H=$,[a,c,F,B,Y,I,O,x,N,K,M,D,X,z,G,V,J,Z].forEach(function(e){Object.getOwnPropertyNames(e.prototype).forEach(function(t){Object.defineProperty(H.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t))})}),module.exports=$;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|