bitcore-wallet-service/lib/utils.js

42 lines
779 B
JavaScript

var $ = require('preconditions').singleton();
var _ = require('lodash');
var Lock = require('./lock');
var Utils = {};
Utils.runLocked = function(token, cb, task) {
var self = this;
$.shouldBeDefined(token);
Lock.get(token, function(lock) {
var _cb = function() {
cb.apply(null, arguments);
lock.free();
};
task(_cb);
});
};
Utils.checkRequired = function(obj, args) {
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;
};
/**
*
* @desc rounds a JAvascript number
* @param number
* @return {number}
*/
Utils.strip = function(number) {
return (parseFloat(number.toPrecision(12)));
}
module.exports = Utils;