New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@stheine/ringbufferjs

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stheine/ringbufferjs

A ring buffer data structure for Node.js and the browser, extended with some functions for numeric data (sum, min, max, avg).

latest
Source
npmnpm
Version
0.1.1
Version published
Maintainers
1
Created
Source

@stheine/ringbuffer.js

A ring buffer data structure for Node.js and the browser, extended with some functions for numeric data (sum, min, max, avg).

Reference

This module is based on ringbufferjs by janogonzalez.

Installation

As component for the browser:

$ component install stheine/ringbufferjs

As npm for Node.js:

$ npm install @stheine/ringbufferjs

Example

var RingBuffer = require('ringbufferjs');

var ring = new RingBuffer(2);

ring.enq(10);
ring.enq(5);
ring.enq(1); // 10 will be discarded
ring.size(); // 2
ring.peek(); // 5
ring.deq(); // 5
ring.size(); // 1

API

RingBuffer()

Initializes a new empty RingBuffer with the default capacity (50).

RingBuffer(capacity)

Initializes a new empty RingBuffer with the given capacity.

RingBuffer#capacity()

Returns the capacity of the ring buffer.

RingBuffer#deq()

Dequeues the top element of the ring buffer. Throws an Error when the buffer is empty.

RingBuffer#enq(element)

Enqueues the element at the end of the ring buffer and returns its new size. When the buffer is full the oldest element is discarded.

RingBuffer#isEmpty()

Returns whether the ring buffer is empty or not.

RingBuffer#isFull()

Returns whether the ring buffer is full or not.

RingBuffer#peek()

Peeks at the top element of the ring buffer. Throws an Error when the buffer is empty.

RingBuffer#size()

Returns the size of the ring buffer.

RingBuffer#dump()

Returns all elements of the queue. Throws an Error when the buffer is empty.

RingBuffer#sum()

Returns the sum of all elements of the queue. Throws an Error when the buffer is empty.

RingBuffer#min()

Returns the minimum of all elements of the queue. Throws an Error when the buffer is empty.

RingBuffer#max()

Returns the maximum of all elements of the queue. Throws an Error when the buffer is empty.

RingBuffer#avg()

Returns the average of all elements of the queue. Throws an Error when the buffer is empty.

Testing

As component in the browser, open test/test.html in your browser:

$ make
$ open test/test.html

As npm package:

$ npm test

Licence

MIT

Keywords

ring

FAQs

Package last updated on 06 Dec 2020

Did you know?

Socket

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.

Install

Related posts