Searching Algorithms (linear search, binary search)

What advanced binary search application is implemented here?
function searchRange(arr, target) {
  const findBound = (isFirst) => {
    let left = 0, right = arr.length - 1;
    let result = -1;
    
    while(left <= right) {
      const mid = Math.floor((left + right) / 2);
      if(arr[mid] === target) {
        result = mid;
        if(isFirst) right = mid - 1;
        else left = mid + 1;
      }
      else if(arr[mid] < target) left = mid + 1;
      else right = mid - 1;
    }
    return result;
  };
  
  return [findBound(true), findBound(false)];
}
Next Question (12/24)