UNPKG

console-feed-modern

Version:

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

58 lines 7.66 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 (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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQ29tcG9uZW50L3JlYWN0LWluc3BlY3Rvci9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQzlCLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFdBQVcsRUFDWCxhQUFhLEVBQ2QsTUFBTSxpQkFBaUIsQ0FBQTtBQUd4QixPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTzNELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUNyRTtJQUNHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDMUIsb0JBQUMsVUFBVSxJQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGVBQWUsR0FBSSxDQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUNGLG9CQUFDLGFBQWEsSUFBQyxJQUFJLEVBQUUsSUFBSSxHQUFJLENBQzlCO0lBQ0QsdUNBQWU7SUFDZixvQkFBQyxXQUFXLElBQUMsTUFBTSxFQUFFLElBQUksR0FBSSxDQUN4QixDQUNSLENBQUE7QUFFRCxNQUFNLGVBQWdCLFNBQVEsS0FBSyxDQUFDLGFBQXlCO0lBQzNELE1BQU07UUFDSixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDbEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUE7UUFFaEMsTUFBTSxHQUFHLEdBQUcs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