@khang07/zing-mp3-api 1.3.6 → 1.3.7

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/dist/esm/index.js CHANGED
@@ -6,7 +6,6 @@ import { Cookies } from './utils/cookies.js';
6
6
  import { createSignature } from './utils/encrypt.js';
7
7
  import { Lapse } from './utils/lapse.js';
8
8
  import { createArtist, createMedia, createSearchMedia, createPlayList, createSearchArtist, createSearchPlayList } from './utils/refined.js';
9
- import { Readable } from 'node:stream';
10
9
  const isURL = (value) => {
11
10
  try {
12
11
  new URL(value);
@@ -16,6 +15,7 @@ const isURL = (value) => {
16
15
  return false;
17
16
  }
18
17
  };
18
+ const ensureCookies = async (instance) => await instance.get('/');
19
19
  class Client {
20
20
  static BASE_URL = 'https://zingmp3.vn/';
21
21
  static VERSION_URL_V1 = '1.6.34';
@@ -45,11 +45,18 @@ class Client {
45
45
  maxHighWaterMark;
46
46
  userAgent;
47
47
  jar;
48
- constructor(options = {}) {
49
- this.maxLoad = options.maxLoad ?? 1024 * 1024;
50
- this.maxHighWaterMark = options.maxHighWaterMark ?? 16 * 1024;
51
- 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';
52
- this.jar = options.jar instanceof Cookies ? options.jar : new Cookies();
48
+ constructor(options) {
49
+ const mergedOptions = {
50
+ maxLoad: 1024 * 1024,
51
+ maxHighWaterMark: 16 * 1024,
52
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
53
+ jar: new Cookies(),
54
+ ...options
55
+ };
56
+ this.maxLoad = mergedOptions.maxLoad;
57
+ this.maxHighWaterMark = mergedOptions.maxHighWaterMark;
58
+ this.userAgent = mergedOptions.userAgent;
59
+ this.jar = mergedOptions.jar;
53
60
  this.instance = axios.create({
54
61
  baseURL: Client.BASE_URL,
55
62
  params: {
@@ -57,14 +64,12 @@ class Client {
57
64
  apiKey: Client.API_KEY_V1,
58
65
  ctime: this.ctime
59
66
  },
60
- maxRate: this.maxLoad,
61
- headers: {
62
- 'User-Agent': this.userAgent
63
- }
67
+ maxRate: this.maxLoad
64
68
  });
65
69
  this.instance.interceptors.request.use(async (options) => {
66
70
  const base = options.baseURL ?? '';
67
71
  const url = new URL(options.url ?? '/', base).toString();
72
+ options.headers.set('User-Agent', this.userAgent);
68
73
  const additionalHeaders = this.jar.applyToHeaders(url);
69
74
  for (const [key, value] of Object.entries(additionalHeaders))
70
75
  options.headers.set(key, value);
@@ -78,9 +83,19 @@ class Client {
78
83
  return response.data;
79
84
  });
80
85
  }
81
- async ensureCookies() {
82
- if (this.jar.getCookies(Client.BASE_URL).length === 0)
83
- void await this.instance.get('/');
86
+ setOptions(options) {
87
+ const mergedOptions = {
88
+ maxLoad: this.maxLoad,
89
+ maxHighWaterMark: this.maxHighWaterMark,
90
+ userAgent: this.userAgent,
91
+ jar: this.jar,
92
+ ...options
93
+ };
94
+ this.maxLoad = mergedOptions.maxLoad;
95
+ this.maxHighWaterMark = mergedOptions.maxHighWaterMark;
96
+ this.userAgent = mergedOptions.userAgent;
97
+ this.jar = mergedOptions.jar;
98
+ this.instance.defaults.maxRate = mergedOptions.maxLoad;
84
99
  }
85
100
  async video(videoID) {
86
101
  const value = videoID instanceof URL ? videoID.toString() : videoID;
@@ -88,7 +103,7 @@ class Client {
88
103
  throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
89
104
  try {
90
105
  videoID = isURL(value) ? Client.getIDFromURL(value) : value;
91
- void await this.ensureCookies();
106
+ void await ensureCookies(this.instance);
92
107
  const response = await this.instance.get(Client.API_VIDEO_PATH, {
93
108
  params: {
94
109
  id: videoID,
@@ -96,7 +111,7 @@ class Client {
96
111
  }
97
112
  });
98
113
  if (response.err !== 0)
99
- throw new Lapse('Video could not be found', 'ERROR_VIDEO_NOT_FOUND', response.err, response);
114
+ throw new Lapse('Video could not be found', 'ERROR_VIDEO_NOT_FOUND', response.err);
100
115
  const videoURL = response.data?.streaming?.hls?.['720p'] || response.data?.streaming?.hls?.['360p'];
101
116
  if (!videoURL || !videoURL.length)
102
117
  throw new Lapse('Streaming URL not found', 'ERROR_STREAM_URL_NOT_FOUND');
@@ -110,9 +125,8 @@ class Client {
110
125
  return source;
111
126
  }
112
127
  catch (error) {
113
- if (error instanceof Lapse)
114
- throw error;
115
- throw new Lapse('Failed to fetch video stream', 'ERROR_VIDEO_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
128
+ 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);
129
+ throw lapse;
116
130
  }
117
131
  }
118
132
  videoSync(videoID) {
@@ -161,7 +175,7 @@ class Client {
161
175
  throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
162
176
  try {
163
177
  musicID = isURL(value) ? Client.getIDFromURL(value) : value;
164
- void await this.ensureCookies();
178
+ void await ensureCookies(this.instance);
165
179
  const response = await this.instance.get(Client.API_MUSIC_PATH, {
166
180
  params: {
167
181
  id: musicID,
@@ -172,7 +186,7 @@ class Client {
172
186
  if (response.err === -1150) {
173
187
  const retry = async (step, before) => {
174
188
  if (step > 3)
175
- throw new Lapse('Music requested by VIP, PRI', 'ERROR_MUSIC_VIP_ONLY', before ? before.err : void 0, before);
189
+ throw new Lapse('Music requested by VIP, PRI', 'ERROR_MUSIC_VIP_ONLY', before ? before.err : void 0);
176
190
  const retryData = await this.instance.get(Client.EXTRA_API_MUSIC_PATH, {
177
191
  params: {
178
192
  id: musicID,
@@ -198,9 +212,8 @@ class Client {
198
212
  return source;
199
213
  }
200
214
  catch (error) {
201
- if (error instanceof Lapse)
202
- throw error;
203
- throw new Lapse('Failed to fetch music stream', 'ERROR_MUSIC_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
215
+ 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);
216
+ throw lapse;
204
217
  }
205
218
  }
206
219
  musicSync(musicID) {
@@ -247,7 +260,7 @@ class Client {
247
260
  throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
248
261
  try {
249
262
  playlistID = isURL(value) ? Client.getIDFromURL(value) : value;
250
- void await this.ensureCookies();
263
+ void await ensureCookies(this.instance);
251
264
  const response = await this.instance.get(Client.API_PLAYLIST_PATH, {
252
265
  params: {
253
266
  id: playlistID,
@@ -259,9 +272,8 @@ class Client {
259
272
  return createPlayList(response.data);
260
273
  }
261
274
  catch (error) {
262
- if (error instanceof Lapse)
263
- throw error;
264
- throw new Lapse('Failed to fetch playlist', 'ERROR_PLAYLIST_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
275
+ const lapse = error instanceof Lapse ? error : new Lapse('Failed to fetch playlist', 'ERROR_PLAYLIST_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
276
+ throw lapse;
265
277
  }
266
278
  }
267
279
  async artist(aliasID) {
@@ -270,7 +282,7 @@ class Client {
270
282
  throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
271
283
  try {
272
284
  aliasID = isURL(value) ? Client.getIDFromURL(value) : value;
273
- void await this.ensureCookies();
285
+ void await ensureCookies(this.instance);
274
286
  const response = await this.instance.get(Client.API_ARTIST_PATH, {
275
287
  params: {
276
288
  alias: aliasID,
@@ -278,15 +290,14 @@ class Client {
278
290
  }
279
291
  });
280
292
  if (response.err === -108)
281
- throw new Lapse('Artist not found', 'ERROR_ARTIST_NOT_FOUND', response.err, response);
293
+ throw new Lapse('Artist not found', 'ERROR_ARTIST_NOT_FOUND', response.err);
282
294
  if (response.err !== 0)
283
- throw new Lapse('Could not fetch artist', 'ERROR_ARTIST_FETCH', response.err, response);
295
+ throw new Lapse('Could not fetch artist', 'ERROR_ARTIST_FETCH', response.err);
284
296
  return createArtist(response.data);
285
297
  }
286
298
  catch (error) {
287
- if (error instanceof Lapse)
288
- throw error;
289
- throw new Lapse('Failed to fetch artist', 'ERROR_ARTIST_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
299
+ const lapse = error instanceof Lapse ? error : new Lapse('Failed to fetch artist', 'ERROR_ARTIST_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
300
+ throw lapse;
290
301
  }
291
302
  }
292
303
  async mediaDetails(mediaID) {
@@ -295,7 +306,7 @@ class Client {
295
306
  throw new Lapse('ID must be a non-empty string', 'ERROR_INVALID_ID');
296
307
  try {
297
308
  mediaID = isURL(value) ? Client.getIDFromURL(value) : value;
298
- void await this.ensureCookies();
309
+ void await ensureCookies(this.instance);
299
310
  const response = await this.instance.get(Client.API_MEDIA_DETAILS_PATH, {
300
311
  params: {
301
312
  id: mediaID,
@@ -303,22 +314,21 @@ class Client {
303
314
  }
304
315
  });
305
316
  if (response.err === -1023)
306
- throw new Lapse('Media not found', 'ERROR_MEDIA_NOT_FOUND', response.err, response);
317
+ throw new Lapse('Media not found', 'ERROR_MEDIA_NOT_FOUND', response.err);
307
318
  if (response.err !== 0)
308
- throw new Lapse('Could not fetch media', 'ERROR_MEDIA_FETCH', response.err, response);
319
+ throw new Lapse('Could not fetch media', 'ERROR_MEDIA_FETCH', response.err);
309
320
  return createMedia(response.data);
310
321
  }
311
322
  catch (error) {
312
- if (error instanceof Lapse)
313
- throw error;
314
- throw new Lapse('Failed to fetch media', 'ERROR_MEDIA_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
323
+ const lapse = error instanceof Lapse ? error : new Lapse('Failed to fetch media', 'ERROR_MEDIA_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
324
+ throw lapse;
315
325
  }
316
326
  }
317
327
  async searchMusic(query) {
318
328
  if (typeof query !== 'string' || !query.trim().length)
319
329
  throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
320
330
  try {
321
- void await this.ensureCookies();
331
+ void await ensureCookies(this.instance);
322
332
  const response = await this.instance.get(Client.API_SEARCH_PATH, {
323
333
  params: {
324
334
  q: query,
@@ -329,20 +339,19 @@ class Client {
329
339
  }
330
340
  });
331
341
  if (response.err !== 0)
332
- throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
333
- return response.data.items.map(createSearchMedia);
342
+ throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err);
343
+ return (response.data.items ?? []).map(createSearchMedia);
334
344
  }
335
345
  catch (error) {
336
- if (error instanceof Lapse)
337
- throw error;
338
- throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
346
+ const lapse = error instanceof Lapse ? error : new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
347
+ throw lapse;
339
348
  }
340
349
  }
341
350
  async searchVideo(query) {
342
351
  if (typeof query !== 'string' || !query.trim().length)
343
352
  throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
344
353
  try {
345
- void await this.ensureCookies();
354
+ void await ensureCookies(this.instance);
346
355
  const response = await this.instance.get(Client.API_SEARCH_PATH, {
347
356
  params: {
348
357
  q: query,
@@ -353,20 +362,19 @@ class Client {
353
362
  }
354
363
  });
355
364
  if (response.err !== 0)
356
- throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
357
- return response.data.items.map(createSearchMedia);
365
+ throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err);
366
+ return (response.data.items ?? []).map(createSearchMedia);
358
367
  }
359
368
  catch (error) {
360
- if (error instanceof Lapse)
361
- throw error;
362
- throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
369
+ const lapse = error instanceof Lapse ? error : new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
370
+ throw lapse;
363
371
  }
364
372
  }
365
373
  async searchList(query) {
366
374
  if (typeof query !== 'string' || !query.trim().length)
367
375
  throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
368
376
  try {
369
- void await this.ensureCookies();
377
+ void await ensureCookies(this.instance);
370
378
  const response = await this.instance.get(Client.API_SEARCH_PATH, {
371
379
  params: {
372
380
  q: query,
@@ -377,20 +385,19 @@ class Client {
377
385
  }
378
386
  });
379
387
  if (response.err !== 0)
380
- throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
388
+ throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err);
381
389
  return response.data.items.map(createSearchPlayList);
382
390
  }
383
391
  catch (error) {
384
- if (error instanceof Lapse)
385
- throw error;
386
- throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
392
+ const lapse = error instanceof Lapse ? error : new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
393
+ throw lapse;
387
394
  }
388
395
  }
389
396
  async searchArtist(query) {
390
397
  if (typeof query !== 'string' || !query.trim().length)
391
398
  throw new Lapse('Query must be a non-empty string', 'ERROR_INVALID_QUERY');
392
399
  try {
393
- void await this.ensureCookies();
400
+ void await ensureCookies(this.instance);
394
401
  const response = await this.instance.get(Client.API_SEARCH_PATH, {
395
402
  params: {
396
403
  q: query,
@@ -401,13 +408,12 @@ class Client {
401
408
  }
402
409
  });
403
410
  if (response.err !== 0)
404
- throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err, response);
411
+ throw new Lapse('Search could not be fetched', 'ERROR_SEARCH_FAILED', response.err);
405
412
  return response.data.items.map(createSearchArtist);
406
413
  }
407
414
  catch (error) {
408
- if (error instanceof Lapse)
409
- throw error;
410
- throw new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
415
+ const lapse = error instanceof Lapse ? error : new Lapse('Search could not be fetch', 'ERROR_SEARCH_FETCH', axios.isAxiosError(error) ? error.response?.status : void 0, error);
416
+ throw lapse;
411
417
  }
412
418
  }
413
419
  }
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { URL } from 'node:url';
2
2
  import { Cookies } from './utils/cookies.js';
3
- import { Readable } from 'node:stream';
3
+ import type { Readable } from 'node:stream';
4
4
  import type { ClientOptions } from './types/index.js';
5
5
  import type { Artist, Media, SearchMedia, PlayList, SearchPlayList, SearchArtist } from './types/response.js';
6
6
  export type { Cookies, ClientOptions, PlayList, Artist, Media, SearchMedia, SearchPlayList, SearchArtist };
@@ -22,12 +22,12 @@ declare class Client {
22
22
  static getIDFromURL(url: string): string;
23
23
  private readonly ctime;
24
24
  private readonly instance;
25
- private readonly maxLoad;
26
- private readonly maxHighWaterMark;
27
- private readonly userAgent;
28
- private readonly jar;
25
+ private maxLoad;
26
+ private maxHighWaterMark;
27
+ private userAgent;
28
+ private jar;
29
29
  constructor(options?: ClientOptions);
30
- private ensureCookies;
30
+ setOptions(options?: ClientOptions): void;
31
31
  video(videoID: string | URL): Promise<Readable>;
32
32
  videoSync(videoID: string | URL): Readable;
33
33
  music(musicID: string | URL): Promise<Readable>;
@@ -20,7 +20,6 @@ interface ArtistRef {
20
20
  name: string;
21
21
  thumbnail: CoverArtist;
22
22
  }
23
- type SearchArtist = Required<ArtistRef>;
24
23
  interface Artist extends ArtistRef {
25
24
  biography: string;
26
25
  birthday: string;
@@ -48,10 +47,6 @@ interface Media extends Named {
48
47
  thumbnail: CoverMedia;
49
48
  username: string;
50
49
  }
51
- type SearchMediaAlbum = Omit<Album, 'artists'>;
52
- type SearchMedia = Omit<Media, 'isPrivate' | 'releaseDate' | 'album'> & {
53
- album?: SearchMediaAlbum;
54
- };
55
50
  interface PlayList extends Named {
56
51
  alias: string;
57
52
  artists: ArtistRef[];
@@ -69,5 +64,10 @@ interface PlayList extends Named {
69
64
  thumbnail: CoverPlayList;
70
65
  updatedAt: number;
71
66
  }
67
+ type SearchArtist = Required<ArtistRef>;
68
+ type SearchMediaAlbum = Omit<Album, 'artists'>;
72
69
  type SearchPlayList = Omit<PlayList, 'updatedAt' | 'mediaCount' | 'listenCount' | 'likeCount' | 'duration' | 'description' | 'media'>;
70
+ type SearchMedia = Omit<Media, 'isPrivate' | 'releaseDate' | 'album'> & {
71
+ album?: SearchMediaAlbum;
72
+ };
73
73
  export type { Album, Artist, ArtistRef, CoverArtist, CoverMedia, CoverPlayList, Media, SearchMedia, PlayList, SearchPlayList, SearchArtist, SearchMediaAlbum };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khang07/zing-mp3-api",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "author": "GiaKhang <ngkhang9a5lqc11@gmail.com>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "bugs": {
36
36
  "url": "https://github.com/GiaKhang1810/zing-mp3-api/issues"
37
37
  },
38
- "description": "The basic APIs provide the features of ZingMp3.",
38
+ "description": "The basic APIs provide the features of ZingMp3",
39
39
  "homepage": "https://github.com/GiaKhang1810/zing-mp3-api#readme",
40
40
  "keywords": [
41
41
  "zingmp3",
@@ -48,6 +48,7 @@
48
48
  "scripts": {
49
49
  "build:esm": "tsc -p tsconfig.json",
50
50
  "build:cjs": "rollup -c",
51
+ "build": "bun run build:esm && bun run build:cjs && rm -rf dist/esm/types dist/cjs/types",
51
52
  "test": "mocha"
52
53
  },
53
54
  "devDependencies": {