lastfm-nodejs-client 1.5.5 → 1.6.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.
Files changed (244) hide show
  1. package/dist/@types/album/addTags.d.ts +2 -0
  2. package/dist/@types/album/getInfo.d.ts +2 -0
  3. package/dist/@types/album/getTags.d.ts +2 -0
  4. package/dist/@types/album/getTopTags.d.ts +2 -0
  5. package/dist/@types/album/removeTag.d.ts +2 -0
  6. package/dist/@types/album/search.d.ts +2 -0
  7. package/dist/@types/artist/addTags.d.ts +2 -0
  8. package/dist/@types/artist/getCorrection.d.ts +2 -0
  9. package/dist/@types/artist/getInfo.d.ts +2 -0
  10. package/dist/@types/artist/getSimilar.d.ts +2 -0
  11. package/dist/@types/artist/getTags.d.ts +2 -0
  12. package/dist/@types/artist/getTopAlbums.d.ts +2 -0
  13. package/dist/@types/artist/getTopTags.d.ts +2 -0
  14. package/dist/@types/artist/getTopTracks.d.ts +2 -0
  15. package/dist/@types/artist/removeTag.d.ts +2 -0
  16. package/dist/@types/artist/search.d.ts +2 -0
  17. package/dist/@types/auth/getMobileSession.d.ts +2 -0
  18. package/dist/@types/auth/getSession.d.ts +2 -0
  19. package/dist/@types/createOptions.d.ts +13 -1
  20. package/dist/@types/geo/getTopArtists.d.ts +2 -0
  21. package/dist/@types/geo/getTopTracks.d.ts +2 -0
  22. package/dist/@types/getFriends.d.ts +8 -0
  23. package/dist/@types/getUserTopTags.d.ts +8 -0
  24. package/dist/@types/index.d.ts +158 -1
  25. package/dist/@types/lastfm.types.d.ts +598 -2
  26. package/dist/@types/library/getArtists.d.ts +2 -0
  27. package/dist/@types/md5.d.ts +7 -0
  28. package/dist/@types/method.d.ts +123 -2
  29. package/dist/@types/request.d.ts +16 -0
  30. package/dist/@types/tag/getInfo.d.ts +2 -0
  31. package/dist/@types/tag/getSimilar.d.ts +2 -0
  32. package/dist/@types/tag/getTopAlbums.d.ts +2 -0
  33. package/dist/@types/tag/getTopArtists.d.ts +2 -0
  34. package/dist/@types/tag/getTopTags.d.ts +2 -0
  35. package/dist/@types/tag/getWeeklyChartList.d.ts +2 -0
  36. package/dist/@types/tag/topTracks.d.ts +8 -0
  37. package/dist/@types/track/addTags.d.ts +2 -0
  38. package/dist/@types/track/getCorrection.d.ts +2 -0
  39. package/dist/@types/track/getInfo.d.ts +2 -0
  40. package/dist/@types/track/getSimilar.d.ts +2 -0
  41. package/dist/@types/track/getTags.d.ts +2 -0
  42. package/dist/@types/track/getTopTags.d.ts +2 -0
  43. package/dist/@types/track/love.d.ts +2 -0
  44. package/dist/@types/track/removeTag.d.ts +2 -0
  45. package/dist/@types/track/scrobble.d.ts +2 -0
  46. package/dist/@types/track/search.d.ts +2 -0
  47. package/dist/@types/track/unlove.d.ts +2 -0
  48. package/dist/@types/track/updateNowPlaying.d.ts +2 -0
  49. package/dist/@types/user/getPersonalTags.d.ts +2 -0
  50. package/dist/album/addTags.js +6 -0
  51. package/dist/album/addTags.js.map +1 -0
  52. package/dist/album/getInfo.js +5 -0
  53. package/dist/album/getInfo.js.map +1 -0
  54. package/dist/album/getTags.js +5 -0
  55. package/dist/album/getTags.js.map +1 -0
  56. package/dist/album/getTopTags.js +5 -0
  57. package/dist/album/getTopTags.js.map +1 -0
  58. package/dist/album/removeTag.js +6 -0
  59. package/dist/album/removeTag.js.map +1 -0
  60. package/dist/album/search.js +5 -0
  61. package/dist/album/search.js.map +1 -0
  62. package/dist/artist/addTags.js +6 -0
  63. package/dist/artist/addTags.js.map +1 -0
  64. package/dist/artist/getCorrection.js +5 -0
  65. package/dist/artist/getCorrection.js.map +1 -0
  66. package/dist/artist/getInfo.js +5 -0
  67. package/dist/artist/getInfo.js.map +1 -0
  68. package/dist/artist/getSimilar.js +5 -0
  69. package/dist/artist/getSimilar.js.map +1 -0
  70. package/dist/artist/getTags.js +5 -0
  71. package/dist/artist/getTags.js.map +1 -0
  72. package/dist/artist/getTopAlbums.js +5 -0
  73. package/dist/artist/getTopAlbums.js.map +1 -0
  74. package/dist/artist/getTopTags.js +5 -0
  75. package/dist/artist/getTopTags.js.map +1 -0
  76. package/dist/artist/getTopTracks.js +5 -0
  77. package/dist/artist/getTopTracks.js.map +1 -0
  78. package/dist/artist/removeTag.js +6 -0
  79. package/dist/artist/removeTag.js.map +1 -0
  80. package/dist/artist/search.js +5 -0
  81. package/dist/artist/search.js.map +1 -0
  82. package/dist/auth/getMobileSession.js +6 -0
  83. package/dist/auth/getMobileSession.js.map +1 -0
  84. package/dist/auth/getSession.js +6 -0
  85. package/dist/auth/getSession.js.map +1 -0
  86. package/dist/cjs/album/addTags.js +9 -0
  87. package/dist/cjs/album/addTags.js.map +1 -0
  88. package/dist/cjs/album/getInfo.js +11 -0
  89. package/dist/cjs/album/getInfo.js.map +1 -0
  90. package/dist/cjs/album/getTags.js +11 -0
  91. package/dist/cjs/album/getTags.js.map +1 -0
  92. package/dist/cjs/album/getTopTags.js +11 -0
  93. package/dist/cjs/album/getTopTags.js.map +1 -0
  94. package/dist/cjs/album/removeTag.js +9 -0
  95. package/dist/cjs/album/removeTag.js.map +1 -0
  96. package/dist/cjs/album/search.js +11 -0
  97. package/dist/cjs/album/search.js.map +1 -0
  98. package/dist/cjs/artist/addTags.js +9 -0
  99. package/dist/cjs/artist/addTags.js.map +1 -0
  100. package/dist/cjs/artist/getCorrection.js +11 -0
  101. package/dist/cjs/artist/getCorrection.js.map +1 -0
  102. package/dist/cjs/artist/getInfo.js +11 -0
  103. package/dist/cjs/artist/getInfo.js.map +1 -0
  104. package/dist/cjs/artist/getSimilar.js +11 -0
  105. package/dist/cjs/artist/getSimilar.js.map +1 -0
  106. package/dist/cjs/artist/getTags.js +11 -0
  107. package/dist/cjs/artist/getTags.js.map +1 -0
  108. package/dist/cjs/artist/getTopAlbums.js +11 -0
  109. package/dist/cjs/artist/getTopAlbums.js.map +1 -0
  110. package/dist/cjs/artist/getTopTags.js +11 -0
  111. package/dist/cjs/artist/getTopTags.js.map +1 -0
  112. package/dist/cjs/artist/getTopTracks.js +11 -0
  113. package/dist/cjs/artist/getTopTracks.js.map +1 -0
  114. package/dist/cjs/artist/removeTag.js +9 -0
  115. package/dist/cjs/artist/removeTag.js.map +1 -0
  116. package/dist/cjs/artist/search.js +11 -0
  117. package/dist/cjs/artist/search.js.map +1 -0
  118. package/dist/cjs/auth/getMobileSession.js +9 -0
  119. package/dist/cjs/auth/getMobileSession.js.map +1 -0
  120. package/dist/cjs/auth/getSession.js +9 -0
  121. package/dist/cjs/auth/getSession.js.map +1 -0
  122. package/dist/cjs/createOptions.js +13 -1
  123. package/dist/cjs/createOptions.js.map +1 -1
  124. package/dist/cjs/geo/getTopArtists.js +11 -0
  125. package/dist/cjs/geo/getTopArtists.js.map +1 -0
  126. package/dist/cjs/geo/getTopTracks.js +11 -0
  127. package/dist/cjs/geo/getTopTracks.js.map +1 -0
  128. package/dist/cjs/getFriends.js +19 -0
  129. package/dist/cjs/getFriends.js.map +1 -0
  130. package/dist/cjs/getUserTopTags.js +19 -0
  131. package/dist/cjs/getUserTopTags.js.map +1 -0
  132. package/dist/cjs/index.js +108 -0
  133. package/dist/cjs/index.js.map +1 -1
  134. package/dist/cjs/lastfm.types.js.map +1 -1
  135. package/dist/cjs/library/getArtists.js +11 -0
  136. package/dist/cjs/library/getArtists.js.map +1 -0
  137. package/dist/cjs/md5.js +80 -0
  138. package/dist/cjs/md5.js.map +1 -0
  139. package/dist/cjs/method.js +58 -1
  140. package/dist/cjs/method.js.map +1 -1
  141. package/dist/cjs/request.js +104 -0
  142. package/dist/cjs/request.js.map +1 -1
  143. package/dist/cjs/tag/getInfo.js +11 -0
  144. package/dist/cjs/tag/getInfo.js.map +1 -0
  145. package/dist/cjs/tag/getSimilar.js +11 -0
  146. package/dist/cjs/tag/getSimilar.js.map +1 -0
  147. package/dist/cjs/tag/getTopAlbums.js +11 -0
  148. package/dist/cjs/tag/getTopAlbums.js.map +1 -0
  149. package/dist/cjs/tag/getTopArtists.js +11 -0
  150. package/dist/cjs/tag/getTopArtists.js.map +1 -0
  151. package/dist/cjs/tag/getTopTags.js +11 -0
  152. package/dist/cjs/tag/getTopTags.js.map +1 -0
  153. package/dist/cjs/tag/getWeeklyChartList.js +11 -0
  154. package/dist/cjs/tag/getWeeklyChartList.js.map +1 -0
  155. package/dist/cjs/tag/topTracks.js +17 -0
  156. package/dist/cjs/tag/topTracks.js.map +1 -0
  157. package/dist/cjs/track/addTags.js +9 -0
  158. package/dist/cjs/track/addTags.js.map +1 -0
  159. package/dist/cjs/track/getCorrection.js +11 -0
  160. package/dist/cjs/track/getCorrection.js.map +1 -0
  161. package/dist/cjs/track/getInfo.js +11 -0
  162. package/dist/cjs/track/getInfo.js.map +1 -0
  163. package/dist/cjs/track/getSimilar.js +11 -0
  164. package/dist/cjs/track/getSimilar.js.map +1 -0
  165. package/dist/cjs/track/getTags.js +11 -0
  166. package/dist/cjs/track/getTags.js.map +1 -0
  167. package/dist/cjs/track/getTopTags.js +11 -0
  168. package/dist/cjs/track/getTopTags.js.map +1 -0
  169. package/dist/cjs/track/love.js +9 -0
  170. package/dist/cjs/track/love.js.map +1 -0
  171. package/dist/cjs/track/removeTag.js +9 -0
  172. package/dist/cjs/track/removeTag.js.map +1 -0
  173. package/dist/cjs/track/scrobble.js +9 -0
  174. package/dist/cjs/track/scrobble.js.map +1 -0
  175. package/dist/cjs/track/search.js +11 -0
  176. package/dist/cjs/track/search.js.map +1 -0
  177. package/dist/cjs/track/unlove.js +9 -0
  178. package/dist/cjs/track/unlove.js.map +1 -0
  179. package/dist/cjs/track/updateNowPlaying.js +9 -0
  180. package/dist/cjs/track/updateNowPlaying.js.map +1 -0
  181. package/dist/cjs/user/getPersonalTags.js +11 -0
  182. package/dist/cjs/user/getPersonalTags.js.map +1 -0
  183. package/dist/createOptions.js +13 -1
  184. package/dist/createOptions.js.map +1 -1
  185. package/dist/geo/getTopArtists.js +5 -0
  186. package/dist/geo/getTopArtists.js.map +1 -0
  187. package/dist/geo/getTopTracks.js +5 -0
  188. package/dist/geo/getTopTracks.js.map +1 -0
  189. package/dist/getFriends.js +13 -0
  190. package/dist/getFriends.js.map +1 -0
  191. package/dist/getUserTopTags.js +13 -0
  192. package/dist/getUserTopTags.js.map +1 -0
  193. package/dist/index.js +108 -0
  194. package/dist/index.js.map +1 -1
  195. package/dist/lastfm.types.js.map +1 -1
  196. package/dist/library/getArtists.js +5 -0
  197. package/dist/library/getArtists.js.map +1 -0
  198. package/dist/md5.js +77 -0
  199. package/dist/md5.js.map +1 -0
  200. package/dist/method.js +58 -1
  201. package/dist/method.js.map +1 -1
  202. package/dist/request.js +102 -0
  203. package/dist/request.js.map +1 -1
  204. package/dist/tag/getInfo.js +5 -0
  205. package/dist/tag/getInfo.js.map +1 -0
  206. package/dist/tag/getSimilar.js +5 -0
  207. package/dist/tag/getSimilar.js.map +1 -0
  208. package/dist/tag/getTopAlbums.js +5 -0
  209. package/dist/tag/getTopAlbums.js.map +1 -0
  210. package/dist/tag/getTopArtists.js +5 -0
  211. package/dist/tag/getTopArtists.js.map +1 -0
  212. package/dist/tag/getTopTags.js +5 -0
  213. package/dist/tag/getTopTags.js.map +1 -0
  214. package/dist/tag/getWeeklyChartList.js +5 -0
  215. package/dist/tag/getWeeklyChartList.js.map +1 -0
  216. package/dist/tag/topTracks.js +11 -0
  217. package/dist/tag/topTracks.js.map +1 -0
  218. package/dist/track/addTags.js +6 -0
  219. package/dist/track/addTags.js.map +1 -0
  220. package/dist/track/getCorrection.js +5 -0
  221. package/dist/track/getCorrection.js.map +1 -0
  222. package/dist/track/getInfo.js +5 -0
  223. package/dist/track/getInfo.js.map +1 -0
  224. package/dist/track/getSimilar.js +5 -0
  225. package/dist/track/getSimilar.js.map +1 -0
  226. package/dist/track/getTags.js +5 -0
  227. package/dist/track/getTags.js.map +1 -0
  228. package/dist/track/getTopTags.js +5 -0
  229. package/dist/track/getTopTags.js.map +1 -0
  230. package/dist/track/love.js +6 -0
  231. package/dist/track/love.js.map +1 -0
  232. package/dist/track/removeTag.js +6 -0
  233. package/dist/track/removeTag.js.map +1 -0
  234. package/dist/track/scrobble.js +6 -0
  235. package/dist/track/scrobble.js.map +1 -0
  236. package/dist/track/search.js +5 -0
  237. package/dist/track/search.js.map +1 -0
  238. package/dist/track/unlove.js +6 -0
  239. package/dist/track/unlove.js.map +1 -0
  240. package/dist/track/updateNowPlaying.js +6 -0
  241. package/dist/track/updateNowPlaying.js.map +1 -0
  242. package/dist/user/getPersonalTags.js +5 -0
  243. package/dist/user/getPersonalTags.js.map +1 -0
  244. package/package.json +13 -10
