revenge-bundle-next/lib/discord/src/modules/settings/renderer.ts

48 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-06-03 16:24:58 +07:00
import {
byDependencies,
byProps,
preferExports,
} from '@revenge-mod/modules/finders/filters'
import { lookupModule } from '@revenge-mod/modules/finders/lookup'
2025-06-03 16:24:58 +07:00
import {
ReactJSXRuntimeModuleId,
2025-06-03 16:24:58 +07:00
ReactModuleId,
ReactNativeModuleId,
} from '@revenge-mod/react'
import { proxify } from '@revenge-mod/utils/proxy'
import type { DiscordModules } from '../../types'
const { loose, relative } = byDependencies
2025-06-03 16:24:58 +07:00
export type SettingListRenderer =
DiscordModules.Modules.Settings.SettingListRenderer
// modules/main_tabs_v2/native/settings/renderer/SettingListRenderer.tsx
export let SettingListRenderer: SettingListRenderer = proxify(
() => {
const [module] = lookupModule(
preferExports(
byProps<SettingListRenderer>('SettingsList'),
byDependencies(
loose([
ReactModuleId,
ReactNativeModuleId,
relative(1),
relative(2),
undefined,
ReactJSXRuntimeModuleId,
]),
),
),
{
uninitialized: true,
},
)
if (module) return (SettingListRenderer = module)
},
{
hint: 'object',
},
)!