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

63 lines (49 loc) 1.66 kB
'use strict'; 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