revenge-bundle-next/lib/plugins/src/apis/modules.ts

45 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-05-09 21:53:48 +07:00
export interface PluginApiModules {
finders: PluginApiModulesFinders
metro: PluginApiModulesMetro
native: PluginApiModulesNative
}
export type PluginApiModulesNative = typeof import('@revenge-mod/modules/native')
export type PluginApiModulesMetro =
// biome-ignore format: Don't
typeof import('@revenge-mod/modules/metro/utils') &
typeof import('@revenge-mod/modules/metro/subscriptions')
export type PluginApiModulesFinders =
// biome-ignore format: Don't
typeof import('@revenge-mod/modules/finders/lookup') &
typeof import('@revenge-mod/modules/finders/wait') &
typeof import('@revenge-mod/modules/finders/find') & {
filters: typeof import('@revenge-mod/modules/finders/filters')
}
export const modules: PluginApiModules = {
get finders() {
const api = {
...require('@revenge-mod/modules/finders/lookup'),
...require('@revenge-mod/modules/finders/wait'),
...require('@revenge-mod/modules/finders/find'),
filters: require('@revenge-mod/modules/finders/filters'),
}
return (this.finders = api)
},
get metro() {
const api: PluginApiModulesMetro = {
...require('@revenge-mod/modules/metro/utils'),
...require('@revenge-mod/modules/metro/subscriptions'),
}
return (this.metro = api)
},
get native() {
return (this.native = require('@revenge-mod/modules/native'))
},
}