UNPKG

428 BJavaScriptView Raw
1'use strict';
2function index(x, i = 0) {
3 return i < 0 ? Math.max(x.length + i, 0) : Math.min(i, x.length);
4}
5function indexRange(x, i = 0, I = x.length) {
6 i = index(x, i);
7 I = Math.max(i, index(x, I));
8 return [i, I];
9}
10function size(x, i = 0, I = x.length) {
11 var [i, I] = indexRange(x, i, I);
12 return I - i;
13}
14function length(x, i = 0, I = x.length) {
15 return size(x, i, I);
16}
17module.exports = length;