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
JavaScript
;
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