pervert-monkey 1.0.19 → 1.0.21

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 (50) hide show
  1. package/README.md +4 -4
  2. package/dist/core/pervertmonkey.core.es.d.ts +6 -4
  3. package/dist/core/pervertmonkey.core.es.js +20 -14
  4. package/dist/core/pervertmonkey.core.es.js.map +1 -1
  5. package/dist/core/pervertmonkey.core.umd.js +20 -14
  6. package/dist/core/pervertmonkey.core.umd.js.map +1 -1
  7. package/dist/userscripts/3hentai.user.js +2 -2
  8. package/dist/userscripts/camgirlfinder.user.js +2 -2
  9. package/dist/userscripts/camwhores.user.js +2 -2
  10. package/dist/userscripts/e-hentai.user.js +2 -2
  11. package/dist/userscripts/ebalka.user.js +2 -2
  12. package/dist/userscripts/eporner.user.js +2 -2
  13. package/dist/userscripts/erome.user.js +4 -6
  14. package/dist/userscripts/eroprofile.user.js +2 -2
  15. package/dist/userscripts/javhdporn.user.js +2 -2
  16. package/dist/userscripts/missav.user.js +2 -2
  17. package/dist/userscripts/motherless.user.js +2 -2
  18. package/dist/userscripts/namethatporn.user.js +2 -2
  19. package/dist/userscripts/nhentai.user.js +2 -2
  20. package/dist/userscripts/obmenvsem.user.js +2 -2
  21. package/dist/userscripts/pornhub.user.js +3 -3
  22. package/dist/userscripts/spankbang.user.js +2 -2
  23. package/dist/userscripts/thisvid.user.js +2 -2
  24. package/dist/userscripts/xhamster.user.js +2 -2
  25. package/dist/userscripts/xvideos.user.js +2 -2
  26. package/package.json +1 -1
  27. package/src/core/data-handler/data-manager.ts +16 -8
  28. package/src/core/parsers/thumb-data-parser.ts +1 -1
  29. package/src/core/rules/index.ts +6 -4
  30. package/src/userscripts/index.ts +1 -1
  31. package/src/userscripts/scripts/3hentai.ts +1 -1
  32. package/src/userscripts/scripts/camgirlfinder.ts +1 -1
  33. package/src/userscripts/scripts/camwhores.ts +1 -1
  34. package/src/userscripts/scripts/e-hentai.ts +1 -1
  35. package/src/userscripts/scripts/ebalka.ts +1 -1
  36. package/src/userscripts/scripts/eporner.ts +1 -1
  37. package/src/userscripts/scripts/erome.ts +2 -6
  38. package/src/userscripts/scripts/eroprofile.ts +1 -1
  39. package/src/userscripts/scripts/javhdporn.ts +1 -1
  40. package/src/userscripts/scripts/missav.ts +1 -1
  41. package/src/userscripts/scripts/motherless.ts +1 -1
  42. package/src/userscripts/scripts/namethatporn.ts +1 -1
  43. package/src/userscripts/scripts/nhentai.ts +1 -1
  44. package/src/userscripts/scripts/obmenvsem.ts +1 -1
  45. package/src/userscripts/scripts/pornhub.ts +3 -3
  46. package/src/userscripts/scripts/spankbang.ts +1 -1
  47. package/src/userscripts/scripts/thisvid.ts +1 -1
  48. package/src/userscripts/scripts/xhamster.ts +1 -1
  49. package/src/userscripts/scripts/xvideos.ts +1 -1
  50. package/src/utils/dom/index.ts +3 -5
@@ -5,7 +5,7 @@ import { fetchWith, OnHover, replaceElementTag, Tick } from '../../utils';
5
5
 
