UNPKG

@formant/ava

Version:

A framework for automated visual analytics.

20 lines (19 loc) 929 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.flatObject = void 0; var tslib_1 = require("tslib"); function flatObject(obj, concatenator) { if (concatenator === void 0) { concatenator = '.'; } return Object.keys(obj).reduce(function (acc, key) { var _a; if (typeof obj[key] !== 'object' || obj[key] === null) { return tslib_1.__assign(tslib_1.__assign({}, acc), (_a = {}, _a[key] = obj[key], _a)); } var flattenedChild = flatObject(obj[key], concatenator); return tslib_1.__assign(tslib_1.__assign({}, acc), Object.keys(flattenedChild).reduce(function (childAcc, childKey) { var _a; return (tslib_1.__assign(tslib_1.__assign({}, childAcc), (_a = {}, _a["".concat(key).concat(concatenator).concat(childKey)] = flattenedChild[childKey], _a))); }, {})); }, {}); } exports.flatObject = flatObject;