findReact

Helper Fn

Этот скрипт недоступен для установки пользователем. Он является библиотекой, которая подключается к другим скриптам мета-ключом // @require https://update.greasyfork.org/scripts/501960/1418069/findReact.js

  1. // ==UserScript==
  2. // @name findReact
  3. // @version 1.0
  4. // @description Helper Fn
  5. // @match *://*.nitrotype.com/race
  6. // @match *://*.nitrotype.com/race/*// @author Toonidy
  7. // @license MIT
  8. // ==/UserScript==
  9.  
  10. // Credit to Toonidy for this
  11. function findReact(dom, traverseUp = 0) {
  12. const key = Object.keys(dom).find((key) => key.startsWith("__reactFiber$"));
  13. const domFiber = dom[key];
  14. if (!domFiber) return null;
  15.  
  16. const getCompFiber = (fiber) => {
  17. let parentFiber = fiber?.return;
  18. while (parentFiber && typeof parentFiber.type === "string") {
  19. parentFiber = parentFiber.return;
  20. }
  21. return parentFiber;
  22. };
  23.  
  24. let compFiber = getCompFiber(domFiber);
  25. for (let i = 0; traverseUp && compFiber && i < traverseUp; i++) {
  26. compFiber = getCompFiber(compFiber);
  27. }
  28. return compFiber?.stateNode || null;
  29. }