xvideosx 1.6.3 → 1.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. package/AUTHORS +2 -2
  2. package/README.md +3 -2
  3. package/index.js +1 -1
  4. package/lib/api/base.js +14 -14
  5. package/lib/api/index.js +5 -5
  6. package/lib/api/videos/best/best.js +19 -19
  7. package/lib/api/videos/best/best.spec.js +138 -138
  8. package/lib/api/videos/best/createHasNextFunction.js +10 -10
  9. package/lib/api/videos/best/createHasPreviousFunction.js +10 -10
  10. package/lib/api/videos/best/createNextFunction.js +12 -12
  11. package/lib/api/videos/best/createPreviousFunction.js +12 -12
  12. package/lib/api/videos/best/createRefreshFunction.js +11 -11
  13. package/lib/api/videos/best/index.js +1 -1
  14. package/lib/api/videos/best/parseResponse.js +45 -45
  15. package/lib/api/videos/best/parseVideo.js +27 -27
  16. package/lib/api/videos/dashboard/createHasNextFunction.js +10 -10
  17. package/lib/api/videos/dashboard/createHasPreviousFunction.js +10 -10
  18. package/lib/api/videos/dashboard/createNextFunction.js +12 -12
  19. package/lib/api/videos/dashboard/createPreviousFunction.js +12 -12
  20. package/lib/api/videos/dashboard/createRefreshFunction.js +11 -11
  21. package/lib/api/videos/dashboard/dashboard.js +14 -14
  22. package/lib/api/videos/dashboard/dashboard.spec.js +138 -138
  23. package/lib/api/videos/dashboard/index.js +1 -1
  24. package/lib/api/videos/dashboard/parseResponse.js +45 -45
  25. package/lib/api/videos/dashboard/parseVideo.js +27 -27
  26. package/lib/api/videos/details/details.js +14 -14
  27. package/lib/api/videos/details/details.spec.js +49 -49
  28. package/lib/api/videos/details/index.js +1 -1
  29. package/lib/api/videos/details/parseCategory.js +9 -9
  30. package/lib/api/videos/details/parseModels.js +21 -21
  31. package/lib/api/videos/details/parseRelated.js +24 -24
  32. package/lib/api/videos/details/parseResponse.js +43 -43
  33. package/lib/api/videos/details/parseVideo.js +30 -30
  34. package/lib/api/videos/fresh/createHasNextFunction.js +10 -10
  35. package/lib/api/videos/fresh/createHasPreviousFunction.js +10 -10
  36. package/lib/api/videos/fresh/createNextFunction.js +12 -12
  37. package/lib/api/videos/fresh/createPreviousFunction.js +12 -12
  38. package/lib/api/videos/fresh/createRefreshFunction.js +11 -11
  39. package/lib/api/videos/fresh/fresh.js +14 -14
  40. package/lib/api/videos/fresh/fresh.spec.js +138 -138
  41. package/lib/api/videos/fresh/index.js +1 -1
  42. package/lib/api/videos/fresh/parseResponse.js +45 -45
  43. package/lib/api/videos/fresh/parseVideo.js +27 -27
  44. package/lib/api/videos/index.js +9 -9
  45. package/lib/api/videos/newfresh/createHasNextFunction.js +10 -10
  46. package/lib/api/videos/newfresh/createHasPreviousFunction.js +10 -10
  47. package/lib/api/videos/newfresh/createNextFunction.js +12 -12
  48. package/lib/api/videos/newfresh/createPreviousFunction.js +12 -12
  49. package/lib/api/videos/newfresh/createRefreshFunction.js +11 -11
  50. package/lib/api/videos/newfresh/newfresh.js +20 -20
  51. package/lib/api/videos/newfresh/parseResponse.js +47 -47
  52. package/lib/api/videos/newfresh/parseVideo.js +45 -45
  53. package/lib/api/videos/search/createHasNextFunction.js +10 -10
  54. package/lib/api/videos/search/createHasPreviousFunction.js +10 -10
  55. package/lib/api/videos/search/createNextFunction.js +12 -12
  56. package/lib/api/videos/search/createPreviousFunction.js +12 -12
  57. package/lib/api/videos/search/createRefreshFunction.js +11 -11
  58. package/lib/api/videos/search/index.js +1 -1
  59. package/lib/api/videos/search/parseResponse.js +45 -45
  60. package/lib/api/videos/search/parseVideo.js +27 -27
  61. package/lib/api/videos/search/search.js +23 -23
  62. package/lib/api/videos/search/search.spec.js +138 -138
  63. package/lib/api/videos/verified/createHasNextFunction.js +10 -10
  64. package/lib/api/videos/verified/createHasPreviousFunction.js +10 -10
  65. package/lib/api/videos/verified/createNextFunction.js +12 -12
  66. package/lib/api/videos/verified/createPreviousFunction.js +12 -12
  67. package/lib/api/videos/verified/createRefreshFunction.js +11 -11
  68. package/lib/api/videos/verified/index.js +1 -1
  69. package/lib/api/videos/verified/parseResponse.js +45 -45
  70. package/lib/api/videos/verified/parseVideo.js +27 -27
  71. package/lib/api/videos/verified/verified.js +14 -14
  72. package/lib/api/videos/verified/verified.spec.js +138 -138
  73. package/lib/index.js +1 -1
  74. package/lib/xvideos.js +1 -1
  75. package/lib/xvideos.spec.js +19 -19
  76. package/package.json +1 -1
