You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							41 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							41 lines
						
					
					
						
							1.3 KiB
						
					
					
				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;
 | 
						|
 |