forked from enviPath/enviPy
Current Dev State
This commit is contained in:
57
static/js/ketcher2/node_modules/nyc/lib/source-maps.js
generated
vendored
Normal file
57
static/js/ketcher2/node_modules/nyc/lib/source-maps.js
generated
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
const convertSourceMap = require('convert-source-map')
|
||||
const libCoverage = require('istanbul-lib-coverage')
|
||||
const libSourceMaps = require('istanbul-lib-source-maps')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
// TODO: write some unit tests for this class.
|
||||
function SourceMaps (opts) {
|
||||
this.cache = opts.cache
|
||||
this.cacheDirectory = opts.cacheDirectory
|
||||
this.sourceMapCache = libSourceMaps.createSourceMapStore()
|
||||
this.loadedMaps = {}
|
||||
}
|
||||
|
||||
SourceMaps.prototype.extractAndRegister = function (code, filename, hash) {
|
||||
var sourceMap = convertSourceMap.fromSource(code) || convertSourceMap.fromMapFileSource(code, path.dirname(filename))
|
||||
if (sourceMap) {
|
||||
if (this.cache && hash) {
|
||||
var mapPath = path.join(this.cacheDirectory, hash + '.map')
|
||||
fs.writeFileSync(mapPath, sourceMap.toJSON())
|
||||
} else {
|
||||
this.sourceMapCache.registerMap(filename, sourceMap.sourcemap)
|
||||
}
|
||||
}
|
||||
return sourceMap
|
||||
}
|
||||
|
||||
SourceMaps.prototype.remapCoverage = function (obj) {
|
||||
var transformed = this.sourceMapCache.transformCoverage(
|
||||
libCoverage.createCoverageMap(obj)
|
||||
)
|
||||
return transformed.map.data
|
||||
}
|
||||
|
||||
SourceMaps.prototype.reloadCachedSourceMaps = function (report) {
|
||||
var _this = this
|
||||
Object.keys(report).forEach(function (absFile) {
|
||||
var fileReport = report[absFile]
|
||||
if (fileReport && fileReport.contentHash) {
|
||||
var hash = fileReport.contentHash
|
||||
if (!(hash in _this.loadedMaps)) {
|
||||
try {
|
||||
var mapPath = path.join(_this.cacheDirectory, hash + '.map')
|
||||
_this.loadedMaps[hash] = JSON.parse(fs.readFileSync(mapPath, 'utf8'))
|
||||
} catch (e) {
|
||||
// set to false to avoid repeatedly trying to load the map
|
||||
_this.loadedMaps[hash] = false
|
||||
}
|
||||
}
|
||||
if (_this.loadedMaps[hash]) {
|
||||
_this.sourceMapCache.registerMap(absFile, _this.loadedMaps[hash])
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = SourceMaps
|
||||
Reference in New Issue
Block a user