react-native-desktop
Version:
A framework for building native desktop apps using React
45 lines (36 loc) • 1.19 kB
JavaScript
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule SourceMapsCache
*/
;
const getObjectValues = require('getObjectValues');
const SourceMapsUtils = require('SourceMapsUtils');
const sourceMapsCache = {};
const SourceMapsCache = {
mainSourceMapID: 'main',
fetch({text, url, fullSourceMappingURL}) {
const sourceMappingURL = fullSourceMappingURL
? fullSourceMappingURL
: SourceMapsUtils.extractSourceMapURL({text, url});
sourceMapsCache[sourceMappingURL] = SourceMapsUtils.fetchSourceMap(
sourceMappingURL
);
},
getSourceMaps() {
fetchMainSourceMap();
return Promise.all(getObjectValues(sourceMapsCache));
},
};
function fetchMainSourceMap() {
if (!sourceMapsCache[SourceMapsCache.mainSourceMapID]) {
sourceMapsCache[SourceMapsCache.mainSourceMapID] =
SourceMapsUtils.fetchMainSourceMap();
}
}
module.exports = SourceMapsCache;