Pure Javascript OCR for more than 100 Languages 📖🎉🖥
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

33 lines
851 B

class Dora extends Component {
constructor(props){
super(props)
this.state = {
expanded: false
}
}
render(){
var {node} = this.props;
var {expanded} = this.state;
if(Array.isArray(node)){
return node.map(x => React.createElement(Dora, {node: x}))
}else if(typeof node == "number" || "boolean" || "string"){
return React.createElement("span", null, JSON.stringify(node))
}else{
if(expanded){
return Object.keys(node).map(key => {
return React.createElement("div", null, React.createElement(Dora, {node: key}), ": ", React.createElement(Dora, {node: node[key]}), ",")
})
}else{
return React.createElement("span", {onClick: e => this.setState({expanded: true})}, "click me to expand")
}
}
}
}
React.render(React.createElement(Dora, {node: window}), document.getElementById('explorer'))