38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports["default"] = void 0;
|
|
|
|
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
|
|
// flattenObjectKeys({
|
|
// a: {
|
|
// b: {
|
|
// c: [],
|
|
// d: {
|
|
// e: [{ f: [] }, { b: 1 }],
|
|
// g: {}
|
|
// }
|
|
// }
|
|
// }
|
|
// });
|
|
//
|
|
// [ [ 'a', 'b', 'c' ],
|
|
// [ 'a', 'b', 'd', 'e', '0', 'f' ],
|
|
// [ 'a', 'b', 'd', 'e', '1', 'b' ],
|
|
// [ 'a', 'b', 'd', 'g' ] ]
|
|
//
|
|
var flattenObjectKeys = function flattenObjectKeys(obj) {
|
|
var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
return Object.keys(obj).reduce(function (acc, key) {
|
|
var o = (0, _isPlainObject["default"])(obj[key]) && Object.keys(obj[key]).length > 0 || Array.isArray(obj[key]) && obj[key].length > 0 ? flattenObjectKeys(obj[key], keys.concat(key)) : [keys.concat(key)];
|
|
return acc.concat(o);
|
|
}, []);
|
|
};
|
|
|
|
var _default = flattenObjectKeys;
|
|
exports["default"] = _default; |