1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.default = void 0;
|
9 |
|
10 | var _isInt = _interopRequireDefault(require("validator/lib/isInt"));
|
11 |
|
12 | var _lodash = _interopRequireDefault(require("lodash.forown"));
|
13 |
|
14 | var parseObject = function parseObject(obj) {
|
15 | var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
16 | integerParam = _ref.integer,
|
17 | toggleParam = _ref.toggle;
|
18 |
|
19 | var parsedObject = {};
|
20 | var integerProperties;
|
21 |
|
22 | if (typeof integerParam === 'string') {
|
23 | integerProperties = [integerParam];
|
24 | } else if (!integerParam) {
|
25 | integerProperties = [];
|
26 | } else {
|
27 | integerProperties = integerParam;
|
28 | }
|
29 |
|
30 | var toggleProperties;
|
31 |
|
32 | if (typeof toggleParam === 'string') {
|
33 | toggleProperties = [toggleParam];
|
34 | } else if (!toggleParam) {
|
35 | toggleProperties = [];
|
36 | } else {
|
37 | toggleProperties = toggleParam;
|
38 | }
|
39 |
|
40 | (0, _lodash.default)(obj, function (value, key) {
|
41 | if (integerProperties.find(function (f) {
|
42 | return f === key;
|
43 | })) {
|
44 | if ((0, _isInt.default)(value)) {
|
45 | parsedObject[key] = Number(value);
|
46 | } else {
|
47 | throw Error("Value '".concat(value, "' of integer property '").concat(key, "' is not an integer."));
|
48 | }
|
49 | } else if (toggleProperties.find(function (f) {
|
50 | return f === key;
|
51 | })) {
|
52 | if (value === 'on') {
|
53 | parsedObject[key] = true;
|
54 | } else if (value) {
|
55 | throw Error("Value '".concat(value, "' of toggle property '").concat(key, "' is not 'on'."));
|
56 | }
|
57 | } else if (value !== '') {
|
58 | parsedObject[key] = value;
|
59 | }
|
60 | });
|
61 | return parsedObject;
|
62 | };
|
63 |
|
64 | var _default = parseObject;
|
65 | exports.default = _default; |
\ | No newline at end of file |