| 1234567891011121314151617181920212223242526272829303132333435363738394041 | var isSymbol = require('./isSymbol');/** * Compares values to sort them in ascending order. * * @private * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {number} Returns the sort order indicator for `value`. */function compareAscending(value, other) {  if (value !== other) {    var valIsDefined = value !== undefined,        valIsNull = value === null,        valIsReflexive = value === value,        valIsSymbol = isSymbol(value);    var othIsDefined = other !== undefined,        othIsNull = other === null,        othIsReflexive = other === other,        othIsSymbol = isSymbol(other);    if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||        (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||        (valIsNull && othIsDefined && othIsReflexive) ||        (!valIsDefined && othIsReflexive) ||        !valIsReflexive) {      return 1;    }    if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||        (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||        (othIsNull && valIsDefined && valIsReflexive) ||        (!othIsDefined && valIsReflexive) ||        !othIsReflexive) {      return -1;    }  }  return 0;}module.exports = compareAscending;
 |