@khang07/zing-mp3-api 1.0.1 → 1.3.2
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.
- package/README.md +442 -323
- package/dist/cjs/index.cjs +315 -116
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/refined.cjs +140 -0
- package/dist/cjs/utils/refined.cjs.map +1 -0
- package/dist/esm/index.js +315 -116
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/refined.js +132 -0
- package/dist/esm/utils/refined.js.map +1 -0
- package/dist/types/index.d.ts +44 -35
- package/dist/types/types/index.d.ts +9 -0
- package/dist/types/types/raw.d.ts +89 -0
- package/dist/types/types/response.d.ts +70 -0
- package/dist/types/utils/refined.d.ts +9 -0
- package/package.json +18 -4
- package/dist/.types/index.d.ts +0 -23
- package/dist/.types/types/fetch.d.ts +0 -24
- package/dist/.types/types/index.d.ts +0 -8
- package/dist/types/tsdoc-metadata.json +0 -11
- /package/dist/{.types → types}/types/cookie.d.ts +0 -0
- /package/dist/{.types → types}/utils/cookies.d.ts +0 -0
- /package/dist/{.types → types}/utils/encrypt.d.ts +0 -0
- /package/dist/{.types → types}/utils/lapse.d.ts +0 -0
package/dist/esm/index.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
import m3u8stream from 'm3u8stream';
|
|
3
|
-
import {
|
|
3
|
+
import { PassThrough } from 'node:stream';
|
|
4
|
+
import { URL } from 'node:url';
|
|
4
5
|
import { Cookies } from './utils/cookies.js';
|
|
5
6
|
import { createSignature } from './utils/encrypt.js';
|
|
6
7
|
import { Lapse } from './utils/lapse.js';
|
|
7
|
-
|
|
8
|
+
import { createArtist, createMedia, createSearchMedia, createPlayList, createSearchArtist, createSearchPlayList } from './utils/refined.js';
|
|
9
|
+
const isURL = (value) => {
|
|
10
|
+
try {
|
|
11
|
+
new URL(value);
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
class Client {
|
|
8
19
|
static BASE_URL = 'https://zingmp3.vn/';
|
|
9
20
|
static VERSION_URL_V1 = '1.6.34';
|
|
10
21
|
static VERSION_URL_V2 = '1.13.13';
|
|
@@ -12,35 +23,45 @@ class ZingClient {
|
|
|
12
23
|
static SECRET_KEY_V2 = '10a01dcf33762d3a204cb96429918ff6';
|
|
13
24
|
static API_KEY_V1 = '88265e23d4284f25963e6eedac8fbfa3';
|
|
14
25
|
static API_KEY_V2 = '38e8643fb0dc04e8d65b99994d3dafff';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
26
|
+
static API_VIDEO_PATH = '/api/v2/page/get/video';
|
|
27
|
+
static API_MUSIC_PATH = '/api/v2/song/get/streaming';
|
|
28
|
+
static EXTRA_API_MUSIC_PATH = '/api/song/get-song-info';
|
|
29
|
+
static API_SEARCH_PATH = '/api/v2/search';
|
|
30
|
+
static API_PLAYLIST_PATH = '/api/v2/page/get/playlist';
|
|
31
|
+
static API_MEDIA_DETAILS_PATH = '/api/v2/song/get/info';
|
|
32
|
+
static API_ARTIST_PATH = '/api/v2/page/get/artist';
|
|
33
|
+
static getIDFromURL(url) {
|
|
34
|
+
if (typeof url !== 'string' || !url.trim().length)
|
|
35
|
+
throw new Lapse('URL must be a non-empty string', 'ERROR_INVALID_URL');
|
|
36
|
+
const match = url.match(/\/([A-Z0-9]{8})\.html(?:\?|#|$)/i) || url.match(/^https?:\/\/zingmp3\.vn\/([^/?#]+)\/?(?:[?#].*)?$/i);
|
|
37
|
+
if (!match)
|
|
38
|
+
throw new Lapse('Could not extract ID from URL', 'ERROR_INVALID_URL');
|
|
39
|
+
return match[1];
|
|
19
40
|
}
|
|
20
|
-
|
|
41
|
+
ctime = Math.floor(Date.now() / 1000).toString();
|
|
42
|
+
instance;
|
|
43
|
+
maxLoad;
|
|
44
|
+
maxHighWaterMark;
|
|
45
|
+
userAgent;
|
|
46
|
+
jar;
|
|
21
47
|
constructor(options = {}) {
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
baseURL: ZingClient.BASE_URL,
|
|
48
|
+
this.maxLoad = options.maxLoad ?? 1024 * 1024;
|
|
49
|
+
this.maxHighWaterMark = options.maxHighWaterMark ?? 16 * 1024;
|
|
50
|
+
this.userAgent = options?.userAgent ?? 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3';
|
|
51
|
+
this.jar = options.jar instanceof Cookies ? options.jar : new Cookies();
|
|
52
|
+
this.instance = axios.create({
|
|
53
|
+
baseURL: Client.BASE_URL,
|
|
29
54
|
params: {
|
|
30
|
-
version:
|
|
31
|
-
apiKey:
|
|
55
|
+
version: Client.VERSION_URL_V1,
|
|
56
|
+
apiKey: Client.API_KEY_V1,
|
|
32
57
|
ctime: this.ctime
|
|
33
58
|
},
|
|
34
|
-
maxRate:
|
|
35
|
-
100 * 1024,
|
|
36
|
-
this.maxRate[0]
|
|
37
|
-
],
|
|
59
|
+
maxRate: this.maxLoad,
|
|
38
60
|
headers: {
|
|
39
|
-
'User-Agent':
|
|
61
|
+
'User-Agent': this.userAgent
|
|
40
62
|
}
|
|
41
|
-
};
|
|
42
|
-
this.instance
|
|
43
|
-
this.instance.interceptors.request.use((options) => {
|
|
63
|
+
});
|
|
64
|
+
this.instance.interceptors.request.use(async (options) => {
|
|
44
65
|
const base = options.baseURL ?? '';
|
|
45
66
|
const url = new URL(options.url ?? '/', base).toString();
|
|
46
67
|
const additionalHeaders = this.jar.applyToHeaders(url);
|
|
@@ -53,38 +74,37 @@ class ZingClient {
|
|
|
53
74
|
const requestUrl = response.request?.res?.responseUrl ?? response.config.url;
|
|
54
75
|
if (requestUrl && Array.isArray(setCookie))
|
|
55
76
|
this.jar.setCookies(setCookie, requestUrl);
|
|
56
|
-
return response;
|
|
77
|
+
return response.data;
|
|
57
78
|
});
|
|
58
79
|
}
|
|
80
|
+
async ensureCookies() {
|
|
81
|
+
if (this.jar.getCookies(Client.BASE_URL).length === 0)
|
|
82
|
+
void await this.instance.get('/');
|
|
83
|
+
}
|
|
59
84
|
async video(videoID) {
|
|
60
|
-
|
|
85
|
+
const value = videoID instanceof URL ? videoID.toString() : videoID;
|
|
86
|
+
if (typeof value !== 'string' || !value.trim().length)
|
|
61
87
|
throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
|
|
62
|
-
const uri = '/api/v2/page/get/video';
|
|
63
88
|
try {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const response = await this.instance.get(
|
|
89
|
+
videoID = isURL(value) ? Client.getIDFromURL(value) : value;
|
|
90
|
+
void await this.ensureCookies();
|
|
91
|
+
const response = await this.instance.get(Client.API_VIDEO_PATH, {
|
|
67
92
|
params: {
|
|
68
93
|
id: videoID,
|
|
69
|
-
sig: createSignature(
|
|
70
|
-
}
|
|
71
|
-
maxRate: [
|
|
72
|
-
100 * 1024,
|
|
73
|
-
this.maxRate[0]
|
|
74
|
-
]
|
|
94
|
+
sig: createSignature(Client.API_VIDEO_PATH, 'ctime=' + this.ctime + 'id=' + videoID + 'version=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
95
|
+
}
|
|
75
96
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const videoURL = body.data?.streaming?.hls?.['360p'];
|
|
97
|
+
if (response.err !== 0)
|
|
98
|
+
throw new Lapse('Video could not be found', 'ERROR_VIDEO_NOT_FOUND', response.err, response);
|
|
99
|
+
const videoURL = response.data?.streaming?.hls?.['720p'] || response.data?.streaming?.hls?.['360p'];
|
|
80
100
|
if (!videoURL || !videoURL.length)
|
|
81
101
|
throw new Lapse('Streaming URL not found', 'ERROR_STREAM_URL_NOT_FOUND');
|
|
82
|
-
const
|
|
83
|
-
|
|
102
|
+
const source = m3u8stream(videoURL);
|
|
103
|
+
source.once('error', (error) => {
|
|
84
104
|
const lapse = new Lapse('Stream download failed', 'ERROR_STREAM_DOWNLOAD', void 0, error);
|
|
85
|
-
|
|
105
|
+
source.destroy(lapse);
|
|
86
106
|
});
|
|
87
|
-
return
|
|
107
|
+
return source;
|
|
88
108
|
}
|
|
89
109
|
catch (error) {
|
|
90
110
|
if (error instanceof Lapse)
|
|
@@ -92,86 +112,87 @@ class ZingClient {
|
|
|
92
112
|
throw new Lapse('Failed to fetch video stream', 'ERROR_VIDEO_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
93
113
|
}
|
|
94
114
|
}
|
|
95
|
-
|
|
96
|
-
const video = new PassThrough({ highWaterMark: this.
|
|
115
|
+
videoSync(videoID) {
|
|
116
|
+
const video = new PassThrough({ highWaterMark: this.maxHighWaterMark });
|
|
117
|
+
let copySource;
|
|
118
|
+
let closed = false;
|
|
119
|
+
let sourceDestroyed = false;
|
|
120
|
+
const destroy = () => {
|
|
121
|
+
if (!copySource || sourceDestroyed)
|
|
122
|
+
return;
|
|
123
|
+
sourceDestroyed = true;
|
|
124
|
+
if (!copySource)
|
|
125
|
+
return;
|
|
126
|
+
copySource.unpipe(video);
|
|
127
|
+
if (!copySource.destroyed)
|
|
128
|
+
copySource.destroy();
|
|
129
|
+
};
|
|
130
|
+
const closer = () => {
|
|
131
|
+
closed = true;
|
|
132
|
+
destroy();
|
|
133
|
+
};
|
|
134
|
+
video.once('close', closer);
|
|
135
|
+
video.once('error', closer);
|
|
97
136
|
void this.video(videoID)
|
|
98
137
|
.then((source) => {
|
|
138
|
+
copySource = source;
|
|
99
139
|
source.once('error', (error) => {
|
|
100
140
|
const lapse = error instanceof Lapse ? error : new Lapse('Stream download failed', 'ERROR_STREAM_DOWNLOAD', void 0, error);
|
|
101
141
|
video.destroy(lapse);
|
|
102
142
|
});
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
video.once('close', destroy);
|
|
108
|
-
video.once('error', destroy);
|
|
143
|
+
if (closed || video.destroyed) {
|
|
144
|
+
destroy();
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
109
147
|
source.pipe(video);
|
|
110
148
|
})
|
|
111
149
|
.catch((error) => {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
throw new Lapse('Failed to fetch video stream', 'ERROR_VIDEO_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
150
|
+
const lapse = error instanceof Lapse ? error : new Lapse('Failed to fetch video stream', 'ERROR_VIDEO_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
151
|
+
video.destroy(lapse);
|
|
115
152
|
});
|
|
116
153
|
return video;
|
|
117
154
|
}
|
|
118
155
|
async music(musicID) {
|
|
119
|
-
|
|
156
|
+
const value = musicID instanceof URL ? musicID.toString() : musicID;
|
|
157
|
+
if (typeof value !== 'string' || !value.trim().length)
|
|
120
158
|
throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
|
|
121
|
-
let musicURL;
|
|
122
|
-
const uri = '/api/v2/song/get/streaming';
|
|
123
159
|
try {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const response = await this.instance.get(
|
|
160
|
+
musicID = isURL(value) ? Client.getIDFromURL(value) : value;
|
|
161
|
+
void await this.ensureCookies();
|
|
162
|
+
const response = await this.instance.get(Client.API_MUSIC_PATH, {
|
|
127
163
|
params: {
|
|
128
164
|
id: musicID,
|
|
129
|
-
sig: createSignature(
|
|
130
|
-
}
|
|
131
|
-
maxRate: [
|
|
132
|
-
100 * 1024,
|
|
133
|
-
this.maxRate[0]
|
|
134
|
-
]
|
|
165
|
+
sig: createSignature(Client.API_MUSIC_PATH, 'ctime=' + this.ctime + 'id=' + musicID + 'version=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
166
|
+
}
|
|
135
167
|
});
|
|
136
|
-
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const
|
|
168
|
+
let musicURL = response.data?.[320] && response.data[320] !== 'VIP' ? response.data[320] : response.data?.[128];
|
|
169
|
+
if (response.err === -1150) {
|
|
170
|
+
const retry = async (step, before) => {
|
|
171
|
+
if (step > 3)
|
|
172
|
+
throw new Lapse('Music requested by VIP, PRI', 'ERROR_MUSIC_VIP_ONLY', before ? before.err : void 0, before);
|
|
173
|
+
const retryData = await this.instance.get(Client.EXTRA_API_MUSIC_PATH, {
|
|
142
174
|
params: {
|
|
143
175
|
id: musicID,
|
|
144
|
-
api_key:
|
|
145
|
-
sig: createSignature('/song/get-song-info', 'ctime=' + this.ctime + 'id=' + musicID,
|
|
176
|
+
api_key: Client.API_KEY_V2,
|
|
177
|
+
sig: createSignature('/song/get-song-info', 'ctime=' + this.ctime + 'id=' + musicID, Client.SECRET_KEY_V2),
|
|
146
178
|
version: void 0,
|
|
147
179
|
apiKey: void 0
|
|
148
|
-
}
|
|
149
|
-
maxRate: [
|
|
150
|
-
100 * 1024,
|
|
151
|
-
this.maxRate[0]
|
|
152
|
-
]
|
|
180
|
+
}
|
|
153
181
|
});
|
|
154
|
-
if (
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
if (!retrySuccess)
|
|
161
|
-
throw new Lapse('Music requested by VIP, PRI', 'ERROR_MUSIC_VIP_ONLY');
|
|
182
|
+
if (retryData.err === 0)
|
|
183
|
+
return retryData.data?.streaming?.default?.[128];
|
|
184
|
+
return retry(step + 1, retryData);
|
|
185
|
+
};
|
|
186
|
+
musicURL = await retry(0);
|
|
162
187
|
}
|
|
163
|
-
else if (body.err === 0)
|
|
164
|
-
musicURL = body.data?.[128];
|
|
165
|
-
else
|
|
166
|
-
throw new Lapse('This song could not be found', 'ERROR_MUSIC_NOT_FOUND');
|
|
167
188
|
if (!musicURL || !musicURL.length)
|
|
168
189
|
throw new Lapse('Streaming URL not found', 'ERROR_STREAM_URL_NOT_FOUND');
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
const lapse = new Lapse('Stream download failed', 'ERROR_STREAM_DOWNLOAD',
|
|
172
|
-
|
|
190
|
+
const source = await this.instance.get(musicURL, { responseType: 'stream' });
|
|
191
|
+
source.once('error', (error) => {
|
|
192
|
+
const lapse = new Lapse('Stream download failed', 'ERROR_STREAM_DOWNLOAD', void 0, error);
|
|
193
|
+
source.destroy(lapse);
|
|
173
194
|
});
|
|
174
|
-
return
|
|
195
|
+
return source;
|
|
175
196
|
}
|
|
176
197
|
catch (error) {
|
|
177
198
|
if (error instanceof Lapse)
|
|
@@ -179,36 +200,214 @@ class ZingClient {
|
|
|
179
200
|
throw new Lapse('Failed to fetch music stream', 'ERROR_MUSIC_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
180
201
|
}
|
|
181
202
|
}
|
|
182
|
-
|
|
183
|
-
const music = new PassThrough({ highWaterMark: this.
|
|
203
|
+
musicSync(musicID) {
|
|
204
|
+
const music = new PassThrough({ highWaterMark: this.maxHighWaterMark });
|
|
205
|
+
let copySource;
|
|
206
|
+
let closed = false;
|
|
207
|
+
let sourceDestroyed = false;
|
|
208
|
+
const destroy = () => {
|
|
209
|
+
if (!copySource || sourceDestroyed)
|
|
210
|
+
return;
|
|
211
|
+
sourceDestroyed = true;
|
|
212
|
+
copySource.unpipe(music);
|
|
213
|
+
if (!copySource.destroyed)
|
|
214
|
+
copySource.destroy();
|
|
215
|
+
};
|
|
216
|
+
const closer = () => {
|
|
217
|
+
closed = true;
|
|
218
|
+
destroy();
|
|
219
|
+
};
|
|
220
|
+
music.once('close', closer);
|
|
221
|
+
music.once('error', closer);
|
|
184
222
|
void this.music(musicID)
|
|
185
223
|
.then((source) => {
|
|
224
|
+
copySource = source;
|
|
186
225
|
source.once('error', (error) => {
|
|
187
226
|
const lapse = error instanceof Lapse ? error : new Lapse('Stream download failed', 'ERROR_STREAM_DOWNLOAD', void 0, error);
|
|
188
227
|
music.destroy(lapse);
|
|
189
228
|
});
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
music.once('close', destroy);
|
|
195
|
-
music.once('error', destroy);
|
|
229
|
+
if (closed || music.destroyed) {
|
|
230
|
+
destroy();
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
196
233
|
source.pipe(music);
|
|
197
234
|
})
|
|
198
235
|
.catch((error) => {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
throw new Lapse('Failed to fetch music stream', 'ERROR_MUSIC_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
236
|
+
const lapse = error instanceof Lapse ? error : new Lapse('Failed to fetch music stream', 'ERROR_MUSIC_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
237
|
+
music.destroy(lapse);
|
|
202
238
|
});
|
|
203
239
|
return music;
|
|
204
240
|
}
|
|
241
|
+
async playlist(playlistID) {
|
|
242
|
+
const value = playlistID instanceof URL ? playlistID.toString() : playlistID;
|
|
243
|
+
if (typeof value !== 'string' || !value.trim().length)
|
|
244
|
+
throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
|
|
245
|
+
try {
|
|
246
|
+
playlistID = isURL(value) ? Client.getIDFromURL(value) : value;
|
|
247
|
+
void await this.ensureCookies();
|
|
248
|
+
const response = await this.instance.get(Client.API_PLAYLIST_PATH, {
|
|
249
|
+
params: {
|
|
250
|
+
id: playlistID,
|
|
251
|
+
sig: createSignature(Client.API_PLAYLIST_PATH, 'ctime=' + this.ctime + 'id=' + playlistID + 'version=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
if (response.err !== 0)
|
|
255
|
+
throw new Lapse('Could not find playlist', 'ERROR_PLAYLIST_NOT_FOUND', response.err, response);
|
|
256
|
+
return createPlayList(response.data);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
if (error instanceof Lapse)
|
|
260
|
+
throw error;
|
|
261
|
+
throw new Lapse('Failed to fetch playlist', 'ERROR_PLAYLIST_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
async artist(aliasID) {
|
|
265
|
+
const value = aliasID instanceof URL ? aliasID.toString() : aliasID;
|
|
266
|
+
if (typeof value !== 'string' || !value.trim().length)
|
|
267
|
+
throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
|
|
268
|
+
try {
|
|
269
|
+
aliasID = isURL(value) ? Client.getIDFromURL(value) : value;
|
|
270
|
+
void await this.ensureCookies();
|
|
271
|
+
const response = await this.instance.get(Client.API_ARTIST_PATH, {
|
|
272
|
+
params: {
|
|
273
|
+
alias: aliasID,
|
|
274
|
+
sig: createSignature(Client.API_ARTIST_PATH, 'ctime=' + this.ctime + 'version=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
if (response.err === -108)
|
|
278
|
+
throw new Lapse('Artist not found', 'ERROR_ARTIST_NOT_FOUND', response.err, response);
|
|
279
|
+
if (response.err !== 0)
|
|
280
|
+
throw new Lapse('Could not fetch artist', 'ERROR_ARTIST_FETCH', response.err, response);
|
|
281
|
+
return createArtist(response.data);
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
if (error instanceof Lapse)
|
|
285
|
+
throw error;
|
|
286
|
+
throw new Lapse('Failed to fetch artist', 'ERROR_ARTIST_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
async mediaDetails(mediaID) {
|
|
290
|
+
const value = mediaID instanceof URL ? mediaID.toString() : mediaID;
|
|
291
|
+
if (typeof value !== 'string' || !value.trim().length)
|
|
292
|
+
throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
|
|
293
|
+
try {
|
|
294
|
+
mediaID = isURL(value) ? Client.getIDFromURL(value) : value;
|
|
295
|
+
void await this.ensureCookies();
|
|
296
|
+
const response = await this.instance.get(Client.API_MEDIA_DETAILS_PATH, {
|
|
297
|
+
params: {
|
|
298
|
+
id: mediaID,
|
|
299
|
+
sig: createSignature(Client.API_MEDIA_DETAILS_PATH, 'ctime=' + this.ctime + 'id=' + mediaID + 'version=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
if (response.err === -1023)
|
|
303
|
+
throw new Lapse('Media not found', 'ERROR_MEDIA_NOT_FOUND', response.err, response);
|
|
304
|
+
if (response.err !== 0)
|
|
305
|
+
throw new Lapse('Could not fetch media', 'ERROR_MEDIA_FETCH', response.err, response);
|
|
306
|
+
return createMedia(response.data);
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
if (error instanceof Lapse)
|
|
310
|
+
throw error;
|
|
311
|
+
throw new Lapse('Failed to fetch media', 'ERROR_MEDIA_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
async searchMusic(query) {
|
|
315
|
+
if (typeof query !== 'string' || !query.trim().length)
|
|
316
|
+
throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
|
|
317
|
+
try {
|
|
318
|
+
void await this.ensureCookies();
|
|
319
|
+
const response = await this.instance.get(Client.API_SEARCH_PATH, {
|
|
320
|
+
params: {
|
|
321
|
+
q: query,
|
|
322
|
+
type: 'song',
|
|
323
|
+
page: 1,
|
|
324
|
+
count: 20,
|
|
325
|
+
sig: createSignature(Client.API_SEARCH_PATH, 'count=20ctime=' + this.ctime + 'page=1type=songversion=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
if (response.err !== 0)
|
|
329
|
+
throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
|
|
330
|
+
return response.data.items.map(createMedia);
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
if (error instanceof Lapse)
|
|
334
|
+
throw error;
|
|
335
|
+
throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
async searchVideo(query) {
|
|
339
|
+
if (typeof query !== 'string' || !query.trim().length)
|
|
340
|
+
throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
|
|
341
|
+
try {
|
|
342
|
+
void await this.ensureCookies();
|
|
343
|
+
const response = await this.instance.get(Client.API_SEARCH_PATH, {
|
|
344
|
+
params: {
|
|
345
|
+
q: query,
|
|
346
|
+
type: 'video',
|
|
347
|
+
page: 1,
|
|
348
|
+
count: 20,
|
|
349
|
+
sig: createSignature(Client.API_SEARCH_PATH, 'count=20ctime=' + this.ctime + 'page=1type=videoversion=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
if (response.err !== 0)
|
|
353
|
+
throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
|
|
354
|
+
return response.data.items.filter(item => item.artists).map(createSearchMedia);
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
if (error instanceof Lapse)
|
|
358
|
+
throw error;
|
|
359
|
+
throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
async searchList(query) {
|
|
363
|
+
if (typeof query !== 'string' || !query.trim().length)
|
|
364
|
+
throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
|
|
365
|
+
try {
|
|
366
|
+
void await this.ensureCookies();
|
|
367
|
+
const response = await this.instance.get(Client.API_SEARCH_PATH, {
|
|
368
|
+
params: {
|
|
369
|
+
q: query,
|
|
370
|
+
type: 'playlist',
|
|
371
|
+
page: 1,
|
|
372
|
+
count: 20,
|
|
373
|
+
sig: createSignature(Client.API_SEARCH_PATH, 'count=20ctime=' + this.ctime + 'page=1type=playlistversion=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
374
|
+
}
|
|
375
|
+
});
|
|
376
|
+
if (response.err !== 0)
|
|
377
|
+
throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
|
|
378
|
+
return response.data.items.map(createSearchPlayList);
|
|
379
|
+
}
|
|
380
|
+
catch (error) {
|
|
381
|
+
if (error instanceof Lapse)
|
|
382
|
+
throw error;
|
|
383
|
+
throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
async searchArtist(query) {
|
|
387
|
+
if (typeof query !== 'string' || !query.trim().length)
|
|
388
|
+
throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
|
|
389
|
+
try {
|
|
390
|
+
void await this.ensureCookies();
|
|
391
|
+
const response = await this.instance.get(Client.API_SEARCH_PATH, {
|
|
392
|
+
params: {
|
|
393
|
+
q: query,
|
|
394
|
+
type: 'artist',
|
|
395
|
+
page: 1,
|
|
396
|
+
count: 20,
|
|
397
|
+
sig: createSignature(Client.API_SEARCH_PATH, 'count=20ctime=' + this.ctime + 'page=1type=artistversion=' + Client.VERSION_URL_V1, Client.SECRET_KEY_V1)
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
if (response.err !== 0)
|
|
401
|
+
throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
|
|
402
|
+
return response.data.items.map(createSearchArtist);
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
if (error instanceof Lapse)
|
|
406
|
+
throw error;
|
|
407
|
+
throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
205
410
|
}
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
100 * 1024,
|
|
209
|
-
16 * 1024
|
|
210
|
-
]
|
|
211
|
-
};
|
|
212
|
-
const client = new ZingClient(clientOptions);
|
|
213
|
-
export { client as default, ZingClient };
|
|
411
|
+
const client = new Client();
|
|
412
|
+
export { client as default, Client };
|
|
214
413
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"source/","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"source/","sources":["index.ts"],"names":[],"mappings":"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"}
|