aboutsummaryrefslogtreecommitdiff
path: root/node_modules/source-list-map/lib/MappingsContext.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/source-list-map/lib/MappingsContext.js')
-rw-r--r--node_modules/source-list-map/lib/MappingsContext.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/node_modules/source-list-map/lib/MappingsContext.js b/node_modules/source-list-map/lib/MappingsContext.js
new file mode 100644
index 00000000..9a0c905a
--- /dev/null
+++ b/node_modules/source-list-map/lib/MappingsContext.js
@@ -0,0 +1,45 @@
+/*
+ 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;