mirror of https://github.com/webpack/webpack.git
				
				
				
			Merge pull request #4722 from willmendesneto/refactor-format-location
refactor(formatLocation): upgrade to ES6
This commit is contained in:
		
						commit
						a2ec4c8cea
					
				|  | @ -2,36 +2,53 @@ | ||||||
| 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | ||||||
| 	Author Tobias Koppers @sokra | 	Author Tobias Koppers @sokra | ||||||
| */ | */ | ||||||
| module.exports = function formatLocation(loc) { | 
 | ||||||
| 	if(typeof loc === "string") | "use strict"; | ||||||
|  | 
 | ||||||
|  | const formatPosition = (pos) => { | ||||||
|  | 	if(pos === null) | ||||||
|  | 		return ""; | ||||||
|  | 	const typeOfPos = typeof pos; | ||||||
|  | 	switch(typeOfPos) { | ||||||
|  | 		case "string": | ||||||
|  | 			return pos; | ||||||
|  | 		case "number": | ||||||
|  | 			return `${pos}`; | ||||||
|  | 		case "object": | ||||||
|  | 			if(typeof pos.line === "number" && typeof pos.column === "number") | ||||||
|  | 				return `${pos.line}:${pos.column}`; | ||||||
|  | 			else if(typeof pos.line === "number") | ||||||
|  | 				return `${pos.line}:?`; | ||||||
|  | 			else if(typeof pos.index === "number") | ||||||
|  | 				return `+${pos.index}`; | ||||||
|  | 			else | ||||||
|  | 				return ""; | ||||||
|  | 		default: | ||||||
|  | 			return ""; | ||||||
|  | 	} | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const formatLocation = (loc) => { | ||||||
|  | 	if(loc === null) | ||||||
|  | 		return ""; | ||||||
|  | 	const typeOfLoc = typeof loc; | ||||||
|  | 	switch(typeOfLoc) { | ||||||
|  | 		case "string": | ||||||
| 			return loc; | 			return loc; | ||||||
| 	if(typeof loc === "number") | 		case "number": | ||||||
| 		return loc + ""; | 			return `${loc}`; | ||||||
| 	if(loc && typeof loc === "object") { | 		case "object": | ||||||
| 			if(loc.start && loc.end) { | 			if(loc.start && loc.end) { | ||||||
| 				if(typeof loc.start.line === "number" && typeof loc.end.line === "number" && typeof loc.end.column === "number" && loc.start.line === loc.end.line) | 				if(typeof loc.start.line === "number" && typeof loc.end.line === "number" && typeof loc.end.column === "number" && loc.start.line === loc.end.line) | ||||||
| 				return formatPosition(loc.start) + "-" + loc.end.column; | 					return `${formatPosition(loc.start)}-${loc.end.column}`; | ||||||
| 			return formatPosition(loc.start) + "-" + formatPosition(loc.end); | 				return `${formatPosition(loc.start)}-${formatPosition(loc.end)}`; | ||||||
| 			} | 			} | ||||||
| 			if(loc.start) | 			if(loc.start) | ||||||
| 				return formatPosition(loc.start); | 				return formatPosition(loc.start); | ||||||
| 			return formatPosition(loc); | 			return formatPosition(loc); | ||||||
| 	} | 		default: | ||||||
| 	return ""; |  | ||||||
| 
 |  | ||||||
| 	function formatPosition(pos) { |  | ||||||
| 		if(typeof pos === "string") |  | ||||||
| 			return pos; |  | ||||||
| 		if(typeof pos === "number") |  | ||||||
| 			return pos + ""; |  | ||||||
| 		if(pos && typeof pos === "object") { |  | ||||||
| 			if(typeof pos.line === "number" && typeof pos.column === "number") |  | ||||||
| 				return pos.line + ":" + pos.column; |  | ||||||
| 			if(typeof pos.line === "number") |  | ||||||
| 				return pos.line + ":?"; |  | ||||||
| 			if(typeof pos.index === "number") |  | ||||||
| 				return "+" + pos.index; |  | ||||||
| 		} |  | ||||||
| 			return ""; | 			return ""; | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | module.exports = formatLocation; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue