| /* |
| MIT License http://www.opensource.org/licenses/mit-license.php |
| Author Tobias Koppers @sokra |
| */ |
| "use strict"; |
| |
| class MappingsContext { |
| constructor() { |
| this.sourcesIndices = new Map(); |
| this.sourcesContent = new Map(); |
| this.hasSourceContent = false; |
| this.currentOriginalLine = 1; |
| this.currentSource = 0; |
| this.unfinishedGeneratedLine = false; |
| } |
| |
| ensureSource(source, originalSource) { |
| let idx = this.sourcesIndices.get(source); |
| if(typeof idx === "number") { |
| return idx; |
| } |
| idx = this.sourcesIndices.size; |
| this.sourcesIndices.set(source, idx); |
| this.sourcesContent.set(source, originalSource) |
| if(typeof originalSource === "string") |
| this.hasSourceContent = true; |
| return idx; |
| } |
| |
| getArrays() { |
| const sources = []; |
| const sourcesContent = []; |
| |
| for(const pair of this.sourcesContent) { |
| sources.push(pair[0]); |
| sourcesContent.push(pair[1]); |
| } |
| |
| return { |
| sources, |
| sourcesContent |
| }; |
| } |
| } |
| module.exports = MappingsContext; |