UNPKG

@pwc-ra/components

Version:

PwC RA shared components library

20 lines (18 loc) 485 B
function incrementListIndex(current, dir, opt) { const len = opt.choices.realLength; const shouldLoop = 'loop' in opt ? Boolean(opt.loop) : true; if (dir === 'up') { if (current > 0) { return current - 1; } return shouldLoop ? len - 1 : current; } if (dir === 'down') { if (current < len - 1) { return current + 1; } return shouldLoop ? 0 : current; } throw new Error('dir must be up or down'); } module.exports = incrementListIndex;