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;
							 |