Socket
Socket
Sign inDemoInstall

candle

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

candle - npm Package Compare versions

Comparing version 0.2.3 to 0.3.0

_linklist.js

19

benchmark/b.js
var Benchmark = require('benchmark').Benchmark;
var suite = new Benchmark.Suite;
candle = require('..').candle;
Candle = require('..').Candle;
//function noop() {};
noop = function() {};
var setup = function() { var c = new candle; };
noop = function() {}
var setup = function() { var c = new Candle; };
var teardown = function() { console.log(c.id, Object.keys(c.callbacks).length); };

@@ -25,3 +24,3 @@ var options = {

.add('1000*add + 1000*resolve', function() {
var c = new candle;
var c = new Candle;
var ids = new Array(1000);

@@ -37,3 +36,3 @@ for (var i = 0; i < 1000; i++) {

.add('1000*add + 1000*resolve(1)', function() {
var c = new candle;
var c = new Candle;
var ids = new Array(1000);

@@ -49,3 +48,3 @@ for (var i = 0; i < 1000; i++) {

.add('1000*add + 1000*resolve(1, 2)', function() {
var c = new candle;
var c = new Candle;
var ids = new Array(1000);

@@ -61,3 +60,3 @@ for (var i = 0; i < 1000; i++) {

.add('1000*add + 1000*resolve(1, 2, 3, 4, 5)', function() {
var c = new candle;
var c = new Candle;
var ids = new Array(1000);

@@ -78,3 +77,3 @@ for (var i = 0; i < 1000; i++) {

.add('1000*add + 1000*setTimeout + 1000*resolve', function() {
var c = new candle;
var c = new Candle;
var ids = new Array(1000);

@@ -93,3 +92,3 @@ for (var i = 0; i < 1000; i++) {

.add('1000*(add + setTimeout) + 1000*timeout', function(deferred) {
var c = new candle;
var c = new Candle;
var n = 0;

@@ -96,0 +95,0 @@ var ITERATIONS = 1000;

@@ -17,3 +17,3 @@ var Benchmark = require('benchmark').Benchmark;

suite
.add('warmup', function() {
/*.add('warmup', function() {
var d = Date.now();

@@ -68,3 +68,3 @@ })

}
})
})*/
.add('add + setTimeout + resolve', function() {

@@ -71,0 +71,0 @@ var id = c.add(noop);

@@ -1,4 +0,4 @@

var candle = require('..').candle;
var Candle = require('..').Candle;
var c = new candle();
var c = new Candle();

@@ -5,0 +5,0 @@ var n = 0;

@@ -1,4 +0,4 @@

var candle = require('..').candle;
var Candle = require('..').Candle;
var c = new candle();
var c = new Candle();

@@ -5,0 +5,0 @@ var n = 0;

@@ -1,4 +0,4 @@

var candle = require('..').candle;
var Candle = require('..').Candle;
var c = new candle();
var c = new Candle();

@@ -5,0 +5,0 @@ var n = 0;

@@ -6,3 +6,6 @@ /*jslint indent: 4 */

var debug = require('debug')('candle');
var candle = function () {
var TimeoutError = function () {};
var Candle = function () {
"use strict";

@@ -13,3 +16,3 @@ this.callbacks = Object.create(null);

};
candle.prototype.add = function (callback) {
Candle.prototype.add = function (callback) {
"use strict";

@@ -21,3 +24,3 @@ var id = ++this.id;

};
candle.prototype.resolve = function (id, err, result) {
Candle.prototype.resolve = function (id, err, result) {
"use strict";

@@ -41,3 +44,3 @@ debug('resolve(' + id + ', ...)');

};
candle.prototype.remove = function (id) {
Candle.prototype.remove = function (id) {
"use strict";

@@ -48,3 +51,3 @@ debug('remove(' + id + ')');

};
candle.prototype.setTimeout = function (id, timeout) {
Candle.prototype.setTimeout = function (id, timeout) {
"use strict";

@@ -56,3 +59,3 @@ debug('setTimeout(' + id + ')');

};
candle.prototype.clearTimeout = function (id) {
Candle.prototype.clearTimeout = function (id) {
"use strict";

@@ -65,3 +68,3 @@ debug('clearTimeout(' + id + ')');

};
candle.prototype.getTimeout = function (id) {
Candle.prototype.getTimeout = function (id) {
"use strict";

@@ -71,3 +74,3 @@ var self = this;

};
candle.prototype.onTimeout = function (id) {
Candle.prototype.onTimeout = function (id) {
"use strict";

@@ -78,9 +81,19 @@ debug('onTimeout(' + id + ')');

} else {
this.resolve(id, 'timeout');
this.resolve(id, new TimeoutError());
}
};
candle.prototype.setTimeoutResolver = function (callback) {
Candle.prototype.setTimeoutResolver = function (callback) {
"use strict";
this.timeoutResolver = callback;
};
module.exports.candle = candle;
Candle.prototype.isTimeoutError = function (obj) {
"use strict";
return obj instanceof TimeoutError;
};
module.exports.Candle = Candle;
var create = function () {
"use strict";
return new Candle();
};
module.exports.create = create;

@@ -1,5 +0,5 @@

var candle = require('..').candle;
var Candle = require('..').Candle;
// Create a new candle, usually you will need only one since it can handle many callbacks.
var c = new candle();
var c = new Candle();

@@ -6,0 +6,0 @@ // Usually on timeout it calls callback with an arguments 'error'.

@@ -5,3 +5,3 @@ // socket imitation compatible with socket.io :)

// server2
socket.on('myrequest', function(payload, id) {
socket.on('myrequest', function(id, payload) {
// dont send anything at all about 'r3'

@@ -18,4 +18,4 @@ if (payload == 'r3') return;

// server1
var candle = require('..').candle;
var c = new candle();
var Candle = require('..').Candle;
var c = new Candle();
var start = Date.now();

@@ -26,3 +26,3 @@ socket.on('myresponse', function(id, response) {

var doSmthWithRequest = function(err, request) {
console.log('got', err, request, 'on', Date.now() - start, 'th ms');
console.log('got', err, request, 'on', (Date.now() - start) + 'th ms');
};

@@ -32,8 +32,8 @@ var id;

c.setTimeout(id, 100);
socket.emit('myrequest', 'r1', id);
socket.emit('myrequest', id, 'r1');
id = c.add(doSmthWithRequest);
c.setTimeout(id, 100);
socket.emit('myrequest', 'r2', id);
socket.emit('myrequest', id, 'r2');
id = c.add(doSmthWithRequest);
c.setTimeout(id, 100);
socket.emit('myrequest', 'r3', id);
socket.emit('myrequest', id, 'r3');

@@ -1,5 +0,5 @@

var candle = require('..').candle;
var Candle = require('..').Candle;
// Create a new candle, usually you will need only one since it can handle many callbacks.
var c = new candle();
var c = new Candle();

@@ -6,0 +6,0 @@ // Add a callback to it

@@ -1,4 +0,4 @@

var candle = require('..').candle;
var Candle = require('..').Candle;
var c = new candle(), id;
var c = new Candle(), id;

@@ -5,0 +5,0 @@ id = c.add(function(err, result) { console.log('cb1', err, result); });

{
"name": "candle",
"version": "0.2.3",
"version": "0.3.0",
"description": "A module for weak referenced callbacks with timeouts.",

@@ -5,0 +5,0 @@ "main": "candle.js",

@@ -19,6 +19,6 @@ node-candle

```javascript
var candle = require('candle').candle;
var Candle = require('candle').Candle;
// Create a new candle, usually you will need only one since it can handle many callbacks.
var c = new candle();
var c = new Candle();

@@ -54,5 +54,5 @@ // Add a callback to it

```javascript
var candle = require('candle').candle;
var Candle = require('candle').Candle;
var c = new candle();
var c = new Candle();

@@ -93,6 +93,6 @@ var start = Date.now();

* `c = new candle` - create a new candle
* `c = new Candle` - create a new candle
* `id = c.add(callback)` - add a callback to the candle. Assigned id is returned.
* `c.resolve(id, [args, ...])` - resolve a callback identified by id and pass custom args to it.
* `c.delete(id)` - completely remove the callback.
* `c.remove(id)` - completely remove the callback.
* `c.setTimeout(id, timeout)` - add a timeout `timeout` ms to a callback by id.

@@ -99,0 +99,0 @@ * `c.clearTimeout(id)` - remove a timeout from a callback by id.

var assert = require("assert")
var candle = require('..').candle;
var Candle = require('..').Candle;

@@ -7,3 +7,3 @@ describe('candle', function(){

it('should return numeric id', function(){
var c = new candle;
var c = new Candle;
var id = c.add(function() {});

@@ -13,3 +13,3 @@ assert.ok(id > 0);

it('should return different ids', function(){
var c = new candle;
var c = new Candle;
var id1 = c.add(function() {});

@@ -22,3 +22,3 @@ var id2 = c.add(function() {});

it('should call callback', function(done){
var c = new candle;
var c = new Candle;
var id = c.add(function() {

@@ -31,3 +31,3 @@ assert.equal(arguments.length, 0);

it('should pass args into callback', function(done){
var c = new candle;
var c = new Candle;
var id = c.add(function(a, b, c) {

@@ -42,3 +42,3 @@ assert.equal(arguments.length, 2);

it('should resolve only once', function(){
var c = new candle;
var c = new Candle;
var sum = 0;

@@ -55,3 +55,3 @@ var id = c.add(function(x) {

it('should remove callback', function(){
var c = new candle;
var c = new Candle;
var id = c.add(function() {

@@ -66,5 +66,5 @@ assert.fail();

it('should resolve callback', function(done){
var c = new candle;
var c = new Candle;
var id = c.add(function(err) {
assert.equal(err, 'timeout');
assert.ok(c.isTimeoutError(err));
done();

@@ -74,4 +74,4 @@ });

});
it('should resolve callback', function(done){
var c = new candle;
it('should not resolve callback if it has been resolved', function(done){
var c = new Candle;
var n = 0;

@@ -93,3 +93,3 @@ var id = c.add(function(err) {

it('should not resolve callback', function(done){
var c = new candle;
var c = new Candle;
var id = c.add(function(err, response) {

@@ -109,3 +109,3 @@ assert.equal(err, null);

it('should then resolve callbacks', function(done){
var c = new candle;
var c = new Candle;
var id = c.add(function(err, response) {

@@ -112,0 +112,0 @@ assert.equal(err, null);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc