- Filter generators now expose a `keyFor` method to generate filter keys.
- Dependency filtering is now more usable
- Destructure helpers from `byDependencies` instead:
- `looseDeps` -> `byDependencies.loose`
- `relativeDep` -> `byDependencies.relative`
- Nested dependencies check can now be done with relative checks via `byDependencies.relative.withDependencies`
- Dependency filtering is now more performant
- Relative dependencies are done by bit manipulation instead
- Reverted from stack system to recursion
- Skip relative dependencies resolution (there is no need for it)
- Filter keys for `byDependencies` fixed
23 lines
731 B
TypeScript
23 lines
731 B
TypeScript
import {
|
|
byDependencies,
|
|
byProps,
|
|
preferExports,
|
|
} from '@revenge-mod/modules/finders/filters'
|
|
import { lookupModule } from '@revenge-mod/modules/finders/lookup'
|
|
import type { Metro } from '@revenge-mod/modules/types'
|
|
import type { DiscordModules } from './types'
|
|
|
|
const { relative } = byDependencies
|
|
|
|
// ../discord_common/js/shared/AppStartPerformance.tsx
|
|
export const [AppStartPerformance] = lookupModule(
|
|
preferExports(
|
|
byProps<DiscordModules.AppStartPerformance>('markAndLog'),
|
|
byDependencies([relative(-1), undefined, undefined, 2]),
|
|
),
|
|
{
|
|
includeUninitialized: true,
|
|
},
|
|
) as [DiscordModules.AppStartPerformance, Metro.ModuleID]
|
|
|
|
AppStartPerformance.mark('👊', 'Pre-init')
|