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

limitedQueue

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

limitedQueue

A queue which limits space and storage size

latest
Source
npmnpm
Version
0.1.4
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

limitedQueue

An npm package which has a queue and a load balancing queue system.

Installation

 $ npm install limitedQueue

Basic Usage

    const q = require('limitedQueue');
    let limited = new q.LimitedQueue(5);
    for (var i = 0; i < 10; i ++) {
        limited.enqueue(i);
    }
    limited.size();
    => 5
    limited.toArray();
    => [ 5, 6, 7, 8, 9 ]
    limited.dequeue();
    => 5
    

Another Simple Data Structure Module?

No.

LimitedQueue Class:
  • Fits data to a specified number of bytes
  • Built-in Event System
  • Optimized for storage using a simple linked List
  • Automatic Dequeing
AutoQueue Class:
  • Limited number of items
  • Automatically dequeues when limit is hit, using callback on each item

AutoQueueBalancer:

  • A load balancer for an asynchronous function
  • When an item is enqueued, it is pushed to the asynchronous function
  • Uses a Min-Heap to prioritize which queue to delegate the job to
  • Allows for simple usage of calling a lot of asynchronous functions which cannot be run on the same object

More Usage Info

LimitedQueue

    const q = require('limitedQueue');
    let limited = new q.LimitedQueue(5);
    let enqueueHook = limited.on('enqueue', () => {console.log('ok')});
    for (var i = 0; i < 10; i ++) {
        limited.enqueue(i);
        => logs OK 10 times
    };
    limited.off('enqueue', enqueueHook);
    //Enqueueing will no longer console log.
    limited.size();
    => 5
    limited.toArray();
    => [ 5, 6, 7, 8, 9 ]
    limited.dequeue();
    => 5
    limited.squelch(100); //Bytes of Storage space not including space of object
    limited.dequeueInterval(100, console.log);
    //Will log an item from the queue every 100 ms and remove it from the queue

AutoQueue

    const q = require('limitedQueue');
    let arr = [];
    let auto = new q.AutoQueue(3, arr.push);
    auto.changeLimit(5);
    //New limit of 5 items
    auto.enqueue(1, 2, 3, 4);
    auto.dequeueAll(function Callback(item, done) => {
        setTimeout(() => {
            arr.push(item);
            if (item !== 3) {
                done();
            } else {
                done(true);
            }
        }, 1000);
    });
    //After approx. 3000 seconds, the array will have [ 1, 2, 3 ], and autoQueue will
    //have 4.
    auto.onLimit(/* callback function */);
    //Sets the default callback to use when dequeueAll is called.

Keywords

Queue

FAQs

Package last updated on 08 Nov 2016

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