const moment = require('moment'); module.exports = { /** * Takes an expression such as 30d and returns a moment object of that date in future * * Key Shorthand * ================== * years y * quarters Q * months M * weeks w * days d * hours h * minutes m * seconds s * milliseconds ms * * @param {String} expression * @returns {Object} */ parseDatePeriod: function (expression) { let matches = expression.match(/^([0-9]+)(y|Q|M|w|d|h|m|s|ms)$/m); if (matches) { return moment().add(matches[1], matches[2]); } return null; }, convertIntFieldsToBool: function (obj, fields) { fields.forEach(function (field) { if (typeof obj[field] !== 'undefined') { obj[field] = obj[field] === 1; } }); return obj; }, convertBoolFieldsToInt: function (obj, fields) { fields.forEach(function (field) { if (typeof obj[field] !== 'undefined') { obj[field] = obj[field] ? 1 : 0; } }); return obj; } };