Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 15x 1x 15x 15x | /**
* Checks if a Number is a {@link RelativeIndex} of an {@link ArrayLike}
*
* @example
* A {@link RelativeIndex} can be negative
* ```ts
* const result = isRelativeIndex(index)([1, 2, 3]);
*
* console.log(result); // true
* ```
*
* @example
* Works with Strings, too
* ```ts
* const result = isRelativeIndex(-5)("test");
*
* console.log(result); // false
* ```
*
* @returns `true` if the `index` is between `-array.length` and `array.length`, otherwise `false`
*/
type IsRelativeIndex = (
index: number
) => (array: ArrayLike<unknown>) => boolean;
export const isRelativeIndex: IsRelativeIndex =
(index) =>
(array, length = array.length) => {
return index >= -length && index < length;
};
|