1 | function index(x, i = 0) {
|
2 | return i < 0 ? Math.max(x.length + i, 0) : Math.min(i, x.length);
|
3 | }
|
4 | function indexRange(x, i = 0, I = x.length) {
|
5 | i = index(x, i);
|
6 | I = Math.max(i, index(x, I));
|
7 | return [i, I];
|
8 | }
|
9 | function size(x, i = 0, I = x.length) {
|
10 | var [i, I] = indexRange(x, i, I);
|
11 | return I - i;
|
12 | }
|
13 | function length(x, i = 0, I = x.length) {
|
14 | return size(x, i, I);
|
15 | }
|
16 | export { length as default };
|