pervert-monkey 1.0.0 → 1.0.1

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 (46) hide show
  1. package/README.md +0 -3
  2. package/dist/core/pervertmonkey.core.es.d.ts +4 -4
  3. package/dist/core/pervertmonkey.core.es.js +24 -1
  4. package/dist/core/pervertmonkey.core.es.js.map +1 -1
  5. package/dist/core/pervertmonkey.core.umd.js +24 -1
  6. package/dist/core/pervertmonkey.core.umd.js.map +1 -1
  7. package/dist/userscripts/3hentai.user.js +1045 -1049
  8. package/dist/userscripts/camgirlfinder.user.js +38 -42
  9. package/dist/userscripts/camwhores.user.js +1429 -1433
  10. package/dist/userscripts/e-hentai.user.js +1077 -1081
  11. package/dist/userscripts/ebalka.user.js +1092 -1096
  12. package/dist/userscripts/eporner.user.js +1129 -1133
  13. package/dist/userscripts/erome.user.js +1109 -1113
  14. package/dist/userscripts/eroprofile.user.js +1062 -1066
  15. package/dist/userscripts/javhdporn.user.js +1046 -1050
  16. package/dist/userscripts/missav.user.js +1047 -1051
  17. package/dist/userscripts/motherless.user.js +1223 -1227
  18. package/dist/userscripts/namethatporn.user.js +1083 -1087
  19. package/dist/userscripts/nhentai.user.js +1123 -1127
  20. package/dist/userscripts/pornhub.user.js +1065 -1069
  21. package/dist/userscripts/spankbang.user.js +1097 -1101
  22. package/dist/userscripts/thisvid.user.js +2660 -0
  23. package/dist/userscripts/xhamster.user.js +1224 -1228
  24. package/dist/userscripts/xvideos.user.js +1116 -1120
  25. package/package.json +9 -9
  26. package/src/core/index.ts +4 -0
  27. package/src/index.ts +2 -42
  28. package/src/userscripts/scripts/3hentai.ts +1 -1
  29. package/src/userscripts/scripts/camwhores.ts +8 -9
  30. package/src/userscripts/scripts/e-hentai.ts +2 -2
  31. package/src/userscripts/scripts/ebalka.ts +2 -3
  32. package/src/userscripts/scripts/eporner.ts +2 -2
  33. package/src/userscripts/scripts/erome.ts +1 -1
  34. package/src/userscripts/scripts/eroprofile.ts +1 -1
  35. package/src/userscripts/scripts/javhdporn.ts +1 -1
  36. package/src/userscripts/scripts/missav.ts +1 -1
  37. package/src/userscripts/scripts/motherless.ts +2 -4
  38. package/src/userscripts/scripts/namethatporn.ts +1 -1
  39. package/src/userscripts/scripts/nhentai.ts +2 -2
  40. package/src/userscripts/scripts/pornhub.ts +1 -1
  41. package/src/userscripts/scripts/spankbang.ts +4 -5
  42. package/src/userscripts/scripts/xhamster.ts +5 -5
  43. package/src/userscripts/scripts/xvideos.ts +2 -3
  44. package/src/utils/index.ts +39 -0
  45. package/src/vite-env.d.ts +1 -1
  46. package/src/userscripts/scripts/thisvid.ts +0 -716
package/README.md CHANGED
@@ -15,9 +15,6 @@ const rules = new RulesGlobal({
15
15
  thumbsSelector: 'article.thumb-block',
16
16
  titleSelector: 'header.entry-header',
17
17
  durationSelector: '.duration',
18
- paginationStrategyOptions: {
19
- pathnameSelector: /\/page\/(\d+)\/?$/,
20
- },
21
18
  schemeOptions: ['Text Filter', 'Badge', 'Duration Filter', 'Advanced'],
22
19
  });
