pervert-monkey 1.0.26 → 1.0.27

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 (37) hide show
  1. package/dist/core/pervertmonkey.core.es.js +12 -8
  2. package/dist/core/pervertmonkey.core.es.js.map +1 -1
  3. package/dist/core/pervertmonkey.core.umd.js +12 -8
  4. package/dist/core/pervertmonkey.core.umd.js.map +1 -1
  5. package/dist/userscripts/3hentai.user.js +1 -1
  6. package/dist/userscripts/camgirlfinder.user.js +1 -1
  7. package/dist/userscripts/camwhores.user.js +1 -1
  8. package/dist/userscripts/e-hentai.user.js +1 -1
  9. package/dist/userscripts/ebalka.user.js +2 -2
  10. package/dist/userscripts/eporner.user.js +4 -4
  11. package/dist/userscripts/erome.user.js +1 -1
  12. package/dist/userscripts/eroprofile.user.js +1 -1
  13. package/dist/userscripts/javhdporn.user.js +1 -1
  14. package/dist/userscripts/missav.user.js +1 -1
  15. package/dist/userscripts/motherless.user.js +1 -1
  16. package/dist/userscripts/namethatporn.user.js +1 -1
  17. package/dist/userscripts/nhentai.user.js +1 -1
  18. package/dist/userscripts/obmenvsem.user.js +1 -1
  19. package/dist/userscripts/pornhub.user.js +3 -3
  20. package/dist/userscripts/simpcity.user.js +59 -4
  21. package/dist/userscripts/socialmediagirls.user.js +1 -1
  22. package/dist/userscripts/spankbang.user.js +1 -1
  23. package/dist/userscripts/thisvid.user.js +1 -1
  24. package/dist/userscripts/xhamster.user.js +1 -1
  25. package/dist/userscripts/xmegadrive.user.js +82 -0
  26. package/dist/userscripts/xvideos.user.js +1 -1
  27. package/package.json +1 -1
  28. package/src/core/data-handler/data-filter.ts +1 -2
  29. package/src/core/data-handler/data-manager.ts +11 -3
  30. package/src/core/rules/index.ts +3 -3
  31. package/src/userscripts/index.ts +1 -1
  32. package/src/userscripts/scripts/ebalka.ts +1 -1
  33. package/src/userscripts/scripts/eporner.ts +3 -3
  34. package/src/userscripts/scripts/pornhub.ts +3 -1
  35. package/src/userscripts/scripts/simpcity.ts +72 -5
  36. package/src/userscripts/scripts/xhamster.ts +1 -1
  37. package/src/userscripts/scripts/xmegadrive.ts +78 -0
@@ -564,8 +564,7 @@
564
564
  }
565
565
  createCssFilters() {
566
566
  this.filters.forEach((_, name) => {
567
- (0, vite_plugin_monkey_dist_client.GM_addStyle)(`@layer userscriptOverride {
568
- .${DataFilterFn.setPrefix(name)} { display: none !important; } }`);
567
+ (0, vite_plugin_monkey_dist_client.GM_addStyle)(`@layer userscriptOverride { .${DataFilterFn.setPrefix(name)} { display: none !important; } }`);
569
568
  });
570
569
  }
571
570
  customDataFilterFns = {};
@@ -591,14 +590,19 @@
591
590
  };
592
591
  //#endregion
593
592
  //#region src/core/data-handler/data-manager.ts
594
- var DataManager = class {
593
+ var DataManager = class DataManager {
595
594
  rules;
595
+ removeDuplicates;
596
596
  containerHomogenity;
597
597
  data = /* @__PURE__ */ new Map();
598
598
  lazyImgLoader = new LazyImgLoader((target) => !DataFilter.isFiltered(target));
599
599
  dataFilter;
600
- constructor(rules, containerHomogenity) {
600
+ static create(rules, o = {}) {
601
+ return new DataManager(rules, o.removeDuplicates, o.containerHomogenity);
602
+ }
603
+ constructor(rules, removeDuplicates = false, containerHomogenity) {
601
604
  this.rules = rules;
605
+ this.removeDuplicates = removeDuplicates;
602
606
  this.containerHomogenity = containerHomogenity;
603
607
  this.dataFilter = new DataFilter(this.rules);
604
608
  }
@@ -632,7 +636,7 @@
632
636
  const filters = Object.fromEntries(keys.map((k) => [k, this.rules.store.state[k]]));
633
637
  await this.applyFilters(filters, offset);
634
638
  }
635
- async parseData(html, container, removeDuplicates = false, shouldLazify = true) {
639
+ async parseData(html, container, removeDuplicates = this.removeDuplicates, shouldLazify = true) {
636
640
  const thumbs = this.rules.thumbsParser.getThumbs(html);
637
641
  const dataOffset = this.data.size;
638
642
  const fragment = document.createDocumentFragment();
@@ -8684,7 +8688,7 @@ Expected function or array of functions, received type ${typeof t}.`), ot);
8684
8688
  paginationStrategyOptions = {};
8685
8689
  paginationStrategy;
8686
8690
  dataManager;
8687
- containerHomogenity;
8691
+ dataManagerOptions = {};
8688
8692
  customDataFilterFns = [];
8689
8693
  hookDataFilterFns() {
8690
8694
  const defaultFilterFns = getSelectorFnsFromScheme(this.schemeOptions.filter((s) => typeof s === "string"));
@@ -8749,7 +8753,7 @@ Expected function or array of functions, received type ${typeof t}.`), ot);
8749
8753
  });
8750
8754
  this.mutationObservers = [];
8751
8755
  this.paginationStrategy = getPaginationStrategy(this.paginationStrategyOptions);
8752
- this.dataManager = new DataManager(this, this.containerHomogenity);
8756
+ this.dataManager = DataManager.create(this, this.dataManagerOptions);
8753
8757
  this.inputController.dispose();
8754
8758
  this.inputController = new JabronioGuiController(this.store, this.dataManager);
8755
8759
  this.resetInfiniteScroller();
@@ -8768,7 +8772,7 @@ Expected function or array of functions, received type ${typeof t}.`), ot);
8768
8772
  this.store = this.createStore();
8769
8773
  this.gui = this.createGui();
8770
8774
  this.hookDataFilterFns();
8771
- this.dataManager = new DataManager(this, this.containerHomogenity);
8775
+ this.dataManager = DataManager.create(this, this.dataManagerOptions);
8772
8776
  this.inputController = new JabronioGuiController(this.store, this.dataManager);
8773
8777
  this.reset();
8774
8778
  }