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
@@ -561,8 +561,7 @@ var DataFilter = class {
561
561
  }
562
562
  createCssFilters() {
563
563
  this.filters.forEach((_, name) => {
564
- GM_addStyle(`@layer userscriptOverride {
565
- .${DataFilterFn.setPrefix(name)} { display: none !important; } }`);
564
+ GM_addStyle(`@layer userscriptOverride { .${DataFilterFn.setPrefix(name)} { display: none !important; } }`);
566
565
  });
567
566
  }
568
567
  customDataFilterFns = {};
@@ -588,14 +587,19 @@ var DataFilter = class {
588
587
  };
589
588
  //#endregion
590
589
  //#region src/core/data-handler/data-manager.ts
591
- var DataManager = class {
590
+ var DataManager = class DataManager {
592
591
  rules;
592
+ removeDuplicates;
593
593
  containerHomogenity;
594
594
  data = /* @__PURE__ */ new Map();
595
595
  lazyImgLoader = new LazyImgLoader((target) => !DataFilter.isFiltered(target));
596
596
  dataFilter;
597
- constructor(rules, containerHomogenity) {
597
+ static create(rules, o = {}) {
598
+ return new DataManager(rules, o.removeDuplicates, o.containerHomogenity);
599
+ }
600
+ constructor(rules, removeDuplicates = false, containerHomogenity) {
598
601
  this.rules = rules;
602
+ this.removeDuplicates = removeDuplicates;
599
603
  this.containerHomogenity = containerHomogenity;
600
604
  this.dataFilter = new DataFilter(this.rules);
601
605
  }
@@ -629,7 +633,7 @@ var DataManager = class {
629
633
  const filters = Object.fromEntries(keys.map((k) => [k, this.rules.store.state[k]]));
630
634
  await this.applyFilters(filters, offset);
631
635
  }
632
- async parseData(html, container, removeDuplicates = false, shouldLazify = true) {
636
+ async parseData(html, container, removeDuplicates = this.removeDuplicates, shouldLazify = true) {
633
637
  const thumbs = this.rules.thumbsParser.getThumbs(html);
634
638
  const dataOffset = this.data.size;
635
639
  const fragment = document.createDocumentFragment();
@@ -8681,7 +8685,7 @@ var Rules = class {
8681
8685
  paginationStrategyOptions = {};
8682
8686
  paginationStrategy;
8683
8687
  dataManager;
8684
- containerHomogenity;
8688
+ dataManagerOptions = {};
8685
8689
  customDataFilterFns = [];
8686
8690
  hookDataFilterFns() {
8687
8691
  const defaultFilterFns = getSelectorFnsFromScheme(this.schemeOptions.filter((s) => typeof s === "string"));
@@ -8746,7 +8750,7 @@ var Rules = class {
8746
8750
  });
8747
8751
  this.mutationObservers = [];
8748
8752
  this.paginationStrategy = getPaginationStrategy(this.paginationStrategyOptions);
8749
- this.dataManager = new DataManager(this, this.containerHomogenity);
8753
+ this.dataManager = DataManager.create(this, this.dataManagerOptions);
8750
8754
  this.inputController.dispose();
8751
8755
  this.inputController = new JabronioGuiController(this.store, this.dataManager);
8752
8756
  this.resetInfiniteScroller();
@@ -8765,7 +8769,7 @@ var Rules = class {
8765
8769
  this.store = this.createStore();
8766
8770
  this.gui = this.createGui();
8767
8771
  this.hookDataFilterFns();
8768
- this.dataManager = new DataManager(this, this.containerHomogenity);
8772
+ this.dataManager = DataManager.create(this, this.dataManagerOptions);
8769
8773
  this.inputController = new JabronioGuiController(this.store, this.dataManager);
8770
8774
  this.reset();
8771
8775
  }