mic-inspector
Version:
A react inspector which a most similar of Chorme DevTools inspector
65 lines (64 loc) • 2.85 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__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;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnknownValue = void 0;
var react_1 = __importDefault(require("react"));
var property_value_1 = require("../property-value");
var use_styles_1 = require("./use-styles");
var locale_1 = require("../property-value/locale");
var number_value_1 = require("../number-value");
var object_value_1 = require("../object-value");
var string_value_1 = require("../string-value");
var react_inspector_1 = require("react-inspector");
/**
* Unknown value
* @param param0 UnknownValueProps
*/
function UnknownValue(_a) {
var className = _a.className, value = _a.value, props = __rest(_a, ["className", "value"]);
var type = typeof value;
var title = type === 'symbol' ? Symbol.prototype.toString.call(value) : "" + value;
var ps = __assign(__assign({ className: use_styles_1.useStyles(className) }, (locale_1.isObjectOrFunction(value) ?
{} :
{ title: title })), props);
switch (type) {
case 'number':
return react_1.default.createElement(number_value_1.NumberValue, __assign({ value: value }, ps));
case 'symbol':
return react_1.default.createElement(string_value_1.StringValue, __assign({ value: title, before: '', after: '' }, ps));
case 'string':
return react_1.default.createElement(string_value_1.StringValue, __assign({ value: value }, ps));
case 'object':
if (value) {
return react_1.default.createElement(object_value_1.ObjectValue, __assign({ value: value }, ps));
}
break;
}
return (react_1.default.createElement(property_value_1.PropertyValue, __assign({}, ps),
react_1.default.createElement(react_inspector_1.ObjectValue, { object: value })));
}
exports.UnknownValue = UnknownValue;