@@ -17,11 +17,26 @@ const AssetSourceResolver = require('AssetSourceResolver');
1717import type { ResolvedAssetSource } from 'AssetSourceResolver' ;
1818
1919let _customSourceTransformer , _serverURL , _scriptURL ;
20+
2021let _sourceCodeScriptURL : ?string ;
22+ function getSourceCodeScriptURL ( ) : ?string {
23+ if ( _sourceCodeScriptURL ) {
24+ return _sourceCodeScriptURL ;
25+ }
26+
27+ let sourceCode = global . nativeExtensions && global . nativeExtensions . SourceCode ;
28+ if ( ! sourceCode ) {
29+ const NativeModules = require ( 'NativeModules' ) ;
30+ sourceCode = NativeModules && NativeModules . SourceCode ;
31+ }
32+ _sourceCodeScriptURL = sourceCode . scriptURL ;
33+ return _sourceCodeScriptURL ;
34+ }
2135
2236function getDevServerURL ( ) : ?string {
2337 if ( _serverURL === undefined ) {
24- const match = _sourceCodeScriptURL && _sourceCodeScriptURL . match ( / ^ h t t p s ? : \/ \/ .* ?\/ / ) ;
38+ const sourceCodeScriptURL = getSourceCodeScriptURL ( ) ;
39+ const match = sourceCodeScriptURL && sourceCodeScriptURL . match ( / ^ h t t p s ? : \/ \/ .* ?\/ / ) ;
2540 if ( match ) {
2641 // jsBundle was loaded from network
2742 _serverURL = match [ 0 ] ;
@@ -51,7 +66,7 @@ function _coerceLocalScriptURL(scriptURL: ?string): ?string {
5166
5267function getScriptURL ( ) : ?string {
5368 if ( _scriptURL === undefined ) {
54- _scriptURL = _coerceLocalScriptURL ( _sourceCodeScriptURL ) ;
69+ _scriptURL = _coerceLocalScriptURL ( getSourceCodeScriptURL ( ) ) ;
5570 }
5671 return _scriptURL ;
5772}
@@ -87,13 +102,6 @@ function resolveAssetSource(source: any): ?ResolvedAssetSource {
87102 return resolver . defaultAsset ( ) ;
88103}
89104
90- let sourceCode = global . nativeExtensions && global . nativeExtensions . SourceCode ;
91- if ( ! sourceCode ) {
92- const NativeModules = require ( 'NativeModules' ) ;
93- sourceCode = NativeModules && NativeModules . SourceCode ;
94- }
95- _sourceCodeScriptURL = sourceCode && sourceCode . scriptURL ;
96-
97105module . exports = resolveAssetSource ;
98106module . exports . pickScale = AssetSourceResolver . pickScale ;
99107module . exports . setCustomSourceTransformer = setCustomSourceTransformer ;
0 commit comments