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;
 |