Bi-cycle
Bi-cycle assists in making infinite carousels and sliders by handling the index logic for you.
npm: npm i bi-cycle

Source: SketchedOut
Getting Started
Bi-cycle uses generators and provides an interface to modify the immutable index.
Note: Bi-cycle
is more a proof of concept for not mutating values using generators, however you're more than welcome to use it in production.
; // ... const next previous = ; nextButton;previousButton;
There are handful of functions which can be destructured for modifying the state:
next
Moves either to the next index, or tomin
if atmax
;previous
Moves either to the previous index, or tomax
if atmin
;first
Moves tomin
;last
Moves tomax
– by defaultInfinity
;set(n)
Sets slide denoted byn
otherwisemin
ormax
if out of range;
You may also pass in additional parameters to Bicycle
in order to override the defaults:
start
Determines the initial index value – default ismin
;min
Determines the first index &ndash default is-Infinity
;max
Determines the last index &ndash default isInfinity
;infinite
Determines the action of Bi-cycle when the index is our of range – defaulttrue
;
Unique ID
Another use for Bi-cycle is a slightly over-elaborate unique ID generator – each and every time you invoke next
a unique number is returned.
; const next = ; const createModel = { return id: name ;}; ; // { id: 1, name: 'Adam' }; // { id: 2, name: 'Maria' }; // { id: 3, name: 'Igba' }
Released under the MIT license.