bitcore-wallet-service/lib/utils.js

42 lines
779 B
JavaScript
Raw Normal View History

2015-02-02 10:29:14 -08:00
var $ = require('preconditions').singleton();
var _ = require('lodash');
2015-02-02 11:00:32 -08:00
var Lock = require('./lock');
2015-02-02 10:29:14 -08:00
2015-02-02 11:00:32 -08:00
var Utils = {};
2015-02-02 10:29:14 -08:00
Utils.runLocked = function(token, cb, task) {
2015-02-02 12:07:18 -08:00
var self = this;
2015-02-02 11:00:32 -08:00
2015-02-11 06:40:48 -08:00
$.shouldBeDefined(token);
Lock.get(token, function(lock) {
var _cb = function() {
2015-02-02 12:07:18 -08:00
cb.apply(null, arguments);
lock.free();
};
task(_cb);
});
2015-02-02 11:00:32 -08:00
};
Utils.checkRequired = function(obj, args) {
2015-02-02 12:07:18 -08:00
args = [].concat(args);
if (!_.isObject(obj)) return false;
for (var i = 0; i < args.length; i++) {
if (!obj.hasOwnProperty(args[i])) return false;
}
return true;
2015-02-02 10:29:14 -08:00
};
2015-02-03 18:17:06 -08:00
/**
*
2015-02-03 18:17:06 -08:00
* @desc rounds a JAvascript number
* @param number
* @return {number}
*/
Utils.strip = function(number) {
return (parseFloat(number.toPrecision(12)));
}
2015-02-02 11:00:32 -08:00
module.exports = Utils;