UNPKG

verificator

Version:

Client and server-side validation JavaScript library

57 lines (46 loc) 1.9 kB
'use strict'; exports.__esModule = true; var _isPlainObject = require('./isPlainObject'); var _isPlainObject2 = _interopRequireDefault(_isPlainObject); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var flatten = function flatten(object) { if (!(0, _isPlainObject2['default'])(object) && !Array.isArray(object)) { return object; } var result = {}; for (var _iterator = Object.keys(object), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var key = _ref; if ((0, _isPlainObject2['default'])(object[key]) || Array.isArray(object[key])) { var keys = Object.keys(object[key]); if (keys.length) { var flatData = flatten(object[key]); for (var _iterator2 = Object.keys(flatData), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { var _ref2; if (_isArray2) { if (_i2 >= _iterator2.length) break; _ref2 = _iterator2[_i2++]; } else { _i2 = _iterator2.next(); if (_i2.done) break; _ref2 = _i2.value; } var kkey = _ref2; result[key + '.' + kkey] = flatData[kkey]; } continue; } } result[key] = object[key]; } return result; }; exports['default'] = flatten;