UNPKG

chrono-forge

Version:

A comprehensive framework for building resilient Temporal workflows, advanced state management, and real-time streaming activities in TypeScript. Designed for a seamless developer experience with powerful abstractions, dynamic orchestration, and full cont

10 lines (9 loc) 547 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.flatten = flatten; const lodash_1 = require("lodash"); const ramda_1 = require("ramda"); function flatten(nestedObject, maxDepth = 3) { const traverse = (obj_, depth = 1) => (0, ramda_1.chain)(([k, v]) => (0, lodash_1.isObject)(v) && depth < maxDepth ? (0, ramda_1.map)(([k_, v_]) => [`${k}_${k_}`, v_], traverse(v, depth + 1)) : [[k, v]], (0, ramda_1.toPairs)(obj_)); return (0, ramda_1.fromPairs)(traverse(JSON.parse(JSON.stringify(nestedObject)))); }