@@ -1,6 +1,50 @@
1
1
  export interface AuthResponse {
2
2
  token: string;
3
3
  }
4
+ export interface UserTopTagsResponse {
5
+ toptags: {
6
+ tag: UserTopTag[];
7
+ '@attr': {
8
+ user: string;
9
+ };
10
+ };
11
+ }
12
+ export interface UserTopTag {
13
+ name: string;
14
+ count: string;
15
+ url: string;
16
+ }
17
+ export interface TagTopTracksResponse {
18
+ tracks: {
19
+ track: TagTrack[];
20
+ '@attr': {
21
+ tag: string;
22
+ page: string;
23
+ perPage: string;
24
+ totalPages: string;
25
+ total: string;
26
+ };
27
+ };
28
+ }
29
+ export interface TagTrack {
30
+ name: string;
31
+ duration: string;
32
+ mbid: string;
33
+ url: string;
34
+ streamable: {
35
+ '#text': string;
36
+ fulltrack: string;
37
+ };
38
+ artist: {
39
+ name: string;
40
+ mbid: string;
41
+ url: string;
42
+ };
43
+ image: Image[];
44
+ '@attr': {
45
+ rank: string;
46
+ };
47
+ }
4
48
  export interface LovedTracksResponse {
5
49
  lovedtracks: LovedTracks;
6
50
  }
