revenge-bundle-next/lib/externals/src/react-native-clipboard.ts
PalmDevs b6d1cff9f5
feat(lib/modules)!: filter scopes + fixes and improvements
# Features

- Filters now control what types of modules they see.
- Filters can be reinstantiated via `.new()`
- Added the `Not` type in @revenge-mod/utils/types

# Fixes

- Pitfall with `lookupModules` and `withDependencies` without `uninitialize: true` fixed.
- Filter type-metadata is now stored in a single object instead of multiple parameters.
- Incorrect caching behavior for `lookupModules` where cache always reports not found if you finish the iterator.
- Also attempt to report not found when using `lookupModule`.
2025-10-28 01:01:17 +07:00

58 lines
1.6 KiB
TypeScript

import { lookupModule } from '@revenge-mod/modules/finders'
import {
withDependencies,
withProps,
} from '@revenge-mod/modules/finders/filters'
import { ReactModuleId, ReactNativeModuleId } from '@revenge-mod/react'
import { destructure, proxify } from '@revenge-mod/utils/proxy'
const { relative } = withDependencies
let ClipboardModule: typeof import('@react-native-clipboard/clipboard') =
proxify(
() => {
// ID: 4790
// r6 = 4790;
// r5 = [4791, 4792];
// r6 = 4791;
// r5 = [175, 4792];
// r6 = 4792;
// r5 = [27, 4793];
const [module] = lookupModule(
withProps<typeof ClipboardModule>('useClipboard').and(
withDependencies([
relative.withDependencies(
[ReactModuleId, relative(2, true)],
1,
),
relative.withDependencies(
[ReactNativeModuleId, relative(3, true)],
2,
),
]),
),
)
if (module) {
Clipboard = module.default
useClipboard = module.useClipboard
return (ClipboardModule = module)
}
},
{
hint: {},
},
)!
export let { default: Clipboard, useClipboard } = destructure(ClipboardModule, {
default: {
hint: {},
},
useClipboard: {
hint: () => {},
},
})