class-o-mat
Version:
ALPHA VERSION ONLY: class-o-mats will help to create getter-setter functionality with validations that can be attached to a container class for easier coding. Some basic validations are included. class-o-mats also has the ability to store params as bloc
40 lines (29 loc) • 991 B
JavaScript
import Bunyan from 'bunyan';
const log = Bunyan.createLogger({name: "ApiField"});
import { API_FIELD_DYNAMIC } from '../constants/types';
import FieldOMat from '../class-o-mat/field-o-mat';
import FieldValidatorOMat from '../class-o-mat/field-validator-o-mat';
import ApiField from './api-field';
class ApiFieldDynamic extends ApiField {
static TYPE = API_FIELD_DYNAMIC;
TYPE = API_FIELD_DYNAMIC;
constructor(parent, fieldOMat, paramObjectKey, key) {
super(parent, fieldOMat, paramObjectKey);
class ValidatorOMat extends FieldValidatorOMat {
$() {
return super.$().$();
}
}
this._params.ValidatorOMat = ValidatorOMat;
}
field() {
const { key, fieldOMat, parent } = this._params;
const newFieldOMat = new FieldOMat().init(this, key);
this._params.fieldOMat = newFieldOMat;
return newFieldOMat;
}
validate() {
return this.field().validate(this._params.ValidatorOMat);
}
}
export default ApiFieldDynamic;