
Research
SAP CAP npm Packages Hit by Mini Shai-Hulud Supply Chain Attack
Compromised SAP CAP npm packages download and execute unverified binaries, creating urgent supply chain risk for affected developers and CI/CD environments.
Cycle through the items of an array
This package can be useful for cycling through tabs, images of slideshows, etc.
$ npm install cycled
import Cycled from 'cycled';
const cycled = new Cycled([1, 2, 3]);
cycled.current();
//=> 1
cycled.next();
//=> 2
cycled.next();
//=> 3
cycled.next();
//=> 1
cycled.previous();
//=> 3
cycled = new Cycled(array)Initiates an array subclass with the methods documented below. Since it's an array, you can use all the normal array methods on it.
Type: Array
The array to wrap.
The instance is an iterable that will cycle through the array. It will cycle through the number of elements equaling the length of the array from the current index.
import Cycled from 'cycled';
const numberCycle = new Cycled([1, 2, 3, 4, 5]);
console.log(...numberCycle);
//=> 1 2 3 4 5
Returns the current item.
Returns the next item.
Returns the previous item.
Returns the item by going the given amount of steps through the array. For example, calling step(2) is like calling next() twice. You go backward by specifying a negative number.
Returns the item that is located in the given amount of steps through the array. For example, calling peek(2) would get the item 2 items after the current one. You go backward by specifying a negative number.
This method is similar to .step() but without changing the current item.
Get or set the current index.
Returns an iterable that will cycle through the array indefinitely.
Returns an iterable that will cycle through the array backward indefinitely.
Here we create a simple tab component that can have the active view set or go forward/backward through the tabs.
import Cycled from 'cycled';
class TabComponent {
#activeView;
#views;
constructor(views) {
this.#activeView = views[0];
this.#views = new Cycled(views);
}
setActiveView(view) {
this.#activeView = view;
this.#views.index = this.views.indexOf(view);
}
nextView() {
setActiveView(this.#views.next());
}
previousView() {
setActiveView(this.#views.previous());
}
}
const tabs = new TabComponent([
'Homepage',
'Blog',
'Projects',
'Contact'
]);
// …
nextButton.addEventListener('click', () => {
tabs.nextView();
});
FAQs
Cycle through the items of an array
The npm package cycled receives a total of 15,694 weekly downloads. As such, cycled popularity was classified as popular.
We found that cycled demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Compromised SAP CAP npm packages download and execute unverified binaries, creating urgent supply chain risk for affected developers and CI/CD environments.

Company News
Socket has acquired Secure Annex to expand extension security across browsers, IDEs, and AI tools.

Research
/Security News
Socket is tracking cloned Open VSX extensions tied to GlassWorm, with several updated from benign-looking sleepers into malware delivery vehicles.