UNPKG

json-viewer

Version:

Pretty JSON viewer for the terminal

40 lines (26 loc) 1.42 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.prettyPrintObject = undefined; require('colors'); var _ramda = require('ramda'); var _ramda2 = _interopRequireDefault(_ramda); var _print = require('./print'); var _indent = require('./indent'); var _index = require('./index'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var prettyPrintObject = exports.prettyPrintObject = function prettyPrintObject() { var object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var colorOutput = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var addComma = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var messageIndent = (0, _indent.getIndentation)(indent); var objectKeysLength = _ramda2.default.compose(_ramda2.default.length, _ramda2.default.keys)(object) - 1; (0, _print.print)('{').thenAddNewLine(); _ramda2.default.addIndex(_ramda2.default.forEachObjIndexed)(function (value, key, object, index) { var isLast = index === objectKeysLength; (0, _index.prettyPrint)(key, value, indent + _indent.indentStep, colorOutput, !isLast); })(object); (0, _print.print)(messageIndent + '}').thenAddCommaIf(addComma).thenAddNewLine(); };