Wrap a number between two values
JavaScript
const wrap = (num, min, max) => ((((num - min) % (max - min)) + (max - min)) % (max - min)) + min
TypeScript
const wrap = (num: number, min: number, max: number): number => ((((num - min) % (max - min)) + (max - min)) % (max - min)) + min
Examples
wrap(11, 10, 25) // 11
wrap(10, 10, 25) // 10
wrap(9, 10, 25) // 25
wrap(24, 10, 25) // 24
wrap(25, 10, 25) // 25
wrap(26, 10, 25) // 10