23
20
  ```
@@ -208,6 +208,8 @@ export declare class InfiniteScroller {
208
208
 
209
209
  declare type InfiniteScrollerOptions = Pick<InfiniteScroller, 'rules'> & Partial<InfiniteScroller>;
210
210
 
211
+ export declare function instantiateTemplate(sourceSelector: string, attributeUpdates: Record<string, string>, contentUpdates: Record<string, string>): string;
212
+
211
213
  export declare class LazyImgLoader {
212
214
  lazyImgObserver: Observer;
213
215
  private attributeName;
@@ -223,10 +225,6 @@ declare interface MemoizedFunction<T extends AnyFunction> extends CallableFuncti
223
225
  clear: () => void;
224
226
  }
225
227
 
226
- export declare const MOBILE_UA: {
227
- readonly 'User-Agent': string;
228
- };
229
-
230
228
  export declare function objectToFormData<T extends {}>(obj: T): FormData;
231
229
 
232
230
  export declare class Observer {
@@ -276,6 +274,8 @@ export declare function parseIntegerOr(n: string | number, or: number): number;
276
274
 
277
275
  export declare function querySelectorLast<T extends Element = HTMLElement>(root: ParentNode | undefined, selector: string): T | undefined;
278
276
 
277
+ export declare function querySelectorLastNumber(selector: string, e?: ParentNode): number;
278
+
279
279
  export declare function querySelectorText(e: ParentNode, selector?: string): string;
280
280
 
281
281
  export declare function range(size: number, start?: number, step?: number): number[];
@@ -224,6 +224,11 @@ function querySelectorLast(root = document, selector) {
224
224
  const nodes = root.querySelectorAll(selector);
225
225
  return nodes.length > 0 ? nodes[nodes.length - 1] : void 0;
226
226
  }
227
+ function querySelectorLastNumber(selector, e = document) {
228
+ var _a3;
229
+ const text = querySelectorText(e, selector);
230
+ return Number(((_a3 = text.match(/\d+/g)) == null ? void 0 : _a3.pop()) || 0);
231
+ }
227
232
  function querySelectorText(e, selector) {
228
233
  var _a3;
229
234
  if (typeof selector !== "string") return "";
@@ -285,6 +290,23 @@ function checkHomogenity(a2, b2, options) {
285
290
  }
286
291
  return true;
287
292
  }
293
+ function instantiateTemplate(sourceSelector, attributeUpdates, contentUpdates) {
294
+ const source = document.querySelector(sourceSelector);
295
+ const wrapper = document.createElement("div");
296
+ const clone = source.cloneNode(true);
297
+ wrapper.append(clone);
298
+ Object.entries(attributeUpdates).forEach(([attrName, attrValue]) => {
299
+ wrapper.querySelectorAll(`[${attrName}]`).forEach((element) => {
300
+ element.setAttribute(attrName, attrValue);
301
+ });
302
+ });
303
+ Object.entries(contentUpdates).forEach(([childSelector, textValue]) => {
304
+ wrapper.querySelectorAll(childSelector).forEach((element) => {
305
+ element.innerText = textValue;
306
+ });
307
+ });
308
+ return wrapper.innerHTML;
309
+ }
288
310
  function exterminateVideo(video) {
289
311
  video.removeAttribute("src");
290
312
  video.load();
@@ -8455,7 +8477,6 @@ export {
8455
8477
  DataManager,
8456
8478
  InfiniteScroller,
8457
8479
  LazyImgLoader,
8458
- MOBILE_UA,
8459
8480
  Observer,
8460
8481
  RegexFilter,
8461
8482
  RulesGlobal,
@@ -8473,6 +8494,7 @@ export {
8473
8494
  findNextSibling,
8474
8495
  getCommonParents,
8475
8496
  getPaginationStrategy,
8497
+ instantiateTemplate,
8476
8498
  memoize,
8477
8499
  objectToFormData,
8478
8500
  onPointerOverAndLeave,
@@ -8481,6 +8503,7 @@ export {
8481
8503
  parseHtml,
8482
8504
  parseIntegerOr,
8483
8505
  querySelectorLast,
8506
+ querySelectorLastNumber,
8484
8507
  querySelectorText,
8485
8508
  range,
8486
8509
  removeClassesAndDataAttributes,