UNPKG

@amaui/utils

Version:
29 lines (28 loc) 1.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const is_1 = __importDefault(require("./is")); const flatten = (object, output_, keys_ = '', key_ = '', value_ = undefined, includeObjects) => { if (!object) return object; const output = output_ || {}; const value = output_ === undefined ? object : value_; const keys = `${keys_}${keys_ ? '.' : ''}${key_}`.trim(); if (value !== undefined) { if (includeObjects || (0, is_1.default)('not-array-object', value)) output[keys] = value; if (!(0, is_1.default)('not-array-object', value)) { if ((0, is_1.default)('array', value)) value.forEach((item, index) => flatten(object, output, keys, index, item, includeObjects)); else Object.keys(value).forEach(key => flatten(object, output, keys, key, value[key], includeObjects)); } } return output; }; const flattenObject = (object, includeObjects) => { return flatten(object, undefined, undefined, undefined, undefined, includeObjects); }; exports.default = flattenObject;