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

42 lines (32 loc) 881 B
import Bunyan from 'bunyan'; const log = Bunyan.createLogger({name: "Plugin"}); import { NONE, PLUGIN } from '../constants/types'; import FieldOMat from '../class-o-mat/field-o-mat'; import RadioOMat from '../class-o-mat/radio-o-mat'; class FieldPlugin { constructor(parent) { this._params = { parent, addedMixins: NONE, oMatMixins: NONE, } } connectToClassOMat(classOMat) { const { oMatMixins } = this._params; if (oMatMixins !== NONE) { const BaseFieldOMat = classOMat._params.FieldOMat; @mixin(oMatMixins) class FieldOMat extends BaseFieldOMat {}; classOMat._params.FieldOMat = FieldOMat; } } addMixins(mixins) { this._params.addedMixins = mixins; return this; } addOMatMixins(mixins) { this._params.oMatMixins = mixins; return this; } } export default FieldPlugin;