whole_func_string: function compareAscending(a, b) {
      var ac = a.criteria,
          bc = b.criteria;
  
      // ensure a stable sort in V8 and other engines
      // http://code.google.com/p/v8/issues/detail?id=90
      if (ac !== bc) {
        if (ac > bc || typeof ac == 'undefined') {
          return 1;
        }
        if (ac < bc || typeof bc == 'undefined') {
          return -1;
        }
      }
      // The JS engine embedded in Adobe applications like InDesign has a buggy
      // `Array#sort` implementation that causes it, under certain circumstances,
      // to return the same value for `a` and `b`.
      // See https://github.com/jashkenas/underscore/pull/1247
      return a.index - b.index;
    }
func_code_string: function compareAscending(a, b) {
      var ac = a.criteria,
          bc = b.criteria;
  
      // ensure a stable sort in V8 and other engines
      // http://code.google.com/p/v8/issues/detail?id=90
      if (ac !== bc) {
        if (ac > bc || typeof ac == 'undefined') {
          return 1;
        }
        if (ac < bc || typeof bc == 'undefined') {
          return -1;
        }
      }
      // The JS engine embedded in Adobe applications like InDesign has a buggy
      // `Array#sort` implementation that causes it, under certain circumstances,
      // to return the same value for `a` and `b`.
      // See https://github.com/jashkenas/underscore/pull/1247
      return a.index - b.index;
    }
func_documentation_string: Used by `sortBy` to compare transformed `collection` elements, stable sorting
  them in ascending order.
  
  @private
  @param {Object} a The object to compare to `b`.
  @param {Object} b The object to compare to `a`.
  @returns {number} Returns the sort order indicator of `1` or `-1`.