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
63 lines (49 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _bunyan = require('bunyan');
var _bunyan2 = _interopRequireDefault(_bunyan);
var _types = require('../constants/types');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var log = _bunyan2.default.createLogger({ name: "EventMethodsOMat" });
var eventMethods = {
onDelete: function onDelete() {
// HAH! I don't exist yet!
},
onGet: function onGet() {
var _this = this;
var key = this._params.key;
for (var _len = arguments.length, callbacks = Array(_len), _key = 0; _key < _len; _key++) {
callbacks[_key] = arguments[_key];
}
callbacks.forEach(function (callback) {
return _this._appendEvent(callback, key, 'ON_GET');
});
return this;
},
onSet: function onSet() {
var _this2 = this;
var key = this._params.key;
for (var _len2 = arguments.length, callbacks = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
callbacks[_key2] = arguments[_key2];
}
callbacks.forEach(function (callback) {
return _this2._appendEvent(callback, key, 'ON_SET');
});
return this;
},
_appendEvent: function _appendEvent(callback, key, EVENT_KEY) {
var currentCallback = this._params[EVENT_KEY];
if (currentCallback === _types.NONE) {
this._params[EVENT_KEY] = callback;
} else {
this._params[EVENT_KEY] = function (self, key, value) {
currentCallback(self, key, value);
callback(self, key, value);
};
}
}
};
exports.default = eventMethods;
//# sourceMappingURL=_event-methods-o-mat.js.map