@saavn-labs/sdk 0.1.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 (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +339 -0
  3. package/dist/core/models/album.d.ts +32 -0
  4. package/dist/core/models/album.js +1 -0
  5. package/dist/core/models/artist.d.ts +61 -0
  6. package/dist/core/models/artist.js +1 -0
  7. package/dist/core/models/index.d.ts +4 -0
  8. package/dist/core/models/index.js +4 -0
  9. package/dist/core/models/playlist.d.ts +35 -0
  10. package/dist/core/models/playlist.js +1 -0
  11. package/dist/core/models/song.d.ts +52 -0
  12. package/dist/core/models/song.js +1 -0
  13. package/dist/core/modules/album.module.d.ts +82 -0
  14. package/dist/core/modules/album.module.js +74 -0
  15. package/dist/core/modules/artist.module.d.ts +97 -0
  16. package/dist/core/modules/artist.module.js +49 -0
  17. package/dist/core/modules/extras.module.d.ts +385 -0
  18. package/dist/core/modules/extras.module.js +64 -0
  19. package/dist/core/modules/playlist.module.d.ts +79 -0
  20. package/dist/core/modules/playlist.module.js +74 -0
  21. package/dist/core/modules/song.module.d.ts +91 -0
  22. package/dist/core/modules/song.module.js +97 -0
  23. package/dist/helpers/errors.d.ts +25 -0
  24. package/dist/helpers/errors.js +84 -0
  25. package/dist/helpers/experimental/stream-urls/index.d.ts +20 -0
  26. package/dist/helpers/experimental/stream-urls/index.js +33 -0
  27. package/dist/helpers/experimental/stream-urls/stream-urls.edge.d.ts +4 -0
  28. package/dist/helpers/experimental/stream-urls/stream-urls.edge.js +38 -0
  29. package/dist/helpers/experimental/stream-urls/stream-urls.node.d.ts +4 -0
  30. package/dist/helpers/experimental/stream-urls/stream-urls.node.js +27 -0
  31. package/dist/helpers/fetch.d.ts +38 -0
  32. package/dist/helpers/fetch.js +38 -0
  33. package/dist/helpers/utils.d.ts +13 -0
  34. package/dist/helpers/utils.js +58 -0
  35. package/dist/index.d.ts +10 -0
  36. package/dist/index.js +8 -0
  37. package/dist/saavn/common-mapper.d.ts +77 -0
  38. package/dist/saavn/common-mapper.js +348 -0
  39. package/dist/saavn/entities/album.entity.d.ts +151 -0
  40. package/dist/saavn/entities/album.entity.js +25 -0
  41. package/dist/saavn/entities/artist.entity.d.ts +274 -0
  42. package/dist/saavn/entities/artist.entity.js +49 -0
  43. package/dist/saavn/entities/base.d.ts +117 -0
  44. package/dist/saavn/entities/base.js +71 -0
  45. package/dist/saavn/entities/extras.d.ts +102 -0
  46. package/dist/saavn/entities/extras.js +43 -0
  47. package/dist/saavn/entities/index.d.ts +6 -0
  48. package/dist/saavn/entities/index.js +6 -0
  49. package/dist/saavn/entities/playlist.entity.d.ts +143 -0
  50. package/dist/saavn/entities/playlist.entity.js +55 -0
  51. package/dist/saavn/entities/show.entity.d.ts +14 -0
  52. package/dist/saavn/entities/show.entity.js +14 -0
  53. package/dist/saavn/entities/song.entity.d.ts +142 -0
  54. package/dist/saavn/entities/song.entity.js +48 -0
  55. package/dist/saavn/operations/get-details/index.d.ts +755 -0
  56. package/dist/saavn/operations/get-details/index.js +34 -0
  57. package/dist/saavn/operations/get-details/mapper.ops.d.ts +35 -0
  58. package/dist/saavn/operations/get-details/mapper.ops.js +55 -0
  59. package/dist/saavn/operations/get-details/schema.ops.d.ts +706 -0
  60. package/dist/saavn/operations/get-details/schema.ops.js +49 -0
  61. package/dist/saavn/operations/get-reco/index.d.ts +144 -0
  62. package/dist/saavn/operations/get-reco/index.js +19 -0
  63. package/dist/saavn/operations/get-reco/mapper.ops.d.ts +36 -0
  64. package/dist/saavn/operations/get-reco/mapper.ops.js +43 -0
  65. package/dist/saavn/operations/get-reco/schema.ops.d.ts +103 -0
  66. package/dist/saavn/operations/get-reco/schema.ops.js +28 -0
  67. package/dist/saavn/operations/get-trending/index.d.ts +288 -0
  68. package/dist/saavn/operations/get-trending/index.js +24 -0
  69. package/dist/saavn/operations/get-trending/mapper.ops.d.ts +13 -0
  70. package/dist/saavn/operations/get-trending/mapper.ops.js +134 -0
  71. package/dist/saavn/operations/get-trending/schema.ops.d.ts +272 -0
  72. package/dist/saavn/operations/get-trending/schema.ops.js +34 -0
  73. package/dist/saavn/operations/index.d.ts +6 -0
  74. package/dist/saavn/operations/index.js +6 -0
  75. package/dist/saavn/operations/search-results/index.d.ts +790 -0
  76. package/dist/saavn/operations/search-results/index.js +29 -0
  77. package/dist/saavn/operations/search-results/mapper.ops.d.ts +413 -0
  78. package/dist/saavn/operations/search-results/mapper.ops.js +80 -0
  79. package/dist/saavn/operations/search-results/schema.ops.d.ts +366 -0
  80. package/dist/saavn/operations/search-results/schema.ops.js +101 -0
  81. package/dist/saavn/operations/web-api/index.d.ts +604 -0
  82. package/dist/saavn/operations/web-api/index.js +29 -0
  83. package/dist/saavn/operations/web-api/mapper.ops.d.ts +11 -0
  84. package/dist/saavn/operations/web-api/mapper.ops.js +23 -0
  85. package/dist/saavn/operations/web-api/schema.ops.d.ts +582 -0
  86. package/dist/saavn/operations/web-api/schema.ops.js +50 -0
  87. package/dist/saavn/operations/web-radio/index.d.ts +181 -0
  88. package/dist/saavn/operations/web-radio/index.js +19 -0
  89. package/dist/saavn/operations/web-radio/mapper.ops.d.ts +14 -0
  90. package/dist/saavn/operations/web-radio/mapper.ops.js +35 -0
  91. package/dist/saavn/operations/web-radio/schema.ops.d.ts +162 -0
  92. package/dist/saavn/operations/web-radio/schema.ops.js +56 -0
  93. package/dist/saavn/primitives/enums.d.ts +17 -0
  94. package/dist/saavn/primitives/enums.js +4 -0
  95. package/dist/saavn/primitives/string.d.ts +5 -0
  96. package/dist/saavn/primitives/string.js +22 -0
  97. package/dist/saavn/run-operation.d.ts +12 -0
  98. package/dist/saavn/run-operation.js +39 -0
  99. package/dist/schemas/index.d.ts +2188 -0
  100. package/dist/schemas/index.js +14 -0
  101. package/dist/types.d.ts +24 -0
  102. package/dist/types.js +1 -0
  103. package/package.json +82 -0
@@ -0,0 +1,604 @@
1
+ import { SaavnWebAPISchema } from './schema.ops';
2
+ export declare const SaavnWebAPI: {
3
+ album: {
4
+ call: string;
5
+ schema: {
6
+ readonly params: import("zod").ZodObject<{
7
+ token: import("zod").ZodString;
8
+ type: import("zod").ZodLiteral<"album">;
9
+ }, import("zod/v4/core").$strict>;
10
+ readonly response: import("zod").ZodLazy<import("zod").ZodObject<{
11
+ id: import("zod").ZodString;
12
+ title: import("zod").ZodString;
13
+ subtitle: import("zod").ZodString;
14
+ type: import("zod").ZodLiteral<"album">;
15
+ image: import("zod").ZodString;
16
+ perma_url: import("zod").ZodString;
17
+ explicit_content: import("zod").ZodString;
18
+ header_desc: import("zod").ZodString;
19
+ play_count: import("zod").ZodString;
20
+ language: import("zod").ZodString;
21
+ year: import("zod").ZodString;
22
+ list_count: import("zod").ZodString;
23
+ list_type: import("zod").ZodLiteral<"song">;
24
+ list: import("zod").ZodArray<import("zod").ZodLazy<import("zod").ZodObject<{
25
+ id: import("zod").ZodString;
26
+ title: import("zod").ZodString;
27
+ subtitle: import("zod").ZodString;
28
+ type: import("zod").ZodLiteral<"song">;
29
+ perma_url: import("zod").ZodString;
30
+ image: import("zod").ZodString;
31
+ explicit_content: import("zod").ZodString;
32
+ header_desc: import("zod").ZodString;
33
+ language: import("zod").ZodString;
34
+ year: import("zod").ZodString;
35
+ play_count: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>;
36
+ more_info: import("zod").ZodObject<{
37
+ music: import("zod").ZodString;
38
+ album_id: import("zod").ZodString;
39
+ album: import("zod").ZodString;
40
+ label: import("zod").ZodString;
41
+ label_id: import("zod").ZodNullable<import("zod").ZodString>;
42
+ origin: import("zod").ZodString;
43
+ is_dolby_content: import("zod").ZodBoolean;
44
+ encrypted_media_url: import("zod").ZodString;
45
+ encrypted_drm_media_url: import("zod").ZodString;
46
+ album_url: import("zod").ZodString;
47
+ duration: import("zod").ZodString;
48
+ has_lyrics: import("zod").ZodString;
49
+ lyrics_snippet: import("zod").ZodString;
50
+ lyrics_id: import("zod").ZodOptional<import("zod").ZodString>;
51
+ copyright_text: import("zod").ZodString;
52
+ release_date: import("zod").ZodNullable<import("zod").ZodString>;
53
+ label_url: import("zod").ZodOptional<import("zod").ZodString>;
54
+ vcode: import("zod").ZodOptional<import("zod").ZodString>;
55
+ vlink: import("zod").ZodOptional<import("zod").ZodString>;
56
+ artistMap: import("zod").ZodLazy<import("zod").ZodObject<{
57
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
58
+ id: import("zod").ZodString;
59
+ name: import("zod").ZodString;
60
+ role: import("zod").ZodString;
61
+ image: import("zod").ZodString;
62
+ type: import("zod").ZodLiteral<"artist">;
63
+ perma_url: import("zod").ZodString;
64
+ }, import("zod/v4/core").$loose>>;
65
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
66
+ id: import("zod").ZodString;
67
+ name: import("zod").ZodString;
68
+ role: import("zod").ZodString;
69
+ image: import("zod").ZodString;
70
+ type: import("zod").ZodLiteral<"artist">;
71
+ perma_url: import("zod").ZodString;
72
+ }, import("zod/v4/core").$loose>>;
73
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
74
+ id: import("zod").ZodString;
75
+ name: import("zod").ZodString;
76
+ role: import("zod").ZodString;
77
+ image: import("zod").ZodString;
78
+ type: import("zod").ZodLiteral<"artist">;
79
+ perma_url: import("zod").ZodString;
80
+ }, import("zod/v4/core").$loose>>;
81
+ }, import("zod/v4/core").$loose>>;
82
+ }, import("zod/v4/core").$loose>;
83
+ }, import("zod/v4/core").$loose>>>;
84
+ more_info: import("zod").ZodObject<{
85
+ song_count: import("zod").ZodString;
86
+ copyright_text: import("zod").ZodString;
87
+ is_dolby_content: import("zod").ZodBoolean;
88
+ label_url: import("zod").ZodString;
89
+ artistMap: import("zod").ZodObject<{
90
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
91
+ id: import("zod").ZodString;
92
+ name: import("zod").ZodString;
93
+ role: import("zod").ZodString;
94
+ image: import("zod").ZodString;
95
+ type: import("zod").ZodLiteral<"artist">;
96
+ perma_url: import("zod").ZodString;
97
+ }, import("zod/v4/core").$loose>>;
98
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
99
+ id: import("zod").ZodString;
100
+ name: import("zod").ZodString;
101
+ role: import("zod").ZodString;
102
+ image: import("zod").ZodString;
103
+ type: import("zod").ZodLiteral<"artist">;
104
+ perma_url: import("zod").ZodString;
105
+ }, import("zod/v4/core").$loose>>;
106
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
107
+ id: import("zod").ZodString;
108
+ name: import("zod").ZodString;
109
+ role: import("zod").ZodString;
110
+ image: import("zod").ZodString;
111
+ type: import("zod").ZodLiteral<"artist">;
112
+ perma_url: import("zod").ZodString;
113
+ }, import("zod/v4/core").$loose>>;
114
+ }, import("zod/v4/core").$loose>;
115
+ }, import("zod/v4/core").$loose>;
116
+ }, import("zod/v4/core").$loose>>;
117
+ };
118
+ mapper: (data: import("zod").infer<typeof SaavnWebAPISchema.album.response>) => import("../../../core/models").Album;
119
+ };
120
+ artist: {
121
+ call: string;
122
+ schema: {
123
+ readonly params: import("zod").ZodObject<{
124
+ token: import("zod").ZodString;
125
+ type: import("zod").ZodLiteral<"artist">;
126
+ n_song: import("zod").ZodOptional<import("zod").ZodString>;
127
+ n_album: import("zod").ZodOptional<import("zod").ZodString>;
128
+ category: import("zod").ZodOptional<import("zod").ZodEnum<{
129
+ "": "";
130
+ alphabetical: "alphabetical";
131
+ latest: "latest";
132
+ }>>;
133
+ sort_order: import("zod").ZodOptional<import("zod").ZodEnum<{
134
+ asc: "asc";
135
+ desc: "desc";
136
+ }>>;
137
+ }, import("zod/v4/core").$strict>;
138
+ readonly response: import("zod").ZodLazy<import("zod").ZodObject<{
139
+ type: import("zod").ZodLiteral<"artist">;
140
+ image: import("zod").ZodString;
141
+ name: import("zod").ZodString;
142
+ artistId: import("zod").ZodString;
143
+ subtitle: import("zod").ZodString;
144
+ follower_count: import("zod").ZodString;
145
+ isVerified: import("zod").ZodBoolean;
146
+ isRadioPresent: import("zod").ZodBoolean;
147
+ dominantLanguage: import("zod").ZodString;
148
+ dominantType: import("zod").ZodString;
149
+ bio: import("zod").ZodString;
150
+ dob: import("zod").ZodString;
151
+ fb: import("zod").ZodString;
152
+ twitter: import("zod").ZodString;
153
+ wiki: import("zod").ZodString;
154
+ availableLanguages: import("zod").ZodArray<import("zod").ZodString>;
155
+ fan_count: import("zod").ZodString;
156
+ is_followed: import("zod").ZodBoolean;
157
+ topSongs: import("zod").ZodArray<import("zod").ZodLazy<import("zod").ZodObject<{
158
+ id: import("zod").ZodString;
159
+ title: import("zod").ZodString;
160
+ subtitle: import("zod").ZodString;
161
+ type: import("zod").ZodLiteral<"song">;
162
+ perma_url: import("zod").ZodString;
163
+ image: import("zod").ZodString;
164
+ explicit_content: import("zod").ZodString;
165
+ header_desc: import("zod").ZodString;
166
+ language: import("zod").ZodString;
167
+ year: import("zod").ZodString;
168
+ play_count: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>;
169
+ more_info: import("zod").ZodObject<{
170
+ music: import("zod").ZodString;
171
+ album_id: import("zod").ZodString;
172
+ album: import("zod").ZodString;
173
+ label: import("zod").ZodString;
174
+ label_id: import("zod").ZodNullable<import("zod").ZodString>;
175
+ origin: import("zod").ZodString;
176
+ is_dolby_content: import("zod").ZodBoolean;
177
+ encrypted_media_url: import("zod").ZodString;
178
+ encrypted_drm_media_url: import("zod").ZodString;
179
+ album_url: import("zod").ZodString;
180
+ duration: import("zod").ZodString;
181
+ has_lyrics: import("zod").ZodString;
182
+ lyrics_snippet: import("zod").ZodString;
183
+ lyrics_id: import("zod").ZodOptional<import("zod").ZodString>;
184
+ copyright_text: import("zod").ZodString;
185
+ release_date: import("zod").ZodNullable<import("zod").ZodString>;
186
+ label_url: import("zod").ZodOptional<import("zod").ZodString>;
187
+ vcode: import("zod").ZodOptional<import("zod").ZodString>;
188
+ vlink: import("zod").ZodOptional<import("zod").ZodString>;
189
+ artistMap: import("zod").ZodLazy<import("zod").ZodObject<{
190
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
191
+ id: import("zod").ZodString;
192
+ name: import("zod").ZodString;
193
+ role: import("zod").ZodString;
194
+ image: import("zod").ZodString;
195
+ type: import("zod").ZodLiteral<"artist">;
196
+ perma_url: import("zod").ZodString;
197
+ }, import("zod/v4/core").$loose>>;
198
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
199
+ id: import("zod").ZodString;
200
+ name: import("zod").ZodString;
201
+ role: import("zod").ZodString;
202
+ image: import("zod").ZodString;
203
+ type: import("zod").ZodLiteral<"artist">;
204
+ perma_url: import("zod").ZodString;
205
+ }, import("zod/v4/core").$loose>>;
206
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
207
+ id: import("zod").ZodString;
208
+ name: import("zod").ZodString;
209
+ role: import("zod").ZodString;
210
+ image: import("zod").ZodString;
211
+ type: import("zod").ZodLiteral<"artist">;
212
+ perma_url: import("zod").ZodString;
213
+ }, import("zod/v4/core").$loose>>;
214
+ }, import("zod/v4/core").$loose>>;
215
+ }, import("zod/v4/core").$loose>;
216
+ }, import("zod/v4/core").$loose>>>;
217
+ topAlbums: import("zod").ZodArray<import("zod").ZodObject<{
218
+ id: import("zod").ZodString;
219
+ title: import("zod").ZodString;
220
+ subtitle: import("zod").ZodString;
221
+ type: import("zod").ZodLiteral<"album">;
222
+ image: import("zod").ZodString;
223
+ perma_url: import("zod").ZodString;
224
+ explicit_content: import("zod").ZodString;
225
+ header_desc: import("zod").ZodString;
226
+ language: import("zod").ZodString;
227
+ year: import("zod").ZodString;
228
+ play_count: import("zod").ZodString;
229
+ more_info: import("zod").ZodObject<{
230
+ query: import("zod").ZodString;
231
+ text: import("zod").ZodString;
232
+ music: import("zod").ZodNullable<import("zod").ZodString>;
233
+ song_count: import("zod").ZodString;
234
+ artistMap: import("zod").ZodObject<{
235
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
236
+ id: import("zod").ZodString;
237
+ name: import("zod").ZodString;
238
+ role: import("zod").ZodString;
239
+ image: import("zod").ZodString;
240
+ type: import("zod").ZodLiteral<"artist">;
241
+ perma_url: import("zod").ZodString;
242
+ }, import("zod/v4/core").$loose>>;
243
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
244
+ id: import("zod").ZodString;
245
+ name: import("zod").ZodString;
246
+ role: import("zod").ZodString;
247
+ image: import("zod").ZodString;
248
+ type: import("zod").ZodLiteral<"artist">;
249
+ perma_url: import("zod").ZodString;
250
+ }, import("zod/v4/core").$loose>>;
251
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
252
+ id: import("zod").ZodString;
253
+ name: import("zod").ZodString;
254
+ role: import("zod").ZodString;
255
+ image: import("zod").ZodString;
256
+ type: import("zod").ZodLiteral<"artist">;
257
+ perma_url: import("zod").ZodString;
258
+ }, import("zod/v4/core").$loose>>;
259
+ }, import("zod/v4/core").$loose>;
260
+ }, import("zod/v4/core").$loose>;
261
+ }, import("zod/v4/core").$loose>>;
262
+ topEpisodes: import("zod").ZodArray<import("zod").ZodAny>;
263
+ dedicated_artist_playlist: import("zod").ZodArray<import("zod").ZodObject<{
264
+ id: import("zod").ZodString;
265
+ title: import("zod").ZodString;
266
+ subtitle: import("zod").ZodString;
267
+ type: import("zod").ZodLiteral<"playlist">;
268
+ image: import("zod").ZodString;
269
+ perma_url: import("zod").ZodString;
270
+ explicit_content: import("zod").ZodString;
271
+ more_info: import("zod").ZodObject<{
272
+ firstname: import("zod").ZodString;
273
+ lastname: import("zod").ZodOptional<import("zod").ZodString>;
274
+ artist_name: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>;
275
+ entity_type: import("zod").ZodString;
276
+ is_dolby_content: import("zod").ZodNullable<import("zod").ZodBoolean>;
277
+ language: import("zod").ZodString;
278
+ uid: import("zod").ZodString;
279
+ song_count: import("zod").ZodString;
280
+ }, import("zod/v4/core").$loose>;
281
+ }, import("zod/v4/core").$loose>>;
282
+ featured_artist_playlist: import("zod").ZodArray<import("zod").ZodObject<{
283
+ id: import("zod").ZodString;
284
+ title: import("zod").ZodString;
285
+ subtitle: import("zod").ZodString;
286
+ type: import("zod").ZodLiteral<"playlist">;
287
+ image: import("zod").ZodString;
288
+ perma_url: import("zod").ZodString;
289
+ explicit_content: import("zod").ZodString;
290
+ more_info: import("zod").ZodObject<{
291
+ firstname: import("zod").ZodString;
292
+ lastname: import("zod").ZodOptional<import("zod").ZodString>;
293
+ artist_name: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>;
294
+ entity_type: import("zod").ZodString;
295
+ is_dolby_content: import("zod").ZodNullable<import("zod").ZodBoolean>;
296
+ language: import("zod").ZodString;
297
+ uid: import("zod").ZodString;
298
+ song_count: import("zod").ZodString;
299
+ }, import("zod/v4/core").$loose>;
300
+ }, import("zod/v4/core").$loose>>;
301
+ singles: import("zod").ZodArray<import("zod").ZodObject<{
302
+ id: import("zod").ZodString;
303
+ title: import("zod").ZodString;
304
+ subtitle: import("zod").ZodString;
305
+ type: import("zod").ZodLiteral<"album">;
306
+ image: import("zod").ZodString;
307
+ perma_url: import("zod").ZodString;
308
+ explicit_content: import("zod").ZodString;
309
+ header_desc: import("zod").ZodString;
310
+ language: import("zod").ZodString;
311
+ year: import("zod").ZodString;
312
+ play_count: import("zod").ZodString;
313
+ more_info: import("zod").ZodObject<{
314
+ query: import("zod").ZodString;
315
+ text: import("zod").ZodString;
316
+ music: import("zod").ZodNullable<import("zod").ZodString>;
317
+ song_count: import("zod").ZodString;
318
+ artistMap: import("zod").ZodObject<{
319
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
320
+ id: import("zod").ZodString;
321
+ name: import("zod").ZodString;
322
+ role: import("zod").ZodString;
323
+ image: import("zod").ZodString;
324
+ type: import("zod").ZodLiteral<"artist">;
325
+ perma_url: import("zod").ZodString;
326
+ }, import("zod/v4/core").$loose>>;
327
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
328
+ id: import("zod").ZodString;
329
+ name: import("zod").ZodString;
330
+ role: import("zod").ZodString;
331
+ image: import("zod").ZodString;
332
+ type: import("zod").ZodLiteral<"artist">;
333
+ perma_url: import("zod").ZodString;
334
+ }, import("zod/v4/core").$loose>>;
335
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
336
+ id: import("zod").ZodString;
337
+ name: import("zod").ZodString;
338
+ role: import("zod").ZodString;
339
+ image: import("zod").ZodString;
340
+ type: import("zod").ZodLiteral<"artist">;
341
+ perma_url: import("zod").ZodString;
342
+ }, import("zod/v4/core").$loose>>;
343
+ }, import("zod/v4/core").$loose>;
344
+ }, import("zod/v4/core").$loose>;
345
+ }, import("zod/v4/core").$loose>>;
346
+ latest_release: import("zod").ZodArray<import("zod").ZodObject<{
347
+ id: import("zod").ZodString;
348
+ title: import("zod").ZodString;
349
+ subtitle: import("zod").ZodString;
350
+ type: import("zod").ZodLiteral<"album">;
351
+ image: import("zod").ZodString;
352
+ perma_url: import("zod").ZodString;
353
+ explicit_content: import("zod").ZodString;
354
+ header_desc: import("zod").ZodString;
355
+ language: import("zod").ZodString;
356
+ year: import("zod").ZodString;
357
+ play_count: import("zod").ZodString;
358
+ more_info: import("zod").ZodObject<{
359
+ query: import("zod").ZodString;
360
+ text: import("zod").ZodString;
361
+ music: import("zod").ZodNullable<import("zod").ZodString>;
362
+ song_count: import("zod").ZodString;
363
+ artistMap: import("zod").ZodObject<{
364
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
365
+ id: import("zod").ZodString;
366
+ name: import("zod").ZodString;
367
+ role: import("zod").ZodString;
368
+ image: import("zod").ZodString;
369
+ type: import("zod").ZodLiteral<"artist">;
370
+ perma_url: import("zod").ZodString;
371
+ }, import("zod/v4/core").$loose>>;
372
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
373
+ id: import("zod").ZodString;
374
+ name: import("zod").ZodString;
375
+ role: import("zod").ZodString;
376
+ image: import("zod").ZodString;
377
+ type: import("zod").ZodLiteral<"artist">;
378
+ perma_url: import("zod").ZodString;
379
+ }, import("zod/v4/core").$loose>>;
380
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
381
+ id: import("zod").ZodString;
382
+ name: import("zod").ZodString;
383
+ role: import("zod").ZodString;
384
+ image: import("zod").ZodString;
385
+ type: import("zod").ZodLiteral<"artist">;
386
+ perma_url: import("zod").ZodString;
387
+ }, import("zod/v4/core").$loose>>;
388
+ }, import("zod/v4/core").$loose>;
389
+ }, import("zod/v4/core").$loose>;
390
+ description: import("zod").ZodString;
391
+ }, import("zod/v4/core").$loose>>;
392
+ similarArtists: import("zod").ZodArray<import("zod").ZodAny>;
393
+ urls: import("zod").ZodObject<{
394
+ albums: import("zod").ZodString;
395
+ bio: import("zod").ZodString;
396
+ comments: import("zod").ZodString;
397
+ songs: import("zod").ZodString;
398
+ overview: import("zod").ZodString;
399
+ }, import("zod/v4/core").$loose>;
400
+ }, import("zod/v4/core").$loose>>;
401
+ };
402
+ mapper: (data: import("zod").infer<typeof SaavnWebAPISchema.artist.response>) => import("../../../core/models").Artist;
403
+ };
404
+ label: {
405
+ call: string;
406
+ schema: {
407
+ readonly params: import("zod").ZodObject<{
408
+ token: import("zod").ZodString;
409
+ type: import("zod").ZodLiteral<"label">;
410
+ n_song: import("zod").ZodOptional<import("zod").ZodString>;
411
+ n_album: import("zod").ZodOptional<import("zod").ZodString>;
412
+ }, import("zod/v4/core").$strict>;
413
+ readonly response: import("zod").ZodAny;
414
+ };
415
+ mapper: (data: import("zod").infer<typeof SaavnWebAPISchema.label.response>) => any;
416
+ };
417
+ playlist: {
418
+ call: string;
419
+ schema: {
420
+ readonly params: import("zod").ZodObject<{
421
+ token: import("zod").ZodString;
422
+ type: import("zod").ZodLiteral<"playlist">;
423
+ n: import("zod").ZodOptional<import("zod").ZodString>;
424
+ }, import("zod/v4/core").$strict>;
425
+ readonly response: import("zod").ZodLazy<import("zod").ZodObject<{
426
+ id: import("zod").ZodString;
427
+ title: import("zod").ZodString;
428
+ subtitle: import("zod").ZodString;
429
+ type: import("zod").ZodLiteral<"playlist">;
430
+ image: import("zod").ZodString;
431
+ perma_url: import("zod").ZodString;
432
+ explicit_content: import("zod").ZodString;
433
+ header_desc: import("zod").ZodString;
434
+ language: import("zod").ZodString;
435
+ year: import("zod").ZodString;
436
+ play_count: import("zod").ZodString;
437
+ list_count: import("zod").ZodString;
438
+ list_type: import("zod").ZodString;
439
+ list: import("zod").ZodArray<import("zod").ZodLazy<import("zod").ZodObject<{
440
+ id: import("zod").ZodString;
441
+ title: import("zod").ZodString;
442
+ subtitle: import("zod").ZodString;
443
+ type: import("zod").ZodLiteral<"song">;
444
+ perma_url: import("zod").ZodString;
445
+ image: import("zod").ZodString;
446
+ explicit_content: import("zod").ZodString;
447
+ header_desc: import("zod").ZodString;
448
+ language: import("zod").ZodString;
449
+ year: import("zod").ZodString;
450
+ play_count: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>;
451
+ more_info: import("zod").ZodObject<{
452
+ music: import("zod").ZodString;
453
+ album_id: import("zod").ZodString;
454
+ album: import("zod").ZodString;
455
+ label: import("zod").ZodString;
456
+ label_id: import("zod").ZodNullable<import("zod").ZodString>;
457
+ origin: import("zod").ZodString;
458
+ is_dolby_content: import("zod").ZodBoolean;
459
+ encrypted_media_url: import("zod").ZodString;
460
+ encrypted_drm_media_url: import("zod").ZodString;
461
+ album_url: import("zod").ZodString;
462
+ duration: import("zod").ZodString;
463
+ has_lyrics: import("zod").ZodString;
464
+ lyrics_snippet: import("zod").ZodString;
465
+ lyrics_id: import("zod").ZodOptional<import("zod").ZodString>;
466
+ copyright_text: import("zod").ZodString;
467
+ release_date: import("zod").ZodNullable<import("zod").ZodString>;
468
+ label_url: import("zod").ZodOptional<import("zod").ZodString>;
469
+ vcode: import("zod").ZodOptional<import("zod").ZodString>;
470
+ vlink: import("zod").ZodOptional<import("zod").ZodString>;
471
+ artistMap: import("zod").ZodLazy<import("zod").ZodObject<{
472
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
473
+ id: import("zod").ZodString;
474
+ name: import("zod").ZodString;
475
+ role: import("zod").ZodString;
476
+ image: import("zod").ZodString;
477
+ type: import("zod").ZodLiteral<"artist">;
478
+ perma_url: import("zod").ZodString;
479
+ }, import("zod/v4/core").$loose>>;
480
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
481
+ id: import("zod").ZodString;
482
+ name: import("zod").ZodString;
483
+ role: import("zod").ZodString;
484
+ image: import("zod").ZodString;
485
+ type: import("zod").ZodLiteral<"artist">;
486
+ perma_url: import("zod").ZodString;
487
+ }, import("zod/v4/core").$loose>>;
488
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
489
+ id: import("zod").ZodString;
490
+ name: import("zod").ZodString;
491
+ role: import("zod").ZodString;
492
+ image: import("zod").ZodString;
493
+ type: import("zod").ZodLiteral<"artist">;
494
+ perma_url: import("zod").ZodString;
495
+ }, import("zod/v4/core").$loose>>;
496
+ }, import("zod/v4/core").$loose>>;
497
+ }, import("zod/v4/core").$loose>;
498
+ }, import("zod/v4/core").$loose>>>;
499
+ more_info: import("zod").ZodObject<{
500
+ uid: import("zod").ZodString;
501
+ contents: import("zod").ZodString;
502
+ is_dolby_content: import("zod").ZodBoolean;
503
+ last_updated: import("zod").ZodString;
504
+ username: import("zod").ZodString;
505
+ firstname: import("zod").ZodString;
506
+ lastname: import("zod").ZodString;
507
+ is_followed: import("zod").ZodString;
508
+ follower_count: import("zod").ZodString;
509
+ fan_count: import("zod").ZodString;
510
+ playlist_type: import("zod").ZodString;
511
+ images: import("zod").ZodArray<import("zod").ZodAny>;
512
+ user_image: import("zod").ZodString;
513
+ initials: import("zod").ZodString;
514
+ custom_username: import("zod").ZodString;
515
+ video_count: import("zod").ZodString;
516
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
517
+ id: import("zod").ZodString;
518
+ name: import("zod").ZodString;
519
+ role: import("zod").ZodString;
520
+ image: import("zod").ZodString;
521
+ type: import("zod").ZodLiteral<"artist">;
522
+ perma_url: import("zod").ZodString;
523
+ }, import("zod/v4/core").$loose>>;
524
+ subtitle_desc: import("zod").ZodArray<import("zod").ZodString>;
525
+ }, import("zod/v4/core").$loose>;
526
+ }, import("zod/v4/core").$loose>>;
527
+ };
528
+ mapper: (data: import("zod").infer<typeof SaavnWebAPISchema.playlist.response>) => import("../../../core/models").Playlist;
529
+ };
530
+ songs: {
531
+ call: string;
532
+ schema: {
533
+ readonly params: import("zod").ZodObject<{
534
+ token: import("zod").ZodString;
535
+ type: import("zod").ZodLiteral<"song">;
536
+ }, import("zod/v4/core").$strict>;
537
+ readonly response: import("zod").ZodObject<{
538
+ songs: import("zod").ZodArray<import("zod").ZodObject<{
539
+ id: import("zod").ZodString;
540
+ title: import("zod").ZodString;
541
+ subtitle: import("zod").ZodString;
542
+ type: import("zod").ZodLiteral<"song">;
543
+ perma_url: import("zod").ZodString;
544
+ image: import("zod").ZodString;
545
+ explicit_content: import("zod").ZodString;
546
+ header_desc: import("zod").ZodString;
547
+ language: import("zod").ZodString;
548
+ year: import("zod").ZodString;
549
+ play_count: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>;
550
+ more_info: import("zod").ZodObject<{
551
+ music: import("zod").ZodString;
552
+ album_id: import("zod").ZodString;
553
+ album: import("zod").ZodString;
554
+ label: import("zod").ZodString;
555
+ label_id: import("zod").ZodNullable<import("zod").ZodString>;
556
+ origin: import("zod").ZodString;
557
+ is_dolby_content: import("zod").ZodBoolean;
558
+ encrypted_media_url: import("zod").ZodString;
559
+ encrypted_drm_media_url: import("zod").ZodString;
560
+ album_url: import("zod").ZodString;
561
+ duration: import("zod").ZodString;
562
+ has_lyrics: import("zod").ZodString;
563
+ lyrics_snippet: import("zod").ZodString;
564
+ lyrics_id: import("zod").ZodOptional<import("zod").ZodString>;
565
+ copyright_text: import("zod").ZodString;
566
+ release_date: import("zod").ZodNullable<import("zod").ZodString>;
567
+ label_url: import("zod").ZodOptional<import("zod").ZodString>;
568
+ vcode: import("zod").ZodOptional<import("zod").ZodString>;
569
+ vlink: import("zod").ZodOptional<import("zod").ZodString>;
570
+ artistMap: import("zod").ZodLazy<import("zod").ZodObject<{
571
+ primary_artists: import("zod").ZodArray<import("zod").ZodObject<{
572
+ id: import("zod").ZodString;
573
+ name: import("zod").ZodString;
574
+ role: import("zod").ZodString;
575
+ image: import("zod").ZodString;
576
+ type: import("zod").ZodLiteral<"artist">;
577
+ perma_url: import("zod").ZodString;
578
+ }, import("zod/v4/core").$loose>>;
579
+ featured_artists: import("zod").ZodArray<import("zod").ZodObject<{
580
+ id: import("zod").ZodString;
581
+ name: import("zod").ZodString;
582
+ role: import("zod").ZodString;
583
+ image: import("zod").ZodString;
584
+ type: import("zod").ZodLiteral<"artist">;
585
+ perma_url: import("zod").ZodString;
586
+ }, import("zod/v4/core").$loose>>;
587
+ artists: import("zod").ZodArray<import("zod").ZodObject<{
588
+ id: import("zod").ZodString;
589
+ name: import("zod").ZodString;
590
+ role: import("zod").ZodString;
591
+ image: import("zod").ZodString;
592
+ type: import("zod").ZodLiteral<"artist">;
593
+ perma_url: import("zod").ZodString;
594
+ }, import("zod/v4/core").$loose>>;
595
+ }, import("zod/v4/core").$loose>>;
596
+ }, import("zod/v4/core").$loose>;
597
+ }, import("zod/v4/core").$loose>>;
598
+ }, import("zod/v4/core").$loose>;
599
+ };
600
+ mapper: (data: import("zod").infer<typeof SaavnWebAPISchema.songs.response>) => {
601
+ songs: import("../../../core/models").Song[];
602
+ };
603
+ };
604
+ };
@@ -0,0 +1,29 @@
1
+ import { SaavnWebAPIMapper } from './mapper.ops';
2
+ import { SaavnWebAPISchema } from './schema.ops';
3
+ export const SaavnWebAPI = {
4
+ album: {
5
+ call: 'webapi.get',
6
+ schema: SaavnWebAPISchema.album,
7
+ mapper: SaavnWebAPIMapper.album,
8
+ },
9
+ artist: {
10
+ call: 'webapi.get',
11
+ schema: SaavnWebAPISchema.artist,
12
+ mapper: SaavnWebAPIMapper.artist,
13
+ },
14
+ label: {
15
+ call: 'webapi.get',
16
+ schema: SaavnWebAPISchema.label,
17
+ mapper: SaavnWebAPIMapper.label,
18
+ },
19
+ playlist: {
20
+ call: 'webapi.get',
21
+ schema: SaavnWebAPISchema.playlist,
22
+ mapper: SaavnWebAPIMapper.playlist,
23
+ },
24
+ songs: {
25
+ call: 'webapi.get',
26
+ schema: SaavnWebAPISchema.songs,
27
+ mapper: SaavnWebAPIMapper.songs,
28
+ },
29
+ };
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { SaavnWebAPISchema } from './schema.ops';
3
+ export declare const SaavnWebAPIMapper: {
4
+ album: (data: z.infer<typeof SaavnWebAPISchema.album.response>) => import("../../../core/models").Album;
5
+ artist: (data: z.infer<typeof SaavnWebAPISchema.artist.response>) => import("../../../core/models").Artist;
6
+ label: (data: z.infer<typeof SaavnWebAPISchema.label.response>) => any;
7
+ playlist: (data: z.infer<typeof SaavnWebAPISchema.playlist.response>) => import("../../../core/models").Playlist;
8
+ songs: (data: z.infer<typeof SaavnWebAPISchema.songs.response>) => {
9
+ songs: import("../../../core/models").Song[];
10
+ };
11
+ };