0.0.6 • Published 10 years ago

q.js v0.0.6

Weekly downloads
53
License
MIT
Repository
github
Last release
10 years ago

Q.js

NodeJS Queue module that can be used for a limitless amount of things and just works!

//Create new queues queue.init('login');

queue.use('login').add('abe'); //queue = abe name = queue.use('login').shift(); //abe

<h3>Adding to Queues</h3>
```javascript
var queue = require('q.js');

queue.use('login').add('abe').add('bob').add('chris');
queue.use('login').add('derek');
//queue = [abe,bob,chris,derek]

queue.use('login').add('abe').add('bob');

queue.use('login').shift()

//queue = bob

<h3>Removing from Queues</h3>
```javascript
var queue = require('q.js');

queue.use('login').add('abe').add('bob');

queue.use('login').remove(1);

//queue = [abe]

queue.use('login').add('abe').add('bob').add('chris');

queue.use('login').loop(function(q) { if(q.check('bob')) q.remove();

q.getCount();
//return: current iteration of the loop

q.get();
//return: Loop #1 abe #2 bob #3 chris

q.remove() 
//removes the current row from the queue

q.check(input) 
//check input against q.get() returns bool

}) //queue = abe,chris

<h3>Fetching</h3>
```javascript
var queue = require('q.js');

queue.use('login').add('abe').add('bob');

queue.use('login').fetch();
//return = [abe,bob]

user1 = { name:'abe', accountType:'admin' }

user2 = { name:'bob', accountType:'user' }

queue.init('users'); queue.init('admins');

queue.routeFilter.register('user/admin', function(accountType) { if(accountType === 'admin') return 'admins' else return 'users'; });

queue.routeFilter.set('user/admin');

//instead of queue.use() we just use route() and pass the accountType so q.js can handle the routing queue.route(user1.accountType).add(user1.name); queue.route(user2.accountType).add(user2.name);

<h3>Events</h3>
```javascript
var queue = require('q.js');

queue.init('test');

queue.use('test').on('add', function(data) {
	console.log('Add event fired! Data:' + data);
});

queue.use('test').on('remove', function(data) {
	console.log('Remove event fired! Data:' + data);
});

queue.use('test').on('shift', function() {
	console.log('Shift event fired!');
});

queue.use('test').on('fetch', function() {
	console.log('Fetch event fired!');
});

queue.use('test').on('change', function() {
	console.log('Change event fired!');
});

queue.use('test').add('bob');
queue.use('test').remove(0);
queue.use('test').shift();
queue.use('test').fetch();
0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago