2014-04-14 15:09:57 -04:00
|
|
|
"use strict";
|
|
|
|
|
|
2014-09-06 01:04:20 -04:00
|
|
|
var helpers = {},
|
|
|
|
|
winston = require('winston');
|
2014-04-14 15:09:57 -04:00
|
|
|
|
2014-07-24 12:41:22 -04:00
|
|
|
helpers.toMap = function(data) {
|
|
|
|
|
var map = {};
|
|
|
|
|
for (var i = 0; i<data.length; ++i) {
|
|
|
|
|
map[data[i]._key] = data[i];
|
2014-04-14 15:09:57 -04:00
|
|
|
}
|
2014-07-24 12:41:22 -04:00
|
|
|
return map;
|
|
|
|
|
}
|
2014-04-14 15:09:57 -04:00
|
|
|
|
|
|
|
|
helpers.fieldToString = function(field) {
|
|
|
|
|
if(field === null || field === undefined) {
|
|
|
|
|
return field;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(typeof field !== 'string') {
|
|
|
|
|
field = field.toString();
|
|
|
|
|
}
|
|
|
|
|
// if there is a '.' in the field name it inserts subdocument in mongo, replace '.'s with \uff0E
|
|
|
|
|
field = field.replace(/\./g, '\uff0E');
|
|
|
|
|
return field;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
helpers.valueToString = function(value) {
|
|
|
|
|
if(value === null || value === undefined) {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return value.toString();
|
|
|
|
|
};
|
|
|
|
|
|
2014-09-03 01:13:28 -04:00
|
|
|
helpers.noop = function() {};
|
2014-04-14 15:09:57 -04:00
|
|
|
|
2014-09-06 01:04:20 -04:00
|
|
|
helpers.checkKeys = function(keys) {
|
|
|
|
|
if (!Array.isArray(keys)) {
|
|
|
|
|
var e = new Error('invalid keys');
|
|
|
|
|
winston.warn('[INVALID_KEYS] ', e.stack);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (keys.length >= 50) {
|
|
|
|
|
var e = new Error('too many keys');
|
|
|
|
|
winston.warn('[TOO_MANY_KEYS] ' + keys.length + ' ' + keys[0] + ' ' + keys[keys.length - 1] + '\n', e.stack);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-14 15:09:57 -04:00
|
|
|
module.exports = helpers;
|