Files
dewedev/node_modules/source-list-map/lib/MappingsContext.js
dwindown 7f2dd5260f Initial commit: Developer Tools MVP with visual editor
- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
2025-08-02 09:31:26 +07:00

46 lines
972 B
JavaScript

/*
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;