jhipster-rasha-core
Version:
JHipster's own domain language and core objects
37 lines (30 loc) • 816 B
JavaScript
;
const merge = require('../utils/object_utils').merge,
isNilOrEmpty = require('../utils/string_utils').isNilOrEmpty,
VALIDATIONS = require('./jhipster/validations');
class JDLValidation {
constructor(args) {
const merged = merge(defaults(), args);
this.name = merged.name;
this.value = merged.value;
}
static isValid(validation) {
return validation != null && !isNilOrEmpty(validation.name)
&& VALIDATIONS.exists(validation.name)
&& (VALIDATIONS.needsValue(validation.name) !== isNilOrEmpty(validation.value));
}
toString() {
let string = `${this.name}`;
if (this.value) {
string += `(${this.value})`;
}
return string;
}
}
module.exports = JDLValidation;
function defaults() {
return {
name: 'required',
value: ''
};
}