public/lib/emberjs/ember.js
function (index) {
        var split = false;
        var arrayOperationIndex, arrayOperation,
            arrayOperationRangeStart, arrayOperationRangeEnd,
            len;

        // OPTIMIZE: we could search these faster if we kept a balanced tree.
        // find leftmost arrayOperation to the right of `index`
        for (arrayOperationIndex = arrayOperationRangeStart = 0, len = this._operations.length; arrayOperationIndex < len; ++arrayOperationIndex) {
          arrayOperation = this._operations[arrayOperationIndex];

          if (arrayOperation.type === DELETE) { continue; }

          arrayOperationRangeEnd = arrayOperationRangeStart + arrayOperation.count - 1;

          if (index === arrayOperationRangeStart) {
            break;
          } else if (index > arrayOperationRangeStart && index <= arrayOperationRangeEnd) {
            split = true;
            break;
          } else {
            arrayOperationRangeStart = arrayOperationRangeEnd + 1;
          }
        }

        return new ArrayOperationMatch(arrayOperation, arrayOperationIndex, split, arrayOperationRangeStart);
      }
function (index) {
        var split = false;
        var arrayOperationIndex, arrayOperation,
            arrayOperationRangeStart, arrayOperationRangeEnd,
            len;

        // OPTIMIZE: we could search these faster if we kept a balanced tree.
        // find leftmost arrayOperation to the right of `index`
        for (arrayOperationIndex = arrayOperationRangeStart = 0, len = this._operations.length; arrayOperationIndex < len; ++arrayOperationIndex) {
          arrayOperation = this._operations[arrayOperationIndex];

          if (arrayOperation.type === DELETE) { continue; }

          arrayOperationRangeEnd = arrayOperationRangeStart + arrayOperation.count - 1;

          if (index === arrayOperationRangeStart) {
            break;
          } else if (index > arrayOperationRangeStart && index <= arrayOperationRangeEnd) {
            split = true;
            break;
          } else {
            arrayOperationRangeStart = arrayOperationRangeEnd + 1;
          }
        }

        return new ArrayOperationMatch(arrayOperation, arrayOperationIndex, split, arrayOperationRangeStart);
      }
function ( index ) { var split = false ; var arrayOperationIndex , arrayOperation , arrayOperationRangeStart , arrayOperationRangeEnd , len ; // OPTIMIZE: we could search these faster if we kept a balanced tree. // find leftmost arrayOperation to the right of `index` for ( arrayOperationIndex = arrayOperationRangeStart = 0 , len = this . _operations . length ; arrayOperationIndex < len ; ++ arrayOperationIndex ) { arrayOperation = this . _operations [ arrayOperationIndex ] ; if ( arrayOperation . type === DELETE ) { continue ; } arrayOperationRangeEnd = arrayOperationRangeStart + arrayOperation . count - 1 ; if ( index === arrayOperationRangeStart ) { break ; } else if ( index > arrayOperationRangeStart && index <= arrayOperationRangeEnd ) { split = true ; break ; } else { arrayOperationRangeStart = arrayOperationRangeEnd + 1 ; } } return new ArrayOperationMatch ( arrayOperation , arrayOperationIndex , split , arrayOperationRangeStart ) ; }
Return an `ArrayOperationMatch` for the operation that contains the item at `index`.

@method _findArrayOperation

@param {Number} index the index of the item whose operation information
should be returned.
@private
Return an ArrayOperationMatch for the operation that contains the item at index .