@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,306 @@
1
+ import { z } from "zod";
2
+ export declare const artistStatsSchema: z.ZodObject<{
3
+ listeners: z.ZodString;
4
+ playcount: z.ZodString;
5
+ userplaycount: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ export declare const artistSimilarSchema: z.ZodObject<{
8
+ artist: z.ZodArray<z.ZodObject<{
9
+ name: z.ZodString;
10
+ url: z.ZodString;
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
+ }, z.core.$strip>>;
16
+ }, z.core.$strip>;
17
+ export declare const artistTagsSchema: z.ZodObject<{
18
+ tag: z.ZodArray<z.ZodObject<{
19
+ name: z.ZodString;
20
+ url: z.ZodString;
21
+ }, z.core.$strip>>;
22
+ }, z.core.$strip>;
23
+ export declare const artistBioSchema: z.ZodObject<{
24
+ links: z.ZodObject<{
25
+ link: z.ZodObject<{
26
+ "#text": z.ZodString;
27
+ rel: z.ZodString;
28
+ href: z.ZodString;
29
+ }, z.core.$strip>;
30
+ }, z.core.$strip>;
31
+ published: z.ZodString;
32
+ summary: z.ZodString;
33
+ content: z.ZodString;
34
+ }, z.core.$strip>;
35
+ /**
36
+ * Artist
37
+ * @see https://www.last.fm/api/show/artist.getInfo
38
+ */
39
+ export declare const artistSchema: z.ZodObject<{
40
+ name: z.ZodString;
41
+ mbid: z.ZodString;
42
+ url: z.ZodString;
43
+ image: z.ZodArray<z.ZodObject<{
44
+ "#text": z.ZodString;
45
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
46
+ }, z.core.$strip>>;
47
+ ontour: z.ZodString;
48
+ stats: z.ZodObject<{
49
+ listeners: z.ZodString;
50
+ playcount: z.ZodString;
51
+ userplaycount: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>;
53
+ similar: z.ZodObject<{
54
+ artist: z.ZodArray<z.ZodObject<{
55
+ name: z.ZodString;
56
+ url: z.ZodString;
57
+ image: z.ZodArray<z.ZodObject<{
58
+ "#text": z.ZodString;
59
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
60
+ }, z.core.$strip>>;
61
+ }, z.core.$strip>>;
62
+ }, z.core.$strip>;
63
+ tags: z.ZodObject<{
64
+ tag: z.ZodArray<z.ZodObject<{
65
+ name: z.ZodString;
66
+ url: z.ZodString;
67
+ }, z.core.$strip>>;
68
+ }, z.core.$strip>;
69
+ bio: z.ZodObject<{
70
+ links: z.ZodObject<{
71
+ link: z.ZodObject<{
72
+ "#text": z.ZodString;
73
+ rel: z.ZodString;
74
+ href: z.ZodString;
75
+ }, z.core.$strip>;
76
+ }, z.core.$strip>;
77
+ published: z.ZodString;
78
+ summary: z.ZodString;
79
+ content: z.ZodString;
80
+ }, z.core.$strip>;
81
+ }, z.core.$strip>;
82
+ export declare const artistGetInfoRequestSchema: z.ZodObject<{
83
+ artist: z.ZodString;
84
+ mbid: z.ZodOptional<z.ZodString>;
85
+ lang: z.ZodOptional<z.ZodString>;
86
+ user: z.ZodOptional<z.ZodString>;
87
+ }, z.core.$strip>;
88
+ export declare const artistGetInfoResponseSchema: z.ZodObject<{
89
+ artist: z.ZodObject<{
90
+ name: z.ZodString;
91
+ mbid: z.ZodString;
92
+ url: z.ZodString;
93
+ image: z.ZodArray<z.ZodObject<{
94
+ "#text": z.ZodString;
95
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
96
+ }, z.core.$strip>>;
97
+ ontour: z.ZodString;
98
+ stats: z.ZodObject<{
99
+ listeners: z.ZodString;
100
+ playcount: z.ZodString;
101
+ userplaycount: z.ZodOptional<z.ZodString>;
102
+ }, z.core.$strip>;
103
+ similar: z.ZodObject<{
104
+ artist: z.ZodArray<z.ZodObject<{
105
+ name: z.ZodString;
106
+ url: z.ZodString;
107
+ image: z.ZodArray<z.ZodObject<{
108
+ "#text": z.ZodString;
109
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
110
+ }, z.core.$strip>>;
111
+ }, z.core.$strip>>;
112
+ }, z.core.$strip>;
113
+ tags: z.ZodObject<{
114
+ tag: z.ZodArray<z.ZodObject<{
115
+ name: z.ZodString;
116
+ url: z.ZodString;
117
+ }, z.core.$strip>>;
118
+ }, z.core.$strip>;
119
+ bio: z.ZodObject<{
120
+ links: z.ZodObject<{
121
+ link: z.ZodObject<{
122
+ "#text": z.ZodString;
123
+ rel: z.ZodString;
124
+ href: z.ZodString;
125
+ }, z.core.$strip>;
126
+ }, z.core.$strip>;
127
+ published: z.ZodString;
128
+ summary: z.ZodString;
129
+ content: z.ZodString;
130
+ }, z.core.$strip>;
131
+ }, z.core.$strip>;
132
+ }, z.core.$strip>;
133
+ export declare const artistGetTagsRequestSchema: z.ZodObject<{
134
+ artist: z.ZodString;
135
+ mbid: z.ZodOptional<z.ZodString>;
136
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
137
+ }, z.core.$strip>;
138
+ export declare const artistGetTagsResponseSchema: z.ZodObject<{
139
+ tags: z.ZodObject<{
140
+ tag: z.ZodArray<z.ZodObject<{
141
+ name: z.ZodString;
142
+ url: z.ZodString;
143
+ }, z.core.$strip>>;
144
+ "@attr": z.ZodObject<{
145
+ artist: z.ZodString;
146
+ }, z.core.$strip>;
147
+ }, z.core.$strip>;
148
+ }, z.core.$strip>;
149
+ export declare const artistGetSimilarRequestSchema: z.ZodObject<{
150
+ artist: z.ZodString;
151
+ mbid: z.ZodOptional<z.ZodString>;
152
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
153
+ }, z.core.$strip>;
154
+ export declare const artistGetSimilarResponseSchema: z.ZodObject<{
155
+ similarartists: z.ZodObject<{
156
+ artist: z.ZodArray<z.ZodObject<{
157
+ name: z.ZodString;
158
+ match: z.ZodString;
159
+ url: z.ZodString;
160
+ image: z.ZodArray<z.ZodObject<{
161
+ "#text": z.ZodString;
162
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
163
+ }, z.core.$strip>>;
164
+ }, z.core.$strip>>;
165
+ "@attr": z.ZodObject<{
166
+ artist: z.ZodString;
167
+ }, z.core.$strip>;
168
+ }, z.core.$strip>;
169
+ }, z.core.$strip>;
170
+ export declare const artistGetTopAlbumsRequestSchema: z.ZodObject<{
171
+ artist: z.ZodString;
172
+ mbid: z.ZodOptional<z.ZodString>;
173
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
174
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
175
+ }, z.core.$strip>;
176
+ export declare const artistGetTopAlbumsResponseSchema: z.ZodObject<{
177
+ topalbums: z.ZodObject<{
178
+ album: z.ZodArray<z.ZodObject<{
179
+ name: z.ZodString;
180
+ playcount: z.ZodString;
181
+ mbid: z.ZodString;
182
+ url: z.ZodString;
183
+ artist: z.ZodObject<{
184
+ name: z.ZodString;
185
+ mbid: z.ZodString;
186
+ url: z.ZodString;
187
+ }, z.core.$strip>;
188
+ image: z.ZodArray<z.ZodObject<{
189
+ "#text": z.ZodString;
190
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
191
+ }, z.core.$strip>>;
192
+ }, z.core.$strip>>;
193
+ "@attr": z.ZodObject<{
194
+ artist: z.ZodString;
195
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
196
+ perPage: z.ZodString;
197
+ totalPages: z.ZodString;
198
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
199
+ }, z.core.$strip>;
200
+ }, z.core.$strip>;
201
+ }, z.core.$strip>;
202
+ export declare const artistGetTopTagsRequestSchema: z.ZodObject<{
203
+ artist: z.ZodString;
204
+ mbid: z.ZodOptional<z.ZodString>;
205
+ }, z.core.$strip>;
206
+ export declare const artistGetTopTagsResponseSchema: z.ZodObject<{
207
+ toptags: z.ZodObject<{
208
+ tag: z.ZodArray<z.ZodObject<{
209
+ name: z.ZodString;
210
+ url: z.ZodString;
211
+ count: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
212
+ }, z.core.$strip>>;
213
+ "@attr": z.ZodObject<{
214
+ artist: z.ZodString;
215
+ }, z.core.$strip>;
216
+ }, z.core.$strip>;
217
+ }, z.core.$strip>;
218
+ export declare const artistGetTopTracksRequestSchema: z.ZodObject<{
219
+ artist: z.ZodString;
220
+ mbid: z.ZodOptional<z.ZodString>;
221
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
222
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
223
+ }, z.core.$strip>;
224
+ export declare const artistGetTopTracksResponseSchema: z.ZodObject<{
225
+ toptracks: z.ZodObject<{
226
+ track: z.ZodArray<z.ZodObject<{
227
+ name: z.ZodString;
228
+ playcount: z.ZodString;
229
+ listeners: z.ZodString;
230
+ mbid: z.ZodString;
231
+ url: z.ZodString;
232
+ artist: z.ZodObject<{
233
+ name: z.ZodString;
234
+ mbid: z.ZodString;
235
+ url: z.ZodString;
236
+ }, z.core.$strip>;
237
+ image: z.ZodArray<z.ZodObject<{
238
+ "#text": z.ZodString;
239
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
240
+ }, z.core.$strip>>;
241
+ "@attr": z.ZodObject<{
242
+ rank: z.ZodString;
243
+ }, z.core.$strip>;
244
+ }, z.core.$strip>>;
245
+ "@attr": z.ZodObject<{
246
+ artist: z.ZodString;
247
+ page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
248
+ perPage: z.ZodString;
249
+ totalPages: z.ZodString;
250
+ total: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
251
+ }, z.core.$strip>;
252
+ }, z.core.$strip>;
253
+ }, z.core.$strip>;
254
+ export declare const artistSearchRequestSchema: z.ZodObject<{
255
+ artist: z.ZodString;
256
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
257
+ page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
258
+ }, z.core.$strip>;
259
+ export declare const artistSearchResponseSchema: z.ZodObject<{
260
+ results: z.ZodObject<{
261
+ "opensearch:Query": z.ZodObject<{
262
+ "#text": z.ZodString;
263
+ role: z.ZodString;
264
+ searchTerms: z.ZodString;
265
+ startPage: z.ZodString;
266
+ }, z.core.$strip>;
267
+ "opensearch:totalResults": z.ZodString;
268
+ "opensearch:startIndex": z.ZodString;
269
+ "opensearch:itemsPerPage": z.ZodString;
270
+ artistmatches: z.ZodObject<{
271
+ artist: z.ZodArray<z.ZodObject<{
272
+ name: z.ZodString;
273
+ listeners: z.ZodString;
274
+ mbid: z.ZodString;
275
+ url: z.ZodString;
276
+ image: z.ZodArray<z.ZodObject<{
277
+ "#text": z.ZodString;
278
+ size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
279
+ }, z.core.$strip>>;
280
+ }, z.core.$strip>>;
281
+ }, z.core.$strip>;
282
+ "@attr": z.ZodObject<{
283
+ for: z.ZodString;
284
+ }, z.core.$strip>;
285
+ }, z.core.$strip>;
286
+ }, z.core.$strip>;
287
+ export type ArtistStats = z.infer<typeof artistStatsSchema>;
288
+ export type ArtistSimilar = z.infer<typeof artistSimilarSchema>;
289
+ export type ArtistTags = z.infer<typeof artistTagsSchema>;
290
+ export type ArtistBio = z.infer<typeof artistBioSchema>;
291
+ export type Artist = z.infer<typeof artistSchema>;
292
+ export type ArtistGetInfoRequest = z.infer<typeof artistGetInfoRequestSchema>;
293
+ export type ArtistGetInfoResponse = z.infer<typeof artistGetInfoResponseSchema>;
294
+ export type ArtistGetTagsRequest = z.infer<typeof artistGetTagsRequestSchema>;
295
+ export type ArtistGetTagsResponse = z.infer<typeof artistGetTagsResponseSchema>;
296
+ export type ArtistGetSimilarRequest = z.infer<typeof artistGetSimilarRequestSchema>;
297
+ export type ArtistGetSimilarResponse = z.infer<typeof artistGetSimilarResponseSchema>;
298
+ export type ArtistGetTopAlbumsRequest = z.infer<typeof artistGetTopAlbumsRequestSchema>;
299
+ export type ArtistGetTopAlbumsResponse = z.infer<typeof artistGetTopAlbumsResponseSchema>;
300
+ export type ArtistGetTopTagsRequest = z.infer<typeof artistGetTopTagsRequestSchema>;
301
+ export type ArtistGetTopTagsResponse = z.infer<typeof artistGetTopTagsResponseSchema>;
302
+ export type ArtistGetTopTracksRequest = z.infer<typeof artistGetTopTracksRequestSchema>;
303
+ export type ArtistGetTopTracksResponse = z.infer<typeof artistGetTopTracksResponseSchema>;
304
+ export type ArtistSearchRequest = z.infer<typeof artistSearchRequestSchema>;
305
+ export type ArtistSearchResponse = z.infer<typeof artistSearchResponseSchema>;
306
+ //# sourceMappingURL=artist.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artist.schemas.d.ts","sourceRoot":"","sources":["../../src/services/artist.schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { z } from "zod";
2
+ import { artistNameSchema, contentSchema, countSchema, forSchema, imageSchema, itemsPerPageSchema, langSchema, limitSchema, listenersSchema, matchSchema, mbidSchema, pageSchema, playcountSchema, publishedSchema, rankSchema, roleSchema, searchTermsSchema, startIndexSchema, startPageSchema, summarySchema, tagNameSchema, textSchema, totalPagesSchema, totalResultsSchema, totalSchema, urlSchema, userNameSchema, } from "./schemas/index.js";
3
+ export const artistStatsSchema = z.object({
4
+ listeners: listenersSchema,
5
+ playcount: playcountSchema,
6
+ userplaycount: playcountSchema.optional()
7
+ });
8
+ export const artistSimilarSchema = z.object({
9
+ artist: z.array(z.object({
10
+ name: artistNameSchema,
11
+ url: urlSchema,
12
+ image: z.array(imageSchema)
13
+ }))
14
+ });
15
+ export const artistTagsSchema = z.object({
16
+ tag: z.array(z.object({
17
+ name: tagNameSchema,
18
+ url: urlSchema
19
+ }))
20
+ });
21
+ export const artistBioSchema = z.object({
22
+ links: z.object({
23
+ link: z.object({
24
+ "#text": textSchema,
25
+ rel: z.string(),
26
+ href: z.string()
27
+ })
28
+ }),
29
+ published: publishedSchema,
30
+ summary: summarySchema,
31
+ content: contentSchema
32
+ });
33
+ /**
34
+ * Artist
35
+ * @see https://www.last.fm/api/show/artist.getInfo
36
+ */
37
+ export const artistSchema = z.object({
38
+ name: artistNameSchema,
39
+ mbid: mbidSchema,
40
+ url: urlSchema,
41
+ image: z.array(imageSchema),
42
+ ontour: z.string(),
43
+ stats: artistStatsSchema,
44
+ similar: artistSimilarSchema,
45
+ tags: artistTagsSchema,
46
+ bio: artistBioSchema
47
+ });
48
+ export const artistGetInfoRequestSchema = z.object({
49
+ artist: artistNameSchema,
50
+ mbid: mbidSchema.optional(),
51
+ lang: langSchema.optional(),
52
+ user: userNameSchema.optional()
53
+ });
54
+ export const artistGetInfoResponseSchema = z.object({
55
+ artist: artistSchema
56
+ });
57
+ export const artistGetTagsRequestSchema = z.object({
58
+ artist: artistNameSchema,
59
+ mbid: mbidSchema.optional(),
60
+ limit: limitSchema.optional()
61
+ });
62
+ export const artistGetTagsResponseSchema = z.object({
63
+ tags: z.object({
64
+ tag: z.array(z.object({
65
+ name: tagNameSchema,
66
+ url: urlSchema
67
+ })),
68
+ "@attr": z.object({
69
+ artist: artistNameSchema
70
+ })
71
+ })
72
+ });
73
+ export const artistGetSimilarRequestSchema = z.object({
74
+ artist: artistNameSchema,
75
+ mbid: mbidSchema.optional(),
76
+ limit: limitSchema.optional()
77
+ });
78
+ export const artistGetSimilarResponseSchema = z.object({
79
+ similarartists: z.object({
80
+ artist: z.array(z.object({
81
+ name: artistNameSchema,
82
+ match: matchSchema,
83
+ url: urlSchema,
84
+ image: z.array(imageSchema)
85
+ })),
86
+ "@attr": z.object({
87
+ artist: artistNameSchema
88
+ })
89
+ })
90
+ });
91
+ export const artistGetTopAlbumsRequestSchema = z.object({
92
+ artist: artistNameSchema,
93
+ mbid: mbidSchema.optional(),
94
+ limit: limitSchema.optional(),
95
+ page: pageSchema.optional()
96
+ });
97
+ export const artistGetTopAlbumsResponseSchema = z.object({
98
+ topalbums: z.object({
99
+ album: z.array(z.object({
100
+ name: artistNameSchema,
101
+ playcount: playcountSchema,
102
+ mbid: mbidSchema,
103
+ url: urlSchema,
104
+ artist: z.object({
105
+ name: artistNameSchema,
106
+ mbid: mbidSchema,
107
+ url: urlSchema
108
+ }),
109
+ image: z.array(imageSchema)
110
+ })),
111
+ "@attr": z.object({
112
+ artist: artistNameSchema,
113
+ page: pageSchema,
114
+ perPage: itemsPerPageSchema,
115
+ totalPages: totalPagesSchema,
116
+ total: totalSchema
117
+ })
118
+ })
119
+ });
120
+ export const artistGetTopTagsRequestSchema = z.object({
121
+ artist: artistNameSchema,
122
+ mbid: mbidSchema.optional()
123
+ });
124
+ export const artistGetTopTagsResponseSchema = z.object({
125
+ toptags: z.object({
126
+ tag: z.array(z.object({
127
+ name: tagNameSchema,
128
+ url: urlSchema,
129
+ count: countSchema
130
+ })),
131
+ "@attr": z.object({
132
+ artist: artistNameSchema
133
+ })
134
+ })
135
+ });
136
+ export const artistGetTopTracksRequestSchema = z.object({
137
+ artist: artistNameSchema,
138
+ mbid: mbidSchema.optional(),
139
+ limit: limitSchema.optional(),
140
+ page: pageSchema.optional()
141
+ });
142
+ export const artistGetTopTracksResponseSchema = z.object({
143
+ toptracks: z.object({
144
+ track: z.array(z.object({
145
+ name: artistNameSchema,
146
+ playcount: playcountSchema,
147
+ listeners: listenersSchema,
148
+ mbid: mbidSchema,
149
+ url: urlSchema,
150
+ artist: z.object({
151
+ name: artistNameSchema,
152
+ mbid: mbidSchema,
153
+ url: urlSchema
154
+ }),
155
+ image: z.array(imageSchema),
156
+ "@attr": z.object({
157
+ rank: rankSchema
158
+ })
159
+ })),
160
+ "@attr": z.object({
161
+ artist: artistNameSchema,
162
+ page: pageSchema,
163
+ perPage: itemsPerPageSchema,
164
+ totalPages: totalPagesSchema,
165
+ total: totalSchema
166
+ })
167
+ })
168
+ });
169
+ export const artistSearchRequestSchema = z.object({
170
+ artist: artistNameSchema,
171
+ limit: limitSchema.optional(),
172
+ page: pageSchema.optional()
173
+ });
174
+ export const artistSearchResponseSchema = z.object({
175
+ results: z.object({
176
+ "opensearch:Query": z.object({
177
+ "#text": textSchema,
178
+ role: roleSchema,
179
+ searchTerms: searchTermsSchema,
180
+ startPage: startPageSchema
181
+ }),
182
+ "opensearch:totalResults": totalResultsSchema,
183
+ "opensearch:startIndex": startIndexSchema,
184
+ "opensearch:itemsPerPage": itemsPerPageSchema,
185
+ artistmatches: z.object({
186
+ artist: z.array(z.object({
187
+ name: artistNameSchema,
188
+ listeners: listenersSchema,
189
+ mbid: mbidSchema,
190
+ url: urlSchema,
191
+ image: z.array(imageSchema)
192
+ }))
193
+ }),
194
+ "@attr": z.object({
195
+ for: forSchema
196
+ })
197
+ })
198
+ });
199
+ //# sourceMappingURL=artist.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artist.schemas.js","sourceRoot":"","sources":["../../src/services/artist.schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { LastFmConfig } from '../config.js';
2
+ import type { AuthGetSessionRequest, AuthGetSessionResponse } from './auth.schemas.js';
3
+ export interface AuthService {
4
+ /**
5
+ * Get the session key for a user. Used for authenticating a user when scrobbling.
6
+ * @param {AuthGetSessionRequest} params
7
+ * @param {RequestInit} init
8
+ * @returns {Promise<AuthGetSessionResponse>}
9
+ * https://www.last.fm/api/show/auth.getSession
10
+ * */
11
+ getSession: (params: AuthGetSessionRequest, init?: RequestInit) => Promise<AuthGetSessionResponse>;
12
+ }
13
+ export declare function createAuthService(config: LastFmConfig): AuthService;
14
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEvF,MAAM,WAAW,WAAW;IAC3B;;;;;;SAMK;IACL,UAAU,EAAE,CACX,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAKnE"}
@@ -0,0 +1,7 @@
1
+ import { fetcher, buildAuthUrl } from '../utils.js';
2
+ export function createAuthService(config) {
3
+ return {
4
+ getSession: async (params, init) => fetcher(buildAuthUrl(config, 'auth.getSession', params), init)
5
+ };
6
+ }
7
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBpD,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACrD,OAAO;QACN,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAClC,OAAO,CAAyB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACvF,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ export declare const authGetSessionRequestSchema: z.ZodObject<{
3
+ token: z.ZodString;
4
+ }, z.core.$strip>;
5
+ export declare const sessionSchema: z.ZodObject<{
6
+ name: z.ZodString;
7
+ key: z.ZodString;
8
+ subscriber: z.ZodNumber;
9
+ }, z.core.$strip>;
10
+ export declare const authGetSessionResponseSchema: z.ZodObject<{
11
+ session: z.ZodObject<{
12
+ name: z.ZodString;
13
+ key: z.ZodString;
14
+ subscriber: z.ZodNumber;
15
+ }, z.core.$strip>;
16
+ }, z.core.$strip>;
17
+ export type AuthGetSessionRequest = z.infer<typeof authGetSessionRequestSchema>;
18
+ export type Session = z.infer<typeof sessionSchema>;
19
+ export type AuthGetSessionResponse = z.infer<typeof authGetSessionResponseSchema>;
20
+ //# sourceMappingURL=auth.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.schemas.d.ts","sourceRoot":"","sources":["../../src/services/auth.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AAGH,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAC;AAGH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ // Request schemas
3
+ export const authGetSessionRequestSchema = z.object({
4
+ token: z.string()
5
+ });
6
+ // Entity schemas
7
+ export const sessionSchema = z.object({
8
+ name: z.string(),
9
+ key: z.string(),
10
+ subscriber: z.number(),
11
+ });
12
+ // Response schemas
13
+ export const authGetSessionResponseSchema = z.object({
14
+ session: sessionSchema,
15
+ });
16
+ //# sourceMappingURL=auth.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.schemas.js","sourceRoot":"","sources":["../../src/services/auth.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kBAAkB;AAClB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ChartGetTopArtistsRequest, ChartGetTopArtistsResponse, ChartGetTopTagsRequest, ChartGetTopTagsResponse, ChartGetTopTracksRequest, ChartGetTopTracksResponse } from './chart.schemas.js';
2
+ import type { LastFmConfig } from '../config.js';
3
+ export interface ChartService {
4
+ /**
5
+ * Get the top artists chart
6
+ * @param {ChartGetTopArtistsRequest} params
7
+ * @param {RequestInit} init
8
+ * @returns {Promise<ChartGetTopArtistsResponse>}
9
+ * https://www.last.fm/api/show/chart.getTopArtists
10
+ * */
11
+ getTopArtists: (params: ChartGetTopArtistsRequest, init?: RequestInit) => Promise<ChartGetTopArtistsResponse>;
12
+ /**
13
+ * Get the top tags chart
14
+ * @param {ChartGetTopTagsRequest} params
15
+ * @param {RequestInit} init
16
+ * @returns {Promise<ChartGetTopTagsResponse>}
17
+ * https://www.last.fm/api/show/chart.getTopTags
18
+ * */
19
+ getTopTags: (params: ChartGetTopTagsRequest, init?: RequestInit) => Promise<ChartGetTopTagsResponse>;
20
+ /**
21
+ * Get the top tracks chart
22
+ * @param {ChartGetTopTracksRequest} params
23
+ * @param {RequestInit} init
24
+ * @returns {Promise<ChartGetTopTracksResponse>}
25
+ * https://www.last.fm/api/show/chart.getTopTracks
26
+ * */
27
+ getTopTracks: (params: ChartGetTopTracksRequest, init?: RequestInit) => Promise<ChartGetTopTracksResponse>;
28
+ }
29
+ export declare function createChartService(config: LastFmConfig): ChartService;
30
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/services/chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC5B;;;;;;SAMK;IACL,aAAa,EAAE,CACd,MAAM,EAAE,yBAAyB,EACjC,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC;;;;;;SAMK;IACL,UAAU,EAAE,CACX,MAAM,EAAE,sBAAsB,EAC9B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC;;;;;;SAMK;IACL,YAAY,EAAE,CACb,MAAM,EAAE,wBAAwB,EAChC,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACxC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CASrE"}
@@ -0,0 +1,9 @@
1
+ import { fetcher, buildUrl } from '../utils.js';
2
+ export function createChartService(config) {
3
+ return {
4
+ getTopArtists: (params, init) => fetcher(buildUrl(config, 'chart.getTopArtists', params), init),
5
+ getTopTags: (params, init) => fetcher(buildUrl(config, 'chart.getTopTags', params), init),
6
+ getTopTracks: (params, init) => fetcher(buildUrl(config, 'chart.getTopTracks', params), init)
7
+ };
8
+ }
9
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/services/chart.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuChD,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,OAAO;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAA6B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAC3F,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACrF,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9B,OAAO,CAA4B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACzF,CAAC;AACH,CAAC"}