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
67 lines (50 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _bunyan = require('bunyan');
var _bunyan2 = _interopRequireDefault(_bunyan);
var _lodash = require('lodash.merge');
var _lodash2 = _interopRequireDefault(_lodash);
var _types = require('../constants/types');
var _classOMatFieldFunctions = require('./class-o-mat-field-functions');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var log = _bunyan2.default.createLogger({ name: "ApiOMat" });
var apiMethods = {
/**
* getter setter for key
* @param {string} name
* @return {string|ClassOMat}
*/
key: function key() {
var _key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _types.NONE;
return (0, _classOMatFieldFunctions.getterSetter)(this, 'key', _key);
},
/**
* get or set the params object. If merge === NONE
* the new params completely override existing ones.
* If merge = true, the new params are merged into the
* existing params, and the existing params take precedence.
*
* If merge = false, the existing params are merged
* into the new params
* ( new params take precedence )
* @param {object} params
* @param {Boolean} merge ( default = true)
* @return {object|Paramset} the params or this
*/
params: function params() {
var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _types.NONE;
var merge = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _types.NONE;
if (_params === _types.NONE) return this._params;
if (merge === true) {
_params = (0, _lodash2.default)(this._params, _params);
} else if (merge === false) {
_params = (0, _lodash2.default)(_params, this._params);
}
this._params = _params;
return this;
}
};
exports.default = apiMethods;
//# sourceMappingURL=_api-methods-o-mat.js.map