@ansango/lastfm-api 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +323 -0
  2. package/LICENSE +21 -0
  3. package/README.md +470 -0
  4. package/dist/__tests__/utils.test.d.ts +2 -0
  5. package/dist/__tests__/utils.test.d.ts.map +1 -0
  6. package/dist/__tests__/utils.test.js +86 -0
  7. package/dist/__tests__/utils.test.js.map +1 -0
  8. package/dist/client.d.ts +52 -0
  9. package/dist/client.d.ts.map +1 -0
  10. package/dist/client.js +68 -0
  11. package/dist/client.js.map +1 -0
  12. package/dist/config.d.ts +23 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +59 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/entrypoints/album.d.ts +4 -0
  17. package/dist/entrypoints/album.d.ts.map +1 -0
  18. package/dist/entrypoints/album.js +3 -0
  19. package/dist/entrypoints/album.js.map +1 -0
  20. package/dist/entrypoints/album.schemas.d.ts +2 -0
  21. package/dist/entrypoints/album.schemas.d.ts.map +1 -0
  22. package/dist/entrypoints/album.schemas.js +3 -0
  23. package/dist/entrypoints/album.schemas.js.map +1 -0
  24. package/dist/entrypoints/artist.d.ts +4 -0
  25. package/dist/entrypoints/artist.d.ts.map +1 -0
  26. package/dist/entrypoints/artist.js +3 -0
  27. package/dist/entrypoints/artist.js.map +1 -0
  28. package/dist/entrypoints/artist.schemas.d.ts +2 -0
  29. package/dist/entrypoints/artist.schemas.d.ts.map +1 -0
  30. package/dist/entrypoints/artist.schemas.js +3 -0
  31. package/dist/entrypoints/artist.schemas.js.map +1 -0
  32. package/dist/entrypoints/auth.d.ts +4 -0
  33. package/dist/entrypoints/auth.d.ts.map +1 -0
  34. package/dist/entrypoints/auth.js +3 -0
  35. package/dist/entrypoints/auth.js.map +1 -0
  36. package/dist/entrypoints/auth.schemas.d.ts +2 -0
  37. package/dist/entrypoints/auth.schemas.d.ts.map +1 -0
  38. package/dist/entrypoints/auth.schemas.js +3 -0
  39. package/dist/entrypoints/auth.schemas.js.map +1 -0
  40. package/dist/entrypoints/base.schemas.d.ts +2 -0
  41. package/dist/entrypoints/base.schemas.d.ts.map +1 -0
  42. package/dist/entrypoints/base.schemas.js +3 -0
  43. package/dist/entrypoints/base.schemas.js.map +1 -0
  44. package/dist/entrypoints/chart.d.ts +4 -0
  45. package/dist/entrypoints/chart.d.ts.map +1 -0
  46. package/dist/entrypoints/chart.js +3 -0
  47. package/dist/entrypoints/chart.js.map +1 -0
  48. package/dist/entrypoints/chart.schemas.d.ts +2 -0
  49. package/dist/entrypoints/chart.schemas.d.ts.map +1 -0
  50. package/dist/entrypoints/chart.schemas.js +3 -0
  51. package/dist/entrypoints/chart.schemas.js.map +1 -0
  52. package/dist/entrypoints/geo.d.ts +4 -0
  53. package/dist/entrypoints/geo.d.ts.map +1 -0
  54. package/dist/entrypoints/geo.js +3 -0
  55. package/dist/entrypoints/geo.js.map +1 -0
  56. package/dist/entrypoints/geo.schemas.d.ts +2 -0
  57. package/dist/entrypoints/geo.schemas.d.ts.map +1 -0
  58. package/dist/entrypoints/geo.schemas.js +3 -0
  59. package/dist/entrypoints/geo.schemas.js.map +1 -0
  60. package/dist/entrypoints/library.d.ts +4 -0
  61. package/dist/entrypoints/library.d.ts.map +1 -0
  62. package/dist/entrypoints/library.js +3 -0
  63. package/dist/entrypoints/library.js.map +1 -0
  64. package/dist/entrypoints/library.schemas.d.ts +2 -0
  65. package/dist/entrypoints/library.schemas.d.ts.map +1 -0
  66. package/dist/entrypoints/library.schemas.js +3 -0
  67. package/dist/entrypoints/library.schemas.js.map +1 -0
  68. package/dist/entrypoints/tag.d.ts +4 -0
  69. package/dist/entrypoints/tag.d.ts.map +1 -0
  70. package/dist/entrypoints/tag.js +3 -0
  71. package/dist/entrypoints/tag.js.map +1 -0
  72. package/dist/entrypoints/tag.schemas.d.ts +2 -0
  73. package/dist/entrypoints/tag.schemas.d.ts.map +1 -0
  74. package/dist/entrypoints/tag.schemas.js +3 -0
  75. package/dist/entrypoints/tag.schemas.js.map +1 -0
  76. package/dist/entrypoints/track.d.ts +4 -0
  77. package/dist/entrypoints/track.d.ts.map +1 -0
  78. package/dist/entrypoints/track.js +3 -0
  79. package/dist/entrypoints/track.js.map +1 -0
  80. package/dist/entrypoints/track.schemas.d.ts +2 -0
  81. package/dist/entrypoints/track.schemas.d.ts.map +1 -0
  82. package/dist/entrypoints/track.schemas.js +3 -0
  83. package/dist/entrypoints/track.schemas.js.map +1 -0
  84. package/dist/entrypoints/user.d.ts +4 -0
  85. package/dist/entrypoints/user.d.ts.map +1 -0
  86. package/dist/entrypoints/user.js +3 -0
  87. package/dist/entrypoints/user.js.map +1 -0
  88. package/dist/entrypoints/user.schemas.d.ts +2 -0
  89. package/dist/entrypoints/user.schemas.d.ts.map +1 -0
  90. package/dist/entrypoints/user.schemas.js +3 -0
  91. package/dist/entrypoints/user.schemas.js.map +1 -0
  92. package/dist/index.d.ts +26 -0
  93. package/dist/index.d.ts.map +1 -0
  94. package/dist/index.js +20 -0
  95. package/dist/index.js.map +1 -0
  96. package/dist/services/album.d.ts +38 -0
  97. package/dist/services/album.d.ts.map +1 -0
  98. package/dist/services/album.js +10 -0
  99. package/dist/services/album.js.map +1 -0
  100. package/dist/services/album.schemas.d.ts +171 -0
  101. package/dist/services/album.schemas.d.ts.map +1 -0
  102. package/dist/services/album.schemas.js +128 -0
  103. package/dist/services/album.schemas.js.map +1 -0
  104. package/dist/services/artist.d.ts +62 -0
  105. package/dist/services/artist.d.ts.map +1 -0
  106. package/dist/services/artist.js +13 -0
  107. package/dist/services/artist.js.map +1 -0
  108. package/dist/services/artist.schemas.d.ts +306 -0
  109. package/dist/services/artist.schemas.d.ts.map +1 -0
  110. package/dist/services/artist.schemas.js +199 -0
  111. package/dist/services/artist.schemas.js.map +1 -0
  112. package/dist/services/auth.d.ts +14 -0
  113. package/dist/services/auth.d.ts.map +1 -0
  114. package/dist/services/auth.js +7 -0
  115. package/dist/services/auth.js.map +1 -0
  116. package/dist/services/auth.schemas.d.ts +20 -0
  117. package/dist/services/auth.schemas.d.ts.map +1 -0
  118. package/dist/services/auth.schemas.js +16 -0
  119. package/dist/services/auth.schemas.js.map +1 -0
  120. package/dist/services/chart.d.ts +30 -0
  121. package/dist/services/chart.d.ts.map +1 -0
  122. package/dist/services/chart.js +9 -0
  123. package/dist/services/chart.js.map +1 -0
  124. package/dist/services/chart.schemas.d.ts +84 -0
  125. package/dist/services/chart.schemas.d.ts.map +1 -0
  126. package/dist/services/chart.schemas.js +73 -0
  127. package/dist/services/chart.schemas.js.map +1 -0
  128. package/dist/services/geo.d.ts +22 -0
  129. package/dist/services/geo.d.ts.map +1 -0
  130. package/dist/services/geo.js +8 -0
  131. package/dist/services/geo.js.map +1 -0
  132. package/dist/services/geo.schemas.d.ts +68 -0
  133. package/dist/services/geo.schemas.d.ts.map +1 -0
  134. package/dist/services/geo.schemas.js +59 -0
  135. package/dist/services/geo.schemas.js.map +1 -0
  136. package/dist/services/index.d.ts +20 -0
  137. package/dist/services/index.d.ts.map +1 -0
  138. package/dist/services/index.js +21 -0
  139. package/dist/services/index.js.map +1 -0
  140. package/dist/services/library.d.ts +14 -0
  141. package/dist/services/library.d.ts.map +1 -0
  142. package/dist/services/library.js +7 -0
  143. package/dist/services/library.js.map +1 -0
  144. package/dist/services/library.schemas.d.ts +31 -0
  145. package/dist/services/library.schemas.d.ts.map +1 -0
  146. package/dist/services/library.schemas.js +27 -0
  147. package/dist/services/library.schemas.js.map +1 -0
  148. package/dist/services/schemas/base.entities.schemas.d.ts +12 -0
  149. package/dist/services/schemas/base.entities.schemas.d.ts.map +1 -0
  150. package/dist/services/schemas/base.entities.schemas.js +18 -0
  151. package/dist/services/schemas/base.entities.schemas.js.map +1 -0
  152. package/dist/services/schemas/base.entity-names.schemas.d.ts +12 -0
  153. package/dist/services/schemas/base.entity-names.schemas.d.ts.map +1 -0
  154. package/dist/services/schemas/base.entity-names.schemas.js +8 -0
  155. package/dist/services/schemas/base.entity-names.schemas.js.map +1 -0
  156. package/dist/services/schemas/base.metadata.schemas.d.ts +26 -0
  157. package/dist/services/schemas/base.metadata.schemas.d.ts.map +1 -0
  158. package/dist/services/schemas/base.metadata.schemas.js +17 -0
  159. package/dist/services/schemas/base.metadata.schemas.js.map +1 -0
  160. package/dist/services/schemas/base.pagination.schemas.d.ts +18 -0
  161. package/dist/services/schemas/base.pagination.schemas.d.ts.map +1 -0
  162. package/dist/services/schemas/base.pagination.schemas.js +12 -0
  163. package/dist/services/schemas/base.pagination.schemas.js.map +1 -0
  164. package/dist/services/schemas/base.primitives.schemas.d.ts +50 -0
  165. package/dist/services/schemas/base.primitives.schemas.d.ts.map +1 -0
  166. package/dist/services/schemas/base.primitives.schemas.js +36 -0
  167. package/dist/services/schemas/base.primitives.schemas.js.map +1 -0
  168. package/dist/services/schemas/index.d.ts +6 -0
  169. package/dist/services/schemas/index.d.ts.map +1 -0
  170. package/dist/services/schemas/index.js +7 -0
  171. package/dist/services/schemas/index.js.map +1 -0
  172. package/dist/services/tag.d.ts +62 -0
  173. package/dist/services/tag.d.ts.map +1 -0
  174. package/dist/services/tag.js +13 -0
  175. package/dist/services/tag.js.map +1 -0
  176. package/dist/services/tag.schemas.d.ts +192 -0
  177. package/dist/services/tag.schemas.d.ts.map +1 -0
  178. package/dist/services/tag.schemas.js +156 -0
  179. package/dist/services/tag.schemas.js.map +1 -0
  180. package/dist/services/track.d.ts +74 -0
  181. package/dist/services/track.d.ts.map +1 -0
  182. package/dist/services/track.js +25 -0
  183. package/dist/services/track.js.map +1 -0
  184. package/dist/services/track.schemas.d.ts +284 -0
  185. package/dist/services/track.schemas.d.ts.map +1 -0
  186. package/dist/services/track.schemas.js +191 -0
  187. package/dist/services/track.schemas.js.map +1 -0
  188. package/dist/services/track.utils.d.ts +10 -0
  189. package/dist/services/track.utils.d.ts.map +1 -0
  190. package/dist/services/track.utils.js +56 -0
  191. package/dist/services/track.utils.js.map +1 -0
  192. package/dist/services/user.d.ts +102 -0
  193. package/dist/services/user.d.ts.map +1 -0
  194. package/dist/services/user.js +18 -0
  195. package/dist/services/user.js.map +1 -0
  196. package/dist/services/user.schemas.d.ts +609 -0
  197. package/dist/services/user.schemas.d.ts.map +1 -0
  198. package/dist/services/user.schemas.js +321 -0
  199. package/dist/services/user.schemas.js.map +1 -0
  200. package/dist/utils.d.ts +39 -0
  201. package/dist/utils.d.ts.map +1 -0
  202. package/dist/utils.js +125 -0
  203. package/dist/utils.js.map +1 -0
  204. package/package.json +156 -0