6
6
  export const meta: MonkeyUserScript = {
7
7
  name: 'Motherless PervertMonkey',
8
- version: '5.0.13',
8
+ version: '5.0.15',
9
9
  description:
10
10
  'Infinite scroll [optional], Filter by Title, Uploader and Duration, Sort by Duration and Views',
11
11
  match: ['https://motherless.com/*'],
@@ -4,7 +4,7 @@ import { Rules } from '../../core';
4
4
 
5
5
  export const meta: MonkeyUserScript = {
6
6
  name: 'NameThatPorn PervertMonkey',
7
- version: '3.0.12',
7
+ version: '3.0.14',
8
8
  description: 'Infinite scroll [optional], Filter by Title, Uploader and Solved/Unsolved',
9
9
  match: ['https://namethatporn.com/*'],
10
10
  };
@@ -4,7 +4,7 @@ import { parseHtml } from '../../utils';
4
4
 
5
5
  export const meta: MonkeyUserScript = {
6
6
  name: 'NHentai PervertMonkey',
7
- version: '4.0.12',
7
+ version: '4.0.14',
8
8
  description: 'Infinite scroll [optional], Filter by Title',
9
9
  match: ['https://*.nhentai.net/*', 'https://*.nhentai.*/*'],
10
10
  };
@@ -5,7 +5,7 @@ import { fetchHtml, parseUrl } from '../../utils';
5
5
 
6
6
  export const meta: MonkeyUserScript = {
7
7
  name: 'Obmenvsem PervertMonkey',
8
- version: '1.0.14',
8
+ version: '1.0.16',
9
9
  description: 'Infinite scroll [optional], Filter by Title and Duration, Sort by Duration',
10
10
  match: [
11
11
  'https://*.obmenvsem.com/*',
@@ -3,7 +3,7 @@ import { Rules } from '../../core';
3
3
 
4
4
  export const meta: MonkeyUserScript = {
5
5
  name: 'PornHub PervertMonkey',
6
- version: '4.0.12',
6
+ version: '4.0.14',
7
7
  description:
8
8
  'Infinite scroll [optional]. Filter by Title, Uploader and Duration. Sort by Duration and Views',
9
9
  match: ['https://*.pornhub.com/*'],
@@ -16,9 +16,9 @@ const rules = new Rules({
16
16
  overwritePaginationLast: (n: number) => (n === 9 ? 9999 : n),
17
17
  },
18
18
  containerSelector: () =>
19
- [...document.querySelectorAll<HTMLElement>('ul:has(> li[data-video-vkey])')]
19
+ [...document.querySelectorAll('ul:has(> li[data-video-vkey])')]
20
20
  .filter((e) => e.children.length > 0 && e.checkVisibility())
21
- .pop() as HTMLElement,
21
+ .sort((a, b) => b.children.length - a.children.length)?.[0] as HTMLElement,
22
22
 
23
23
  containerHomogenity: { id: true, className: true },
24
24
  thumbs: { selector: 'li[data-video-vkey]' },
@@ -3,7 +3,7 @@ import { Rules } from '../../core';
3
3
 
4
4
  export const meta: MonkeyUserScript = {
5
5
  name: 'SpankBang.com PervertMonkey',
6
- version: '4.0.12',
6
+ version: '4.0.14',
7
7
  description:
8
8
  'Infinite scroll [optional]. Filter by Title and Duration. Sort by Duration and Views',
9
9
  match: ['https://*.spankbang.com/*', 'https://*.spankbang.*/*'],
@@ -21,7 +21,7 @@ import {
21
21
 
22
22
  export const meta: MonkeyUserScript = {
23
23
  name: 'ThisVid.com PervertMonkey',
24
- version: '8.0.13',
24
+ version: '8.0.15',
25
25
  description:
26
26
  'Infinite scroll [optional]. Preview for private videos. Filter by Title, Duration, Quality and Public/Private. Sort by Duration and Views. Private/Public feed of friends uploads. Check access to private vids. Mass friend request button. Sorts messages. Download button 📼',
27
27
  match: ['https://*.thisvid.com/*'],
@@ -14,7 +14,7 @@ import {
14
14
 
15
15
  export const meta: MonkeyUserScript = {
16
16
  name: 'Xhamster PervertMonkey',
17
- version: '5.0.14',
17
+ version: '5.0.16',
18
18
  description:
19
19
  'Infinite scroll [optional], Filter by Title, Duration and Watched/Unwatched. Sort by Duration and Views',
20
20
  match: ['https://*.xhamster.com/*', 'https://*.xhamster.*/*'],
@@ -5,7 +5,7 @@ import { exterminateVideo, OnHover, parseHtml } from '../../utils';
5
5
 
6
6
  export const meta: MonkeyUserScript = {
7
7
  name: 'XVideos PervertMonkey',
8
- version: '4.0.14',
8
+ version: '4.0.16',
9
9
  description:
10
10
  'Infinite scroll [optional], Filter by Title, Uploader and Duration. Sort by Duration and Views.',
11
11
  match: 'https://*.xvideos.com/*',
@@ -96,16 +96,14 @@ export function findNextSibling<T extends Element = HTMLElement>(e: T) {
96
96
  return null;
97
97
  }
98
98
 
99
- export function checkHomogenity<T extends HTMLElement>(
99
+ export function areElementsAlike<T extends HTMLElement>(
100
100
  a: T,
101
101
  b: T,
102
102
  options: { id?: boolean; className?: boolean },
103
103
  ) {
104
104
  if (!a || !b) return false;
105
105
 
106
- if (options.id) {
107
- if (a.id !== b.id) return false;
108
- }
106
+ if (options.id && a.id !== b.id) return false;
109
107
 
110
108
  if (options.className) {
111
109
  const ca = a.className;
@@ -114,7 +112,7 @@ export function checkHomogenity<T extends HTMLElement>(
114
112
  return false;
115
113
  }
116
114
  }
117
-
115
+
118
116
  return true;
119
117
  }
120
118