package/AUTHORS CHANGED
@@ -1,2 +1,2 @@
1
- Yeferson Yair Tejada Rivas <yeferok2@gmail.com> (https://github.com/4CROS2)
2
-
1
+ Yeferson Yair Tejada Rivas <yeferok2@gmail.com> (https://github.com/4CROS2)
2
+
package/README.md CHANGED
@@ -54,7 +54,8 @@ console.log(previousPage.pagination.current); // 1
54
54
  console.log(previousPage.hasNext()); // true
55
55
  console.log(previousPage.hasPrevious()); // tfalse
56
56
 
57
- const detail = await xvideos.videos.details(fresh.videos[0]); /**
57
+ const url = '/video.ucadpthfed9/me_folle_a_la_mama_de_mi_novia_-_valentina_bellucci_jason_pierce'
58
+ const detail = await xvideos.videos.details({url}); /**
58
59
  {
59
60
  title,
60
61
  duration,
@@ -211,4 +212,4 @@ const detail = await xvideos.videos.details(fresh.videos[0]); /**
211
212
  ```
212
213
 
213
214
  ### License
214
- [Licence](https://github.com/4CROS2/xvideos/blob/main/LICENSE) © Yeferson Yair Tejada Rivas
215
+ [Licence](https://github.com/4CROS2/xvideos/blob/main/LICENSE) © 4CROS2
package/index.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./lib');
1
+ module.exports = require('./lib');
package/lib/api/base.js CHANGED
@@ -1,14 +1,14 @@
1
- const axios = require('axios');
2
-
3
- const BASE_URL = 'https://www.xvideos3.com';
4
-
5
- const createRequest = (options = {}) => {
6
- return axios.create({ baseURL: BASE_URL, ...options });
7
- };
8
-
9
- const base = {
10
- BASE_URL,
11
- createRequest,
12
- };
13
-
14
- module.exports = base;
1
+ const axios = require('axios');
2
+
3
+ const BASE_URL = 'https://www.xvideos3.com';
4
+
5
+ const createRequest = (options = {}) => {
6
+ return axios.create({ baseURL: BASE_URL, ...options });
7
+ };
8
+
9
+ const base = {
10
+ BASE_URL,
11
+ createRequest,
12
+ };
13
+
14
+ module.exports = base;
package/lib/api/index.js CHANGED
@@ -1,5 +1,5 @@
1
- const api = {
2
- videos: require('./videos'),
3
- };
4
-
5
- module.exports = api;
1
+ const api = {
2
+ videos: require('./videos'),
3
+ };
4
+
5
+ module.exports = api;
@@ -1,19 +1,19 @@
1
- const base = require('../../base');
2
- const parseResponse = require('./parseResponse');
3
-
4
- const PATH = '/best';
5
-
6
- const best = async ({ year, month, page = 1 } = {}) => {
7
- if (!year) year = new Date().getFullYear();
8
- year = String(year);
9
- if (!month) month = new Date().getMonth() + 1; // Date.getMonth is zero based
10
- month = String(month).padStart(2, '0');
11
-
12
- if (page < 1 || page > Number.MAX_SAFE_INTEGER) {
13
- throw new Error(`Invalid page: ${page}`);
14
- }
15
- const request = base.createRequest();
16
- return parseResponse(page, await request.get(`${PATH}/${year}-${month}/${page === 0 ? '' : page}`));
17
- };
18
-
19
- module.exports = best;
1
+ const base = require('../../base');
2
+ const parseResponse = require('./parseResponse');
3
+
4
+ const PATH = '/best';
5
+
6
+ const best = async ({ year, month, page = 1 } = {}) => {
7
+ if (!year) year = new Date().getFullYear();
8
+ year = String(year);
9
+ if (!month) month = new Date().getMonth() + 1; // Date.getMonth is zero based
10
+ month = String(month).padStart(2, '0');
11
+
12
+ if (page < 1 || page > Number.MAX_SAFE_INTEGER) {
13
+ throw new Error(`Invalid page: ${page}`);
14
+ }
15
+ const request = base.createRequest();
16
+ return parseResponse(page, await request.get(`${PATH}/${year}-${month}/${page === 0 ? '' : page}`));
17
+ };
18
+
19
+ module.exports = best;
@@ -1,138 +1,138 @@
1
- /* eslint-disable padded-blocks */
2
-
3
- const chai = require('chai');
4
- const best = require('./best');
5
-
6
- before(() => {
7
- chai.should();
8
- });
9
-
10
- describe('api/videos/best', () => {
11
-
12
- it('should list best video pages', async () => {
13
- const list = await best({ page: 2 });
14
-
15
- list.should.be.an('object');
16
- list.pagination.should.be.an('object');
17
- list.pagination.page.should.be.equals(2);
18
- list.pagination.pages.should.be.an('array');
19
- list.pagination.pages[0].should.be.a('number');
20
- list.hasNext.should.be.a('function');
21
- list.hasNext().should.be.equals(true);
22
- list.hasPrevious.should.be.a('function');
23
- list.hasPrevious().should.be.equals(true);
24
- list.next.should.be.a('function');
25
- list.previous.should.be.a('function');
26
- list.videos.should.be.an('array');
27
- list.videos.forEach((video) => {
28
- video.should.be.an('object');
29
- video.should.have.ownPropertyDescriptor('duration');
30
- video.duration.should.be.a('string');
31
- video.should.have.ownPropertyDescriptor('path');
32
- video.path.should.be.a('string');
33
- video.should.have.ownPropertyDescriptor('profile');
34
- video.profile.should.be.an('object');
35
- video.profile.should.have.ownPropertyDescriptor('name');
36
- video.profile.name.should.be.an('string');
37
- video.profile.should.have.ownPropertyDescriptor('url');
38
- video.profile.url.should.be.an('string');
39
- video.should.have.ownPropertyDescriptor('title');
40
- video.title.should.be.a('string');
41
- video.should.have.ownPropertyDescriptor('url');
42
- video.url.should.be.a('string');
43
- video.should.have.ownPropertyDescriptor('views');
44
- video.views.should.be.a('string');
45
- });
46
-
47
- const previous = await list.previous();
48
- previous.should.be.an('object');
49
- previous.pagination.should.be.an('object');
50
- previous.pagination.page.should.be.equals(1);
51
- previous.pagination.pages.should.be.an('array');
52
- previous.pagination.pages[0].should.be.a('number');
53
- previous.hasNext.should.be.a('function');
54
- previous.hasNext().should.be.equals(true);
55
- previous.hasPrevious.should.be.a('function');
56
- previous.hasPrevious().should.be.equals(false);
57
- previous.next.should.be.a('function');
58
- previous.previous.should.be.a('function');
59
- previous.videos.should.be.an('array');
60
- previous.videos.forEach((video) => {
61
- video.should.be.an('object');
62
- video.should.have.ownPropertyDescriptor('duration');
63
- video.duration.should.be.a('string');
64
- video.should.have.ownPropertyDescriptor('path');
65
- video.path.should.be.a('string');
66
- video.should.have.ownPropertyDescriptor('profile');
67
- video.profile.should.be.an('object');
68
- video.profile.should.have.ownPropertyDescriptor('name');
69
- video.profile.name.should.be.an('string');
70
- video.profile.should.have.ownPropertyDescriptor('url');
71
- video.profile.url.should.be.an('string');
72
- video.should.have.ownPropertyDescriptor('title');
73
- video.title.should.be.a('string');
74
- video.should.have.ownPropertyDescriptor('url');
75
- video.url.should.be.a('string');
76
- video.should.have.ownPropertyDescriptor('views');
77
- video.views.should.be.a('string');
78
- });
79
-
80
- const next = await list.next();
81
- next.should.be.an('object');
82
- next.pagination.should.be.an('object');
83
- next.pagination.page.should.be.equals(3);
84
- next.pagination.pages.should.be.an('array');
85
- next.pagination.pages[0].should.be.a('number');
86
- next.hasNext.should.be.a('function');
87
- next.hasNext().should.be.equals(true);
88
- next.hasPrevious.should.be.a('function');
89
- next.hasPrevious().should.be.equals(true);
90
- next.next.should.be.a('function');
91
- next.previous.should.be.a('function');
92
- next.videos.should.be.an('array');
93
- next.videos.forEach((video) => {
94
- video.should.be.an('object');
95
- video.should.have.ownPropertyDescriptor('duration');
96
- video.duration.should.be.a('string');
97
- video.should.have.ownPropertyDescriptor('path');
98
- video.path.should.be.a('string');
99
- video.should.have.ownPropertyDescriptor('profile');
100
- video.profile.should.be.an('object');
101
- video.profile.should.have.ownPropertyDescriptor('name');
102
- video.profile.name.should.be.an('string');
103
- video.profile.should.have.ownPropertyDescriptor('url');
104
- video.profile.url.should.be.an('string');
105
- video.should.have.ownPropertyDescriptor('title');
106
- video.title.should.be.a('string');
107
- video.should.have.ownPropertyDescriptor('url');
108
- video.url.should.be.a('string');
109
- video.should.have.ownPropertyDescriptor('views');
110
- video.views.should.be.a('string');
111
- });
112
-
113
- await list.refresh();
114
- }).timeout(10000);
115
-
116
- it('should fail when page parameter is beyond limit', async () => {
117
- let err;
118
- try {
119
- await best({ page: Number.MAX_SAFE_INTEGER + 1 });
120
- } catch (error) {
121
- err = error;
122
- } finally {
123
- err.should.be.an('error');
124
- }
125
- }).timeout(10000);
126
-
127
- it('should fail when page parameter is less than 1', async () => {
128
- let err;
129
- try {
130
- await best({ page: 0 });
131
- } catch (error) {
132
- err = error;
133
- } finally {
134
- err.should.be.an('error');
135
- }
136
- }).timeout(10000);
137
-
138
- });
1
+ /* eslint-disable padded-blocks */
2
+
3
+ const chai = require('chai');
4
+ const best = require('./best');
5
+
6
+ before(() => {
7
+ chai.should();
8
+ });
9
+
10
+ describe('api/videos/best', () => {
11
+
12
+ it('should list best video pages', async () => {
13
+ const list = await best({ page: 2 });
14
+
15
+ list.should.be.an('object');
16
+ list.pagination.should.be.an('object');
17
+ list.pagination.page.should.be.equals(2);
18
+ list.pagination.pages.should.be.an('array');
19
+ list.pagination.pages[0].should.be.a('number');
20
+ list.hasNext.should.be.a('function');
21
+ list.hasNext().should.be.equals(true);
22
+ list.hasPrevious.should.be.a('function');
23
+ list.hasPrevious().should.be.equals(true);
24
+ list.next.should.be.a('function');
25
+ list.previous.should.be.a('function');
26
+ list.videos.should.be.an('array');
27
+ list.videos.forEach((video) => {
28
+ video.should.be.an('object');
29
+ video.should.have.ownPropertyDescriptor('duration');
30
+ video.duration.should.be.a('string');
31
+ video.should.have.ownPropertyDescriptor('path');
32
+ video.path.should.be.a('string');
33
+ video.should.have.ownPropertyDescriptor('profile');
34
+ video.profile.should.be.an('object');
35
+ video.profile.should.have.ownPropertyDescriptor('name');
36
+ video.profile.name.should.be.an('string');
37
+ video.profile.should.have.ownPropertyDescriptor('url');
38
+ video.profile.url.should.be.an('string');
39
+ video.should.have.ownPropertyDescriptor('title');
40
+ video.title.should.be.a('string');
41
+ video.should.have.ownPropertyDescriptor('url');
42
+ video.url.should.be.a('string');
43
+ video.should.have.ownPropertyDescriptor('views');
44
+ video.views.should.be.a('string');
45
+ });
46
+
47
+ const previous = await list.previous();
48
+ previous.should.be.an('object');
49
+ previous.pagination.should.be.an('object');
50
+ previous.pagination.page.should.be.equals(1);
51
+ previous.pagination.pages.should.be.an('array');
52
+ previous.pagination.pages[0].should.be.a('number');
53
+ previous.hasNext.should.be.a('function');
54
+ previous.hasNext().should.be.equals(true);
55
+ previous.hasPrevious.should.be.a('function');
56
+ previous.hasPrevious().should.be.equals(false);
57
+ previous.next.should.be.a('function');
58
+ previous.previous.should.be.a('function');
59
+ previous.videos.should.be.an('array');
60
+ previous.videos.forEach((video) => {
61
+ video.should.be.an('object');
62
+ video.should.have.ownPropertyDescriptor('duration');
63
+ video.duration.should.be.a('string');
64
+ video.should.have.ownPropertyDescriptor('path');
65
+ video.path.should.be.a('string');
66
+ video.should.have.ownPropertyDescriptor('profile');
67
+ video.profile.should.be.an('object');
68
+ video.profile.should.have.ownPropertyDescriptor('name');
69
+ video.profile.name.should.be.an('string');
70
+ video.profile.should.have.ownPropertyDescriptor('url');
71
+ video.profile.url.should.be.an('string');
72
+ video.should.have.ownPropertyDescriptor('title');
73
+ video.title.should.be.a('string');
74
+ video.should.have.ownPropertyDescriptor('url');
75
+ video.url.should.be.a('string');
76
+ video.should.have.ownPropertyDescriptor('views');
77
+ video.views.should.be.a('string');
78
+ });
79
+
80
+ const next = await list.next();
81
+ next.should.be.an('object');
82
+ next.pagination.should.be.an('object');
83
+ next.pagination.page.should.be.equals(3);
84
+ next.pagination.pages.should.be.an('array');
85
+ next.pagination.pages[0].should.be.a('number');
86
+ next.hasNext.should.be.a('function');
87
+ next.hasNext().should.be.equals(true);
88
+ next.hasPrevious.should.be.a('function');
89
+ next.hasPrevious().should.be.equals(true);
90
+ next.next.should.be.a('function');
91
+ next.previous.should.be.a('function');
92
+ next.videos.should.be.an('array');
93
+ next.videos.forEach((video) => {
94
+ video.should.be.an('object');
95
+ video.should.have.ownPropertyDescriptor('duration');
96
+ video.duration.should.be.a('string');
97
+ video.should.have.ownPropertyDescriptor('path');
98
+ video.path.should.be.a('string');
99
+ video.should.have.ownPropertyDescriptor('profile');
100
+ video.profile.should.be.an('object');
101
+ video.profile.should.have.ownPropertyDescriptor('name');
102
+ video.profile.name.should.be.an('string');
103
+ video.profile.should.have.ownPropertyDescriptor('url');
104
+ video.profile.url.should.be.an('string');
105
+ video.should.have.ownPropertyDescriptor('title');
106
+ video.title.should.be.a('string');
107
+ video.should.have.ownPropertyDescriptor('url');
108
+ video.url.should.be.a('string');
109
+ video.should.have.ownPropertyDescriptor('views');
110
+ video.views.should.be.a('string');
111
+ });
112
+
113
+ await list.refresh();
114
+ }).timeout(10000);
115
+
116
+ it('should fail when page parameter is beyond limit', async () => {
117
+ let err;
118
+ try {
119
+ await best({ page: Number.MAX_SAFE_INTEGER + 1 });
120
+ } catch (error) {
121
+ err = error;
122
+ } finally {
123
+ err.should.be.an('error');
124
+ }
125
+ }).timeout(10000);
126
+
127
+ it('should fail when page parameter is less than 1', async () => {
128
+ let err;
129
+ try {
130
+ await best({ page: 0 });
131
+ } catch (error) {
132
+ err = error;
133
+ } finally {
134
+ err.should.be.an('error');
135
+ }
136
+ }).timeout(10000);
137
+
138
+ });
@@ -1,10 +1,10 @@
1
- const hasNextFunction = (currentPage, pages) => () => {
2
- return currentPage < Math.max(...pages);
3
- };
4
-
5
- const createHasNextFunction = (pagination) => {
6
- const { page, pages } = pagination;
7
- return hasNextFunction(page, pages);
8
- };
9
-
10
- module.exports = createHasNextFunction;
1
+ const hasNextFunction = (currentPage, pages) => () => {
2
+ return currentPage < Math.max(...pages);
3
+ };
4
+
5
+ const createHasNextFunction = (pagination) => {
6
+ const { page, pages } = pagination;
7
+ return hasNextFunction(page, pages);
8
+ };
9
+
10
+ module.exports = createHasNextFunction;
@@ -1,10 +1,10 @@
1
- const hasPreviousFunction = (currentPage, pages) => () => {
2
- return currentPage > Math.min(...pages);
3
- };
4
-
5
- const createHasPreviousFunction = (pagination) => {
6
- const { page, pages } = pagination;
7
- return hasPreviousFunction(page, pages);
8
- };
9
-
10
- module.exports = createHasPreviousFunction;
1
+ const hasPreviousFunction = (currentPage, pages) => () => {
2
+ return currentPage > Math.min(...pages);
3
+ };
4
+
5
+ const createHasPreviousFunction = (pagination) => {
6
+ const { page, pages } = pagination;
7
+ return hasPreviousFunction(page, pages);
8
+ };
9
+
10
+ module.exports = createHasPreviousFunction;
@@ -1,12 +1,12 @@
1
- const nextFunction = (currentPage) => () => {
2
- const best = require('./best');
3
- const next = currentPage + 1;
4
- return best({ page: next });
5
- };
6
-
7
- const createNextFunction = (pagination) => {
8
- const { page } = pagination;
9
- return nextFunction(page);
10
- };
11
-
12
- module.exports = createNextFunction;
1
+ const nextFunction = (currentPage) => () => {
2
+ const best = require('./best');
3
+ const next = currentPage + 1;
4
+ return best({ page: next });
5
+ };
6
+
7
+ const createNextFunction = (pagination) => {
8
+ const { page } = pagination;
9
+ return nextFunction(page);
10
+ };
11
+
12
+ module.exports = createNextFunction;
@@ -1,12 +1,12 @@
1
- const previousFunction = (currentPage) => () => {
2
- const best = require('./best');
3
- const previous = currentPage - 1;
4
- return best({ page: previous });
5
- };
6
-
7
- const createPreviousFunction = (pagination) => {
8
- const { page } = pagination;
9
- return previousFunction(page);
10
- };
11
-
12
- module.exports = createPreviousFunction;
1
+ const previousFunction = (currentPage) => () => {
2
+ const best = require('./best');
3
+ const previous = currentPage - 1;
4
+ return best({ page: previous });
5
+ };
6
+
7
+ const createPreviousFunction = (pagination) => {
8
+ const { page } = pagination;
9
+ return previousFunction(page);
10
+ };
11
+
12
+ module.exports = createPreviousFunction;
@@ -1,11 +1,11 @@
1
- const refreshFunction = (currentPage) => () => {
2
- const best = require('./best');
3
- return best(currentPage);
4
- };
5
-
6
- const createRefreshFunction = (pagination) => {
7
- const { page } = pagination;
8
- return refreshFunction(page);
9
- };
10
-
11
- module.exports = createRefreshFunction;
1
+ const refreshFunction = (currentPage) => () => {
2
+ const best = require('./best');
3
+ return best(currentPage);
4
+ };
5
+
6
+ const createRefreshFunction = (pagination) => {
7
+ const { page } = pagination;
8
+ return refreshFunction(page);
9
+ };
10
+
11
+ module.exports = createRefreshFunction;
@@ -1 +1 @@
1
- module.exports = require('./best');
1
+ module.exports = require('./best');
@@ -1,45 +1,45 @@
1
- const cheerio = require('cheerio');
2
- const parseVideo = require('./parseVideo');
3
- const createRefreshFunction = require('./createRefreshFunction');
4
- const createHasNextFunction = require('./createHasNextFunction');
5
- const createNextFunction = require('./createNextFunction');
6
- const createHasPreviousFunction = require('./createHasPreviousFunction');
7
- const createPreviousFunction = require('./createPreviousFunction');
8
-
9
- const getVideos = ($) => {
10
- return $('#content > .mozaique > .thumb-block')
11
- .map((i, video) => parseVideo($, video))
12
- .get();
13
- };
14
-
15
- const getPages = ($) => {
16
- return $('.pagination > ul > li > a')
17
- .map((i, page) => $(page)
18
- .text())
19
- .filter((i, page) => !isNaN(page))
20
- .map((i, page) => Number(page))
21
- .get();
22
- };
23
-
24
- const parseResponse = (page, { data }) => {
25
- const $ = cheerio.load(data);
26
-
27
- const videos = getVideos($);
28
-
29
- const pagination = {
30
- page,
31
- pages: getPages($),
32
- };
33
-
34
- return {
35
- videos,
36
- pagination,
37
- refresh: createRefreshFunction(pagination),
38
- hasNext: createHasNextFunction(pagination),
39
- next: createNextFunction(pagination),
40
- hasPrevious: createHasPreviousFunction(pagination),
41
- previous: createPreviousFunction(pagination),
42
- };
43
- };
44
-
45
- module.exports = parseResponse;
1
+ const cheerio = require('cheerio');
2
+ const parseVideo = require('./parseVideo');
3
+ const createRefreshFunction = require('./createRefreshFunction');
4
+ const createHasNextFunction = require('./createHasNextFunction');
5
+ const createNextFunction = require('./createNextFunction');
6
+ const createHasPreviousFunction = require('./createHasPreviousFunction');
7
+ const createPreviousFunction = require('./createPreviousFunction');
8
+
9
+ const getVideos = ($) => {
10
+ return $('#content > .mozaique > .thumb-block')
11
+ .map((i, video) => parseVideo($, video))
12
+ .get();
13
+ };
14
+
15
+ const getPages = ($) => {
16
+ return $('.pagination > ul > li > a')
17
+ .map((i, page) => $(page)
18
+ .text())
19
+ .filter((i, page) => !isNaN(page))
20
+ .map((i, page) => Number(page))
21
+ .get();
22
+ };
23
+
24
+ const parseResponse = (page, { data }) => {
25
+ const $ = cheerio.load(data);
26
+
27
+ const videos = getVideos($);
28
+
29
+ const pagination = {
30
+ page,
31
+ pages: getPages($),
32
+ };
33
+
34
+ return {
35
+ videos,
36
+ pagination,
37
+ refresh: createRefreshFunction(pagination),
38
+ hasNext: createHasNextFunction(pagination),
39
+ next: createNextFunction(pagination),
40
+ hasPrevious: createHasPreviousFunction(pagination),
41
+ previous: createPreviousFunction(pagination),
42
+ };
43
+ };
44
+
45
+ module.exports = parseResponse;
@@ -1,27 +1,27 @@
1
- const base = require('../../base');
2
-
3
- const parseVideo = ($, video) => {
4
- const $video = $(video);
5
-
6
- const title = $video.find('p:not(.metadata) a').attr('title');
7
- const path = $video.find('.thumb > a').attr('href');
8
- const url = `${base.BASE_URL}${path}`;
9
- const views = $video.find('p.metadata > span > span:not(.duration)').text();
10
- const duration = $video.find('p.metadata > span.bg > span.duration').text();
11
- const profileElement = $video.find('p.metadata > span > a');
12
- const profile = {
13
- name: profileElement.text(),
14
- url: `${base.BASE_URL}${profileElement.attr('href')}`,
15
- };
16
-
17
- return {
18
- url,
19
- path,
20
- title,
21
- duration,
22
- profile,
23
- views,
24
- };
25
- };
26
-
27
- module.exports = parseVideo;
1
+ const base = require('../../base');
2
+
3
+ const parseVideo = ($, video) => {
4
+ const $video = $(video);
5
+
6
+ const title = $video.find('p:not(.metadata) a').attr('title');
7
+ const path = $video.find('.thumb > a').attr('href');
8
+ const url = `${base.BASE_URL}${path}`;
9
+ const views = $video.find('p.metadata > span > span:not(.duration)').text();
10
+ const duration = $video.find('p.metadata > span.bg > span.duration').text();
11
+ const profileElement = $video.find('p.metadata > span > a');
12
+ const profile = {
13
+ name: profileElement.text(),
14
+ url: `${base.BASE_URL}${profileElement.attr('href')}`,
15
+ };
16
+
17
+ return {
18
+ url,
19
+ path,
20
+ title,
21
+ duration,
22
+ profile,
23
+ views,
24
+ };
25
+ };
26
+
27
+ module.exports = parseVideo;