source-list-map
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -18,2 +18,3 @@ /* | ||
this._numberOfLines = getNumberOfLines(this.generatedCode); | ||
this._endsWithNewLine = generatedCode[generatedCode.length - 1] === "\n"; | ||
} | ||
@@ -65,4 +66,10 @@ | ||
SingleLineNode.prototype.merge = function merge(otherNode) { | ||
if(otherNode instanceof SingleLineNode && | ||
this.source === otherNode.source && | ||
if(otherNode instanceof SingleLineNode) { | ||
return this.mergeSingleLineNode(otherNode); | ||
} | ||
return false; | ||
}; | ||
SingleLineNode.prototype.mergeSingleLineNode = function mergeSingleLineNode(otherNode) { | ||
if(this.source === otherNode.source && | ||
this.originalSource === otherNode.originalSource) { | ||
@@ -72,5 +79,6 @@ if(this.line === otherNode.line) { | ||
this._numberOfLines += otherNode._numberOfLines; | ||
this._endsWithNewLine = otherNode._endsWithNewLine; | ||
return this; | ||
} else if(this.line + 1 === otherNode.line && | ||
this.generatedCode[this.generatedCode.length - 1] === "\n" && | ||
this._endsWithNewLine && | ||
this._numberOfLines === 1 && | ||
@@ -77,0 +85,0 @@ otherNode._numberOfLines <= 1) { |
@@ -18,2 +18,3 @@ /* | ||
this._numberOfLines = getNumberOfLines(this.generatedCode); | ||
this._endsWithNewLine = generatedCode[generatedCode.length - 1] === "\n"; | ||
} | ||
@@ -34,2 +35,3 @@ | ||
this._numberOfLines += getNumberOfLines(code); | ||
this._endsWithNewLine = code[code.length - 1] === "\n"; | ||
}; | ||
@@ -89,20 +91,37 @@ | ||
SourceNode.prototype.merge = function merge(otherNode) { | ||
if(otherNode instanceof SourceNode && | ||
this.source === otherNode.source && | ||
this.generatedCode[this.generatedCode.length - 1] === "\n" && | ||
if(otherNode instanceof SourceNode) { | ||
return this.mergeSourceNode(otherNode); | ||
} else if(otherNode instanceof SingleLineNode) { | ||
return this.mergeSingleLineNode(otherNode); | ||
} | ||
return false; | ||
}; | ||
SourceNode.prototype.mergeSourceNode = function 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; | ||
} else if(otherNode instanceof SingleLineNode && | ||
this.source === otherNode.source) { | ||
if(this.generatedCode[this.generatedCode.length - 1] === "\n" && | ||
this.startingLine + this._numberOfLines === otherNode.line && | ||
otherNode._numberOfLines <= 1) { | ||
this.generatedCode += otherNode.generatedCode; | ||
this._numberOfLines += otherNode._numberOfLines | ||
return this; | ||
} | ||
} | ||
return false; | ||
}; | ||
SourceNode.prototype.mergeSingleLineNode = function 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; | ||
}; | ||
SourceNode.prototype.addSingleLineNode = function addSingleLineNode(otherNode) { | ||
this.generatedCode += otherNode.generatedCode; | ||
this._numberOfLines += otherNode._numberOfLines | ||
this._endsWithNewLine = otherNode._endsWithNewLine; | ||
}; |
{ | ||
"name": "source-list-map", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "Fast line to line SourceMap generator.", | ||
@@ -5,0 +5,0 @@ "author": "Tobias Koppers @sokra", |
25907
622