mappings-from-map.js
833 Bytes
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: mapping.originalColumn != null ? {
column: mapping.originalColumn
, line: mapping.originalLine
} : undefined
, generated: {
column: mapping.generatedColumn
, line: mapping.generatedLine
}
, source: mapping.originalColumn != null ? mapping.source : undefined
, name: mapping.name
});
});
return mappings;
}