UNPKG

kea-react

Version:

Componentes comunes de react

73 lines (72 loc) 2.44 kB
"use strict"; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); /**Convierte un objeto a un arbol que se puede visualizar con el tree view */ function valueToJsonTreeView(obj) { function jsonTreeToView(tree) { var key = tree.key, value = tree.value, children = tree.children; return { key: key, value: value, children: children.map(jsonTreeToView) }; } return jsonTreeToView(valueToJsonTree(obj)); } exports.valueToJsonTreeView = valueToJsonTreeView; function valueToJsonTree(value) { var jvalue = valueToJsonValue(value); var children = (function () { switch (jvalue.tree) { case "leaf": return []; case "object": { return Object.keys(value).map(function (key) { return (__assign({}, valueToJsonTree(value[key]), { key: key })); }); } case "array": { var arr = value; var ret = []; for (var i = 0; i < arr.length; i++) { ret.push(__assign({}, valueToJsonTree(arr[i]), { key: i })); } return ret; } } })(); return { value: jvalue, children: children, key: "" }; } function valueToJsonValue(value) { if (value == null) { return { value: null, type: "null", tree: "leaf", count: 0 }; } ; if (typeof value == "number" || typeof value == "string" || typeof value == "boolean") { return { value: value, type: typeof value, tree: "leaf", count: 0 }; } else if (typeof value == "function") { return { value: null, type: "function", tree: "leaf", count: 0 }; } else if (isArray(value)) { return { value: null, type: "array", tree: "array", count: value.length }; } else { var keys = Object.keys(value); return { value: null, type: "object", tree: "object", count: keys.length }; } } function isArray(obj) { var arr = obj; return arr.length != null; }