You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
788 B
JavaScript
31 lines
788 B
JavaScript
7 years ago
|
var SMConsumer = require('source-map').SourceMapConsumer;
|
||
|
|
||
|
/**
|
||
|
* @name mappingsFromMap
|
||
|
* @function
|
||
|
* @param map {Object} the JSON.parse()'ed map
|
||
|
* @return {Array} array of mappings
|
||
|
*/
|
||
|
module.exports = function (map) {
|
||
|
var consumer = new SMConsumer(map);
|
||
|
var mappings = [];
|
||
|
|
||
|
consumer.eachMapping(function (mapping) {
|
||
|
// only set source if we have original position to handle edgecase (see inline-source-map tests)
|
||
|
mappings.push({
|
||
|
original: {
|
||
|
column: mapping.originalColumn
|
||
|
, line: mapping.originalLine
|
||
|
}
|
||
|
, generated: {
|
||
|
column: mapping.generatedColumn
|
||
|
, line: mapping.generatedLine
|
||
|
}
|
||
|
, source: mapping.originalColumn != null ? mapping.source : undefined
|
||
|
, name: mapping.name
|
||
|
});
|
||
|
});
|
||
|
|
||
|
return mappings;
|
||
|
}
|