From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- node_modules/webpack/lib/compareLocations.js | 88 ++++++++++++++++------------ 1 file changed, 52 insertions(+), 36 deletions(-) (limited to 'node_modules/webpack/lib/compareLocations.js') diff --git a/node_modules/webpack/lib/compareLocations.js b/node_modules/webpack/lib/compareLocations.js index b8a4a118a..3840eb893 100644 --- a/node_modules/webpack/lib/compareLocations.js +++ b/node_modules/webpack/lib/compareLocations.js @@ -1,36 +1,52 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; -module.exports = function compareLocations(a, b) { - if(typeof a === "string") { - if(typeof b === "string") { - if(a < b) return -1; - if(a > b) return 1; - return 0; - } else if(typeof b === "object") { - return 1; - } else { - return 0; - } - } else if(typeof a === "object") { - if(typeof b === "string") { - return -1; - } else if(typeof b === "object") { - if(a.start && b.start) { - const ap = a.start; - const bp = b.start; - if(ap.line < bp.line) return -1; - if(ap.line > bp.line) return 1; - if(ap.column < bp.column) return -1; - if(ap.column > bp.column) return 1; - } - if(a.index < b.index) return -1; - if(a.index > b.index) return 1; - return 0; - } else { - return 0; - } - } -}; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; + +/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */ + +// TODO webpack 5 remove string type from a and b +/** + * Compare two locations + * @param {string|DependencyLocation} a A location node + * @param {string|DependencyLocation} b A location node + * @returns {-1|0|1} sorting comparator value + */ +module.exports = (a, b) => { + if (typeof a === "string") { + if (typeof b === "string") { + if (a < b) return -1; + if (a > b) return 1; + return 0; + } else if (typeof b === "object") { + return 1; + } else { + return 0; + } + } else if (typeof a === "object") { + if (typeof b === "string") { + return -1; + } else if (typeof b === "object") { + if ("start" in a && "start" in b) { + const ap = a.start; + const bp = b.start; + if (ap.line < bp.line) return -1; + if (ap.line > bp.line) return 1; + if (ap.column < bp.column) return -1; + if (ap.column > bp.column) return 1; + } + if ("name" in a && "name" in b) { + if (a.name < b.name) return -1; + if (a.name > b.name) return 1; + } + if ("index" in a && "index" in b) { + if (a.index < b.index) return -1; + if (a.index > b.index) return 1; + } + return 0; + } else { + return 0; + } + } +}; -- cgit v1.2.3