Deprecate more unused apis
This commit is contained in:
parent
cfbe4affc0
commit
84c78a4262
|
@ -684,8 +684,9 @@ export type CacheFindResult = {
|
||||||
* @param filter A function that takes an export or module exports and returns a boolean
|
* @param filter A function that takes an export or module exports and returns a boolean
|
||||||
*/
|
*/
|
||||||
export const _cacheFind = traceFunction("cacheFind", function _cacheFind(filter: FilterFn): CacheFindResult {
|
export const _cacheFind = traceFunction("cacheFind", function _cacheFind(filter: FilterFn): CacheFindResult {
|
||||||
if (typeof filter !== "function")
|
if (typeof filter !== "function") {
|
||||||
throw new Error("Invalid filter. Expected a function got " + typeof filter);
|
throw new Error("Invalid filter. Expected a function got " + typeof filter);
|
||||||
|
}
|
||||||
|
|
||||||
for (const key in cache) {
|
for (const key in cache) {
|
||||||
const mod = cache[key];
|
const mod = cache[key];
|
||||||
|
@ -742,8 +743,9 @@ export function cacheFind(filter: FilterFn) {
|
||||||
* @returns An array of all the found export or module exports
|
* @returns An array of all the found export or module exports
|
||||||
*/
|
*/
|
||||||
export function cacheFindAll(filter: FilterFn) {
|
export function cacheFindAll(filter: FilterFn) {
|
||||||
if (typeof filter !== "function")
|
if (typeof filter !== "function") {
|
||||||
throw new Error("Invalid filter. Expected a function got " + typeof filter);
|
throw new Error("Invalid filter. Expected a function got " + typeof filter);
|
||||||
|
}
|
||||||
|
|
||||||
const ret: ModuleExports[] = [];
|
const ret: ModuleExports[] = [];
|
||||||
for (const key in cache) {
|
for (const key in cache) {
|
||||||
|
@ -784,6 +786,69 @@ export function cacheFindAll(filter: FilterFn) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Find the id of the first already loaded module factory that includes all the given code.
|
||||||
|
*/
|
||||||
|
export const cacheFindModuleId = traceFunction("cacheFindModuleId", function cacheFindModuleId(...code: CodeFilter) {
|
||||||
|
const parsedCode = code.map(canonicalizeMatch);
|
||||||
|
|
||||||
|
for (const id in wreq.m) {
|
||||||
|
if (stringMatches(String(wreq.m[id]), parsedCode)) {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search modules by keyword. This searches the factory methods,
|
||||||
|
* meaning you can search all sorts of things, methodName, strings somewhere in the code, etc.
|
||||||
|
*
|
||||||
|
* @param code One or more strings or regexes
|
||||||
|
* @returns Mapping of found modules
|
||||||
|
*/
|
||||||
|
export function search(...code: CodeFilter) {
|
||||||
|
code = code.map(canonicalizeMatch);
|
||||||
|
|
||||||
|
const results: WebpackRequire["m"] = {};
|
||||||
|
const factories = wreq.m;
|
||||||
|
|
||||||
|
for (const id in factories) {
|
||||||
|
const factory = factories[id];
|
||||||
|
|
||||||
|
if (stringMatches(String(factory), code)) {
|
||||||
|
results[id] = factory;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extract a specific module by id into its own Source File. This has no effect on
|
||||||
|
* the code, it is only useful to be able to look at a specific module without having
|
||||||
|
* to view a massive file. extract then returns the extracted module so you can jump to it.
|
||||||
|
* As mentioned above, note that this extracted module is not actually used,
|
||||||
|
* so putting breakpoints or similar will have no effect.
|
||||||
|
*
|
||||||
|
* @param id The id of the module to extract
|
||||||
|
*/
|
||||||
|
export function extract(id: PropertyKey) {
|
||||||
|
const factory = wreq.m[id];
|
||||||
|
if (!factory) return null;
|
||||||
|
|
||||||
|
const code = `
|
||||||
|
// [EXTRACTED] WebpackModule${String(id)}
|
||||||
|
// WARNING: This module was extracted to be more easily readable.
|
||||||
|
// This module is NOT ACTUALLY USED! This means putting breakpoints will have NO EFFECT!!
|
||||||
|
|
||||||
|
0,${String(factory)}
|
||||||
|
//# sourceURL=ExtractedWebpackModule${String(id)}
|
||||||
|
`;
|
||||||
|
const extracted: ModuleFactory = (0, eval)(code);
|
||||||
|
return extracted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated Use separate finds instead
|
||||||
* Same as {@link cacheFind} but in bulk.
|
* Same as {@link cacheFind} but in bulk.
|
||||||
*
|
*
|
||||||
* @param filterFns Array of filters
|
* @param filterFns Array of filters
|
||||||
|
@ -867,40 +932,11 @@ export const cacheFindBulk = traceFunction("cacheFindBulk", function cacheFindBu
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found !== length) {
|
|
||||||
const err = new Error(`Got ${length} filters, but only found ${found} modules!`);
|
|
||||||
|
|
||||||
if (!IS_DEV || devToolsOpen) {
|
|
||||||
logger.warn(err);
|
|
||||||
return null;
|
|
||||||
} else {
|
|
||||||
throw err; // Strict behaviour in DevBuilds to fail early and make sure the issue is found
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the id of the first already loaded module factory that includes all the given code.
|
* @deprecated use {@link findModuleFactory} instead
|
||||||
*/
|
|
||||||
export const cacheFindModuleId = traceFunction("cacheFindModuleId", function cacheFindModuleId(...code: CodeFilter) {
|
|
||||||
const parsedCode = code.map(canonicalizeMatch);
|
|
||||||
|
|
||||||
for (const id in wreq.m) {
|
|
||||||
if (stringMatches(String(wreq.m[id]), parsedCode)) return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const err = new Error("Didn't find module with code(s):\n" + code.join("\n"));
|
|
||||||
|
|
||||||
if (!IS_DEV || devToolsOpen) {
|
|
||||||
logger.warn(err);
|
|
||||||
} else {
|
|
||||||
throw err; // Strict behaviour in DevBuilds to fail early and make sure the issue is found
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find the first already loaded module factory that includes all the given code.
|
* Find the first already loaded module factory that includes all the given code.
|
||||||
*/
|
*/
|
||||||
export const cacheFindModuleFactory = traceFunction("cacheFindModuleFactory", function cacheFindModuleFactory(...code: CodeFilter) {
|
export const cacheFindModuleFactory = traceFunction("cacheFindModuleFactory", function cacheFindModuleFactory(...code: CodeFilter) {
|
||||||
|
@ -910,55 +946,6 @@ export const cacheFindModuleFactory = traceFunction("cacheFindModuleFactory", fu
|
||||||
return wreq.m[id];
|
return wreq.m[id];
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
* Search modules by keyword. This searches the factory methods,
|
|
||||||
* meaning you can search all sorts of things, methodName, strings somewhere in the code, etc.
|
|
||||||
*
|
|
||||||
* @param code One or more strings or regexes
|
|
||||||
* @returns Mapping of found modules
|
|
||||||
*/
|
|
||||||
export function search(...code: CodeFilter) {
|
|
||||||
code = code.map(canonicalizeMatch);
|
|
||||||
|
|
||||||
const results: WebpackRequire["m"] = {};
|
|
||||||
const factories = wreq.m;
|
|
||||||
|
|
||||||
for (const id in factories) {
|
|
||||||
const factory = factories[id];
|
|
||||||
|
|
||||||
if (stringMatches(String(factory), code)) {
|
|
||||||
results[id] = factory;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extract a specific module by id into its own Source File. This has no effect on
|
|
||||||
* the code, it is only useful to be able to look at a specific module without having
|
|
||||||
* to view a massive file. extract then returns the extracted module so you can jump to it.
|
|
||||||
* As mentioned above, note that this extracted module is not actually used,
|
|
||||||
* so putting breakpoints or similar will have no effect.
|
|
||||||
*
|
|
||||||
* @param id The id of the module to extract
|
|
||||||
*/
|
|
||||||
export function extract(id: PropertyKey) {
|
|
||||||
const factory = wreq.m[id];
|
|
||||||
if (!factory) return null;
|
|
||||||
|
|
||||||
const code = `
|
|
||||||
// [EXTRACTED] WebpackModule${String(id)}
|
|
||||||
// WARNING: This module was extracted to be more easily readable.
|
|
||||||
// This module is NOT ACTUALLY USED! This means putting breakpoints will have NO EFFECT!!
|
|
||||||
|
|
||||||
0,${String(factory)}
|
|
||||||
//# sourceURL=ExtractedWebpackModule${String(id)}
|
|
||||||
`;
|
|
||||||
const extracted: ModuleFactory = (0, eval)(code);
|
|
||||||
return extracted;
|
|
||||||
}
|
|
||||||
|
|
||||||
function deprecatedRedirect<T extends (...args: any[]) => any>(oldMethod: string, newMethod: string, redirect: T): T {
|
function deprecatedRedirect<T extends (...args: any[]) => any>(oldMethod: string, newMethod: string, redirect: T): T {
|
||||||
return ((...args: Parameters<T>) => {
|
return ((...args: Parameters<T>) => {
|
||||||
logger.warn(`Method ${oldMethod} is deprecated. Use ${newMethod} instead. For more information read https://github.com/Vendicated/Vencord/pull/2409#issue-2277161516`);
|
logger.warn(`Method ${oldMethod} is deprecated. Use ${newMethod} instead. For more information read https://github.com/Vendicated/Vencord/pull/2409#issue-2277161516`);
|
||||||
|
|
Loading…
Reference in a new issue