From 87ff29a36a47b6b76b0f947396595541a643deeb Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Sun, 27 Apr 2025 21:14:41 +0700 Subject: [PATCH] feat(lib/modules/common)!: export more commons --- lib/assets/src/index.ts | 2 +- lib/modules/package.json | 8 +++++++- lib/modules/src/common/discord/flux.ts | 16 ++++++++++++++++ lib/modules/src/common/discord/index.ts | 11 +++++++++++ lib/modules/src/common/index.ts | 2 ++ lib/modules/src/{common.ts => common/react.ts} | 4 ++-- lib/modules/types/discord.ts | 1 + 7 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 lib/modules/src/common/discord/flux.ts create mode 100644 lib/modules/src/common/discord/index.ts create mode 100644 lib/modules/src/common/index.ts rename lib/modules/src/{common.ts => common/react.ts} (85%) diff --git a/lib/assets/src/index.ts b/lib/assets/src/index.ts index 40ae472..1d5a95e 100644 --- a/lib/assets/src/index.ts +++ b/lib/assets/src/index.ts @@ -1,4 +1,4 @@ -import { ReactNative } from '@revenge-mod/modules/common' +import { ReactNative } from '@revenge-mod/modules/common/react' import { _assets } from './_internal' import { AssetRegistry } from './patches' diff --git a/lib/modules/package.json b/lib/modules/package.json index e508301..c31ab71 100644 --- a/lib/modules/package.json +++ b/lib/modules/package.json @@ -7,7 +7,13 @@ "default": "./src/index.ts" }, "./common": { - "default": "./src/common.ts" + "default": "./src/common/index.ts" + }, + "./common/discord": { + "default": "./src/common/discord/index.ts" + }, + "./common/react": { + "default": "./src/common/react.ts" }, "./finders": { "default": "./src/finders/index.ts" diff --git a/lib/modules/src/common/discord/flux.ts b/lib/modules/src/common/discord/flux.ts new file mode 100644 index 0000000..2077b80 --- /dev/null +++ b/lib/modules/src/common/discord/flux.ts @@ -0,0 +1,16 @@ +import { waitForModules } from '../../finders' +import { byProps } from '../../finders/filters' + +import type { DiscordModules } from '../../../types' + +waitForModules(byProps('_dispatchToken'), (_, store) => { + const name = store.getName() + _stores[name] = store +}) + +const _stores: Record = {} + +export const stores = new Proxy(_stores, { + ownKeys: () => Reflect.ownKeys(_stores), + get: (_, name) => Reflect.get(_stores, name), +}) diff --git a/lib/modules/src/common/discord/index.ts b/lib/modules/src/common/discord/index.ts new file mode 100644 index 0000000..b68861b --- /dev/null +++ b/lib/modules/src/common/discord/index.ts @@ -0,0 +1,11 @@ +import { lookupModule } from '../../finders' +import { byName, byProps } from '../../finders/filters' + +import type { DiscordModules } from '../../../types/discord' + +export * as flux from './flux' + +// ../discord_common/js/shared/Logger.tsx +export const Logger = lookupModule(byName('Logger'))! +// ../discord_common/js/packages/tokens/native.tsx +export const tokens = lookupModule(byProps('RawColor'))! diff --git a/lib/modules/src/common/index.ts b/lib/modules/src/common/index.ts new file mode 100644 index 0000000..7ba81e5 --- /dev/null +++ b/lib/modules/src/common/index.ts @@ -0,0 +1,2 @@ +export * as discord from './discord' +export * as react from './react' diff --git a/lib/modules/src/common.ts b/lib/modules/src/common/react.ts similarity index 85% rename from lib/modules/src/common.ts rename to lib/modules/src/common/react.ts index d979005..0662400 100644 --- a/lib/modules/src/common.ts +++ b/lib/modules/src/common/react.ts @@ -1,7 +1,7 @@ import { yielded } from '@revenge-mod/utils/generators' -import { lookupModuleId, lookupModuleIds } from './finders' -import { byProps } from './finders/filters' +import { lookupModuleId, lookupModuleIds } from '../finders' +import { byProps } from '../finders/filters' export const ReactModuleId = yielded(lookupModuleIds(byProps('useState')), 1)! export const ReactNativeModuleId = lookupModuleId(byProps('AppRegistry'))! diff --git a/lib/modules/types/discord.ts b/lib/modules/types/discord.ts index f8feda0..44cb61e 100644 --- a/lib/modules/types/discord.ts +++ b/lib/modules/types/discord.ts @@ -31,6 +31,7 @@ export namespace DiscordModules { _isInitialized: boolean _version: number _reactChangeCallbacks: StoreChangeCallbacks + _dispatchToken: string } export interface Dispatcher {