UNPKG

react-monaco-editor

Version:
54 lines (49 loc) 1.36 kB
/* 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;