1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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;
- }
- };
|