MCPcopy Index your code
hub / github.com/spicetify/cli / exposeReactComponentsUI

Function exposeReactComponentsUI

jsHelper/spicetifyWrapper.js:583–595  ·  view source on GitHub ↗
({ modules, functionModules, exportedForwardRefs, exportedMemoFRefs })

Source from the content-addressed store, hash-verified

581 const exportedForwardRefs = exportedReactObjects[Symbol.for("react.forward_ref")];
582 const exportedMemoFRefs = exportedMemos.filter((m) => m.type.$$typeof === Symbol.for("react.forward_ref"));
583 const exposeReactComponentsUI = ({ modules, functionModules, exportedForwardRefs, exportedMemoFRefs }) => {
584 const componentNames = Object.keys(modules.filter(Boolean).find((e) => typeof e.BrowserDefaultFocusStyleProvider === "string"));
585 const componentRegexes = componentNames.map((n) => new RegExp(`"data-encore-id":(?:[a-zA-Z_$][\\w$]*\\.){2}${n}\\b`));
586 const componentPairs = [
587 functionModules.map((f) => [f, f]),
588 exportedForwardRefs.map((f) => [f.render, f]),
589 exportedMemoFRefs.map((f) => [f.type.render, f]),
590 ]
591 .flat()
592 .map(([s, f]) => [componentNames.find((_, i) => fnStr(s)?.match(componentRegexes[i])), f]);
593
594 return Object.fromEntries(componentPairs);
595 };
596 const reactComponentsUI = exposeReactComponentsUI({ modules, functionModules, exportedForwardRefs, exportedMemoFRefs });
597
598 const knownMenuTypes = ["album", "show", "artist", "track", "playlist"];

Callers 1

Calls 1

fnStrFunction · 0.85

Tested by

no test coverage detected