From 56477d4e963fe6e40da8881601b3051b2111002d Mon Sep 17 00:00:00 2001 From: Nuckyz <61953774+Nuckyz@users.noreply.github.com> Date: Thu, 11 Jul 2024 17:32:36 -0300 Subject: [PATCH] Fix testing factory filters on non factories --- src/webpack/api.tsx | 27 +++++++++++++++++++-------- src/webpack/patchWebpack.ts | 9 ++++++--- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/webpack/api.tsx b/src/webpack/api.tsx index cc99da19c..06f9bce11 100644 --- a/src/webpack/api.tsx +++ b/src/webpack/api.tsx @@ -631,8 +631,12 @@ export const _cacheFind = traceFunction("cacheFind", function _cacheFind(filter: const mod = cache[key]; if (!mod?.loaded || mod?.exports == null) continue; - if (filter.$$vencordIsFactoryFilter && filter(wreq.m[key])) { - return { result: mod.exports, id: key, exportKey: null, factory: wreq.m[key] }; + if (filter.$$vencordIsFactoryFilter) { + if (filter(wreq.m[key])) { + return { result: mod.exports, id: key, exportKey: null, factory: wreq.m[key] }; + } + + continue; } if (filter(mod.exports)) { @@ -686,8 +690,12 @@ export function cacheFindAll(filter: FilterFn) { const mod = cache[key]; if (!mod?.loaded || mod?.exports == null) continue; - if (filter.$$vencordIsFactoryFilter && filter(wreq.m[key])) { - ret.push(mod.exports); + if (filter.$$vencordIsFactoryFilter) { + if (filter(wreq.m[key])) { + ret.push(mod.exports); + } + + continue; } if (filter(mod.exports)) { @@ -754,11 +762,14 @@ export const cacheFindBulk = traceFunction("cacheFindBulk", function cacheFindBu const filter = filters[i]; if (filter == null) continue; - if (filter.$$vencordIsFactoryFilter && filter(wreq.m[key])) { - results[i] = mod.exports; - filters[i] = undefined; + if (filter.$$vencordIsFactoryFilter) { + if (filter(wreq.m[key])) { + results[i] = mod.exports; + filters[i] = undefined; + + if (++found === length) break outer; + } - if (++found === length) break outer; break; } diff --git a/src/webpack/patchWebpack.ts b/src/webpack/patchWebpack.ts index 493c09356..82020120a 100644 --- a/src/webpack/patchWebpack.ts +++ b/src/webpack/patchWebpack.ts @@ -202,9 +202,12 @@ function patchFactories(factories: Record