UNPKG

@dugongjs/cli

Version:

30 lines (29 loc) 2.51 kB
import { Box, Text } from "ink"; import React from "react"; import { JSONViewer } from "../components/json-viewer.js"; import { Pane } from "../components/pane.js"; import { ValueDisplay } from "../components/value-display.js"; export const DomainEventViewPane = (props) => { const { isLoading, domainEvent, maximumSequenceNumber } = props; return (React.createElement(Pane, { isLoading: isLoading }, React.createElement(Text, { bold: true }, "Domain Event"), !domainEvent ? (React.createElement(Text, { color: "gray" }, "No domain event selected")) : (React.createElement(Box, { flexDirection: "column", width: "100%", height: "100%" }, React.createElement(Box, { flexDirection: "column", width: "100%", padding: 1 }, React.createElement(ValueDisplay, { label: "ID", value: domainEvent.id }), React.createElement(ValueDisplay, { label: "Sequence number", value: `${domainEvent.sequenceNumber ?? "0"}/${maximumSequenceNumber ?? "0"}` }), React.createElement(ValueDisplay, { label: "Timestamp", value: domainEvent.timestamp }), React.createElement(ValueDisplay, { label: "Type", value: domainEvent.type }), React.createElement(ValueDisplay, { label: "Version", value: domainEvent.version }), React.createElement(ValueDisplay, { label: "Origin", value: domainEvent.origin }), React.createElement(ValueDisplay, { label: "Aggregate Type", value: domainEvent.aggregateType }), React.createElement(ValueDisplay, { label: "Aggregate ID", value: domainEvent.aggregateId }), React.createElement(ValueDisplay, { label: "Correlation ID", value: domainEvent.correlationId }), React.createElement(ValueDisplay, { label: "Triggered by user ID", value: domainEvent.triggeredByUserId }), React.createElement(ValueDisplay, { label: "Triggered by event ID", value: domainEvent.triggeredByEventId })), React.createElement(Box, { flexDirection: "column", rowGap: 1, width: "100%", padding: 1 }, React.createElement(Text, { bold: true }, "Metadata"), React.createElement(JSONViewer, { data: domainEvent.metadata })), React.createElement(Box, { flexDirection: "column", rowGap: 1, width: "100%", padding: 1 }, React.createElement(Text, { bold: true }, "Payload"), React.createElement(JSONViewer, { data: domainEvent.payload })))))); };