You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.0 KiB
JavaScript

'use strict';
const React = require("react");
const createReactClass = require("create-react-class");
function debugValue(value) {
let stringifiedValue = `${value}`;
if (typeof value === "boolean") {
return (<span className="boolean">{stringifiedValue}</span>);
} else if (typeof value === "number") {
return (<span className="number">{stringifiedValue}</span>);
} else if (typeof value === "string") {
return (<span className="string">{value}</span>);
} else if (value === null) {
return (<span className="null">null</span>);
} else if (value === undefined) {
return (<span className="null">undefined</span>);
} else {
throw new Error(`Unrecognized attribute value type`, value);
} /* FIXME: array, object */
}
module.exports = createReactClass({
displayName: "AstItemAttribute",
render: function () {
return (
<div key={this.props.itemKey} className="attribute">
<span className="name">{this.props.itemKey}</span>
<span className="value">{debugValue(this.props.value)}</span>
</div>
);
}
});