circulator
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

Build Status Dev Dependencies NPM Version License

Circulator

Circular iteration for a list of values; step forward or backward with a simple API. Lightweight, ES2015 generator-based implementation.

Installation

npm install --save circulator

Usage

const { Circulator } = require('circulator')
 
const c = new Circulator(['A', 'B', 'C'])
 
// Methods
c.current() // -> 'A'
c.next()    // -> 'B'
c.step(2)   // -> 'A' (wrap to start)
c.prev()    // -> 'C' (wrap to end)
c.step(-1)  // -> 'B'
 
// Properties
c.size // -> 3
c.cycle // The generator used for cycling
 
// Consuming the circulator returns elements starting from the current (last returned) position
[...c] // -> ['b', 'c', 'a']

The basic generator object can be used separately:

const { Cycle } = require('circulator')
const g = Cycle([1, 2, 3])
g.next().value // -> 1

Notes

Package Sidebar

Install

npm i circulator

Weekly Downloads

1

Version

1.2.0

License

MIT

Unpacked Size

12.4 kB

Total Files

12

Last publish

Collaborators

  • slikts