@@ -42,8 +86,7 @@ export interface Tag {
42
86
  streamable: string;
43
87
  wiki: Wiki;
44
88
  }
45
- export interface Wiki {
46
- }
89
+ export type Wiki = Record<string, unknown>;
47
90
  export interface LoveTracksResponse {
48
91
  lovedtracks: LovedTracks;
49
92
  }
@@ -272,3 +315,556 @@ export declare enum ErrorResponse {
272
315
  SuspendedAPIKey = 26,
273
316
  RateLimitExceeded = 29
274
317
  }
318
+ export interface AlbumInfoResponse {
319
+ album: {
320
+ name: string;
321
+ artist: string;
322
+ mbid?: string;
323
+ url: string;
324
+ image: Image[];
325
+ listeners: string;
326
+ playcount: string;
327
+ tracks?: {
328
+ track: Track[];
329
+ };
330
+ tags?: {
331
+ tag: {
332
+ name: string;
333
+ url: string;
334
+ }[];
335
+ };
336
+ wiki?: {
337
+ published: string;
338
+ summary: string;
339
+ content: string;
340
+ };
341
+ };
342
+ }
343
+ export interface AlbumTagsResponse {
344
+ tags: {
345
+ tag: {
346
+ name: string;
347
+ url: string;
348
+ }[];
349
+ '@attr': {
350
+ artist: string;
351
+ album: string;
352
+ };
353
+ };
354
+ }
355
+ export interface AlbumTopTagsResponse {
356
+ toptags: {
357
+ tag: {
358
+ name: string;
359
+ count: number;
360
+ url: string;
361
+ }[];
362
+ '@attr': {
363
+ artist: string;
364
+ album: string;
365
+ };
366
+ };
367
+ }
368
+ export interface AlbumSearchResponse {
369
+ results: {
370
+ albummatches: {
371
+ album: {
372
+ name: string;
373
+ artist: string;
374
+ mbid?: string;
375
+ url: string;
376
+ image: Image[];
377
+ }[];
378
+ };
379
+ '@attr': {
380
+ for: string;
381
+ };
382
+ 'opensearch:totalResults': string;
383
+ 'opensearch:startIndex': string;
384
+ 'opensearch:itemsPerPage': string;
385
+ };
386
+ }
387
+ export interface ArtistCorrectionResponse {
388
+ corrections: {
389
+ correction: {
390
+ artist: {
391
+ name: string;
392
+ mbid: string;
393
+ url: string;
394
+ };
395
+ '@attr': {
396
+ index: string;
397
+ };
398
+ };
399
+ };
400
+ }
401
+ export interface ArtistInfoResponse {
402
+ artist: {
403
+ name: string;
404
+ mbid?: string;
405
+ url: string;
406
+ image: Image[];
407
+ streamable: string;
408
+ ontour: string;
409
+ stats: {
410
+ listeners: string;
411
+ playcount: string;
412
+ };
413
+ similar: {
414
+ artist: {
415
+ name: string;
416
+ url: string;
417
+ image: Image[];
418
+ }[];
419
+ };
420
+ tags: {
421
+ tag: {
422
+ name: string;
423
+ url: string;
424
+ }[];
425
+ };
426
+ bio: {
427
+ links: {
428
+ link: {
429
+ text: string;
430
+ rel: string;
431
+ href: string;
432
+ };
433
+ };
434
+ published: string;
435
+ summary: string;
436
+ content: string;
437
+ };
438
+ };
439
+ }
440
+ export interface ArtistSimilarResponse {
441
+ similarartists: {
442
+ artist: {
443
+ name: string;
444
+ mbid?: string;
445
+ match: string;
446
+ url: string;
447
+ image: Image[];
448
+ streamable: string;
449
+ }[];
450
+ '@attr': {
451
+ artist: string;
452
+ };
453
+ };
454
+ }
455
+ export interface ArtistTagsResponse {
456
+ tags: {
457
+ tag: {
458
+ name: string;
459
+ url: string;
460
+ }[];
461
+ '@attr': {
462
+ artist: string;
463
+ };
464
+ };
465
+ }
466
+ export interface ArtistTopAlbumsResponse {
467
+ topalbums: {
468
+ album: {
469
+ name: string;
470
+ mbid?: string;
471
+ url: string;
472
+ playcount: number;
473
+ artist: {
474
+ name: string;
475
+ mbid: string;
476
+ url: string;
477
+ };
478
+ image: Image[];
479
+ }[];
480
+ '@attr': AttributesPage;
481
+ };
482
+ }
483
+ export interface ArtistTopTagsResponse {
484
+ toptags: {
485
+ tag: {
486
+ name: string;
487
+ count: number;
488
+ url: string;
489
+ }[];
490
+ '@attr': {
491
+ artist: string;
492
+ };
493
+ };
494
+ }
495
+ export interface ArtistTopTracksResponse {
496
+ toptracks: {
497
+ track: {
498
+ name: string;
499
+ mbid?: string;
500
+ url: string;
501
+ playcount: string;
502
+ listeners: string;
503
+ artist: {
504
+ name: string;
505
+ mbid: string;
506
+ url: string;
507
+ };
508
+ image: Image[];
509
+ }[];
510
+ '@attr': AttributesPage;
511
+ };
512
+ }
513
+ export interface ArtistSearchResponse {
514
+ results: {
515
+ artistmatches: {
516
+ artist: {
517
+ name: string;
518
+ mbid?: string;
519
+ url: string;
520
+ image: Image[];
521
+ streamable: string;
522
+ listeners: string;
523
+ }[];
524
+ };
525
+ '@attr': {
526
+ for: string;
527
+ };
528
+ 'opensearch:totalResults': string;
529
+ 'opensearch:startIndex': string;
530
+ 'opensearch:itemsPerPage': string;
531
+ };
532
+ }
533
+ export interface AuthSessionResponse {
534
+ session: {
535
+ name: string;
536
+ key: string;
537
+ subscriber: number;
538
+ };
539
+ }
540
+ export interface AuthMobileSessionResponse {
541
+ session: {
542
+ name: string;
543
+ key: string;
544
+ subscriber: number;
545
+ };
546
+ }
547
+ export interface GeoTopArtistsResponse {
548
+ topartists: {
549
+ artist: {
550
+ name: string;
551
+ mbid?: string;
552
+ url: string;
553
+ image: Image[];
554
+ streamable: string;
555
+ listeners: string;
556
+ }[];
557
+ '@attr': {
558
+ country: string;
559
+ page: string;
560
+ perPage: string;
561
+ totalPages: string;
562
+ total: string;
563
+ };
564
+ };
565
+ }
566
+ export interface GeoTopTracksResponse {
567
+ tracks: {
568
+ track: {
569
+ name: string;
570
+ mbid?: string;
571
+ url: string;
572
+ listeners: string;
573
+ image: Image[];
574
+ artist: {
575
+ name: string;
576
+ mbid: string;
577
+ url: string;
578
+ };
579
+ }[];
580
+ '@attr': {
581
+ country: string;
582
+ page: string;
583
+ perPage: string;
584
+ totalPages: string;
585
+ total: string;
586
+ };
587
+ };
588
+ }
589
+ export interface LibraryArtistsResponse {
590
+ artists: {
591
+ artist: {
592
+ name: string;
593
+ mbid?: string;
594
+ url: string;
595
+ image: Image[];
596
+ streamable: string;
597
+ tagcount: string;
598
+ playcount: string;
599
+ }[];
600
+ '@attr': AttributesPage;
601
+ };
602
+ }
603
+ export interface TagInfoResponse {
604
+ tag: {
605
+ name: string;
606
+ reach: string;
607
+ total: string;
608
+ wiki?: {
609
+ summary: string;
610
+ content: string;
611
+ };
612
+ };
613
+ }
614
+ export interface TagSimilarResponse {
615
+ similartags: {
616
+ tag: {
617
+ name: string;
618
+ url: string;
619
+ streamable: string;
620
+ }[];
621
+ '@attr': {
622
+ tag: string;
623
+ };
624
+ };
625
+ }
626
+ export interface TagTopAlbumsResponse {
627
+ albums: {
628
+ album: {
629
+ name: string;
630
+ mbid?: string;
631
+ url: string;
632
+ artist: {
633
+ name: string;
634
+ mbid: string;
635
+ url: string;
636
+ };
637
+ image: Image[];
638
+ }[];
639
+ '@attr': {
640
+ tag: string;
641
+ page: string;
642
+ perPage: string;
643
+ totalPages: string;
644
+ total: string;
645
+ };
646
+ };
647
+ }
648
+ export interface TagTopArtistsResponse {
649
+ topartists: {
650
+ artist: {
651
+ name: string;
652
+ mbid?: string;
653
+ url: string;
654
+ image: Image[];
655
+ streamable: string;
656
+ }[];
657
+ '@attr': {
658
+ tag: string;
659
+ page: string;
660
+ perPage: string;
661
+ totalPages: string;
662
+ total: string;
663
+ };
664
+ };
665
+ }
666
+ export interface TagTopTagsResponse {
667
+ toptags: {
668
+ tag: {
669
+ name: string;
670
+ count: number;
671
+ reach: number;
672
+ }[];
673
+ '@attr': {
674
+ offset: number;
675
+ num_res: number;
676
+ total: number;
677
+ };
678
+ };
679
+ }
680
+ export interface TagWeeklyChartListResponse {
681
+ weeklychartlist: {
682
+ chart: {
683
+ '#text': string;
684
+ from: string;
685
+ to: string;
686
+ }[];
687
+ '@attr': {
688
+ tag: string;
689
+ };
690
+ };
691
+ }
692
+ export interface TrackCorrectionResponse {
693
+ corrections: {
694
+ correction: {
695
+ track: {
696
+ name: string;
697
+ mbid: string;
698
+ url: string;
699
+ artist: {
700
+ name: string;
701
+ mbid: string;
702
+ url: string;
703
+ };
704
+ };
705
+ '@attr': {
706
+ index: string;
707
+ artistcorrected: string;
708
+ trackcorrected: string;
709
+ };
710
+ };
711
+ };
712
+ }
713
+ export interface TrackInfoResponse {
714
+ track: {
715
+ name: string;
716
+ mbid?: string;
717
+ url: string;
718
+ duration: string;
719
+ streamable: {
720
+ '#text': string;
721
+ fulltrack: string;
722
+ };
723
+ listeners: string;
724
+ playcount: string;
725
+ artist: {
726
+ name: string;
727
+ mbid: string;
728
+ url: string;
729
+ };
730
+ album?: {
731
+ artist: string;
732
+ title: string;
733
+ mbid?: string;
734
+ url: string;
735
+ image: Image[];
736
+ '@attr'?: {
737
+ position: string;
738
+ };
739
+ };
740
+ toptags: {
741
+ tag: {
742
+ name: string;
743
+ url: string;
744
+ }[];
745
+ };
746
+ wiki?: {
747
+ published: string;
748
+ summary: string;
749
+ content: string;
750
+ };
751
+ };
752
+ }
753
+ export interface TrackSimilarResponse {
754
+ similartracks: {
755
+ track: {
756
+ name: string;
757
+ mbid?: string;
758
+ match: number;
759
+ url: string;
760
+ duration: number;
761
+ streamable: {
762
+ '#text': string;
763
+ fulltrack: string;
764
+ };
765
+ artist: {
766
+ name: string;
767
+ mbid: string;
768
+ url: string;
769
+ };
770
+ image: Image[];
771
+ }[];
772
+ '@attr': {
773
+ artist: string;
774
+ };
775
+ };
776
+ }
777
+ export interface TrackTagsResponse {
778
+ tags: {
779
+ tag: {
780
+ name: string;
781
+ url: string;
782
+ }[];
783
+ '@attr': {
784
+ artist: string;
785
+ track: string;
786
+ };
787
+ };
788
+ }
789
+ export interface TrackTopTagsResponse {
790
+ toptags: {
791
+ tag: {
792
+ name: string;
793
+ count: number;
794
+ url: string;
795
+ }[];
796
+ '@attr': {
797
+ artist: string;
798
+ track: string;
799
+ };
800
+ };
801
+ }
802
+ export interface TrackSearchResponse {
803
+ results: {
804
+ trackmatches: {
805
+ track: {
806
+ name: string;
807
+ artist: string;
808
+ mbid?: string;
809
+ url: string;
810
+ streamable: string;
811
+ listeners: string;
812
+ image: Image[];
813
+ }[];
814
+ };
815
+ '@attr': {
816
+ for: string;
817
+ };
818
+ 'opensearch:totalResults': string;
819
+ 'opensearch:startIndex': string;
820
+ 'opensearch:itemsPerPage': string;
821
+ };
822
+ }
823
+ export interface ScrobbleResponse {
824
+ scrobbles: {
825
+ scrobble: {
826
+ track: {
827
+ '#text': string;
828
+ corrected: string;
829
+ };
830
+ artist: {
831
+ '#text': string;
832
+ corrected: string;
833
+ };
834
+ album: {
835
+ '#text': string;
836
+ corrected: string;
837
+ };
838
+ timestamp: string;
839
+ ignoredMessage: {
840
+ code: string;
841
+ '#text': string;
842
+ };
843
+ };
844
+ '@attr': {
845
+ accepted: number;
846
+ ignored: number;
847
+ };
848
+ };
849
+ }
850
+ export interface UserPersonalTagsResponse {
851
+ taggings: {
852
+ artists?: {
853
+ artist: Artist[];
854
+ };
855
+ albums?: {
856
+ album: Album[];
857
+ };
858
+ tracks?: {
859
+ track: Track[];
860
+ };
861
+ '@attr': {
862
+ user: string;
863
+ tag: string;
864
+ page: string;
865
+ perPage: string;
866
+ totalPages: string;
867
+ total: string;
868
+ };
869
+ };
870
+ }
@@ -0,0 +1,2 @@
1
+ import type { LibraryArtistsResponse } from '../lastfm.types.js';
2
+ export declare function libraryGetArtists(method: string, user: string, limit?: string, page?: string): Promise<LibraryArtistsResponse>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Pure TypeScript MD5 implementation.
3
+ * Uses only TextEncoder and DataView — available in Node.js >=18 and all modern browsers.
4
+ * Required because crypto.subtle does not support MD5 (deprecated algorithm),
5
+ * and node:crypto is not available in browser environments.
6
+ */
7
+ export declare function md5(message: string): string;