diff options
Diffstat (limited to 'deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js')
-rw-r--r-- | deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js new file mode 100644 index 0000000000..c8259c72dc --- /dev/null +++ b/deps/npm/node_modules/cli-table2/node_modules/lodash/internal/baseCompareAscending.js @@ -0,0 +1,34 @@ +/** + * The base implementation of `compareAscending` which compares values and + * sorts them in ascending order without guaranteeing a stable sort. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function baseCompareAscending(value, other) { + if (value !== other) { + var valIsNull = value === null, + valIsUndef = value === undefined, + valIsReflexive = value === value; + + var othIsNull = other === null, + othIsUndef = other === undefined, + othIsReflexive = other === other; + + if ((value > other && !othIsNull) || !valIsReflexive || + (valIsNull && !othIsUndef && othIsReflexive) || + (valIsUndef && othIsReflexive)) { + return 1; + } + if ((value < other && !valIsNull) || !othIsReflexive || + (othIsNull && !valIsUndef && valIsReflexive) || + (othIsUndef && valIsReflexive)) { + return -1; + } + } + return 0; +} + +module.exports = baseCompareAscending; |