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.27 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.26 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.25 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.24 node_modules/lodash/_compareAscending.js
immosquare-cleaner-0.1.23 node_modules/lodash/_compareAscending.js
sumomo-0.10.4 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.10.3 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.10.2 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.10.1 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.10.0 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
reed_sdk-1.0.1 node_modules/lodash/_compareAscending.js
reed_sdk-1.0.0 node_modules/lodash/_compareAscending.js
boring_generators-0.12.0 tmp/templates/app_template/node_modules/lodash/_compareAscending.js
sumomo-0.9.0 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.8.22 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.8.21 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.8.20 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.8.17 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
sumomo-0.8.16 data/sumomo/api_modules/node_modules/lodash/_compareAscending.js
disco_app-0.18.0 test/dummy/node_modules/lodash/_compareAscending.js