diff options
Diffstat (limited to 'alarm/node_modules/graphql/jsutils/naturalCompare.mjs')
-rw-r--r-- | alarm/node_modules/graphql/jsutils/naturalCompare.mjs | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/alarm/node_modules/graphql/jsutils/naturalCompare.mjs b/alarm/node_modules/graphql/jsutils/naturalCompare.mjs deleted file mode 100644 index 4313627..0000000 --- a/alarm/node_modules/graphql/jsutils/naturalCompare.mjs +++ /dev/null @@ -1,61 +0,0 @@ -/** - * 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 - * - */ -export default 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; -} |