UNPKG

sharyn

Version:

Combines all the other packages under one.

65 lines (54 loc) 1.78 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _isInt = _interopRequireDefault(require("validator/lib/isInt")); var _lodash = _interopRequireDefault(require("lodash.forown")); var parseObject = function parseObject(obj) { var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, integerParam = _ref.integer, toggleParam = _ref.toggle; var parsedObject = {}; var integerProperties; if (typeof integerParam === 'string') { integerProperties = [integerParam]; } else if (!integerParam) { integerProperties = []; } else { integerProperties = integerParam; } var toggleProperties; if (typeof toggleParam === 'string') { toggleProperties = [toggleParam]; } else if (!toggleParam) { toggleProperties = []; } else { toggleProperties = toggleParam; } (0, _lodash.default)(obj, function (value, key) { if (integerProperties.find(function (f) { return f === key; })) { if ((0, _isInt.default)(value)) { parsedObject[key] = Number(value); } else { throw Error("Value '".concat(value, "' of integer property '").concat(key, "' is not an integer.")); } } else if (toggleProperties.find(function (f) { return f === key; })) { if (value === 'on') { parsedObject[key] = true; } else if (value) { throw Error("Value '".concat(value, "' of toggle property '").concat(key, "' is not 'on'.")); } } else if (value !== '') { parsedObject[key] = value; } }); return parsedObject; }; var _default = parseObject; exports.default = _default;