fix(lib/externals/react-native-safe-area-context): update filters for 341202+

This commit is contained in:
PalmDevs 2026-07-29 23:42:44 +07:00
parent bb0919ef0a
commit 8040d3be07
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA

View file

@ -9,32 +9,43 @@ import {
ReactNativeModuleId,
} from '@revenge-mod/react'
import { proxify } from '@revenge-mod/utils/proxy'
import type { ComparableDependencyMap } from '@revenge-mod/modules/finders/filters'
const { relative, loose } = withDependencies
const withSafeAreaContextModule = (
/* first dependency's dependencies */
firstDependencyDependencies: ComparableDependencyMap,
) =>
withDependencies(
// first dependency is next to this module, but we also need to check its dependencies
// hence relative.withDependencies(firstDependencyDependencies, 1),
loose([relative.withDependencies(firstDependencyDependencies, 1)]),
)
export let ReactNativeSafeAreaContext: typeof import('react-native-safe-area-context') =
proxify(
() => {
// TODO: Slice 1 and use once stable >341202, first dependency is dropped in modern
const oldDeps = [
null,
null,
ReactModuleId,
ReactNativeModuleId,
ReactJSXRuntimeModuleId,
relative.withDependencies([relative(1)], 1),
]
const [module] = lookupModule(
withProps<typeof ReactNativeSafeAreaContext>(
'SafeAreaProvider',
).and(
withDependencies(
loose([
relative.withDependencies(
[
null,
null,
ReactModuleId,
ReactNativeModuleId,
ReactJSXRuntimeModuleId,
relative.withDependencies([relative(1)], 1),
],
1,
),
]),
withProps<typeof ReactNativeSafeAreaContext>('SafeAreaProvider')
.and(
withSafeAreaContextModule(oldDeps.slice(1)).or(
withSafeAreaContextModule(oldDeps),
),
)
.keyAs(
'revenge.externals.ReactNativeSafeAreaContext.ReactNativeSafeAreaContext',
),
),
)
if (module) {