feat(lib/plugins/apis): include plugin, reduce getters on other apis
This commit is contained in:
parent
8a8bbf7c8a
commit
4f3621ecd4
11 changed files with 38 additions and 57 deletions
|
|
@ -3,8 +3,8 @@
|
|||
"private": true,
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": {
|
||||
"default": "./src/index.ts"
|
||||
"./constants": {
|
||||
"default": "./src/constants.ts"
|
||||
},
|
||||
"./init": {
|
||||
"default": "./src/init.ts"
|
||||
|
|
|
|||
|
|
@ -27,21 +27,15 @@ export const discord: PluginApiDiscord = {
|
|||
get design() {
|
||||
return (this.design = require('@revenge-mod/discord/design'))
|
||||
},
|
||||
get native() {
|
||||
return (this.native = require('@revenge-mod/discord/native'))
|
||||
},
|
||||
get modules() {
|
||||
const api: PluginApiDiscordModules = {
|
||||
get settings() {
|
||||
const api = {
|
||||
...require('@revenge-mod/discord/modules/settings'),
|
||||
renderer: require('@revenge-mod/discord/modules/settings/renderer'),
|
||||
}
|
||||
native: require('@revenge-mod/discord/native'),
|
||||
modules: {
|
||||
get settings() {
|
||||
const api = {
|
||||
...require('@revenge-mod/discord/modules/settings'),
|
||||
renderer: require('@revenge-mod/discord/modules/settings/renderer'),
|
||||
}
|
||||
|
||||
return (this.settings = api)
|
||||
},
|
||||
}
|
||||
|
||||
return (this.modules = api)
|
||||
return (this.settings = api)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,11 @@
|
|||
import * as PatcherLibrary from '@revenge-mod/patcher'
|
||||
import * as PluginsLibrary from '@revenge-mod/plugins'
|
||||
|
||||
import type { UnscopedInitPluginApi, UnscopedPluginApi } from '../types'
|
||||
|
||||
export const _uapi: UnscopedInitPluginApi | UnscopedPluginApi = {
|
||||
get discord() {
|
||||
return (this.discord = require('./discord').discord)
|
||||
},
|
||||
get externals() {
|
||||
return (this.externals = require('./externals').externals)
|
||||
},
|
||||
get modules() {
|
||||
return (this.modules = require('./modules').modules)
|
||||
},
|
||||
discord: require('./discord').discord,
|
||||
externals: require('./externals').externals,
|
||||
modules: require('./modules').modules,
|
||||
plugins: require('./plugins').plugins,
|
||||
patcher: PatcherLibrary,
|
||||
plugins: PluginsLibrary,
|
||||
get react() {
|
||||
return (this.react = require('./react').react)
|
||||
},
|
||||
react: require('./react').react,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,25 +20,15 @@ export type PluginApiModulesFinders =
|
|||
}
|
||||
|
||||
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)
|
||||
finders: {
|
||||
...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'),
|
||||
},
|
||||
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'))
|
||||
metro: {
|
||||
...require('@revenge-mod/modules/metro/utils'),
|
||||
...require('@revenge-mod/modules/metro/subscriptions'),
|
||||
},
|
||||
native: require('@revenge-mod/modules/native'),
|
||||
}
|
||||
|
|
|
|||
7
lib/plugins/src/apis/plugins.ts
Normal file
7
lib/plugins/src/apis/plugins.ts
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export interface PluginApiPlugins {
|
||||
constants: typeof import('@revenge-mod/plugins/constants')
|
||||
}
|
||||
|
||||
export const plugins: PluginApiPlugins = {
|
||||
constants: require('@revenge-mod/plugins/constants'),
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
export * from './constants'
|
||||
|
|
@ -6,6 +6,7 @@ import type { PluginApiDiscord } from './apis/discord'
|
|||
import type { PluginApiExternals } from './apis/externals'
|
||||
import type { PluginApiModules } from './apis/modules'
|
||||
import type { PluginApiReact } from './apis/react'
|
||||
import type { PluginApiPlugins } from './apis/plugins'
|
||||
|
||||
export type PluginFlags = (typeof PF)[keyof typeof PF]
|
||||
export type PluginStatus = (typeof PS)[keyof typeof PS]
|
||||
|
|
@ -19,7 +20,7 @@ export interface UnscopedInitPluginApi {
|
|||
externals: PluginApiExternals
|
||||
modules: PluginApiModules
|
||||
patcher: typeof import('@revenge-mod/patcher')
|
||||
plugins: typeof import('@revenge-mod/plugins')
|
||||
plugins: PluginApiPlugins
|
||||
react: PluginApiReact
|
||||
// utils: PluginApiUtils
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { PluginFlags } from '@revenge-mod/plugins'
|
||||
import { PluginFlags } from '@revenge-mod/plugins/constants'
|
||||
import { InternalPluginFlags, registerPlugin } from '@revenge-mod/plugins/_'
|
||||
|
||||
import { _data } from '@revenge-mod/discord/_/modules/settings'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { AppStartPerformance } from '@revenge-mod/discord/common'
|
||||
|
||||
import { PluginFlags } from '@revenge-mod/plugins'
|
||||
import { PluginFlags } from '@revenge-mod/plugins/constants'
|
||||
import { InternalPluginFlags, registerPlugin } from '@revenge-mod/plugins/_'
|
||||
|
||||
AppStartPerformance.mark('👊', 'Plugins register')
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { PluginFlags } from '@revenge-mod/plugins'
|
||||
import { PluginFlags } from '@revenge-mod/plugins/constants'
|
||||
import { InternalPluginFlags, registerPlugin } from '@revenge-mod/plugins/_'
|
||||
|
||||
import { byName, byProps } from '@revenge-mod/modules/finders/filters'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { waitForModules } from '@revenge-mod/modules/finders/wait'
|
|||
|
||||
import { after } from '@revenge-mod/patcher'
|
||||
|
||||
import { PluginFlags } from '@revenge-mod/plugins'
|
||||
import { PluginFlags } from '@revenge-mod/plugins/constants'
|
||||
import { InternalPluginFlags, registerPlugin } from '@revenge-mod/plugins/_'
|
||||
|
||||
registerPlugin(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue