@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,272 @@
1
+ import { z } from 'zod';
2
+ export declare const SaavnGetTrendingSchema: {
3
+ readonly all: {
4
+ readonly params: z.ZodObject<{}, z.core.$strict>;
5
+ readonly response: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
6
+ id: z.ZodString;
7
+ title: z.ZodString;
8
+ subtitle: z.ZodString;
9
+ header_desc: z.ZodString;
10
+ perma_url: z.ZodString;
11
+ image: z.ZodString;
12
+ language: z.ZodString;
13
+ year: z.ZodString;
14
+ play_count: z.ZodString;
15
+ explicit_content: z.ZodString;
16
+ type: z.ZodLiteral<"album">;
17
+ more_info: z.ZodObject<{
18
+ release_date: z.ZodString;
19
+ song_count: z.ZodString;
20
+ artistMap: z.ZodObject<{
21
+ primary_artists: z.ZodArray<z.ZodObject<{
22
+ id: z.ZodString;
23
+ name: z.ZodString;
24
+ role: z.ZodString;
25
+ image: z.ZodString;
26
+ type: z.ZodLiteral<"artist">;
27
+ perma_url: z.ZodString;
28
+ }, z.core.$loose>>;
29
+ featured_artists: z.ZodArray<z.ZodObject<{
30
+ id: z.ZodString;
31
+ name: z.ZodString;
32
+ role: z.ZodString;
33
+ image: z.ZodString;
34
+ type: z.ZodLiteral<"artist">;
35
+ perma_url: z.ZodString;
36
+ }, z.core.$loose>>;
37
+ artists: z.ZodArray<z.ZodObject<{
38
+ id: z.ZodString;
39
+ name: z.ZodString;
40
+ role: z.ZodString;
41
+ image: z.ZodString;
42
+ type: z.ZodLiteral<"artist">;
43
+ perma_url: z.ZodString;
44
+ }, z.core.$loose>>;
45
+ }, z.core.$loose>;
46
+ }, z.core.$loose>;
47
+ }, z.core.$loose>, z.ZodObject<{
48
+ id: z.ZodString;
49
+ title: z.ZodString;
50
+ subtitle: z.ZodString;
51
+ header_desc: z.ZodString;
52
+ perma_url: z.ZodString;
53
+ image: z.ZodString;
54
+ language: z.ZodString;
55
+ year: z.ZodString;
56
+ play_count: z.ZodString;
57
+ explicit_content: z.ZodString;
58
+ type: z.ZodLiteral<"playlist">;
59
+ more_info: z.ZodObject<{
60
+ listid: z.ZodString;
61
+ isWeekly: z.ZodString;
62
+ listname: z.ZodString;
63
+ firstname: z.ZodString;
64
+ song_count: z.ZodString;
65
+ follower_count: z.ZodString;
66
+ fan_count: z.ZodString;
67
+ }, z.core.$loose>;
68
+ }, z.core.$loose>, z.ZodObject<{
69
+ id: z.ZodString;
70
+ title: z.ZodString;
71
+ subtitle: z.ZodString;
72
+ header_desc: z.ZodString;
73
+ perma_url: z.ZodString;
74
+ image: z.ZodString;
75
+ language: z.ZodString;
76
+ year: z.ZodString;
77
+ play_count: z.ZodString;
78
+ explicit_content: z.ZodString;
79
+ type: z.ZodLiteral<"song">;
80
+ more_info: z.ZodObject<{
81
+ music: z.ZodString;
82
+ album_id: z.ZodString;
83
+ album: z.ZodString;
84
+ label: z.ZodString;
85
+ label_id: z.ZodNullable<z.ZodString>;
86
+ origin: z.ZodString;
87
+ is_dolby_content: z.ZodBoolean;
88
+ encrypted_media_url: z.ZodString;
89
+ encrypted_drm_media_url: z.ZodString;
90
+ album_url: z.ZodString;
91
+ duration: z.ZodString;
92
+ has_lyrics: z.ZodString;
93
+ lyrics_snippet: z.ZodString;
94
+ lyrics_id: z.ZodOptional<z.ZodString>;
95
+ copyright_text: z.ZodString;
96
+ release_date: z.ZodNullable<z.ZodString>;
97
+ artistMap: z.ZodLazy<z.ZodObject<{
98
+ primary_artists: z.ZodArray<z.ZodObject<{
99
+ id: z.ZodString;
100
+ name: z.ZodString;
101
+ role: z.ZodString;
102
+ image: z.ZodString;
103
+ type: z.ZodLiteral<"artist">;
104
+ perma_url: z.ZodString;
105
+ }, z.core.$loose>>;
106
+ featured_artists: z.ZodArray<z.ZodObject<{
107
+ id: z.ZodString;
108
+ name: z.ZodString;
109
+ role: z.ZodString;
110
+ image: z.ZodString;
111
+ type: z.ZodLiteral<"artist">;
112
+ perma_url: z.ZodString;
113
+ }, z.core.$loose>>;
114
+ artists: z.ZodArray<z.ZodObject<{
115
+ id: z.ZodString;
116
+ name: z.ZodString;
117
+ role: z.ZodString;
118
+ image: z.ZodString;
119
+ type: z.ZodLiteral<"artist">;
120
+ perma_url: z.ZodString;
121
+ }, z.core.$loose>>;
122
+ }, z.core.$loose>>;
123
+ vcode: z.ZodOptional<z.ZodString>;
124
+ vlink: z.ZodOptional<z.ZodString>;
125
+ label_url: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$loose>;
127
+ }, z.core.$loose>], "type">>;
128
+ };
129
+ readonly albums: {
130
+ readonly params: z.ZodObject<{
131
+ entity_type: z.ZodLiteral<"album">;
132
+ entity_language: z.ZodString;
133
+ }, z.core.$strict>;
134
+ readonly response: z.ZodArray<z.ZodObject<{
135
+ id: z.ZodString;
136
+ title: z.ZodString;
137
+ subtitle: z.ZodString;
138
+ header_desc: z.ZodString;
139
+ perma_url: z.ZodString;
140
+ image: z.ZodString;
141
+ language: z.ZodString;
142
+ year: z.ZodString;
143
+ play_count: z.ZodString;
144
+ explicit_content: z.ZodString;
145
+ type: z.ZodLiteral<"album">;
146
+ more_info: z.ZodObject<{
147
+ release_date: z.ZodString;
148
+ song_count: z.ZodString;
149
+ artistMap: z.ZodObject<{
150
+ primary_artists: z.ZodArray<z.ZodObject<{
151
+ id: z.ZodString;
152
+ name: z.ZodString;
153
+ role: z.ZodString;
154
+ image: z.ZodString;
155
+ type: z.ZodLiteral<"artist">;
156
+ perma_url: z.ZodString;
157
+ }, z.core.$loose>>;
158
+ featured_artists: z.ZodArray<z.ZodObject<{
159
+ id: z.ZodString;
160
+ name: z.ZodString;
161
+ role: z.ZodString;
162
+ image: z.ZodString;
163
+ type: z.ZodLiteral<"artist">;
164
+ perma_url: z.ZodString;
165
+ }, z.core.$loose>>;
166
+ artists: z.ZodArray<z.ZodObject<{
167
+ id: z.ZodString;
168
+ name: z.ZodString;
169
+ role: z.ZodString;
170
+ image: z.ZodString;
171
+ type: z.ZodLiteral<"artist">;
172
+ perma_url: z.ZodString;
173
+ }, z.core.$loose>>;
174
+ }, z.core.$loose>;
175
+ }, z.core.$loose>;
176
+ }, z.core.$loose>>;
177
+ };
178
+ readonly playlists: {
179
+ readonly params: z.ZodObject<{
180
+ entity_type: z.ZodLiteral<"playlist">;
181
+ entity_language: z.ZodString;
182
+ }, z.core.$strict>;
183
+ readonly response: z.ZodArray<z.ZodObject<{
184
+ id: z.ZodString;
185
+ title: z.ZodString;
186
+ subtitle: z.ZodString;
187
+ header_desc: z.ZodString;
188
+ perma_url: z.ZodString;
189
+ image: z.ZodString;
190
+ language: z.ZodString;
191
+ year: z.ZodString;
192
+ play_count: z.ZodString;
193
+ explicit_content: z.ZodString;
194
+ type: z.ZodLiteral<"playlist">;
195
+ more_info: z.ZodObject<{
196
+ listid: z.ZodString;
197
+ isWeekly: z.ZodString;
198
+ listname: z.ZodString;
199
+ firstname: z.ZodString;
200
+ song_count: z.ZodString;
201
+ follower_count: z.ZodString;
202
+ fan_count: z.ZodString;
203
+ }, z.core.$loose>;
204
+ }, z.core.$loose>>;
205
+ };
206
+ readonly songs: {
207
+ readonly params: z.ZodObject<{
208
+ entity_type: z.ZodLiteral<"song">;
209
+ entity_language: z.ZodString;
210
+ }, z.core.$strict>;
211
+ readonly response: z.ZodArray<z.ZodObject<{
212
+ id: z.ZodString;
213
+ title: z.ZodString;
214
+ subtitle: z.ZodString;
215
+ header_desc: z.ZodString;
216
+ perma_url: z.ZodString;
217
+ image: z.ZodString;
218
+ language: z.ZodString;
219
+ year: z.ZodString;
220
+ play_count: z.ZodString;
221
+ explicit_content: z.ZodString;
222
+ type: z.ZodLiteral<"song">;
223
+ more_info: z.ZodObject<{
224
+ music: z.ZodString;
225
+ album_id: z.ZodString;
226
+ album: z.ZodString;
227
+ label: z.ZodString;
228
+ label_id: z.ZodNullable<z.ZodString>;
229
+ origin: z.ZodString;
230
+ is_dolby_content: z.ZodBoolean;
231
+ encrypted_media_url: z.ZodString;
232
+ encrypted_drm_media_url: z.ZodString;
233
+ album_url: z.ZodString;
234
+ duration: z.ZodString;
235
+ has_lyrics: z.ZodString;
236
+ lyrics_snippet: z.ZodString;
237
+ lyrics_id: z.ZodOptional<z.ZodString>;
238
+ copyright_text: z.ZodString;
239
+ release_date: z.ZodNullable<z.ZodString>;
240
+ artistMap: z.ZodLazy<z.ZodObject<{
241
+ primary_artists: z.ZodArray<z.ZodObject<{
242
+ id: z.ZodString;
243
+ name: z.ZodString;
244
+ role: z.ZodString;
245
+ image: z.ZodString;
246
+ type: z.ZodLiteral<"artist">;
247
+ perma_url: z.ZodString;
248
+ }, z.core.$loose>>;
249
+ featured_artists: z.ZodArray<z.ZodObject<{
250
+ id: z.ZodString;
251
+ name: z.ZodString;
252
+ role: z.ZodString;
253
+ image: z.ZodString;
254
+ type: z.ZodLiteral<"artist">;
255
+ perma_url: z.ZodString;
256
+ }, z.core.$loose>>;
257
+ artists: z.ZodArray<z.ZodObject<{
258
+ id: z.ZodString;
259
+ name: z.ZodString;
260
+ role: z.ZodString;
261
+ image: z.ZodString;
262
+ type: z.ZodLiteral<"artist">;
263
+ perma_url: z.ZodString;
264
+ }, z.core.$loose>>;
265
+ }, z.core.$loose>>;
266
+ vcode: z.ZodOptional<z.ZodString>;
267
+ vlink: z.ZodOptional<z.ZodString>;
268
+ label_url: z.ZodOptional<z.ZodString>;
269
+ }, z.core.$loose>;
270
+ }, z.core.$loose>>;
271
+ };
272
+ };
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ import { NonEmptyString } from '../../primitives/string';
3
+ import { SaavnTrendingAlbum, SaavnTrendingPlaylist, SaavnTrendingSongEntity, } from '../../entities';
4
+ export const SaavnGetTrendingSchema = {
5
+ all: {
6
+ params: z.strictObject({}),
7
+ response: z.array(z.discriminatedUnion('type', [
8
+ SaavnTrendingAlbum,
9
+ SaavnTrendingPlaylist,
10
+ SaavnTrendingSongEntity,
11
+ ])),
12
+ },
13
+ albums: {
14
+ params: z.strictObject({
15
+ entity_type: z.literal('album'),
16
+ entity_language: NonEmptyString,
17
+ }),
18
+ response: z.array(SaavnTrendingAlbum),
19
+ },
20
+ playlists: {
21
+ params: z.strictObject({
22
+ entity_type: z.literal('playlist'),
23
+ entity_language: NonEmptyString,
24
+ }),
25
+ response: z.array(SaavnTrendingPlaylist),
26
+ },
27
+ songs: {
28
+ params: z.strictObject({
29
+ entity_type: z.literal('song'),
30
+ entity_language: NonEmptyString,
31
+ }),
32
+ response: z.array(SaavnTrendingSongEntity),
33
+ },
34
+ };
@@ -0,0 +1,6 @@
1
+ export * from './get-details';
2
+ export * from './get-reco';
3
+ export * from './get-trending';
4
+ export * from './search-results';
5
+ export * from './web-api';
6
+ export * from './web-radio';
@@ -0,0 +1,6 @@
1
+ export * from './get-details';
2
+ export * from './get-reco';
3
+ export * from './get-trending';
4
+ export * from './search-results';
5
+ export * from './web-api';
6
+ export * from './web-radio';