diff --git a/packages/metro/src/Resolver/polyfills/require.js b/packages/metro/src/Resolver/polyfills/require.js index c86897ca..88f4109b 100644 --- a/packages/metro/src/Resolver/polyfills/require.js +++ b/packages/metro/src/Resolver/polyfills/require.js @@ -160,6 +160,11 @@ function unpackModuleId( } require.unpackModuleId = unpackModuleId; +function packModuleId(value: {segmentId: number, localId: number}): ModuleID { + return value.segmentId << (ID_MASK_SHIFT + value.localId); +} +require.packModuleId = packModuleId; + function loadModuleImplementation(moduleId, module) { const nativeRequire = global.nativeRequire; if (!module && nativeRequire) { diff --git a/packages/metro/src/integration_tests/__tests__/__snapshots__/basic_bundle-test.js.snap b/packages/metro/src/integration_tests/__tests__/__snapshots__/basic_bundle-test.js.snap index 3371a6f0..36c76c9d 100644 --- a/packages/metro/src/integration_tests/__tests__/__snapshots__/basic_bundle-test.js.snap +++ b/packages/metro/src/integration_tests/__tests__/__snapshots__/basic_bundle-test.js.snap @@ -66,15 +66,21 @@ exports[`basic_bundle bundles package with polyfills 1`] = ` _require.unpackModuleId = unpackModuleId; + function packModuleId(value) { + return value.segmentId << ID_MASK_SHIFT + value.localId; + } + + _require.packModuleId = packModuleId; + function loadModuleImplementation(moduleId, module) { var nativeRequire = global.nativeRequire; if (!module && nativeRequire) { var _unpackModuleId = unpackModuleId(moduleId), - segmentId = _unpackModuleId.segmentId, - localId = _unpackModuleId.localId; + _segmentId = _unpackModuleId.segmentId, + _localId = _unpackModuleId.localId; - nativeRequire(localId, segmentId); + nativeRequire(_localId, _segmentId); module = modules[moduleId]; } @@ -251,15 +257,21 @@ exports[`basic_bundle bundles package without polyfills 1`] = ` _require.unpackModuleId = unpackModuleId; + function packModuleId(value) { + return value.segmentId << ID_MASK_SHIFT + value.localId; + } + + _require.packModuleId = packModuleId; + function loadModuleImplementation(moduleId, module) { var nativeRequire = global.nativeRequire; if (!module && nativeRequire) { var _unpackModuleId = unpackModuleId(moduleId), - segmentId = _unpackModuleId.segmentId, - localId = _unpackModuleId.localId; + _segmentId = _unpackModuleId.segmentId, + _localId = _unpackModuleId.localId; - nativeRequire(localId, segmentId); + nativeRequire(_localId, _segmentId); module = modules[moduleId]; }