a generic utilities library for node.js
Install and use it via npm.
npm install node-helper-utilities --save
var util = require('./');
var obj = {
a: false,
b: true
};
var b = util.clean(obj);
console.log(b);
// {
// b: true
// }
var util = require('./');
var obj = {
key: 'value',
key2: {
field : ['a','b']
}
};
var cloned = util.clone(obj);
var util = require('./');
var a = {
a: 'b'
};
var b = {
b: 'c'
};
var out = util.merge(a, b);
Takes optional config
as follow:
{
"enable": true,
"instances": 5
}
By default, the instances
is set to (Max CPUs - 1).
var util = require('./');
var http = require('http');
function start() {
http.createServer(function(req, res) {}).listen(3000);
}
util.cluster(function() {
// start server...
start();
});
// Or using configs.
util.cluster(config, function() {
// start server...
start();
});
Create uniquely generated tokens.
var util = require('./');
util
.unique()
.then(function(token) {
console.log(token);
})
.catch(function(err) {
// some error happened;
console.log(err);
});
// or allow prefix.
util
.unique('someprefix')
.then(function(token) {
console.log(token); // someprefix:<unique>
})
.catch(function(err) {
assert(err);
});
var util = require('./');
util
.hash('password')
.then(function(hashed) {
console.log(hashed);
})
.catch(function(err) {
console.log(err);
});
util
.compare('password', hashed)
.then(function(result) {
console.log(result);
})
.catch(function(err) {
console.log(err);
});
Defer a function to a later time (default: 0 ms, ie. next iteration)
var util = require('./');
util
.defer(100)
.then(function() {
console.log('this happened 100 ms later!');
});
console.log('this happens immediately!');
Often when you deal with async processes and have to pass data as JSON around, there is always potential for errors. This function is to parse json safely, and return a promise.
var util = require('./');
var couldBeJSONcouldBeString = ...;
util
.parse(couldBeJSONcouldBeString)
.then(function(parsed) {
// parsed version of `couldBeJSONcouldBeString`
console.log(parsed);
})
.catch(function(err) {
// handle error here
console.log(err);
});
var util = require('./');
var path = 'some_path';
util
.write(path, 'hello world!')
.then(function() {
return util.read(path);
})
.then(function(data) {
console.log(data); // hello world!
})
.catch(function(err) {
console.log(err.stack);
});
var util = require('./');
var str = 'h';
var padded = util.padder(str, { prefix: 'x', length: 5 });
console.log(padded); // 'xxxxh'
All tests are within tests
.
Run tests using make test
or make test-cov
for test coverage.
TravisCI build is tested against all versions >= 4.x