wrap 
Wrap a value within a specified range, creating a repeating cycle.
Usage 
js
import { wrap } from '@studiometa/js-toolkit/utils';
wrap(5, 0, 3); // 2
wrap(-1, 0, 3); // 2
wrap(10, 0, 3); // 1Parameters 
value(number): The value to wrapmin(number): The minimum value of the rangemax(number): The maximum value of the range
Return value 
number: The wrapped value within the specified range
Behavior 
The wrap function ensures that:
- Values above 
maxwrap around to the beginning of the range - Values below 
minwrap around to the end of the range - If 
minequalsmax, the function returnsmin - The result is always within 
[min, max)(inclusive of min, exclusive of max) 
Types 
ts
function wrap(value: number, min: number, max: number): number;Examples 
Carousel/slider 
js
import { wrap } from '@studiometa/js-toolkit/utils';
let currentIndex = 0;
const totalSlides = 5;
// Navigate forward
currentIndex = wrap(currentIndex + 1, 0, totalSlides); // 1, 2, 3, 4, 0, 1...
// Navigate backward
currentIndex = wrap(currentIndex - 1, 0, totalSlides); // 4, 3, 2, 1, 0, 4...Angle wrapping 
js
import { wrap } from '@studiometa/js-toolkit/utils';
// Keep angles between 0 and 360 degrees
let angle = 450;
angle = wrap(angle, 0, 360); // 90
angle = -45;
angle = wrap(angle, 0, 360); // 315