Sha256: 437f05eed3eea4f1617208098dd090e28238a18fc1dfe6e29bbcf21d30917ebf

Contents?: true

Size: 1.31 KB

Versions: 299

Compression:

Stored size: 1.31 KB

Contents

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;

Version data entries

299 entries across 276 versions & 32 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.59 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.58 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.57 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.56 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.55 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.54 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.53 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.52 node_modules/lodash/_compareAscending.js
trusty-cms-6.3.1 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.51 node_modules/lodash/_compareAscending.js
boring_generators-0.15.0 tmp/templates/app_template/node_modules/lodash/_compareAscending.js
clapton-0.0.26 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.50 node_modules/lodash/_compareAscending.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/lodash/_compareAscending.js