function getEndDate (startDate, duration, durationUnit, t) { const startDateMoment = moment(startDate) if (!startDateMoment.isValid()) { throw new Error(t('api/appendPeriod/startDateNotValid')) } const endDateMoment = startDateMoment.add(duration, durationUnit) if (!endDateMoment.isValid()) { throw new Error(t('api/appendPeriod/durationOrDurationUnitNotValid', { duration, durationUnit })) } return endDateMoment.toDate() }
handler(value) { const type = getType(value); if ( type === 'undefined' ) return; if ( type !== 'string' ) { return errors.NOT_STRING; } const date = moment(value, dateFormat, true); if ( !date.isValid() ) { return errors.INVALID_FORMAT; } if ( !date.isBetween(sDate, eDate, null, '[]') ) { return errors.INVALID_RANGE; } }
/** * This method validates dateFrom sent as request body is valid datetime * @param {String} dateFrom DateTime as String */ function validateDatetimeReq({ dateFrom } = {}) { if (!dateFrom || !moment(dateFrom).isValid()) { throw new Error('DateFrom should be a valid datetime'); } return true; }
_adaptSchedules (schedules, added_or_removed) { let validation_passed = true; const adapted_schedules = schedules.map((schedule) => { const time = moment.utc(schedule.time); if (utils.isEmpty(schedule.time) || utils.isEmpty(schedule.level) || !time.isValid()) { validation_passed = false; return; } return { seconds_into_day: moment.duration(time.diff(time.clone().startOf('day'))).asSeconds(), level: this._adaptPercentageToDevice(schedule.level, LEVEL_SCALE), on: true, should_add: added_or_removed === 'added', should_delete: added_or_removed === 'removed' }; }); return validation_passed && adapted_schedules; }
/** * @method findQuestType * @description this method guesses the type of a JSON property based on the data type * @param {answRow} - value of property * @return {string} - DataRouter data type */ function findQuestType(answRow) { if (!_.isNull(answRow) && !isNaN(answRow)) { return "numeric-general"; } else if (_.isString(answRow) && (moment(answRow, config.formatDate, true).isValid())) { return "date"; } else { return "text-label"; } }
function detectType (value) { var type = typeof value if (type === 'number') { return Number.isInteger(value) ? 'Integer' : 'Double' } else if (type && moment(value, DATE_FORMATS, true).isValid()) { return 'Date' } else { return 'String' } }
it('1022: 获取子数组详情', done => { request(app) .get(`/api/v1/test/tests/${newCreateId4}/p5/${arrayPropId1}`) .end((err, res) => { if (err) return done(err) const createTime = moment(_.get(res.body, ['data', 's2', 0, 'ss3'])) assert(createTime.isValid()) _.unset(res, ['body', 'data', 's2', 0, 'ss3']) assert.deepEqual(res.body.data, { id: arrayPropId1, s1: 'key1', s2: [ { ss1: '子属性测试1-修改值1', ss2: [], id: '5e7c13ecbc1503719aa22b40' } ] }) done() }) })
const stat = (reqId, location) => { clientContext.server.fs.stat(location, (err, item) => { if (err) { if (err.code === 'ENOENT') { return sftp.status(reqId, STATUS_CODE.NO_SUCH_FILE); } clientContext.server.log.warn({ path: location, exception: err, identifier: clientContext.request_id, }, 'An error occurred while attempting to perform a STAT operation in the SFTP server.'); return sftp.status(reqId, STATUS_CODE.FAILURE); } const timeCreated = Moment(item.created).isValid() ? Moment(item.created) : Moment('1970-01-01', 'YYYY-MM-DD'); const timeModified = Moment(item.modified).isValid() ? Moment(item.modified) : Moment('1970-01-01', 'YYYY-MM-DD'); return sftp.attrs(reqId, { mode: (item.directory) ? Fs.constants.S_IFDIR | 0o755 : Fs.constants.S_IFREG | 0o644, permissions: (item.directory) ? 0o755 : 0o644, uid: Config.get('docker.container.user', 1000), gid: Config.get('docker.container.user', 1000), size: item.size, atime: parseInt(timeCreated.format('X'), 10), mtime: parseInt(timeModified.format('X'), 10), }); }); }
/** * Converts one date string to dateTime * @param {string} d date * @return {string} dateTime */ function dateToDateTime(d) { if (d) { let date = moment(d); // return null if not is valid if (!date.isValid()) return null; // return data in datetime format return date.format('YYYY-MM-DD HH:mm:ss'); } else { return null; } }
const isValidDDMMYY = date => moment(date, "DD-MM-YY", true).isValid()
handler(value) { const type = getType(value); if ( type === 'undefined' ) return; if ( type !== 'string' ) { return errors.NOT_STRING; } const date = moment(value, dateFormat, true); if ( !date.isValid() ) { return errors.INVALID_FORMAT; } if ( !date.isBetween(sDate, eDate, null, '[]') ) { return errors.INVALID_RANGE; } }
function getEndDate (startDate, duration, durationUnit, t) { const startDateMoment = moment(startDate) if (!startDateMoment.isValid()) { throw new Error(t('api/appendPeriod/startDateNotValid')) } const endDateMoment = startDateMoment.add(duration, durationUnit) if (!endDateMoment.isValid()) { throw new Error(t('api/appendPeriod/durationOrDurationUnitNotValid', { duration, durationUnit })) } return endDateMoment.toDate() }
handler(value) { const type = getType(value); if ( type === 'undefined' ) return; if ( type !== 'string' ) { return errors.NOT_STRING; } const date = moment(value, dateFormat, true); if ( !date.isValid() ) { return errors.INVALID_FORMAT; } // [] paramer is for valdating the date inclusively if ( !date.isBetween(sDate, eDate, null, '[]') ) { return errors.INVALID_RANGE; } }
_adaptSchedules (schedules, added_or_removed) { let validation_passed = true; const adapted_schedules = schedules.map((schedule) => { const time = moment.utc(schedule.time); if (utils.isEmpty(schedule.time) || utils.isEmpty(schedule.level) || !time.isValid()) { validation_passed = false; return; } return { seconds_into_day: moment.duration(time.diff(time.clone().startOf('day'))).asSeconds(), level: this._adaptPercentageToDevice(schedule.level, LEVEL_SCALE), on: true, should_add: added_or_removed === 'added', should_delete: added_or_removed === 'removed' }; }); return validation_passed && adapted_schedules; }
_adaptSchedules (schedules, added_or_removed) { let validation_passed = true; const adapted_schedules = schedules.map((schedule) => { const time = moment.utc(schedule.time); if (utils.isEmpty(schedule.time) || utils.isEmpty(schedule.level) || !time.isValid()) { validation_passed = false; return; } return { seconds_into_day: moment.duration(time.diff(time.clone().startOf('day'))).asSeconds(), level: this._adaptPercentageToDevice(schedule.level, LEVEL_SCALE), on: true, should_add: added_or_removed === 'added', should_delete: added_or_removed === 'removed' }; }); return validation_passed && adapted_schedules; }