From 0ef698a28b70bb7ddc887980c92d263315e05481 Mon Sep 17 00:00:00 2001 From: Alan Plum Date: Tue, 3 May 2016 13:41:11 +0200 Subject: [PATCH] Sort using semver --- js/common/modules/org/arangodb/foxx/store.js | 58 +------------------- 1 file changed, 2 insertions(+), 56 deletions(-) diff --git a/js/common/modules/org/arangodb/foxx/store.js b/js/common/modules/org/arangodb/foxx/store.js index ca4f593dc9..dfa7c59232 100644 --- a/js/common/modules/org/arangodb/foxx/store.js +++ b/js/common/modules/org/arangodb/foxx/store.js @@ -103,57 +103,6 @@ var compareApps = function(l, r) { return 0; }; -//////////////////////////////////////////////////////////////////////////////// -/// @brief comparator for versions -//////////////////////////////////////////////////////////////////////////////// - -var compareVersions = function (a, b) { - var i; - - if (a === b) { - return 0; - } - - // error handling - if (typeof a !== "string") { - return -1; - } - if (typeof b !== "string") { - return 1; - } - - var aComponents = a.split("."); - var bComponents = b.split("."); - var len = Math.min(aComponents.length, bComponents.length); - - // loop while the components are equal - for (i = 0; i < len; i++) { - - // A bigger than B - if (parseInt(aComponents[i], 10) > parseInt(bComponents[i], 10)) { - return 1; - } - - // B bigger than A - if (parseInt(aComponents[i], 10) < parseInt(bComponents[i], 10)) { - return -1; - } - } - - // If one's a prefix of the other, the longer one is bigger one. - if (aComponents.length > bComponents.length) { - return 1; - } - - if (aComponents.length < bComponents.length) { - return -1; - } - - // Otherwise they are the same. - return 0; -}; - - //////////////////////////////////////////////////////////////////////////////// /// @brief updates the fishbowl from a zip archive //////////////////////////////////////////////////////////////////////////////// @@ -334,7 +283,7 @@ var search = function (name) { function extractMaxVersion(matchEngine, versionDoc) { let serverVersion = plainServerVersion(); let versions = Object.keys(versionDoc); - versions.sort(compareVersions).reverse(); + versions.sort(semver.compare).reverse(); for (let version of versions) { if (matchEngine) { @@ -544,7 +493,7 @@ var info = function (name) { var header = false; var versions = Object.keys(desc.versions); - versions.sort(compareVersions); + versions.sort(semver.compare).reverse(); versions.forEach(function (v) { var version = desc.versions[v]; @@ -583,9 +532,6 @@ exports.search = search; exports.searchJson = searchJson; exports.update = update; -// Temporary export to avoid breaking the client -exports.compareVersions = compareVersions; - // ----------------------------------------------------------------------------- // --SECTION-- END-OF-FILE // -----------------------------------------------------------------------------