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

67 lines (50 loc) 1.96 kB
'use strict'; 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