Skip to content

alvaropinot/circular-iterator

Repository files navigation

npm version License

Build Status Coverage Code Climate dependencies dev dependencies

circular-iterator

Circular iteration over any array, the fancy way.

Installation

You can install circular-iterator using npm.

npm install --save circular-iterator

Usage

Just require the module.

const circularIterator = require('circular-iterator');
const iterator = circularIterator([1, 2, 3]);
console.log(iterator.next().value); //1
console.log(iterator.next().value); //2
console.log(iterator.next().value); //3
console.log(iterator.next().value); //1

Try it in your browser

ES5

Provided ES5 distribution was transformed with regenerator tool.

const circularIterator = require('circular-iterator/es5');

or

const circularIterator = require('circular-iterator/es5-with-runtime');

Include regenerator runtime

Use like a Snippet

circular-interator is a very simple piece of code well done and without dependencies. Just copy-paste circularIterator is needed.

Example

A fancy players turns controller.

const circularIterator = require('circular-iterator');

// Some players
const players = [
  {
    name: 'Player 1'
  },
  {
    name: 'Player 2'
  },
  {
    name: 'Player 3'
  }
];

// Create an iterator with our players.
const turnController = circularIterator(players);

let actualPlayer = turnController.next().value;
// It's Player 1 turn.
console.log('%s is your turn!', actualPlayer.name);

// Timer is done! Let's see who's next.
actualPlayer = turnController.next().value;
// It's Player 2 turn.
console.log('%s is your turn!', actualPlayer.name);

// Timer is done! Let's see who's next.
actualPlayer = turnController.next().value;
// It's Player 3 turn.
console.log('%s is your turn!', actualPlayer.name);

// Timer is done! Let's see who's next.
actualPlayer = turnController.next().value;
// It's Player 1 turn again :D
console.log('%s is your turn!', actualPlayer.name);

Outputs

Player 1 is your turn!
Player 2 is your turn!
Player 3 is your turn!
Player 1 is your turn!

Credits

author

contributors

License

MIT

About

circular-iterator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •