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