refactor(limitTo): no need for all those checks if we use slice

Closes #10537
This commit is contained in:
Shahar Talmi
2014-12-20 18:04:28 +02:00
committed by Peter Bacon Darwin
parent eae848a712
commit 2caec44632

View File

@@ -97,34 +97,11 @@ function limitToFilter() {
limit = int(limit);
}
if (isString(input)) {
//NaN check on limit
if (limit) {
return limit >= 0 ? input.slice(0, limit) : input.slice(limit, input.length);
} else {
return "";
}
}
var i, n;
// if abs(limit) exceeds maximum length, trim it
if (limit > input.length)
limit = input.length;
else if (limit < -input.length)
limit = -input.length;
if (limit > 0) {
i = 0;
n = limit;
//NaN check on limit
if (limit) {
return limit > 0 ? input.slice(0, limit) : input.slice(limit);
} else {
// zero and NaN check on limit - return empty array
if (!limit) return [];
i = input.length + limit;
n = input.length;
return isString(input) ? "" : [];
}
return input.slice(i, n);
};
}