UNPKG

console-feed-modern

Version:

A React component that displays console logs from the current page, an iframe or transported across a server

70 lines 8.9 kB
import { withTheme } from 'emotion-theming'; import * as React from 'react'; import { DOMInspector, Inspector, ObjectLabel, ObjectName, ObjectRootLabel, ObjectValue, ObjectPreview } from 'react-inspector'; import { Constructor, HTML, Root, Table } from './elements'; const CustomObjectLabel = ({ name, data, isNonenumerable = false }) => (React.createElement("span", null, typeof name === 'string' ? (React.createElement(ObjectName, { name: name, dimmed: isNonenumerable })) : (React.createElement(ObjectPreview, { data: name })), React.createElement("span", null, ": "), React.createElement(ObjectValue, { object: data }))); class CustomInspector extends React.PureComponent { render() { const { data, theme } = this.props; const { styles, method } = theme; const dom = data instanceof HTMLElement; const table = method === 'table'; return (React.createElement(Root, { "data-type": table ? 'table' : dom ? 'html' : 'object' }, table ? (React.createElement(Table, null, React.createElement(Inspector, Object.assign({}, this.props, { theme: styles, table: true })), React.createElement(Inspector, Object.assign({}, this.props, { theme: styles })))) : dom ? (React.createElement(HTML, null, React.createElement(DOMInspector, Object.assign({}, this.props, { theme: styles })))) : (React.createElement(Inspector, Object.assign({}, this.props, { theme: styles, nodeRenderer: this.nodeRenderer.bind(this) }))))); } getCustomNode(data) { const { styles } = this.props.theme; const constructor = data && data.constructor ? data.constructor.name : null; if (data && data['$$'] !== undefined && data['$$']['type'] === 'PyProxy') { return (React.createElement("span", { style: { fontStyle: 'italic' } }, "PyProxy ", `{`, React.createElement("span", { style: { color: 'rgb(79, 186, 240)' } }, data.toString()), `}`)); } if (data && data[Symbol.toStringTag] === 'Module') { return (React.createElement("span", { style: { fontStyle: 'italic' } }, "Module ", React.createElement(ObjectPreview, { data: data }))); } if (constructor === 'Function') return (React.createElement("span", { style: { fontStyle: 'italic' } }, React.createElement(ObjectPreview, { data: data }), ` {`, React.createElement("span", { style: { color: 'rgb(181, 181, 181)' } }, data.body), `}`)); if (constructor === 'Promise') return (React.createElement("span", { style: { fontStyle: 'italic' } }, "Promise ", `{`, React.createElement("span", { style: { opacity: 0.6 } }, `<pending>`), `}`)); if (data instanceof HTMLElement) return (React.createElement(HTML, null, React.createElement(DOMInspector, { data: data, theme: styles }))); return null; } nodeRenderer(props) { let { depth, name, data, isNonenumerable } = props; // Root if (depth === 0) { const customNode = this.getCustomNode(data); return customNode || React.createElement(ObjectRootLabel, { name: name, data: data }); } if (name === 'constructor') return (React.createElement(Constructor, null, React.createElement(ObjectLabel, { name: "<constructor>", data: data.name, isNonenumerable: isNonenumerable }))); const customNode = this.getCustomNode(data); return customNode ? (React.createElement(Root, null, React.createElement(ObjectName, { name: name }), React.createElement("span", null, ": "), customNode)) : (React.createElement(CustomObjectLabel, { name: name, data: data, isNonenumerable: isNonenumerable })); } } export default withTheme(CustomInspector); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQ29tcG9uZW50L3JlYWN0LWluc3BlY3Rvci9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQzlCLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFdBQVcsRUFDWCxhQUFhLEVBQ2QsTUFBTSxpQkFBaUIsQ0FBQTtBQUd4QixPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTzNELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUNyRTtJQUNHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDMUIsb0JBQUMsVUFBVSxJQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGVBQWUsR0FBSSxDQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUNGLG9CQUFDLGFBQWEsSUFBQyxJQUFJLEVBQUUsSUFBSSxHQUFJLENBQzlCO0lBQ0QsdUNBQWU7SUFDZixvQkFBQyxXQUFXLElBQUMsTUFBTSxFQUFFLElBQUksR0FBSSxDQUN4QixDQUNSLENBQUE7QUFFRCxNQUFNLGVBQWdCLFNBQVEsS0FBSyxDQUFDLGFBQXlCO0lBQzNELE1BQU07UUFDSixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDbEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUE7UUFFaEMsTUFBTSxHQUFHLEdBQUcsSUFB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