|
|
|
@ -142,141 +142,6 @@
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//hashes
|
|
|
|
|
/*
|
|
|
|
|
module.setObject = function(key, obj, callback) {
|
|
|
|
|
if (key.indexOf('topic') !== -1) console.log(key, obj);
|
|
|
|
|
module.set(key, obj, function(err) {
|
|
|
|
|
if (typeof callback === 'function') {
|
|
|
|
|
callback(err, obj);
|
|
|
|
|
}
|
|
|
|
|
}, true);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.setObjectField = function(key, field, value, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
obj[field] = value;
|
|
|
|
|
module.setObject(key, obj, callback, true);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObject = function(key, callback) {
|
|
|
|
|
module.get(key, function(err, obj) {
|
|
|
|
|
callback(err, typeof obj !== 'undefined' ? obj : {});
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObjects = function(keys, callback) {
|
|
|
|
|
var arr = [];
|
|
|
|
|
|
|
|
|
|
async.each(keys, function(key, next) {
|
|
|
|
|
module.getObject(key, function(err, val) {
|
|
|
|
|
arr.push(val);
|
|
|
|
|
next();
|
|
|
|
|
});
|
|
|
|
|
}, function(err) {
|
|
|
|
|
callback(err, arr);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObjectField = function(key, field, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
callback(err, obj[field] || '');
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObjectFields = function(key, fields, callback) {
|
|
|
|
|
var obj = {};
|
|
|
|
|
|
|
|
|
|
async.each(fields, function(field, next) {
|
|
|
|
|
module.getObjectField(key, field, function(err, value) {
|
|
|
|
|
obj[field] = value;
|
|
|
|
|
next();
|
|
|
|
|
});
|
|
|
|
|
}, function(err) {
|
|
|
|
|
callback(err, obj);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObjectsFields = function(keys, fields, callback) {
|
|
|
|
|
var arr = [];
|
|
|
|
|
|
|
|
|
|
async.each(keys, function(key, next) {
|
|
|
|
|
module.getObjectFields(key, fields, function(err, obj) {
|
|
|
|
|
arr.push(obj);
|
|
|
|
|
next();
|
|
|
|
|
});
|
|
|
|
|
}, function(err) {
|
|
|
|
|
callback(err, arr);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObjectKeys = function(key, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
callback(err, Object.keys(obj));
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.getObjectValues = function(key, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
var values = [];
|
|
|
|
|
for (var key in obj) {
|
|
|
|
|
if (obj.hasOwnProperty(key)) {
|
|
|
|
|
values.push(obj[key]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
callback(err, values);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.isObjectField = function(key, field, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
callback(err, !!obj[field]);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.deleteObjectField = function(key, field, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
delete obj[field];
|
|
|
|
|
module.setObject(key, obj, callback);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.incrObjectField = function(key, field, callback) {
|
|
|
|
|
module.incrObjectFieldBy(key, field, 1, callback);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.decrObjectField = function(key, field, callback) {
|
|
|
|
|
module.decrObjectFieldBy(key, field, 1, callback);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.incrObjectFieldBy = function(key, field, value, callback) {
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
|
|
|
|
|
if (key.indexOf('topic') !== -1) console.log(key, field, obj[field], value, obj[field] + value);
|
|
|
|
|
obj[field] = typeof obj[field] !== 'undefined' ? (obj[field] + value) : value;
|
|
|
|
|
if (key.indexOf('topic') !== -1) console.log(key, field, obj[field]);
|
|
|
|
|
module.setObject(key, obj, function(err) {
|
|
|
|
|
if (typeof callback === 'function') {
|
|
|
|
|
callback(err, obj[field]);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.decrObjectFieldBy = function(key, field, value, callback) {
|
|
|
|
|
console.log('wtf');
|
|
|
|
|
module.getObject(key, function(err, obj) {
|
|
|
|
|
obj[field] = obj[field] ? (obj[field] - value) : -value;
|
|
|
|
|
module.setObject(key, obj, function(err) {
|
|
|
|
|
if (typeof callback === 'function') {
|
|
|
|
|
callback(err, obj[field]);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module.setObject = function(key, obj, callback) {
|
|
|
|
|
async.parallel([
|
|
|
|
@ -430,9 +295,7 @@
|
|
|
|
|
|
|
|
|
|
module.setAdd = function(key, value, callback) {
|
|
|
|
|
module.getListRange(key, 0, -1, function(err, set) {
|
|
|
|
|
console.log('add', value, set, set.indexOf(value));
|
|
|
|
|
if (set.indexOf(value) === -1) {
|
|
|
|
|
console.log('adding');
|
|
|
|
|
module.listAppend(key, value, callback);
|
|
|
|
|
} else {
|
|
|
|
|
if (typeof callback === 'function') {
|
|
|
|
|