in packages/flow-remove-types/index.js [612:647]
function generateSourceMappings(removedNodes) {
var mappings = '';
if (!removedNodes || removedNodes.length === '') {
return mappings;
}
var end = {line: 1, column: 0};
for (var i = 0; i < removedNodes.length; i++) {
var start = removedNodes[i].loc.start;
var lineDiff = start.line - end.line;
var columnDiff = start.column - end.column;
if (lineDiff) {
for (var l = 0; l !== lineDiff; l++) {
mappings += ';';
}
mappings += vlq.encode([start.column, 0, lineDiff, columnDiff]);
} else if (columnDiff) {
if (i) {
mappings += ',';
}
mappings += vlq.encode([columnDiff, 0, lineDiff, columnDiff]);
}
end = removedNodes[i].loc.end;
mappings += ',';
mappings += vlq.encode([
0,
0,
end.line - start.line,
end.column - start.column,
]);
}
return mappings;
}