UNPKG

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