29 lines
		
	
	
		
			780 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			780 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var Marker = require('../../../tokenizer/marker');
 | 
						|
 | 
						|
function everyValuesPair(fn, left, right) {
 | 
						|
  var leftSize = left.value.length;
 | 
						|
  var rightSize = right.value.length;
 | 
						|
  var total = Math.max(leftSize, rightSize);
 | 
						|
  var lowerBound = Math.min(leftSize, rightSize) - 1;
 | 
						|
  var leftValue;
 | 
						|
  var rightValue;
 | 
						|
  var position;
 | 
						|
 | 
						|
  for (position = 0; position < total; position++) {
 | 
						|
    leftValue = left.value[position] && left.value[position][1] || leftValue;
 | 
						|
    rightValue = right.value[position] && right.value[position][1] || rightValue;
 | 
						|
 | 
						|
    if (leftValue == Marker.COMMA || rightValue == Marker.COMMA) {
 | 
						|
      continue;
 | 
						|
    }
 | 
						|
 | 
						|
    if (!fn(leftValue, rightValue, position, position <= lowerBound)) {
 | 
						|
      return false;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  return true;
 | 
						|
}
 | 
						|
 | 
						|
module.exports = everyValuesPair;
 |