38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow strict-local
|
|
* @format
|
|
* @oncall react_native
|
|
*/
|
|
|
|
import type {ResolutionContext} from './types';
|
|
import type {TransformResultDependency} from 'metro/private/DeltaBundler/types';
|
|
|
|
import {redirectModulePath} from './PackageResolve';
|
|
|
|
type PartialContext = $ReadOnly<{
|
|
...ResolutionContext,
|
|
redirectModulePath?: ResolutionContext['redirectModulePath'],
|
|
}>;
|
|
|
|
/**
|
|
* Helper used by the `metro` package to create the `ResolutionContext` object.
|
|
* As context values can be overridden by callers, this occurs externally to
|
|
* `resolve.js`.
|
|
*/
|
|
export default function createDefaultContext(
|
|
context: PartialContext,
|
|
dependency: TransformResultDependency,
|
|
): ResolutionContext {
|
|
return {
|
|
redirectModulePath: (modulePath: string) =>
|
|
redirectModulePath(context, modulePath),
|
|
dependency,
|
|
...context,
|
|
};
|
|
}
|