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

121 lines (93 loc) 3.04 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.swapper = exports.toggler = exports.staticSetter = exports.getterSetterSafe = exports.getterSetter = exports.setter = exports.getter = undefined; 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: "field-functions" }); var paramSetter = function paramSetter(_ref) { var isStack = _ref.isStack, isQueue = _ref.isQueue; if (isStack === false && isQueue === false) { return function (ts, params, key, value) { return params[key] = value; }; } if (isStack === true) { return function (ts, params, key, value) { params[key].push(value); }; } return function (ts, params, key, value) { return params[key].unshift(value); }; }; var getter = function getter(opt) { return function (ts, params, key) { return params[key]; }; }; var setter = function setter(opt) { return paramSetter(opt); }; var getterSetter = function getterSetter(opt) { var setter = paramSetter(opt); return function (ts, params, key) { var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _types.NONE; if (value === _types.NONE) return params[key]; setter(ts, params, key, value); return ts; }; }; var getterSetterSafe = function getterSetterSafe(opt) { var setter = paramSetter(opt); return function (ts, params, key) { var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _types.NONE; var safe = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _types.NONE; if (value === _types.NONE) { if (safe === _types.NONE) return params[key]; if (safe === false) { throw new Error('Null parameter set for ' + key + '.'); } if (safe === true) { return ts; } } setter(ts, params, key, value); return ts; }; }; var toggler = function toggler(opt) { return function (ts, params, key) { var v = params[key]; params[key] = v === true ? false : true; return ts; }; }; var swapper = function swapper(opt) { return function (ts, params, key) { var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _types.NONE; if (value === _types.NONE) return params[key]; var v = params[key]; params[key] = value; return v; }; }; var staticSetter = function staticSetter(_ref2) { var staticValue = _ref2.staticValue; return function (ts, params, key) { params[key] = staticValue; return ts; }; }; exports.getter = getter; exports.setter = setter; exports.getterSetter = getterSetter; exports.getterSetterSafe = getterSetterSafe; exports.staticSetter = staticSetter; exports.toggler = toggler; exports.swapper = swapper; //# sourceMappingURL=field-functions.js.map