@@ -0,0 +1,84 @@
1
+ import { z } from "zod";
2
+ export declare const chartGetTopArtistsRequestSchema: z.ZodObject<{
3
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
4
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
5
+ }, z.core.$strip>;
6
+ export declare const chartGetTopArtistsResponseSchema: z.ZodObject<{
7
+ artists: z.ZodObject<{
8
+ artist: z.ZodArray<z.ZodObject<{
9
+ name: z.ZodString;
10
+ playcount: z.ZodString;
11
+ mbid: z.ZodString;
12
+ listeners: z.ZodString;
13
+ url: z.ZodString;
14
+ image: z.ZodArray<z.ZodObject<{
15
+ "#text": z.ZodString;
16
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ "@attr": z.ZodObject<{
20
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
21
+ perPage: z.ZodString;
22
+ totalPages: z.ZodString;
23
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
24
+ }, z.core.$strip>;
25
+ }, z.core.$strip>;
26
+ }, z.core.$strip>;
27
+ export declare const chartGetTopTagsRequestSchema: z.ZodObject<{
28
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
29
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
30
+ }, z.core.$strip>;
31
+ export declare const chartGetTopTagsResponseSchema: z.ZodObject<{
32
+ tags: z.ZodObject<{
33
+ tag: z.ZodArray<z.ZodObject<{
34
+ name: z.ZodString;
35
+ url: z.ZodString;
36
+ reach: z.ZodNumber;
37
+ taggings: z.ZodString;
38
+ }, z.core.$strip>>;
39
+ "@attr": z.ZodObject<{
40
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
41
+ perPage: z.ZodString;
42
+ totalPages: z.ZodString;
43
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
44
+ }, z.core.$strip>;
45
+ }, z.core.$strip>;
46
+ }, z.core.$strip>;
47
+ export declare const chartGetTopTracksRequestSchema: z.ZodObject<{
48
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
49
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
50
+ }, z.core.$strip>;
51
+ export declare const chartGetTopTracksResponseSchema: z.ZodObject<{
52
+ tracks: z.ZodObject<{
53
+ track: z.ZodArray<z.ZodObject<{
54
+ name: z.ZodString;
55
+ duration: z.ZodString;
56
+ listeners: z.ZodString;
57
+ mbid: z.ZodString;
58
+ url: z.ZodString;
59
+ playcount: z.ZodString;
60
+ artist: z.ZodObject<{
61
+ name: z.ZodString;
62
+ mbid: z.ZodString;
63
+ url: z.ZodString;
64
+ }, z.core.$strip>;
65
+ image: z.ZodArray<z.ZodObject<{
66
+ "#text": z.ZodString;
67
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
68
+ }, z.core.$strip>>;
69
+ }, z.core.$strip>>;
70
+ "@attr": z.ZodObject<{
71
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
72
+ perPage: z.ZodString;
73
+ totalPages: z.ZodString;
74
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
75
+ }, z.core.$strip>;
76
+ }, z.core.$strip>;
77
+ }, z.core.$strip>;
78
+ export type ChartGetTopArtistsRequest = z.infer<typeof chartGetTopArtistsRequestSchema>;
79
+ export type ChartGetTopArtistsResponse = z.infer<typeof chartGetTopArtistsResponseSchema>;
80
+ export type ChartGetTopTagsRequest = z.infer<typeof chartGetTopTagsRequestSchema>;
81
+ export type ChartGetTopTagsResponse = z.infer<typeof chartGetTopTagsResponseSchema>;
82
+ export type ChartGetTopTracksRequest = z.infer<typeof chartGetTopTracksRequestSchema>;
83
+ export type ChartGetTopTracksResponse = z.infer<typeof chartGetTopTracksResponseSchema>;
84
+ //# sourceMappingURL=chart.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.schemas.d.ts","sourceRoot":"","sources":["../../src/services/chart.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;iBAiB3C,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAexC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { z } from "zod";
2
+ import { artistNameSchema, durationSchema, imageSchema, itemsPerPageSchema, limitSchema, listenersSchema, mbidSchema, pageSchema, playcountSchema, reachSchema, tagNameSchema, totalPagesSchema, totalSchema, trackNameSchema, urlSchema } from "./schemas/index.js";
3
+ export const chartGetTopArtistsRequestSchema = z.object({
4
+ limit: limitSchema.optional(),
5
+ page: pageSchema.optional()
6
+ });
7
+ export const chartGetTopArtistsResponseSchema = z.object({
8
+ artists: z.object({
9
+ artist: z.array(z.object({
10
+ name: artistNameSchema,
11
+ playcount: playcountSchema,
12
+ mbid: mbidSchema,
13
+ listeners: listenersSchema,
14
+ url: urlSchema,
15
+ image: z.array(imageSchema)
16
+ })),
17
+ "@attr": z.object({
18
+ page: pageSchema,
19
+ perPage: itemsPerPageSchema,
20
+ totalPages: totalPagesSchema,
21
+ total: totalSchema
22
+ })
23
+ })
24
+ });
25
+ export const chartGetTopTagsRequestSchema = z.object({
26
+ limit: limitSchema.optional(),
27
+ page: pageSchema.optional()
28
+ });
29
+ export const chartGetTopTagsResponseSchema = z.object({
30
+ tags: z.object({
31
+ tag: z.array(z.object({
32
+ name: tagNameSchema,
33
+ url: urlSchema,
34
+ reach: reachSchema,
35
+ taggings: z.string()
36
+ })),
37
+ "@attr": z.object({
38
+ page: pageSchema,
39
+ perPage: itemsPerPageSchema,
40
+ totalPages: totalPagesSchema,
41
+ total: totalSchema
42
+ })
43
+ })
44
+ });
45
+ export const chartGetTopTracksRequestSchema = z.object({
46
+ limit: limitSchema.optional(),
47
+ page: pageSchema.optional()
48
+ });
49
+ export const chartGetTopTracksResponseSchema = z.object({
50
+ tracks: z.object({
51
+ track: z.array(z.object({
52
+ name: trackNameSchema,
53
+ duration: durationSchema,
54
+ listeners: listenersSchema,
55
+ mbid: mbidSchema,
56
+ url: urlSchema,
57
+ playcount: playcountSchema,
58
+ artist: z.object({
59
+ name: artistNameSchema,
60
+ mbid: mbidSchema,
61
+ url: urlSchema
62
+ }),
63
+ image: z.array(imageSchema)
64
+ })),
65
+ "@attr": z.object({
66
+ page: pageSchema,
67
+ perPage: itemsPerPageSchema,
68
+ totalPages: totalPagesSchema,
69
+ total: totalSchema
70
+ })
71
+ })
72
+ });
73
+ //# sourceMappingURL=chart.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.schemas.js","sourceRoot":"","sources":["../../src/services/chart.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,SAAS,EACT,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,eAAe;YAC1B,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS;aACjB,CAAC;YACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { GeoGetTopArtistsRequest, GeoGetTopArtistsResponse, GeoGetTopTracksRequest, GeoGetTopTracksResponse } from './geo.schemas.js';
2
+ import type { LastFmConfig } from '../config.js';
3
+ export interface GeoService {
4
+ /**
5
+ * Get the most popular artists on Last.fm by country.
6
+ * @param {GeoGetTopArtistsRequest} params
7
+ * @param {RequestInit} init
8
+ * @returns {Promise<GeoGetTopArtistsResponse>}
9
+ * https://www.last.fm/api/show/geo.getTopArtists
10
+ * */
11
+ getTopArtists: (params: GeoGetTopArtistsRequest, init?: RequestInit) => Promise<GeoGetTopArtistsResponse>;
12
+ /**
13
+ * Get the most popular tracks on Last.fm by country.
14
+ * @param {GeoGetTopTracksRequest} params
15
+ * @param {RequestInit} init
16
+ * @returns {Promise<GeoGetTopTracksResponse>}
17
+ * https://www.last.fm/api/show/geo.getTopTracks
18
+ * */
19
+ getTopTracks: (params: GeoGetTopTracksRequest, init?: RequestInit) => Promise<GeoGetTopTracksResponse>;
20
+ }
21
+ export declare function createGeoService(config: LastFmConfig): GeoService;
22
+ //# sourceMappingURL=geo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo.d.ts","sourceRoot":"","sources":["../../src/services/geo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,UAAU;IAC1B;;;;;;SAMK;IACL,aAAa,EAAE,CACd,MAAM,EAAE,uBAAuB,EAC/B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC;;;;;;SAMK;IACL,YAAY,EAAE,CACb,MAAM,EAAE,sBAAsB,EAC9B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAOjE"}
@@ -0,0 +1,8 @@
1
+ import { fetcher, buildUrl } from '../utils.js';
2
+ export function createGeoService(config) {
3
+ return {
4
+ getTopArtists: (params, init) => fetcher(buildUrl(config, 'geo.getTopArtists', params), init),
5
+ getTopTracks: (params, init) => fetcher(buildUrl(config, 'geo.getTopTracks', params), init)
6
+ };
7
+ }
8
+ //# sourceMappingURL=geo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/services/geo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4BhD,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACpD,OAAO;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAA2B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACvF,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9B,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACrF,CAAC;AACH,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { z } from "zod";
2
+ export declare const geoGetTopArtistsRequestSchema: z.ZodObject<{
3
+ country: z.ZodString;
4
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
5
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
6
+ }, z.core.$strip>;
7
+ export declare const geoGetTopArtistsResponseSchema: z.ZodObject<{
8
+ topartists: z.ZodObject<{
9
+ artist: z.ZodArray<z.ZodObject<{
10
+ name: z.ZodString;
11
+ listeners: z.ZodString;
12
+ mbid: z.ZodString;
13
+ url: z.ZodString;
14
+ image: z.ZodArray<z.ZodObject<{
15
+ "#text": z.ZodString;
16
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ "@attr": z.ZodObject<{
20
+ country: z.ZodString;
21
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
22
+ perPage: z.ZodString;
23
+ totalPages: z.ZodString;
24
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
25
+ }, z.core.$strip>;
26
+ }, z.core.$strip>;
27
+ }, z.core.$strip>;
28
+ export declare const geoGetTopTracksRequestSchema: z.ZodObject<{
29
+ country: z.ZodString;
30
+ location: z.ZodOptional<z.ZodString>;
31
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
32
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
33
+ }, z.core.$strip>;
34
+ export declare const geoGetTopTracksResponseSchema: z.ZodObject<{
35
+ tracks: z.ZodObject<{
36
+ track: z.ZodArray<z.ZodObject<{
37
+ name: z.ZodString;
38
+ duration: z.ZodString;
39
+ listeners: z.ZodString;
40
+ mbid: z.ZodString;
41
+ url: z.ZodString;
42
+ artist: z.ZodObject<{
43
+ name: z.ZodString;
44
+ mbid: z.ZodString;
45
+ url: z.ZodString;
46
+ }, z.core.$strip>;
47
+ image: z.ZodArray<z.ZodObject<{
48
+ "#text": z.ZodString;
49
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
50
+ }, z.core.$strip>>;
51
+ "@attr": z.ZodObject<{
52
+ rank: z.ZodString;
53
+ }, z.core.$strip>;
54
+ }, z.core.$strip>>;
55
+ "@attr": z.ZodObject<{
56
+ country: z.ZodString;
57
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
58
+ perPage: z.ZodString;
59
+ totalPages: z.ZodString;
60
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
61
+ }, z.core.$strip>;
62
+ }, z.core.$strip>;
63
+ }, z.core.$strip>;
64
+ export type GeoGetTopArtistsRequest = z.infer<typeof geoGetTopArtistsRequestSchema>;
65
+ export type GeoGetTopArtistsResponse = z.infer<typeof geoGetTopArtistsResponseSchema>;
66
+ export type GeoGetTopTracksRequest = z.infer<typeof geoGetTopTracksRequestSchema>;
67
+ export type GeoGetTopTracksResponse = z.infer<typeof geoGetTopTracksResponseSchema>;
68
+ //# sourceMappingURL=geo.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo.schemas.d.ts","sourceRoot":"","sources":["../../src/services/geo.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;iBAiBzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { z } from "zod";
2
+ import { artistNameSchema, countrySchema, durationSchema, imageSchema, itemsPerPageSchema, limitSchema, listenersSchema, locSchema, mbidSchema, pageSchema, rankSchema, totalPagesSchema, totalSchema, trackNameSchema, urlSchema } from "./schemas/index.js";
3
+ export const geoGetTopArtistsRequestSchema = z.object({
4
+ country: countrySchema,
5
+ limit: limitSchema.optional(),
6
+ page: pageSchema.optional()
7
+ });
8
+ export const geoGetTopArtistsResponseSchema = z.object({
9
+ topartists: z.object({
10
+ artist: z.array(z.object({
11
+ name: artistNameSchema,
12
+ listeners: listenersSchema,
13
+ mbid: mbidSchema,
14
+ url: urlSchema,
15
+ image: z.array(imageSchema)
16
+ })),
17
+ "@attr": z.object({
18
+ country: countrySchema,
19
+ page: pageSchema,
20
+ perPage: itemsPerPageSchema,
21
+ totalPages: totalPagesSchema,
22
+ total: totalSchema
23
+ })
24
+ })
25
+ });
26
+ export const geoGetTopTracksRequestSchema = z.object({
27
+ country: countrySchema,
28
+ location: locSchema.optional(),
29
+ limit: limitSchema.optional(),
30
+ page: pageSchema.optional()
31
+ });
32
+ export const geoGetTopTracksResponseSchema = z.object({
33
+ tracks: z.object({
34
+ track: z.array(z.object({
35
+ name: trackNameSchema,
36
+ duration: durationSchema,
37
+ listeners: listenersSchema,
38
+ mbid: mbidSchema,
39
+ url: urlSchema,
40
+ artist: z.object({
41
+ name: artistNameSchema,
42
+ mbid: mbidSchema,
43
+ url: urlSchema
44
+ }),
45
+ image: z.array(imageSchema),
46
+ "@attr": z.object({
47
+ rank: rankSchema
48
+ })
49
+ })),
50
+ "@attr": z.object({
51
+ country: countrySchema,
52
+ page: pageSchema,
53
+ perPage: itemsPerPageSchema,
54
+ totalPages: totalPagesSchema,
55
+ total: totalSchema
56
+ })
57
+ })
58
+ });
59
+ //# sourceMappingURL=geo.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo.schemas.js","sourceRoot":"","sources":["../../src/services/geo.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,SAAS,EACT,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS;aACjB,CAAC;YACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,UAAU;aACnB,CAAC;SACL,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export * from './user.js';
2
+ export * from './album.js';
3
+ export * from './artist.js';
4
+ export * from './track.js';
5
+ export * from './tag.js';
6
+ export * from './chart.js';
7
+ export * from './geo.js';
8
+ export * from './library.js';
9
+ export * from './auth.js';
10
+ export * from './user.schemas.js';
11
+ export * from './album.schemas.js';
12
+ export * from './artist.schemas.js';
13
+ export * from './track.schemas.js';
14
+ export * from './tag.schemas.js';
15
+ export * from './chart.schemas.js';
16
+ export * from './geo.schemas.js';
17
+ export * from './library.schemas.js';
18
+ export * from './auth.schemas.js';
19
+ export * from './schemas/index.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,21 @@
1
+ export * from './user.js';
2
+ export * from './album.js';
3
+ export * from './artist.js';
4
+ export * from './track.js';
5
+ export * from './tag.js';
6
+ export * from './chart.js';
7
+ export * from './geo.js';
8
+ export * from './library.js';
9
+ export * from './auth.js';
10
+ // Export all types and schemas
11
+ export * from './user.schemas.js';
12
+ export * from './album.schemas.js';
13
+ export * from './artist.schemas.js';
14
+ export * from './track.schemas.js';
15
+ export * from './tag.schemas.js';
16
+ export * from './chart.schemas.js';
17
+ export * from './geo.schemas.js';
18
+ export * from './library.schemas.js';
19
+ export * from './auth.schemas.js';
20
+ export * from './schemas/index.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAE1B,+BAA+B;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { LibraryGetArtistsRequest, LibraryGetArtistsResponse } from './library.schemas.js';
2
+ import type { LastFmConfig } from '../config.js';
3
+ export interface LibraryService {
4
+ /**
5
+ * Get a list of the artists saved in a user's Last.fm library, along with the number of plays by the user.
6
+ * @param {LibraryGetArtistsRequest} params
7
+ * @param {RequestInit} init
8
+ * @returns {Promise<LibraryGetArtistsResponse>}
9
+ * https://www.last.fm/api/show/library.getArtists
10
+ * */
11
+ getArtists: (params: LibraryGetArtistsRequest, init?: RequestInit) => Promise<LibraryGetArtistsResponse>;
12
+ }
13
+ export declare function createLibraryService(config: LastFmConfig): LibraryService;
14
+ //# sourceMappingURL=library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/services/library.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC9B;;;;;;SAMK;IACL,UAAU,EAAE,CACX,MAAM,EAAE,wBAAwB,EAChC,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACxC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAKzE"}
@@ -0,0 +1,7 @@
1
+ import { fetcher, buildUrl } from '../utils.js';
2
+ export function createLibraryService(config) {
3
+ return {
4
+ getArtists: (params, init) => fetcher(buildUrl(config, 'library.getArtists', params), init)
5
+ };
6
+ }
7
+ //# sourceMappingURL=library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/services/library.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiBhD,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACxD,OAAO;QACN,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,OAAO,CAA4B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACzF,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ export declare const libraryGetArtistsRequestSchema: z.ZodObject<{
3
+ user: z.ZodString;
4
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
5
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
6
+ }, z.core.$strip>;
7
+ export declare const libraryGetArtistsResponseSchema: z.ZodObject<{
8
+ artists: z.ZodObject<{
9
+ artist: z.ZodArray<z.ZodObject<{
10
+ tagCount: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
11
+ image: z.ZodArray<z.ZodObject<{
12
+ "#text": z.ZodString;
13
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
14
+ }, z.core.$strip>>;
15
+ mbid: z.ZodString;
16
+ url: z.ZodString;
17
+ playcount: z.ZodString;
18
+ name: z.ZodString;
19
+ }, z.core.$strip>>;
20
+ "@attr": z.ZodObject<{
21
+ user: z.ZodString;
22
+ totalPages: z.ZodString;
23
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
24
+ perPage: z.ZodString;
25
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
26
+ }, z.core.$strip>;
27
+ }, z.core.$strip>;
28
+ }, z.core.$strip>;
29
+ export type LibraryGetArtistsRequest = z.infer<typeof libraryGetArtistsRequestSchema>;
30
+ export type LibraryGetArtistsResponse = z.infer<typeof libraryGetArtistsResponseSchema>;
31
+ //# sourceMappingURL=library.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.schemas.d.ts","sourceRoot":"","sources":["../../src/services/library.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;iBAkB1C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ import { artistNameSchema, countSchema, imageSchema, itemsPerPageSchema, limitSchema, mbidSchema, pageSchema, playcountSchema, totalPagesSchema, totalSchema, urlSchema, userNameSchema } from "./schemas/index.js";
3
+ export const libraryGetArtistsRequestSchema = z.object({
4
+ user: userNameSchema,
5
+ limit: limitSchema.optional(),
6
+ page: pageSchema.optional()
7
+ });
8
+ export const libraryGetArtistsResponseSchema = z.object({
9
+ artists: z.object({
10
+ artist: z.array(z.object({
11
+ tagCount: countSchema,
12
+ image: z.array(imageSchema),
13
+ mbid: mbidSchema,
14
+ url: urlSchema,
15
+ playcount: playcountSchema,
16
+ name: artistNameSchema
17
+ })),
18
+ "@attr": z.object({
19
+ user: userNameSchema,
20
+ totalPages: totalPagesSchema,
21
+ page: pageSchema,
22
+ perPage: itemsPerPageSchema,
23
+ total: totalSchema
24
+ })
25
+ })
26
+ });
27
+ //# sourceMappingURL=library.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.schemas.js","sourceRoot":"","sources":["../../src/services/library.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,cAAc,EACd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACrB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,gBAAgB;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ export declare const imageSchema: z.ZodObject<{
3
+ "#text": z.ZodString;
4
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
5
+ }, z.core.$strip>;
6
+ export declare const datePropSchema: z.ZodObject<{
7
+ uts: z.ZodString;
8
+ "#text": z.ZodString;
9
+ }, z.core.$strip>;
10
+ export type Image = z.infer<typeof imageSchema>;
11
+ export type DateProp = z.infer<typeof datePropSchema>;
12
+ //# sourceMappingURL=base.entities.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.entities.schemas.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/base.entities.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;iBAStB,CAAC;AAEH,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAGH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ import { textSchema, utsSchema } from "./base.primitives.schemas.js";
3
+ // Complex entity schemas
4
+ export const imageSchema = z.object({
5
+ "#text": textSchema,
6
+ size: z.union([
7
+ z.literal("small"),
8
+ z.literal("medium"),
9
+ z.literal("large"),
10
+ z.literal("extralarge"),
11
+ z.literal("mega"),
12
+ ]),
13
+ });
14
+ export const datePropSchema = z.object({
15
+ uts: utsSchema,
16
+ "#text": textSchema,
17
+ });
18
+ //# sourceMappingURL=base.entities.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.entities.schemas.js","sourceRoot":"","sources":["../../../src/services/schemas/base.entities.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAErE,yBAAyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAClB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,UAAU;CACpB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ export declare const artistNameSchema: z.ZodString;
3
+ export declare const albumNameSchema: z.ZodString;
4
+ export declare const tagNameSchema: z.ZodString;
5
+ export declare const trackNameSchema: z.ZodString;
6
+ export declare const userNameSchema: z.ZodString;
7
+ export type ArtistName = z.infer<typeof artistNameSchema>;
8
+ export type AlbumName = z.infer<typeof albumNameSchema>;
9
+ export type TagName = z.infer<typeof tagNameSchema>;
10
+ export type TrackName = z.infer<typeof trackNameSchema>;
11
+ export type UserName = z.infer<typeof userNameSchema>;
12
+ //# sourceMappingURL=base.entity-names.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.entity-names.schemas.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/base.entity-names.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,cAAc,aAAa,CAAC;AAGzC,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { nameSchema } from "./base.primitives.schemas.js";
2
+ // Entity name aliases
3
+ export const artistNameSchema = nameSchema;
4
+ export const albumNameSchema = nameSchema;
5
+ export const tagNameSchema = nameSchema;
6
+ export const trackNameSchema = nameSchema;
7
+ export const userNameSchema = nameSchema;
8
+ //# sourceMappingURL=base.entity-names.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.entity-names.schemas.js","sourceRoot":"","sources":["../../../src/services/schemas/base.entity-names.schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ export declare const ageSchema: z.ZodString;
3
+ export declare const subscriberSchema: z.ZodString;
4
+ export declare const realNameSchema: z.ZodString;
5
+ export declare const bootstrapSchema: z.ZodString;
6
+ export declare const genderSchema: z.ZodString;
7
+ export declare const typeSchema: z.ZodString;
8
+ export declare const countrySchema: z.ZodString;
9
+ export declare const playlistsSchema: z.ZodString;
10
+ export declare const artistCountSchema: z.ZodString;
11
+ export declare const albumCountSchema: z.ZodString;
12
+ export declare const trackCountSchema: z.ZodString;
13
+ export declare const rankSchema: z.ZodString;
14
+ export type Age = z.infer<typeof ageSchema>;
15
+ export type Subscriber = z.infer<typeof subscriberSchema>;
16
+ export type RealName = z.infer<typeof realNameSchema>;
17
+ export type Bootstrap = z.infer<typeof bootstrapSchema>;
18
+ export type Gender = z.infer<typeof genderSchema>;
19
+ export type Type = z.infer<typeof typeSchema>;
20
+ export type Country = z.infer<typeof countrySchema>;
21
+ export type Playlists = z.infer<typeof playlistsSchema>;
22
+ export type ArtistCount = z.infer<typeof artistCountSchema>;
23
+ export type AlbumCount = z.infer<typeof albumCountSchema>;
24
+ export type TrackCount = z.infer<typeof trackCountSchema>;
25
+ export type Rank = z.infer<typeof rankSchema>;
26
+ //# sourceMappingURL=base.metadata.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.metadata.schemas.d.ts","sourceRoot":"","sources":["../../../src/services/schemas/base.metadata.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,UAAU,aAAa,CAAC;AACrC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,eAAe,aAAa,CAAC;AAG1C,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAG3C,eAAO,MAAM,UAAU,aAAa,CAAC;AAGrC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ // User-specific metadata
3
+ export const ageSchema = z.string();
4
+ export const subscriberSchema = z.string();
5
+ export const realNameSchema = z.string();
6
+ export const bootstrapSchema = z.string();
7
+ export const genderSchema = z.string();
8
+ export const typeSchema = z.string();
9
+ export const countrySchema = z.string();
10
+ export const playlistsSchema = z.string();
11
+ // Count types
12
+ export const artistCountSchema = z.string();
13
+ export const albumCountSchema = z.string();
14
+ export const trackCountSchema = z.string();
15
+ // Rank
16
+ export const rankSchema = z.string();
17
+ //# sourceMappingURL=base.metadata.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.metadata.schemas.js","sourceRoot":"","sources":["../../../src/services/schemas/base.metadata.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yBAAyB;AACzB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAE1C,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAE3C,OAAO;AACP,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC"}