UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _propTypes = _interopRequireDefault(require("prop-types"));
17
18var _JSONNestedNode = _interopRequireDefault(require("./JSONNestedNode"));
19
20var _excluded = ["data"];
21
22// Returns the "n Items" string for this node,
23// generating and caching it if it hasn't been created yet.
24function createItemString(data) {
25 var len = Object.getOwnPropertyNames(data).length;
26 return "".concat(len, " ").concat(len !== 1 ? 'keys' : 'key');
27}
28
29// Configures <JSONNestedNode> to render an Object
30var JSONObjectNode = function JSONObjectNode(_ref) {
31 var data = _ref.data,
32 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33 return /*#__PURE__*/_react.default.createElement(_JSONNestedNode.default, (0, _extends2.default)({}, props, {
34 data: data,
35 nodeType: "Object",
36 nodeTypeIndicator: props.nodeType === 'Error' ? 'Error()' : '{}',
37 createItemString: createItemString,
38 expandable: Object.getOwnPropertyNames(data).length > 0
39 }));
40};
41
42JSONObjectNode.propTypes = {
43 data: _propTypes.default.object,
44 nodeType: _propTypes.default.string.isRequired
45};
46var _default = JSONObjectNode;
47exports.default = _default;
\No newline at end of file