| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- const getNumberOfLines = require("./helpers").getNumberOfLines;
 
- const getUnfinishedLine = require("./helpers").getUnfinishedLine;
 
- class CodeNode {
 
- 	constructor(generatedCode) {
 
- 		this.generatedCode = generatedCode;
 
- 	}
 
- 	clone() {
 
- 		return new CodeNode(this.generatedCode);
 
- 	}
 
- 	getGeneratedCode() {
 
- 		return this.generatedCode;
 
- 	}
 
- 	getMappings(mappingsContext) {
 
- 		const lines = getNumberOfLines(this.generatedCode);
 
- 		const mapping = Array(lines+1).join(";");
 
- 		if(lines > 0) {
 
- 			mappingsContext.unfinishedGeneratedLine = getUnfinishedLine(this.generatedCode);
 
- 			if(mappingsContext.unfinishedGeneratedLine > 0) {
 
- 				return mapping + "A";
 
- 			} else {
 
- 				return mapping;
 
- 			}
 
- 		} else {
 
- 			const prevUnfinished = mappingsContext.unfinishedGeneratedLine;
 
- 			mappingsContext.unfinishedGeneratedLine += getUnfinishedLine(this.generatedCode);
 
- 			if(prevUnfinished === 0 && mappingsContext.unfinishedGeneratedLine > 0) {
 
- 				return "A";
 
- 			} else {
 
- 				return "";
 
- 			}
 
- 		}
 
- 	}
 
- 	addGeneratedCode(generatedCode) {
 
- 		this.generatedCode += generatedCode;
 
- 	}
 
- 	mapGeneratedCode(fn) {
 
- 		const generatedCode = fn(this.generatedCode);
 
- 		return new CodeNode(generatedCode);
 
- 	}
 
- 	getNormalizedNodes() {
 
- 		return [this];
 
- 	}
 
- 	merge(otherNode) {
 
- 		if(otherNode instanceof CodeNode) {
 
- 			this.generatedCode += otherNode.generatedCode;
 
- 			return this;
 
- 		}
 
- 		return false;
 
- 	}
 
- }
 
- module.exports = CodeNode;
 
 
  |