New webpack filter: byDisplayName (#474)

This commit is contained in:
Nuckyz 2023-02-08 17:48:26 -03:00 committed by GitHub
parent 8a52189378
commit 291f38115c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -50,6 +50,8 @@ export const filters = {
}
return true;
},
byDisplayName: (name: string): FilterFn => m =>
m.constructor?.displayName === name
};
export const subscriptions = new Map<FilterFn, CallbackFn>();
@ -326,6 +328,20 @@ export function findByCodeLazy(...code: string[]) {
return findLazy(filters.byCode(...code));
}
/**
* Find a store by its displayName
*/
export function findByDisplayName(name: string) {
return find(filters.byDisplayName(name));
}
/**
* findByDisplayName but lazy
*/
export function findByDisplayNameLazy(name: string) {
return findLazy(filters.byDisplayName(name));
}
/**
* Wait for a module that matches the provided filter to be registered,
* then call the callback with the module as the first argument