diff options
Diffstat (limited to 'includes/external/school/node_modules/graphql/jsutils/naturalCompare.js')
-rw-r--r-- | includes/external/school/node_modules/graphql/jsutils/naturalCompare.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/includes/external/school/node_modules/graphql/jsutils/naturalCompare.js b/includes/external/school/node_modules/graphql/jsutils/naturalCompare.js deleted file mode 100644 index bd8ef34..0000000 --- a/includes/external/school/node_modules/graphql/jsutils/naturalCompare.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = naturalCompare; - -/** - * Returns a number indicating whether a reference string comes before, or after, - * or is the same as the given string in natural sort order. - * - * See: https://en.wikipedia.org/wiki/Natural_sort_order - * - */ -function naturalCompare(aStr, bStr) { - var aIdx = 0; - var bIdx = 0; - - while (aIdx < aStr.length && bIdx < bStr.length) { - var aChar = aStr.charCodeAt(aIdx); - var bChar = bStr.charCodeAt(bIdx); - - if (isDigit(aChar) && isDigit(bChar)) { - var aNum = 0; - - do { - ++aIdx; - aNum = aNum * 10 + aChar - DIGIT_0; - aChar = aStr.charCodeAt(aIdx); - } while (isDigit(aChar) && aNum > 0); - - var bNum = 0; - - do { - ++bIdx; - bNum = bNum * 10 + bChar - DIGIT_0; - bChar = bStr.charCodeAt(bIdx); - } while (isDigit(bChar) && bNum > 0); - - if (aNum < bNum) { - return -1; - } - - if (aNum > bNum) { - return 1; - } - } else { - if (aChar < bChar) { - return -1; - } - - if (aChar > bChar) { - return 1; - } - - ++aIdx; - ++bIdx; - } - } - - return aStr.length - bStr.length; -} - -var DIGIT_0 = 48; -var DIGIT_9 = 57; - -function isDigit(code) { - return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9; -} |