UNPKG

@letanure/resend-cli

Version:

A command-line interface for Resend email API

48 lines 1.96 kB
import { displayCLIError, displayCLIResults } from './cli.js'; /** * Generic function to display CLI operation results * Handles success, error, and dry-run scenarios consistently */ export function displayResults(options) { const { data, result, fields, outputFormat, apiKey, operation, isDryRun = false } = options; // Handle dry-run mode if (isDryRun) { const metadata = {}; if (apiKey) { metadata['API Key'] = `${apiKey.substring(0, 10)}...`; } metadata['Dry Run'] = 'true'; // Use unified displayCLIResults for both JSON and text output displayCLIResults(data, fields, outputFormat, operation.dryRun.title, metadata, operation.dryRun.message); return; } if (!result) { throw new Error('Result is required when not in dry-run mode'); } if (result.success && result.data) { // Success case - only show the API response data, not input data const responseData = result.data; // Handle list operations - check if the response has a 'data' property with an array let displayData; if (responseData.data && Array.isArray(responseData.data)) { // For list operations, use the array directly for table display displayData = responseData.data; } else { // For single object operations, use the response as-is displayData = responseData; } displayCLIResults(displayData, fields, outputFormat, operation.success.title, undefined, // No additional metadata operation.success.message(result.data)); } else { // Error case const metadata = {}; if (result.error) { metadata.Error = result.error; } displayCLIError(data, fields, outputFormat, operation.error.title, metadata, operation.error.message); process.exit(1); } } //# sourceMappingURL=display-results.js.map