revenge-bundle-next/lib/plugins/src/init.ts

23 lines
736 B
TypeScript
Raw Normal View History

2025-06-03 16:24:58 +07:00
import * as AssetsLibrary from '@revenge-mod/assets'
import { onRunApplication } from '@revenge-mod/react/native'
2025-07-05 13:12:57 +07:00
import { initPlugin, pList, startPlugin } from './_internal'
import { pUnscopedApi } from './apis'
import { react } from './apis/react'
import { PluginFlags } from './constants'
import type { UnscopedInitPluginApi } from './types'
// Setup init plugin APIs
2025-07-05 13:12:57 +07:00
const uapi = pUnscopedApi as UnscopedInitPluginApi
uapi.assets = AssetsLibrary
uapi.react = react
2025-07-05 13:12:57 +07:00
for (const plugin of pList.values())
2025-06-03 16:24:58 +07:00
if (plugin.flags & PluginFlags.Enabled) initPlugin(plugin)
const unsub = onRunApplication(() => {
unsub()
2025-07-05 13:12:57 +07:00
for (const plugin of pList.values())
2025-06-03 16:24:58 +07:00
if (plugin.flags & PluginFlags.Enabled) startPlugin(plugin)
})