diff options
Diffstat (limited to 'node_modules/source-list-map/lib/SourceNode.js')
| -rw-r--r-- | node_modules/source-list-map/lib/SourceNode.js | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/node_modules/source-list-map/lib/SourceNode.js b/node_modules/source-list-map/lib/SourceNode.js deleted file mode 100644 index 7dd235eb..00000000 --- a/node_modules/source-list-map/lib/SourceNode.js +++ /dev/null @@ -1,129 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const base64VLQ = require("./base64-vlq"); -const getNumberOfLines = require("./helpers").getNumberOfLines; -const getUnfinishedLine = require("./helpers").getUnfinishedLine; - -const LINE_MAPPING = ";AACA"; - -class SourceNode { - - constructor(generatedCode, source, originalSource, startingLine) { - this.generatedCode = generatedCode; - this.originalSource = originalSource; - this.source = source; - this.startingLine = startingLine || 1; - this._numberOfLines = getNumberOfLines(this.generatedCode); - this._endsWithNewLine = generatedCode[generatedCode.length - 1] === "\n"; - } - - clone() { - return new SourceNode(this.generatedCode, this.source, this.originalSource, this.startingLine); - } - - getGeneratedCode() { - return this.generatedCode; - } - - addGeneratedCode(code) { - this.generatedCode += code; - this._numberOfLines += getNumberOfLines(code); - this._endsWithNewLine = code[code.length - 1] === "\n"; - } - - getMappings(mappingsContext) { - if(!this.generatedCode) - return ""; - const lines = this._numberOfLines; - const sourceIdx = mappingsContext.ensureSource(this.source, this.originalSource); - let mappings = "A"; // generated column 0 - if(mappingsContext.unfinishedGeneratedLine) - mappings = "," + base64VLQ.encode(mappingsContext.unfinishedGeneratedLine); - mappings += base64VLQ.encode(sourceIdx - mappingsContext.currentSource); // source index - mappings += base64VLQ.encode(this.startingLine - mappingsContext.currentOriginalLine); // original line index - mappings += "A"; // original column 0 - mappingsContext.currentSource = sourceIdx; - mappingsContext.currentOriginalLine = this.startingLine + lines - 1; - const unfinishedGeneratedLine = mappingsContext.unfinishedGeneratedLine = getUnfinishedLine(this.generatedCode) - mappings += Array(lines).join(LINE_MAPPING); - if(unfinishedGeneratedLine === 0) { - mappings += ";"; - } else { - if(lines !== 0) { - mappings += LINE_MAPPING; - } - mappingsContext.currentOriginalLine++; - } - return mappings; - } - - mapGeneratedCode(fn) { - throw new Error("Cannot map generated code on a SourceMap. Normalize to SingleLineNode first."); - } - - getNormalizedNodes() { - var results = []; - var currentLine = this.startingLine; - var generatedCode = this.generatedCode; - var index = 0; - var indexEnd = generatedCode.length; - while(index < indexEnd) { - // get one generated line - var nextLine = generatedCode.indexOf("\n", index) + 1; - if(nextLine === 0) nextLine = indexEnd; - var lineGenerated = generatedCode.substr(index, nextLine - index); - - results.push(new SingleLineNode(lineGenerated, this.source, this.originalSource, currentLine)); - - // move cursors - index = nextLine; - currentLine++; - } - return results; - } - - merge(otherNode) { - if(otherNode instanceof SourceNode) { - return this.mergeSourceNode(otherNode); - } else if(otherNode instanceof SingleLineNode) { - return this.mergeSingleLineNode(otherNode); - } - return false; - } - - mergeSourceNode(otherNode) { - if(this.source === otherNode.source && - this._endsWithNewLine && - this.startingLine + this._numberOfLines === otherNode.startingLine) { - this.generatedCode += otherNode.generatedCode; - this._numberOfLines += otherNode._numberOfLines; - this._endsWithNewLine = otherNode._endsWithNewLine; - return this; - } - return false; - } - - mergeSingleLineNode(otherNode) { - if(this.source === otherNode.source && - this._endsWithNewLine && - this.startingLine + this._numberOfLines === otherNode.line && - otherNode._numberOfLines <= 1) { - this.addSingleLineNode(otherNode); - return this; - } - return false; - } - - addSingleLineNode(otherNode) { - this.generatedCode += otherNode.generatedCode; - this._numberOfLines += otherNode._numberOfLines - this._endsWithNewLine = otherNode._endsWithNewLine; - } -} - -module.exports = SourceNode; -const SingleLineNode = require("./SingleLineNode"); // circular dependency |
