| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "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;
 
- 		case "number":
 
- 			return `${loc}`;
 
- 		case "object":
 
- 			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)
 
- 					return `${formatPosition(loc.start)}-${loc.end.column}`;
 
- 				return `${formatPosition(loc.start)}-${formatPosition(loc.end)}`;
 
- 			}
 
- 			if(loc.start)
 
- 				return formatPosition(loc.start);
 
- 			return formatPosition(loc);
 
- 		default:
 
- 			return "";
 
- 	}
 
- };
 
- module.exports = formatLocation;
 
 
  |