GithubHelp home page GithubHelp logo

isabella232 / underverse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from observing/underverse

0.0 0.0 0.0 10 KB

Underverse is a small backlog/queue manager that detects when items in your backlog are out of sync

License: MIT License

JavaScript 100.00%

underverse's Introduction

Underverse

Underverse is a small backlog/queue manager that detects when items in your backlog are out of sync and issues a fetch event to retrieve the missing items. This module makes the following assumptions about your backlog of data:

  • The backlog works with a bag of a ids.
  • The ids a nummeric which equals the position of the backlog.
  • The ids are ordered.
  • The backlog has limit.
  • The backlog resets it's ids once the limit is reached.

Build status

Build Status

Installation

The installation is done through npm

npm install underverse --save

Add the --save if you want to save the module in your package.json.

Usage

The module is initialized with the size of the backlog;

var Underverse = require('underverse')
  , uv = new Underverse(1000);

The snippet above creates a new underverse that works with a backlog that can contain 1000 items. You should set the initial id of log. For example if your queue is filled with 100/10000 slots:

uv.cursor(100);

As it could be possible that your messages get out of sync if you use a remote backlog (for example a reconnect) you can listen to the fetch event to know which ids are missing.

uv.on('fetch', function (missing, mark) {

})

The fetch event receives 2 arguments, an array of missing id and a mark function. The mark function allows you set all ids in to a fetching state so you won't retrieve duplicate fetch calls that retrieve the same information. If you call the mark function with a boolean true it will mark all missing ids as received.

When you have received a message from your backlog call the uv.received() method with the id.

uv.received(10)

and that's it. Take a look at the tests for some examples.

License

MIT

underverse's People

Contributors

3rd-eden avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.