revenge-bundle-next/lib/discord/src/preinit.ts
PalmDevs d5fa40fabd
feat(lib/modules/finders/filters)!: improve filters
- 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
2025-06-13 23:35:23 +07:00

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')